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