MCU的架構(gòu)詳解
Microcontroller(微控制器)又可簡(jiǎn)稱MCU或μC,也有人稱為單芯片微控制器(Single Chip Microcontroller),將ROM、RAM、CPU、I/O集合在同一個(gè)芯片中,為不同的應(yīng)用場(chǎng)合做不同組合控制。微控制器在經(jīng)過這幾年不斷地研究,發(fā)展,歷經(jīng)4位,8位,到現(xiàn)在的16位及32位,甚至64位。產(chǎn)品的成熟度,以及投入廠商之多,應(yīng)用范圍之廣,真可謂之空前。目前在國(guó)外大廠因
本文引用地址:http://www.ex-cimer.com/article/201710/365288.htm開發(fā)較早,產(chǎn)品線廣,所以技術(shù)領(lǐng)先,而本土廠商則以多功能為產(chǎn)品導(dǎo)向取勝。但不可諱言的,本土廠商的價(jià)格戰(zhàn)是對(duì)外商造成威脅的關(guān)鍵因素。 由于制程的改進(jìn),8位MCU與4位MCU價(jià)差相去無幾,8位已漸成為市場(chǎng)主流;針對(duì)4位MCU,大部份供貨商采接單生產(chǎn),目前4位MCU大部份應(yīng)用在計(jì)算器、車表、車用防盜裝置、呼叫器、無線電話、CD Player、LCD驅(qū)動(dòng)控制器、LCD Game、兒童玩具、磅秤、充電器、胎壓計(jì)、溫濕度計(jì)、遙控器及傻瓜相機(jī)等;8位MCU大部份應(yīng)用在電表、馬達(dá)控制器、電動(dòng)玩具機(jī)、變頻式冷氣機(jī)、呼叫器、傳真機(jī)、來電辨識(shí)器(Caller ID)、電話錄音機(jī)、CRT Display、鍵盤及USB等;16位MCU大部份應(yīng)用在行動(dòng)電話、數(shù)字相機(jī)及攝錄放影機(jī)等;32位MCU大部份應(yīng)用在Modem、GPS、PDA、HPC、STB、Hub、Bridge、 Router、工作站、ISDN電話、激光打印機(jī)與彩色傳真機(jī);64位MCU大部份應(yīng)用在高階工作站、多媒體互動(dòng)系統(tǒng)、高級(jí)電視游樂器(如SEGA的Dreamcast及Nintendo的GameBoy)及高級(jí)終端機(jī)等。
而在MCU開發(fā)方面,以架構(gòu)而言,可分為兩大主流;RISC(如HOLTEK HT48XXX系列)與CISC(如華邦W78系列)。 RISC (Reduced InstrucTIon Set Computer) 代表MCU的所有指令都是利用一些簡(jiǎn)單的指令組成的,簡(jiǎn)單的指令代表 MCU 的線路可以盡量做到最佳化,而提高執(zhí)行速率,相對(duì)的使得一個(gè)指令所需的時(shí)間減到最短。HOLTEK的HT46XX(A/D MCU系列) HT47XX(R to F MCU系列) HT48XX(一般I/O MCU系列) HT49XX(LCD MCU系列) 便是采用 RISC 結(jié)構(gòu)來設(shè)計(jì)。不管是 RISC 或是 CISC(Complex InstrucTIon Set Computer),設(shè)計(jì)MCU的目的便是為人類服務(wù)的,對(duì)于 RISC 來說,因?yàn)橹噶罴木?jiǎn),所以許多工作都必須組合簡(jiǎn)單的指令,而針對(duì)較復(fù)雜組合的工作便需要由『編譯程序』(compiler) 來執(zhí)行,而 CISC MCU因?yàn)橛布峁┑闹噶罴^多,所以許多工作都能夠以一個(gè)或是數(shù)個(gè)指令來代替,compiler 的工作因而減少許多。
以一個(gè)數(shù)值運(yùn)算程序來說,使用 CISC 指令集的MCU運(yùn)算對(duì)于一個(gè)積分表達(dá)式可能只需要十個(gè)機(jī)器指令,而 RISC MCU在執(zhí)行相同的程序時(shí),卻因?yàn)镃PU 本身不提供浮點(diǎn)數(shù)乘法的指令,所以可能需要執(zhí)行上百個(gè)機(jī)器指令 (但每一個(gè)指令可能只需要 CISC 指令十分之一的時(shí)間),而由程序語(yǔ)言轉(zhuǎn)換成機(jī)器指令的動(dòng)作是由程序語(yǔ)言的 Compiler 來執(zhí)行,所以在 RISC MCU的Compiler 便會(huì)較復(fù)雜 。因?yàn)橥瑯右粋€(gè)高級(jí)語(yǔ)言 A=B*C 的運(yùn)算,在 RISC MCU轉(zhuǎn)換為機(jī)器指令可能有許多種組合,而每一種組合的『時(shí)間/空間』組合都不盡相同。 所以 RISC 與 CISC 的取舍之間,似乎也是MCU硬件架構(gòu)與軟件(Compiler) 的平衡之爭(zhēng),應(yīng)該沒有絕對(duì)優(yōu)勢(shì)的一方,只能說因應(yīng)不同的需求而有不同的產(chǎn)品,例如工作單純的打印機(jī)核心 MCU,便適合使用效能穩(wěn)定,但單位指令效率較佳的 RISC MCU。
MCU的基本構(gòu)架:
以架構(gòu)而言,MCU可分為兩大主流∶RISC與CISC。RISC (Reduced InstrucTIon Set Computer)代表MCU的所有指令都是利用一些簡(jiǎn)單的指令組成的,簡(jiǎn)單指令代表MCU的線路可以盡量做到最佳化,提高執(zhí)行速率可使指令所需的時(shí)間減到最短。HOLTEK公司的HT46XX、HT47XX、HT48XX、HT49XX便是采用 RISC結(jié)構(gòu)來設(shè)計(jì)。
不管是RISC或是CISC(Complex InstrucTIon Set Computer),設(shè)計(jì)MCU的目的都是為人類服務(wù)的,對(duì)於RISC來說,因?yàn)橹噶罴木?jiǎn),所以許多工作都必須組合簡(jiǎn)單的指令,而針對(duì)較復(fù)雜組合的工作便需要由“編譯程序 (compiler)”來執(zhí)行,而CISC MCU因?yàn)橛搀w所提供的指令集較多,所以許多工作都能夠以一個(gè)或是數(shù)個(gè)指令來代替,編譯程序的工作因而減少許多。
一般來說,MCU基本架構(gòu)包括有程式記憶體(Program ROM)、累積器(Accumulator)、寄存器(Register)、堆疊(Stack)及堆疊指標(biāo)(Stack Pointer)、I/O口、定時(shí)/定時(shí)/計(jì)數(shù)器、中斷(Interrupt)。MCU還可以加掛一些周邊資源,以擴(kuò)充和延伸MCU的功能,這也正是系統(tǒng)設(shè)計(jì)工程師實(shí)現(xiàn)“產(chǎn)品差異化”的關(guān)鍵。這些周邊資源包括:
1、串行輸出(Serial I/O)
MCU內(nèi)含Serial I/O是為了提供對(duì)外部周邊設(shè)備的通訊管道,各家種類不同,常見的有以下幾種∶
?。?) UART(Universal Asynchronous Receiver Transmitter)∶英代爾(Intel)、愛特梅爾(Atmel)。
?。?) USART(Universal Synchronous/Asynchronous Receiver Transmitter )∶英飛 科技股份公司(Infineon)。
?。?) 串列外設(shè)介面(SPI)∶飛思卡爾半導(dǎo)體公司(Freescale Semiconductor)。
(4) SCI(Sertal Communications Interface)∶這是UART的加強(qiáng)版。
?。?) I2C匯流排∶恩智浦半導(dǎo)體(NXP Semiconductor)。
?。?) Microwire/Plus∶美國(guó)國(guó)家半導(dǎo)體公司(National Semiconductor)。
2、液晶驅(qū)動(dòng)裝置(LCD Driver)
在顯示介面上,LCD是常用的顯示裝置,例如在一些多功能電話、數(shù)位溫度計(jì)、掌上游戲機(jī)上皆可以發(fā)現(xiàn)它的蹤跡。因此內(nèi)含LCD驅(qū)動(dòng)線路的MCU運(yùn)用相當(dāng)廣泛,有兩種驅(qū)動(dòng)方式可供選用∶Segment和Dot Matrix,例如之前流行的寵物蛋是使用Dot Matrix的LCD顯示器;日系MCU廠商提供多樣內(nèi)含LCD驅(qū)動(dòng)裝置的MCU可供選用,另外HOLTEK HT49XX系列也提供LCD驅(qū)動(dòng)裝置的MCU。
3、螢光管驅(qū)動(dòng)裝置(VFT Driver)
LCD顯示器在無光源或無背光的環(huán)境下,我們即無法讀取顯示器之內(nèi)容,而VFT顯示器可提供高亮度、且色彩多變化的視覺效果,常應(yīng)用於高級(jí)的家電產(chǎn)品上,如碟影機(jī)、DSP量化器。要求炫麗輸出效果的產(chǎn)品,在MCU的選擇上VFT Driver是重要的資源之一。
OSD對(duì)於電視及監(jiān)視器人性化介面是不可缺少的功能之一, OSD(On Screen Display)部分顯示回路為接收水平同步信號(hào)(H-Sync)及垂直同步信號(hào) (V-Sync),再將信號(hào)透過RGB及Blanking將螢?zāi)毁Y訊送出,其顯示顏色至多可達(dá)8種。各MCU指令執(zhí)行速率會(huì)造成OSD的顯示行數(shù)及欄位的不同,顯示行數(shù)由二行至數(shù)十行,欄位則由15~26個(gè)字元或更多,通常執(zhí)行速率較快者可顯示較多的行數(shù)、欄位,速率較慢者在顯示上會(huì)有直接的受限。
4、模數(shù)介面(ADC)
由於MCU諸多應(yīng)用上,需要偵測(cè)外部環(huán)境狀況,作為處理資料上的參考,如在TV應(yīng)用方面其調(diào)諧器(Tuner)之自動(dòng)頻率控制(AFC)訊號(hào),即為電壓訊號(hào),其他如溫度之偵測(cè)也多是轉(zhuǎn)換為電壓訊號(hào),所以ADC的應(yīng)用在工業(yè)及消費(fèi)電子上都很廣泛。
模擬之場(chǎng)合是如此頻繁,所以各廠家提供AD之轉(zhuǎn)換便成為一般之標(biāo)準(zhǔn)規(guī)格(如HOLTEK HT46XX系列),雖然如此,對(duì)於類比/數(shù)位之解析度各家差異很大,由3~10位皆有,視各不同需求而異。雖然提供的轉(zhuǎn)換通道有很多,通常內(nèi)部?jī)H有一個(gè)電路處理,靠選擇器切換,對(duì)於時(shí)間考慮不是特別強(qiáng)調(diào)之應(yīng)用上,不致有太大之影響。
另外還有一種AD轉(zhuǎn)換方式,就是R-F(Resistance to Freguency),一般運(yùn)用在溫度/濕度之偵測(cè),利用電阻/電容式感測(cè)器的變化特性,轉(zhuǎn)換成頻率值,以此頻率值來計(jì)算溫度/濕度的相對(duì)性,此類的IC如HOLTEK HT47XX系列。
5、數(shù)模轉(zhuǎn)換介面(DAC)
在控制類比元件,必須內(nèi)建DAC來應(yīng)對(duì)。MCU內(nèi)部由DA轉(zhuǎn)換暫存器及一階電阻構(gòu)成,D/A的解析度各為8位元。在一個(gè)8位元/參考電壓為5V的MCU,假設(shè)一個(gè)數(shù)位值60轉(zhuǎn)換成類比值的計(jì)算方式是(60/256x5V)=1.171875V,例如應(yīng)用在鎖相回路上,VCO(電壓控制振蕩器)即可用DAC進(jìn)行控制。
另外,Voice IC也是利用原先將語(yǔ)音錄制成數(shù)位資料,然後用DAC方式將數(shù)位資料音頻轉(zhuǎn)換還原類比語(yǔ)音訊號(hào)。脈寬調(diào)變(PWM)其目的也是以數(shù)位輸出搭配周邊回路,達(dá)到類比的效果,其組成有前置配器(Pre-divider)、計(jì)數(shù)器(Counter)、資料閂鎖(Data Latches)、及比較電路(Compare Circuits)等。
6、DTMF產(chǎn)生器、接收器
電話由原來的Pulse演進(jìn)為現(xiàn)在的Tone解碼方式,不但提高了解碼的速度,也增加了可靠性與抗雜訊能力,DTMF(Dual Tone Multiple Frequency)顧名思義就是混合兩種頻率的音頻訊號(hào),所以解碼不易出差錯(cuò)。應(yīng)用在電話產(chǎn)品的MCU時(shí),DTMF這個(gè)資源常是選擇的重要規(guī)格。
7、看門狗(Watchdog Timer)
MCU在產(chǎn)品中是不允許停機(jī)的,但受到雜訊干擾或操作不當(dāng)時(shí),需有防范措施確保MCU在停機(jī)的情況下能夠自動(dòng)重置,讓 MCU能夠繼續(xù)運(yùn)作??梢哉f看門狗是用來監(jiān)看MCU是否為不正常停機(jī),許多MCU都已把它列為標(biāo)準(zhǔn)配備。
看門狗計(jì)時(shí)器實(shí)際上就像一個(gè)自跑式的RC振蕩器,它完全不必外加零件,意即不管是晶片 的頻率振蕩接腳的頻率振蕩有沒有停止,它還是繼續(xù)計(jì)數(shù)而不隨之中斷而停止,即便是晶片 進(jìn)入省電的Halt狀態(tài)(在Halt狀態(tài)下,晶片之頻率停止振蕩也一定不曾停止Watchdog timer之計(jì)時(shí),當(dāng)計(jì)時(shí)逾時(shí)後將使本晶片自動(dòng)重置,I/O腳輸出保持不變,耗電相當(dāng)?shù)氖。?,Watchdog timer要不要使能,在OTP版本必須在程式燒錄時(shí)決定,以便決定要不要燒斷其保險(xiǎn)絲,在Mask版本由使用者選擇是否使用這個(gè)功能。
8、雙頻率(Dual Clock)
MCU的供應(yīng)頻率愈高時(shí),相對(duì)地耗電量也愈大。因此在一些使用電池供應(yīng)的產(chǎn)品選用時(shí),雙頻率常是必須考慮的功能,一般副頻率是以32.768kHz運(yùn)作,主要作為計(jì)時(shí)(RealTime Clock)之用。
評(píng)論