新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Flexis微型控制器內(nèi)部:包括8位及32位

Flexis微型控制器內(nèi)部:包括8位及32位

作者:Scott Pape Freescale公司 時間:2008-09-18 來源:電子產(chǎn)品世界 收藏

摘要:公司的 產(chǎn)品家族既有8位也有32位CPU核芯片,8位和32位具有相同的外設(shè),并且引腳完全兼容。以血壓監(jiān)視器為例,如要從8位產(chǎn)品改進(jìn)為一個較高級的產(chǎn)品,不論硬件還是軟件都不需要變更,增加性能只需在現(xiàn)有裝置上添加部件和軟件。

本文引用地址:http://2s4d.com/article/88163.htm

關(guān)鍵詞:;;;

  高性能還是低成本?低功率還是附加功能?當(dāng)設(shè)計師為他們的最新產(chǎn)品選擇時,必須權(quán)衡這些選擇。選擇錯了或需求發(fā)生了變化,你要么屈就于一個非最佳解決方案,要么得花費額外的時間和錢來把軟件和硬件轉(zhuǎn)換到另外一個核上。如果你能選擇一個產(chǎn)品家族,使得在低成本方案與高性能方案之間的遷移異常簡單,只需替換你現(xiàn)有硬件中的MCU并重新編譯你的代碼即可,這樣你就事半功倍了。半導(dǎo)體正是這樣考慮的,推出了 微控制器系列。

  Flexis QE128是一個微控制器產(chǎn)品家族,有8位也有32位CPU核,性能廣泛,具有較好的成本效益。8位核是Freescale的S08核,是長期以來使用的HC05和HC08核的換代升級產(chǎn)品。32位核是ColdFireV1,屬于Freescale ColdFire家族的一個新版本。為使裝置移植容易,S08和V1具有相同的外設(shè),并且針對針兼容。

CPU對比

  S08和V1的 CPU核存在固有差異。讓我們來檢視這些差異,并討論如何通過芯片級設(shè)計和開發(fā)工具使它們最小化。

程序器的模型

  首先展示每個CPU的程序設(shè)計模型。圖1顯示S08的程序器模型;圖2 是ColdFire V1的程序器模型,上面重疊顯示S08模型,以顯示二者的相似處和不同處。正如你所看到的,V1核的寄存器顯著地大許多,數(shù)量也多。


圖1 S08程序器模型

  S08有一個很小的CPU寄存器,以保持小CPU體積,適用于價格非常敏感的MCU產(chǎn)品組合的低端MCU上。它有一個8位累加器、一個16位變址寄存器(由2個8位寄存器H和X組成)、一個16位程序計數(shù)器(允許最多64千字節(jié)的連續(xù)存儲器映射)、一個16位棧指針和一個8位條件碼寄存器(只有6位用于條件式)。

  相比之下,V1有一個大得多的CPU寄存器,以使性能最大化。V1有8個32位數(shù)據(jù)寄存器,而S08只有一個8位累加器;8個32位地址寄存器,而S08只有16位變址寄存器和16位棧指針;一個32位程序計數(shù)器,能尋址一個16兆字節(jié)的存儲器映射。條件碼寄存器實際上比S08的條件碼寄存器少一位,只有5位,而S08的是6位(中斷屏蔽不包括在V1的CPU內(nèi),此功能集成在中斷控制器內(nèi))。

S08 與 ColdFire V1有哪些兼容性

  考察了這兩種裝置的CPU之后,你可能疑惑:“S08 QE128 與 V1 QE128 MCUs怎么會真正兼容呢?”答案很簡單,F(xiàn)reescale設(shè)計CPU核周圍各部分時都使它們盡可能相同。一個微控制器的真正實力是它把多種外設(shè)和存儲器集成到同一個硅片上作為其CPU。

相同外設(shè)=相同代碼

  今天,可以買到用于最小的微控制器核的C編譯器。這些用于各個核的C編譯器各指令系統(tǒng)之間隱含著諸多不同點,允許程序器使用一個公用語言。我們剛剛討論的S08 與 V1核之間的不同點隱藏在編譯器的內(nèi)部工作中。因此,當(dāng)在這兩種MCU之間切換時,核本身算不上大障礙,但核周圍的所有部件是障礙。外設(shè)的不同促使你必須掌握新模塊并修改代碼,使模塊能擔(dān)任從前MCU所擔(dān)任的同樣任務(wù)。

  因此,為使Flexis微控制器家族真正兼容,兩款MCU使用了相同的外設(shè)。從A/D轉(zhuǎn)換器到計時器模塊,QE128的S08 和 V1使用了相同外設(shè)的相同版本。因此,當(dāng)UART 使用S08 QE128,被配置為115.2kbps、9 個數(shù)據(jù)位、2 個結(jié)束位、偶數(shù)奇偶校驗,那么,在運行V1 QE128上的相同設(shè)置時,根本不必更改代碼。

一個應(yīng)用實例:血壓監(jiān)視器

  為了演示兩種Flexis QE128的兼容性,我們設(shè)計了一個血壓監(jiān)視器(BPM)的參考設(shè)計,它既可以用S08 QE128也可以用 V1 QE128來驅(qū)動。圖3顯示了該BPM的框圖。這個參考設(shè)計有很好的伸縮性,它可以僅采用最少量的硬件來設(shè)計,只測量和顯示血壓;或設(shè)計為帶全部的選擇功能,或設(shè)計成某中間結(jié)合點。




