八位MCU的創(chuàng)新變革與應(yīng)用
回顧微控制器(MCU)的演變歷程,可說是從早期4/8位(bit)經(jīng)歷過度的16 bit,直到近年非常普及的32 bit。不論在運(yùn)算頻率、串行周邊與模擬輸入輸出都較過往有顯著的提升。以現(xiàn)今的主流應(yīng)用來看,4 bit與16 bit MCU幾乎消失,由8 bit與32 bit MCU瓜分整個(gè)應(yīng)用市場。
本文引用地址:http://www.ex-cimer.com/article/202108/427727.htm
為何8 bit MCU可以經(jīng)過30多年仍歷久不衰?以下從幾個(gè)面向來分析:
MCU的「C」代表的是controller,并非computing,亦即控制的要素遠(yuǎn)大于運(yùn)算。MCU執(zhí)行的工作在于將I/O、ADC,比較器與串行數(shù)據(jù)讀入,然后透過匯集、判斷與不復(fù)雜的運(yùn)算,再將其結(jié)果透過I/O、DAC、PWM及串行輸出。
以LED燈控應(yīng)用為例,一般只需10~16針腳的8bit MCU即可,使用3信道的PWM驅(qū)動(dòng)R/G/B,或是再增加2 通道控制白光與冷光,幾根I/O針腳或ADC做輸入的偵測非常簡單,但LED照明還是維持12%的復(fù)合成長率,單是在中國智能燈控市場,每月就有超過100kk的規(guī)模。
圖一 : 簡單燈控架構(gòu)
即使LED燈控架構(gòu)簡單,還是有幾個(gè)重點(diǎn)可討論,例如現(xiàn)今的燈控面臨調(diào)光要求越來越高,不僅要求須有豐富的顏色變化,也要求必須具有色彩改變的綿密性。
這些要求讓傳統(tǒng)16Mhz PWM已無法負(fù)荷,需要搭配鎖相回路(Phase Lock Loop;PLL)與可程序計(jì)數(shù)器數(shù)組(Programmable Counter Array;PCA)產(chǎn)生高速PWM來強(qiáng)化燈控效果,例如笙泉MCU提供的144Mhz高速PWM,即可滿足此應(yīng)用。另外,燈控應(yīng)用為了成本考慮,一般不會(huì)使用外部震蕩器。因此,內(nèi)部震蕩電路的設(shè)計(jì)就必須具備精準(zhǔn)性。
一般來說,室內(nèi)燈控比較少遇到溫度變化所造成的溫飄現(xiàn)象,但是放置在戶外的景觀燈或是LED廣告廣告牌,就會(huì)面臨到日夜溫差狀況的挑戰(zhàn)。
頻率是MCU的心臟,內(nèi)部RC頻率因溫度所造成的頻率偏差會(huì)造成許多問題,首先PWM訊號(hào)也是經(jīng)由內(nèi)部主頻產(chǎn)生,當(dāng)溫度造成的頻飄影響PWM的輸出,會(huì)間接造成LED顏色的微幅改變。更嚴(yán)重的是,有很多燈控應(yīng)用是透過異步傳輸?shù)腢ART與控制主機(jī)進(jìn)行通訊,并不像I2C/SPI有時(shí)鐘(clock)訊號(hào)同步控制,UART只要頻率飄移超過4%,就會(huì)造成整個(gè)通訊異常而導(dǎo)致LED畫面黑屏錯(cuò)誤。
因此,笙泉在MCU強(qiáng)化內(nèi)部震蕩電路穩(wěn)定性,這也是8 bit MCU的開發(fā)重點(diǎn),能夠讓產(chǎn)品適用于戶外的燈控需求。
圖三 : 無線充電發(fā)射端架構(gòu)
至于高速PWM除了燈控以外,還能夠應(yīng)用在許多的消費(fèi)型產(chǎn)品,例如時(shí)下流行的無線充電,其實(shí)對(duì)于一般5W/10W的充電發(fā)射端(TX),并不一定需使用到32 bit的運(yùn)算,大部分是以16 bit的數(shù)值比較處理。以高頻率的8 bit控制器還算迎刃有余。
很多廠商也放入運(yùn)算放大器幫助電流擷取,并降低無線充組裝電路板(Printed Cicrcuit Board Assembly;PCBA)板上的外部組件?;蚴峭瞥龈哒隙鹊膶S肐C,用MCU整合MOS與其他高壓原件來進(jìn)一步縮小無線充電PCBA面積。
如果說PWM是很重要的MCU輸出組件,那模擬數(shù)字轉(zhuǎn)換器(Analog-to-digital converter ;ADC)可說是MCU最重要的輸入組件。目前主流MCU的ADC已經(jīng)從過去的8/10 bit進(jìn)化到12 bit,速度已推升到1Msps以上的高速取樣。
由于ADC需要多次擷取累積平均,開發(fā)者大多數(shù)還是會(huì)用16 bit來存放擷取數(shù)據(jù),一般的MCU ADC有效位數(shù)(effective number of bits;ENOB)介于9.5~10.5 bit,國外大廠的ADC有效范圍也許高些。所以假設(shè)開發(fā)者舍棄最后兩個(gè)最低有效位(Least Significant Bit;LSB),以10 bit數(shù)據(jù)來作處理。16 bit的數(shù)據(jù)范圍還是可以讓ADC累加運(yùn)算有相當(dāng)大的累加空間。除非是使用高精度的delta sigma ADC,否則鮮少應(yīng)用需要用到32 bit來處理ADC運(yùn)算。
觀察2020年MCU市場規(guī)模,32bit MCU占了55%,8 bit MCU市占率仍有43%,可見得32bit/8bit的選擇不屬于「是非題」,還是要視應(yīng)用端而定。一般來說,控制型或大量需要位(bit)運(yùn)算的應(yīng)用仍然會(huì)選擇8bit MCU,而32bit數(shù)值運(yùn)算與DSP/floating需求的應(yīng)用,才會(huì)選擇32bit MCU(如掃地機(jī)器人與四軸無人機(jī))。
此外,8bit MCU有些架構(gòu)上的特點(diǎn),如可較節(jié)省程序空間與降低中斷延遲,以下表列出8 bit MCU的幾項(xiàng)優(yōu)勢,并搭配國外進(jìn)行的實(shí)驗(yàn),從中比較可看出8 bit MCU 在某些運(yùn)行效能較32 bit MCU來得更有優(yōu)勢。
表一:8 bit MCU的優(yōu)勢
8位微控制器 | 32位微控制器 | |
程序空間優(yōu)勢 |
|
|
中斷延遲 |
|
|
表二:8 bit/32 bit MCU在中斷服務(wù)例程(ISR)的延遲比較
CAST X8051XC3 | ARM Cortex M0 | |||
一般狀態(tài) | 最長延遲狀態(tài) | 一般狀態(tài) | 最長延遲狀態(tài) | |
需在堆棧(stack) 備分的緩存器 | PSW, ACC, B | PSW, ACC, B, DPTRs | R0-R3, R12 | R0-R15 |
其他延遲因素 | PSW初始化 | 清除NVIC的pending 位 | ||
實(shí)際量測的ISR 延遲(latency) | 10 | 18 | 17 | 24 |
不預(yù)期狀況 | 遇到直接或間接尋址的操作數(shù) | (1) N 個(gè)字符的load/store | ||
不預(yù)期狀況造成的多余周期 | 1 個(gè)周期 | (1) N 個(gè)周期 |
近年來笙泉的8 bit 6D系列結(jié)合許多原本只存在32 bit平臺(tái)的功能,例如直接內(nèi)存訪問(Direct Memory Access;DMA)、循環(huán)冗余校驗(yàn)(Cyclic Redundancy Check;CRC)、快速通道互聯(lián)(Intel QuickPath Interconnect;QPI)、擴(kuò)充儲(chǔ)存器區(qū)塊(Expanded Memory Block;EMB)等,而逐步發(fā)展出一種先進(jìn)式8bit MCU,形同保有8 bit MCU的敏捷性又兼顧32 bit MCU的高性能。
由于周邊串行端口的速度大幅提升,許多訊號(hào)傳輸?shù)膽?yīng)用更加無法忍受數(shù)據(jù)的延遲,因此笙泉將DMA放到8 bit MCU中以提高傳輸?shù)男省?/span>
現(xiàn)今的消費(fèi)型應(yīng)用日益復(fù)雜,PCBA也隨著組件增加而造成更多的噪聲產(chǎn)生,例如有線傳輸就有可能遇到噪聲的干擾而出錯(cuò),笙泉采取在MCU當(dāng)中加上硬件CRC,以確保傳輸數(shù)據(jù)的正確性。
圖四 : 8 bit MCU發(fā)展面向
觀察8 bit MCU能夠在市場上歷久不衰,其最大的原因是在某些應(yīng)用方面有不可取代性。長遠(yuǎn)來看,32位MCU持續(xù)擴(kuò)大占有率是不變的趨勢,而今8 bit MCU也隨著市場應(yīng)用不斷的改革出新。預(yù)估接下來的幾年,應(yīng)該還是一個(gè)8位與32位MCU并存的時(shí)代,如同RISC/CISC架構(gòu)在目前的微算機(jī)市場下各據(jù)山頭。
(本文作者廖崇榮為笙泉科技產(chǎn)品企劃營銷處處長)
評(píng)論