【導(dǎo)讀】基于標(biāo)準(zhǔn)內(nèi)核的32位MCU為工程師提供了較以往更多的選擇,而針對(duì)于特定應(yīng)用選擇合適的MCU,就需要考慮多種因素,困難大大增加。今天為大家介紹選擇集成通用器件的32位MCU的好處,它能夠幫助開發(fā)人員減少整體系統(tǒng)成本、降低設(shè)計(jì)復(fù)雜度并縮短開發(fā)時(shí)間,設(shè)計(jì)更加靈活。
傳統(tǒng)上,選擇32位單片機(jī)(MCU)的關(guān)鍵因素在于中央處理單元(即內(nèi)核CPU)的選擇。直到最近,32位MCU已有基于多種內(nèi)核(包括某些情況下的專有架構(gòu))的產(chǎn)品。因此,嵌入式設(shè)計(jì)人員要么繼續(xù)使用一種內(nèi)核,要么需要花費(fèi)更多時(shí)間學(xué)習(xí)新的硬件知識(shí)和移植現(xiàn)有軟件代碼。過去幾年里,MCU產(chǎn)品中ARM Cortex內(nèi)核的出現(xiàn)改變了嵌入式的原有狀態(tài)。開發(fā)人員把注意力從專用32位內(nèi)核向基于ARM Cortex處理器的MCU轉(zhuǎn)移,這樣可以改變向單一供應(yīng)商訂購MCU的局面?;贏RM處理器的MCU的生態(tài)系統(tǒng)已經(jīng)日益壯大,這包括第三方編譯器、實(shí)時(shí)操作系統(tǒng)、軟件協(xié)議棧、LCD圖形顯示等。目前,大多數(shù)主流MCU供應(yīng)商都生產(chǎn)基于ARM處理器的產(chǎn)品,這使得ARM Cortex內(nèi)核成為了32位MCU事實(shí)上的標(biāo)準(zhǔn)。
選擇基于標(biāo)準(zhǔn)內(nèi)核的32位MCU提供了較以往更多的選擇,因此,為特定應(yīng)用選擇合適的MCU需要考慮多種因素,困難大大增加。首先,開發(fā)人員需要基于多個(gè)關(guān)鍵參數(shù)減少備選MCU的數(shù)量,例如存儲(chǔ)大小、輸入輸出引腳數(shù)量和通信接口等??赡苡卸鄠€(gè)供應(yīng)商的基于ARM處理器的MCU產(chǎn)品能夠滿足基本需求清單,因此,開發(fā)人員需要通過其他重要因素進(jìn)一步縮小選擇范圍,例如:混合信號(hào)集成度、可配置性、功耗和開發(fā)難度等。
選擇集成通用器件的32位MCU能夠幫助開發(fā)人員減少整體系統(tǒng)成本、降低設(shè)計(jì)復(fù)雜度并縮短開發(fā)時(shí)間。例如,Silicon Labs Precision32混合信號(hào)MCU具有多種其他MCU通常不具備的集成特性,例如USB振蕩器、5V穩(wěn)壓器、6個(gè)可編程高驅(qū)動(dòng)能力引腳(可提供高達(dá)300mA電流),以及16個(gè)電容感應(yīng)輸入通道(用于觸摸按鍵或滑動(dòng)條)。高集成度可以減少多個(gè)分立元器件,提供更加靈活的供電選擇,從而節(jié)省BOM成本,簡化開發(fā)流程。
為了解使用高集成度混合信號(hào)MCU所帶來的好處,我們來研究一下典型的條形碼掃描儀。為了讀取條形碼,掃描儀向由電機(jī)提供動(dòng)力的振動(dòng)反射鏡發(fā)射激光(見圖1)。激光照射到條形碼,然后條形碼圖像被電荷耦合器件(CCD)傳感器捕獲。CCD傳感器類似照相機(jī),一次能夠捕獲一行像素,比如1×1024像素。模擬光強(qiáng)度信號(hào)最后傳輸?shù)侥?shù)轉(zhuǎn)換器(ADC)。具有大電流驅(qū)動(dòng)能力的MCU消除了過去用于驅(qū)動(dòng)激光和電機(jī)的功率晶體管。選擇可為CCD傳感器提供時(shí)鐘同步接口的MCU也可以簡化設(shè)計(jì)人員的工作。
圖1:典型的條形碼掃描儀原理圖
最好的情況是,MCU的ADC能夠與快速的CCD攝像頭保持同步(通常大于1MSPS)。對(duì)于5V的CCD傳感器,電源管理IC在大多數(shù)設(shè)計(jì)中也必不可少,它為傳感器提供輸入電壓,MCU和其他器件則需要3.3V輸入電源。
在這個(gè)條形碼范例中,Precision32 SiM3U1xx USB MCU可以驅(qū)動(dòng)同步時(shí)鐘到傳感器,輕松做到與快速CCD采樣速率同步,同時(shí)能夠通過3.3-5V DC-DC升壓控制器為傳感器提供電源,從而進(jìn)一步降低系統(tǒng)元器件數(shù)量。此外,在USB供電的掃描儀中,Precision32 MCU具有片內(nèi)穩(wěn)壓器,可以直接從USB獲取電源;片內(nèi)48MHz振蕩器具有能夠鎖定USB信號(hào)的創(chuàng)新時(shí)鐘恢復(fù)電路,精度高于0.25%,使USB運(yùn)行無需外部晶體。條形碼掃描儀中還集成了其他功能:當(dāng)掃描成功時(shí)可直接驅(qū)動(dòng)蜂鳴器提醒用戶;使用電容觸摸按鍵代替機(jī)械按鍵;以及為無線掃描儀提供硬件加密數(shù)據(jù)保護(hù)。
[member]
[page]
設(shè)計(jì)中需要考慮的另一個(gè)重要因素是靈活性——能夠快速而輕松地適應(yīng)變化,并且不增加開發(fā)成本。為了加快研發(fā)進(jìn)度,設(shè)計(jì)人員通常在之前項(xiàng)目的基礎(chǔ)上進(jìn)行修改設(shè)定以適應(yīng)新的需求。然而,要想有效達(dá)到設(shè)計(jì)要求,重要的是能夠選擇和修改MCU外設(shè)及其布局。大多數(shù)MCU為外設(shè)提供了預(yù)置位置和固定的替代選擇。預(yù)置引出線通常會(huì)導(dǎo)致引腳沖突,迫使開發(fā)人員改變其設(shè)計(jì),或改用更大、更昂貴的封裝。理想的方案是采用Silicon Labs專利技術(shù)雙crossbar MCU架構(gòu)(如圖2所示),開發(fā)人員可以首先選擇所需外設(shè),然后再?zèng)Q定外設(shè)引腳的位置,這賦予開發(fā)人員更大的靈活性。
圖2:采用Silicon Labs專利技術(shù)雙crossbar MCU架構(gòu)
選擇最佳的所需外設(shè)通常意味著可以采用體積更小、性價(jià)比更高的封裝。例如,在需要4個(gè)帶流量控制UART(16個(gè)引腳)和2個(gè)SPI(6個(gè)引腳)的通信集線器中,開發(fā)人員僅需選擇一款略高于22個(gè)I/O的MCU即可。然而,如果使用標(biāo)準(zhǔn)的固定架構(gòu),4個(gè)UART和3個(gè)SPI可能需要64引腳甚至100引腳的封裝才能滿足合適的外設(shè)組合。采用靈活可配置的crossbar技術(shù),開發(fā)人員可以很容易地在40引腳封裝中實(shí)現(xiàn)這種外設(shè)組合,另外還有幾個(gè)引腳空閑。此外,通過優(yōu)化外設(shè)位置,開發(fā)人員可以把外設(shè)放置到其連接電路的附近,這樣既可以縮短導(dǎo)線長度,也可以潛在地減少PCB的設(shè)計(jì)層數(shù)。最重要的是,最終設(shè)計(jì)變動(dòng)可以通過軟件輕松實(shí)現(xiàn)。例如,如果通信集線器需要帶SPI接口的另一IC,沒有問題——只需修改軟件,就可以輕松地將第三個(gè)SPI端口添加到同一封裝中。
靈活的crossbar架構(gòu)會(huì)帶來許多好處,那么高可配置的crossbar架構(gòu)MCU有沒有缺點(diǎn)呢?一些開發(fā)人員擔(dān)心crossbar架構(gòu)會(huì)導(dǎo)致編程更復(fù)雜。為了簡化開發(fā)人員的工作,Silicon Labs提供了創(chuàng)新的AppBuilder工具——用于簡化初始化和配置的免費(fèi)軟件開發(fā)工具?;贕UI的AppBuilder工具能夠使開發(fā)人員快速地以圖形化的方式選擇其外設(shè)組合、配置外設(shè)屬性、設(shè)定時(shí)鐘模式和自定義引腳功能,所有這些都無需閱讀數(shù)據(jù)手冊(cè)。AppBuilder甚至能夠產(chǎn)生用于主流編譯器的源代碼,例如Keil、IAR和GCC。
[page]
選擇32位MCU的最后一個(gè)重要因素是電源效率。實(shí)際上,超低功耗已經(jīng)成為各種嵌入式應(yīng)用中最為關(guān)心的一個(gè)問題?,F(xiàn)在隨著人們對(duì)“綠色環(huán)保”和降低能耗的重視,設(shè)計(jì)人員必須密切關(guān)注其整體功耗預(yù)算。許多方法都可以降低能耗,如何有效降低能耗取決于最終應(yīng)用。例如,血糖監(jiān)測儀,患者每日使用的次數(shù)很少,絕大多數(shù)時(shí)間監(jiān)測儀都處于深度休眠狀態(tài)。因此,在這個(gè)應(yīng)用中,盡量降低休眠模式的功耗尤為重要。
另一方面,對(duì)于傳感器節(jié)點(diǎn)設(shè)備,需要不間斷地監(jiān)測事件狀態(tài)。如果傳感器節(jié)點(diǎn)連續(xù)監(jiān)測事件,就必須一直處于工作模式。真是這樣么?事實(shí)并非如此!傳感器節(jié)點(diǎn)可以進(jìn)入休眠模式,快速喚醒,檢測事物(例如檢測煙霧)是否正在發(fā)生,然后再進(jìn)入休眠狀態(tài)。在類似的系統(tǒng)中,重要的是具有支持實(shí)時(shí)時(shí)鐘(RTC)喚醒的低功耗休眠模式,可以進(jìn)行有規(guī)律的喚醒,例如每100μs??焖賳拘褧r(shí)間也非常重要,處理器可以快速運(yùn)行固定的命令去檢測是否有事件正在發(fā)生。
而有些應(yīng)用不能進(jìn)入休眠模式,例如工廠生產(chǎn)線設(shè)備。在這些應(yīng)用中,使用具有低功耗有功電流的MCU就顯得非常重要。另外,還可以運(yùn)用其他訣竅節(jié)省功耗,例如,降低運(yùn)行頻率,只采用滿足特定任務(wù)所需的處理速度。
很難找到能同時(shí)滿足超低功耗休眠模式、活動(dòng)模式、喚醒時(shí)間和動(dòng)態(tài)頻率改變特性的32位MCU。Precision32 MCU系列產(chǎn)品通過提供多種低功耗選擇來滿足這些要求,如圖3所示。Precision32 MCU系列產(chǎn)品可以在低于100nA電流下運(yùn)行,包括掉電檢測和4kB RAM保持功能;如果要啟動(dòng)實(shí)時(shí)時(shí)鐘,則需額外增加250nA電流;選用模擬比較器則需要另外消耗400nA,甚至還可選用低功耗定時(shí)器和脈沖計(jì)數(shù)器。MCU能夠在數(shù)微秒內(nèi)從低功耗休眠模式中喚醒。另外,Precision32 MCU擁有極低的275μA/MHz的活動(dòng)模式電流,具有復(fù)雜的能夠鎖頻到1~80MHz中任意頻率的PLL,使開發(fā)人員可以優(yōu)化功耗。
圖3:Precision32 MCU致力于實(shí)現(xiàn)所有模式下的超低功耗
一段時(shí)間以來,許多主流MCU供應(yīng)商推出使用相同內(nèi)核、相似存儲(chǔ)容量、多I/O引腳和串行外設(shè)的32位器件,這讓設(shè)計(jì)人員通常認(rèn)為嵌入式設(shè)計(jì)中選擇MCU并不是什么難題。然而,通過為特定設(shè)計(jì)選擇恰當(dāng)?shù)腗CU,開發(fā)人員能夠顯著減少開發(fā)時(shí)間,降低功耗和整體系統(tǒng)成本,同時(shí),提供的設(shè)計(jì)靈活性使得即使是最終設(shè)計(jì)有所變動(dòng),也無需進(jìn)行大幅度的修改設(shè)計(jì)??傊瑥囊婚_始就選擇具有靈活架構(gòu)的32位MCU是明智之舉,這可以極大簡化開發(fā)人員工作。