圖3  血壓監(jiān)視器參考設(shè)計的框圖

  最小功能包括帶濾波器的壓力傳感器、OLED顯示器、使用一個電場傳感器的小鍵盤接口、用于用戶告警的基本音頻音調(diào)。選項包括USB連通性、ZigBee無線連通性、上坡血壓測量、自動袖帶充氣、用于存儲多個用戶測量歷史值的MRAM存儲器、數(shù)字化語音音頻告警。印制電路板為模塊化設(shè)計,可集成任何功能,若要增加一額外功能,只需在BOM(材料清單)上添加必要元件即可。

  為配合硬件的模塊式設(shè)計,軟件也采用同樣設(shè)計思路,即通過添加軟件模塊來增加附加功能。這些附加模塊被寫入,它們或由主程序周期性調(diào)用,或通過中斷服務(wù)程序調(diào)用,這樣它們很容易被添加,而不會影響到其它程序。

產(chǎn)品范圍從低成本到高端

  通過此參考設(shè)計,我們不難看出,兩款Flexis QE128 MCU間的兼容性比較令人滿意。一家公司可以生產(chǎn)一系列BPM,從低成本版本開始,利用S08 QE128實現(xiàn)其基本功能??梢蕴砑尤我贿x項,S08 QE128仍可以維持運行該系統(tǒng)。然而,當(dāng)越來越多的選項被添加時,S08 CPU將用完帶寬, V1 QE128所具有的更高性能就成為必需。需要從8位切換至32位的那一點,取決于使用了附加功能的哪種組合,因為不同功能需要不同的CPU馬力數(shù)。

  讓我們來仔細(xì)研究一下BPM的基本功能,就血壓測量本身來說,來看看兩款Flexis MCU是如何處理它的。測量血壓最容易的方法是給袖帶過度充氣,使之超過收縮壓力讀數(shù),然后當(dāng)袖帶緩緩放氣時,聽心跳測量壓力。這里指的是下坡測量法。測量過血壓的人都知道,袖帶過度充氣有些不舒服。一些非常敏感的人,尤其是老年人,甚至?xí)?jīng)歷過由于測量導(dǎo)致的皮下出血。

  一種更舒服的測量方法是給袖帶充氣,一旦到達(dá)收縮壓時立即停止,在這期間檢測收縮壓。當(dāng)袖帶緩緩放氣時,再測量舒張壓。這個上坡方法避免了袖帶過度充氣,使病人感覺相對舒適些。然而,在袖帶充氣期間,收縮壓很難測量,這是由于氣泵產(chǎn)生的噪音,不容易把它與心跳檢測區(qū)分開來。

兩種方法,兩款MCU,一套硬件和軟件設(shè)計

  對BPM參考設(shè)計而言,袖帶的壓力經(jīng)由壓力傳感器被測量,壓力值由帶12位模數(shù)轉(zhuǎn)換器的MCU讀取。由于作用于每次心跳的袖帶壓力的周期性改變,心跳被檢測。對于下坡測量,袖帶被充氣至一個預(yù)定壓力,然后當(dāng)袖帶放氣時,通過讀取壓力值心跳被檢測。因為氣泵在放氣期間不工作,壓力讀數(shù)的三角區(qū)只與心跳符合,這使得計算很容易,只需要最小的數(shù)字濾波。在這種情況下,一個S08 CPU能容易地處理12位模數(shù)轉(zhuǎn)換器的值,尋找符合心跳的三角區(qū),讀出符合收縮壓和舒張壓的壓力讀數(shù)。

  對于上坡測量,氣泵將對袖帶壓力改變產(chǎn)生噪音,同時,MCU試圖通過壓力改變檢測心跳。通過為模數(shù)轉(zhuǎn)換器的壓力測量采用高級軟件濾波技術(shù),泵噪音被濾波掉,心跳讀數(shù)被隔離開。然后收縮壓就能被檢測到,氣泵關(guān)閉,袖帶放氣,以檢測舒張壓。 S08 CPU能操作12位的模數(shù)轉(zhuǎn)換器結(jié)果的軟件濾波,實施上坡測量,但它需要CPU帶寬的更大部分,只給其它任務(wù)留下很少的帶寬。而V1 CPU,能容易地對12位數(shù)據(jù)施用軟件濾波器,為其它任務(wù)留下大量帶寬,例如控制氣泵電動機,向病人提供數(shù)字語音反饋,在顯示器上實時顯示脈率。

Flexis 的優(yōu)勢

  血壓監(jiān)視器的例子顯示了擁有一個覆蓋很寬成本范圍的微控制器家族的優(yōu)勢,而且在性能方面實現(xiàn)針和外設(shè)兼容。在這個例子中,如要改進(jìn)為一個較高級的產(chǎn)品,不論硬件還是軟件都不需要變更。增加性能只需在現(xiàn)有裝置上添加部件和軟件。8位與32位CPU的不同點由編譯器來處理,軟件保持不變,因為外設(shè)是相同的。

  可伸縮產(chǎn)品的概念可被應(yīng)用到范圍廣闊的多種應(yīng)用上:家用和商用安全系統(tǒng)、家庭和工業(yè)自動化、玩具、電話等等。如果用戶以成本效益為切入點,并且愿意支付附加功能的費用,任何此類應(yīng)用都能從這個可伸縮方法上受益。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