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