陳奕梅
(天津工業(yè)大學(xué)電氣工程與自動(dòng)化學(xué)院,天津 300160)
在產(chǎn)品升級(jí)換代時(shí),我們應(yīng)以較低的代價(jià)將軟件和硬件轉(zhuǎn)換到另外一個(gè)核上。用戶設(shè)計(jì)一系列產(chǎn)品時(shí)需要同時(shí)用到8位和32位MCU,例如手持血壓計(jì)對(duì)功耗和成本要求嚴(yán)格,因此選用8位MCU,而高級(jí)的醫(yī)用血壓監(jiān)測(cè)儀則會(huì)用到 32位MCU。另外,同一個(gè)產(chǎn)品或系統(tǒng)中也可能會(huì)用到多個(gè)MCU,例如工業(yè)網(wǎng)絡(luò)中,主控制器采用32位MCU,每個(gè)探頭采用8位MCU等。由于用戶同時(shí)需要開發(fā)8位和32位產(chǎn)品,希望有一種完全兼容的8位和32位的開發(fā)系統(tǒng)。
2007年,Freescale公司率先推出了業(yè)界首款8位和32位兼容微控制器:Flexis系列微控制器突破了傳統(tǒng)位的界限,在8位與32位MCU之間架起了性能提升橋梁。[1,2]
每個(gè)Flexis系列都是由多對(duì)基于HCS08內(nèi)核的8位微控制器與基于ColdFire V1內(nèi)核的32位微控制器構(gòu)成。在同一對(duì)的兩款不同內(nèi)核的產(chǎn)品中,做到了引腳封裝、外圍設(shè)備以及開發(fā)工具的兼容性。利用這樣的兼容性,可使開發(fā)人員在低端和高端嵌入式設(shè)計(jì)之間靈活移植。
為了滿足不斷增長(zhǎng)的低功耗電子設(shè)備的需求,QE128系列采用了如下一些先進(jìn)技術(shù)充分實(shí)現(xiàn)了其超低功耗的特性。
(1)兩種超低功耗的停止模式(Stop2與Stop3)可允許應(yīng)用程序在低功耗狀態(tài)下繼續(xù)采樣,從而延長(zhǎng)電池的使用壽命。
(2)低功耗運(yùn)行和等待模式可使CPU和外圍設(shè)備使用穩(wěn)壓器在低功耗模式下運(yùn)行。
(3)電源穩(wěn)壓器可以最大限度地減少邏輯電路的電壓波動(dòng)并使 VDD維持較低的值,同時(shí)使得Flash在整個(gè)電壓范圍內(nèi)都可重新編程,各模式之間能夠?qū)崿F(xiàn)快速切換,并且?guī)椭鷮⑾到y(tǒng)從停止模式下快速喚醒。
(4)采用時(shí)鐘門控技術(shù),通過關(guān)閉閑置不用的外設(shè)的時(shí)鐘以降低運(yùn)行和待機(jī)模式下的電流。
(5)超低功耗的外部振蕩器可在停止模式下使用,為實(shí)時(shí)計(jì)數(shù)器提供精確的時(shí)鐘源。
我?!癋reescale MCU/DSP研發(fā)中心”所開發(fā)的TGFSYS實(shí)驗(yàn)系統(tǒng)[1,2],是根據(jù)我國(guó)的教學(xué)情況重新設(shè)計(jì)的,力求達(dá)到更好的實(shí)驗(yàn)效果,其功能基本上和美國(guó)的MCUSLK系統(tǒng)相同。圖1所示的TGFSYS實(shí)驗(yàn)系統(tǒng)由主板和獨(dú)立的MCU子板構(gòu)成。系統(tǒng)主板插槽和美國(guó)MCUSLK系統(tǒng)兼容,可根據(jù)用戶需要選擇不同的MCU進(jìn)行教學(xué),本平臺(tái)選 配 MC68HC908GP32、MC68HC908GT16、MC9S08QE128、MC9S12DG128、MC9S12E128 等芯片模塊進(jìn)行單片機(jī)或嵌入式系統(tǒng)教學(xué)。MCU子板既可以利用引腳自行搭建功能電路建立單片機(jī)控制系統(tǒng),也可以直接插在主板上調(diào)試,充分利用主板豐富的硬件資源構(gòu)建系統(tǒng)。該實(shí)驗(yàn)系統(tǒng)主板上配有LED、開關(guān)、數(shù)碼管、繼電器、紅外發(fā)射接收、喇叭、RS232接口、RS485接口、CAN 總線、液晶顯示和打印機(jī)接口等。
圖1 TGFSYS實(shí)驗(yàn)系統(tǒng)主板
由于實(shí)驗(yàn)系統(tǒng)的主板和子板都具有較強(qiáng)的通用性,通過不同的主板和子板的組合,根據(jù)不同的需要選用主板上不同的功能模塊,從而能夠搭建多款單片機(jī)控制的多樣系統(tǒng),這既方便教學(xué),也有利于學(xué)生的自主學(xué)習(xí)。
QE128子板,除了板上的MCU分別采用8位芯片MC9S08QE128和 32位芯片 MCF51QE128外,其余外圍電路完全相同。而且由于兩款芯片引腳封裝以及開發(fā)工具的兼容性,我們可以不需要對(duì)應(yīng)用程序作任何修改,直接將其在兩款芯片之間移植(圖2)。
圖2 QE128子板
對(duì)于帶硬件調(diào)試,QE128有P&E Multilink/Cyclone Pro和HCS08 OpenSource BDM兩種模式。我們研發(fā)的USBDM 是一款集8位、16位以及32位機(jī)通用的BDM,支持Freescale MC9S08系列8位單片機(jī)(GT、GB、AW、QG 和QE等)MC9S12及S12X系列16位單片機(jī),Flexis Coldfire V1系列32位單片機(jī)(QE,JM)。在開發(fā)不同單片機(jī)的時(shí)候,無需轉(zhuǎn)換BDM就可以輕松的下載和調(diào)試程序。USBDM在使用上和其他的BDM的使用方法是一樣的。其特點(diǎn)是:①材料成本低;②接口方便,采用USB來提供電源;③支持至少一種廣泛使用的調(diào)試器Codewarrior;④目標(biāo)MCU具有寬的供電電壓(3.3V ~5V);⑤對(duì)8位、16位以及32位的 MCU通用;⑥支持高達(dá)30Mb/s總線速率。
8位機(jī)到32位機(jī)移植,簡(jiǎn)單地說就是把一個(gè)芯片的內(nèi)核由8位換成32位,而外設(shè)和管腳都保持不變。對(duì)于Flexis系列微控制器,由于8位與32位微控制器的管腳以及通用外設(shè)的兼容性,利用CodeWarrior V6軟件簡(jiǎn)化并加速了8位、32位的設(shè)計(jì)過程??梢詭陀脩艉?jiǎn)單地進(jìn)行設(shè)計(jì)應(yīng)用,并自動(dòng)生成代碼。使得用戶可以不必再去學(xué)習(xí)新的編碼和工具。
這里給出了在CodeWarrior V6環(huán)境下QE128系列MCU的移植過程。圖3為MC9S08QE128的過程??梢钥吹?其頭文件與MC9S08QE128有關(guān)。
圖3 MC9S08QE128的移植過程
點(diǎn)擊Change MCU/Connection按鈕,可以進(jìn)行芯片的變換。
選擇相應(yīng)的Flexis系列的MCF51QE128,點(diǎn)擊“完成”,則完成了芯片的轉(zhuǎn)換??梢钥吹筋^文件已經(jīng)由MC9S08QE128.h變?yōu)镸CF51QE128.h。程序代碼不需要做任何調(diào)整,直接進(jìn)行編譯鏈接及調(diào)試下載到32位的MCF51QE128單片機(jī)中,可以與MC9S08QE128運(yùn)行同樣的功能。同樣的操作過程,與此對(duì)應(yīng),32位機(jī)的程序也可以輕松移植到8位機(jī)中。
本實(shí)驗(yàn)系統(tǒng)從2008年9月起至2009年7月期間,在我校12個(gè)班共300余人的“單片機(jī)應(yīng)用技術(shù)”的實(shí)驗(yàn)教學(xué)中使用。此外,還應(yīng)用于包括課程設(shè)計(jì)、畢業(yè)設(shè)計(jì)以及設(shè)計(jì)競(jìng)賽等多種場(chǎng)合。學(xué)生可以根據(jù)不同要求和層次以及不同的設(shè)計(jì)內(nèi)容,選擇8位、16位及32位等不同的子板,進(jìn)行相關(guān)的實(shí)驗(yàn)及設(shè)計(jì)。
實(shí)驗(yàn)系統(tǒng)中包括幾乎所有的常用模塊,并且各個(gè)模塊的引腳都被引到主板上,便于學(xué)生自行設(shè)計(jì)和自主研發(fā)。
為了配合該實(shí)驗(yàn)教學(xué),我們編寫了《Freescale Flexis系列微控制器的入門及開發(fā)》的教材,并應(yīng)用于2009年暑期培訓(xùn)中。教材內(nèi)有很多的應(yīng)用實(shí)例,有利于學(xué)生的自學(xué),因此他們最終取得了很好的培訓(xùn)效果。
[1] 陳奕梅,尤一鳴.Freescale Flexis系列微控制器的入門及開發(fā)[M].北京:電子工業(yè)出版社,2009
[2] 熊慧,尤一鳴.MC68單片機(jī)入門與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2006