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