微控制器(MICroController)又可簡稱MCU或μC,也有人稱為單芯片微控制器(SingleChipMicrocontroller),將ROM、RAM、CPU、I/O集合在同一個(gè)芯片中,為不同的應(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)向取勝。但不可諱言的,本土廠商的價(jià)格戰(zhàn)是對外商造成威脅的關(guān)鍵因素。
由于制程的改進(jìn),8位MCU與4位MCU價(jià)差相去無幾,8位已漸成為市場主流;針對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)、高級電視游樂器(如SEGA的Dreamcast及Nintendo的GameBoy)及高級終端機(jī)等。
而在MCU開發(fā)方面,以架構(gòu)而言,可分為兩大主流;RISC(如HOLTEK HT48XXX系列)與CISC(如華邦W78系列)。 RISC (Reduced Instruction Set Computer) 代表MCU的所有指令都是利用一些簡單的指令組成的,簡單的指令代表 MCU 的線路可以盡量做到最佳化,而提高執(zhí)行速率,相對的使得一個(gè)指令所需的時(shí)間減到最短。HOLTEK的HT46XX(A/DMCU系列) 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ù)的,對于 RISC 來說,因?yàn)橹噶罴木啠栽S多工作都必須組合簡單的指令,而針對較復(fù)雜組合的工作便需要由『編譯程序』(compiler) 來執(zhí)行,而 CISC MCU因?yàn)?a href="http://ttokpm.com/v/tag/1751/" target="_blank">硬件所提供的指令集較多,所以許多工作都能夠以一個(gè)或是數(shù)個(gè)指令來代替,compiler 的工作因而減少許多。
圖 1:MCU 架構(gòu)方塊示意圖。
程序內(nèi)存
程序內(nèi)存(Program ROM)在微控制器中是只讀而不可寫入之記憶單元,此內(nèi)存主要用來放 置使用者所開發(fā)之程序,而其性質(zhì)乃屬于不常更動(dòng)或永不變動(dòng)之資料,微控制器之動(dòng)作便是 依據(jù)儲(chǔ)存于此區(qū)之程序指令運(yùn)作。在 8 位單芯片中常見的程序內(nèi)存容量有 0.5K、IK、2K、4K 及 8K,而通常應(yīng)用在微控制器的程序內(nèi)存有下列幾種方式,見(表一):
表 1:在微控制器的程序內(nèi)存通常有幾種方式。
另外關(guān)于程序保密部分,不論是加密或保險(xiǎn)絲燒斷保護(hù) ,都是為了防止程序被未授權(quán)之使 用者窺看、竊?。ㄈ绶唇M譯程序 、修改內(nèi)容 、盜取程序等)。程序保密這個(gè)功能選擇只在提供 OTP、開窗型包裝、EEPROM 及FLASH ROM上使用,因?yàn)檫@些 IC 可借由燒錄器來回讀取程序代碼,在 Mask 版本則不需要進(jìn)行程序保密的步驟 。 隨機(jī)存取內(nèi)存隨機(jī)存取內(nèi)存(Random ACCess Memory;RAM),亦稱為讀/寫內(nèi)存(Read-Write Memory),常是被用來暫時(shí)存放資料、或是程序執(zhí)行存放資料的地方,用途相當(dāng)廣泛。以 HOLTEK 8 位 微控制器為例,其容量有 64、96、160 及 224 個(gè) Byte 選擇。
累積器
累積器(Accumulator),是 MCU 的運(yùn)作中樞 ,80%的指令都與累積器有關(guān) ;資料可以被存 放在累積器中,直到總線或其它單元準(zhǔn)備接受它、或直到程序需要它為止 。
緩存器
緩存器(Register)是 MCU 內(nèi)部用來暫時(shí)存放資料的地方,每個(gè)緩存器的功能各不相同,但 卻有一共同的特性,就是可以直接讀/寫,因其位于 MCU 的內(nèi)部,故減少了一些不必要的 等待及尋址時(shí)間,另外有些 MCU 的 I/O Port,也以緩存器型態(tài)來直接存取控制。
堆棧及堆棧指針
堆棧(Stack)及堆棧指針(Stack Pointer),堆棧就和盤子一樣,一個(gè)一個(gè)由下往上堆,而取出 時(shí)則由上一個(gè)一個(gè)往下拿,不能由中間抽出,因此又稱為后進(jìn)先出隊(duì)列(Last-In-First-Out Queues)」。功能如下;
一。 暫時(shí)存放 PC(Program Count)的值,適用于“子程序呼叫”,或中斷發(fā)生時(shí)將 PC 的值暫 時(shí)儲(chǔ)存起來;
二。 可視為緩存器使用,以 Push,Pop 來完成;
三。 有些 MCU 其 Stack Level 數(shù)是固定的(如 HOLTEK μC 系列),有些則可自定。 運(yùn)算邏輯單元
運(yùn)算邏輯單元(Algorithm Logic Unit;ALU),其功能在于執(zhí)行算術(shù)指令及邏輯判斷,除了產(chǎn)生 結(jié)果之外,也產(chǎn)生相關(guān)的 Flag(Zero、Carry、Borrow、Status),每一個(gè) MCU 都不完全一 樣,尤其是 Carry Flag 一定要查看指令解說表。
輸入/輸出(I/O Port)
在單芯片微電腦應(yīng)用系統(tǒng)中,I/O 的擴(kuò)充不是目的,而是為了提供外部設(shè)備一個(gè)輸入/輸出的 信道,做為外界與 MCU 間的溝通管道。例如接鍵盤、顯示器、驅(qū)動(dòng)開關(guān)控制或測量等;在I/O 擴(kuò)充時(shí)必須考慮與之相連接的外圍設(shè)備硬件電路特性,如:電位匹配、干擾抑制、驅(qū)動(dòng)能 力(如 Source,Sink 能力)等。
微控制器在 I/O 埠方面?zhèn)溆卸喾N電路形式,其中有多端口可以經(jīng)由軟件以位單位來設(shè)定輸出/入方向。各埠附加大電流、高耐壓的緩沖器,以直接驅(qū)動(dòng)LED與高功率晶體管,以及做模 擬訊號的輸入之用。
定時(shí)器、定時(shí)器
定時(shí)器(Time Counter)、定時(shí)器(Timer),由外加振蕩晶體,經(jīng)除頻電路來提供 MCU 數(shù)種不 同的時(shí)基(Time Base)。常應(yīng)用于:
一。 時(shí)鐘之時(shí)基(如 1sec、500ms、62.5ms、15.625ms 等);
二.PWM(Pulse Width Modulation)之 Time Base;
三。 Key SCAN;
四.LEDScan;
五.Frequencyoutput;
六。 Pulse Reading;
七。 APO (Auto Power OFF)等。 計(jì)數(shù)器
計(jì)數(shù)器(Event Counter)專用于累計(jì)外部的事件個(gè)數(shù),可能為 Pulse 或其它資料,也可用以 產(chǎn)生正確的時(shí)間延遲。常應(yīng)用于:
一、另一種 Time Base,外加固定頻率; 二、計(jì)數(shù)器; 三、可規(guī)劃成另一種立即中斷輸入;
四、計(jì)速器(Speed Meter)、轉(zhuǎn)速表(Tachometer)。 中斷中斷(Interrupt)用來處理立即事件、或列為優(yōu)先處理之事件,負(fù)責(zé)時(shí)間計(jì)數(shù)器超時(shí)中斷、及 外部事件產(chǎn)生中斷請求等工作。大部分微控制器的中斷處理系統(tǒng)是多層的,內(nèi)設(shè)有中斷優(yōu)先 級電路,以決定先后順序。常應(yīng)用于:
一、MCU 呈被動(dòng) Standby 狀態(tài)(Halt-Stop),由外加信號來 Wakeup;
二、需要立即處理(傳感器、開關(guān)、警報(bào)器、電源故障預(yù)警器); 三、需要一個(gè)固定間隔來處理(Display ,Key Scan ,Read-Time CLOCk); 微控制器上的外圍資源
看了這么多微控制器的的基本架構(gòu)后,讓我們繼續(xù)來了解微控制器還可以加掛那些外圍資 源,以擴(kuò)充、延伸其功能。
串行輸出(Serial I/O)
微控制器內(nèi)含 Serial I/O 是為了提供對外部外圍 DevICe 的通訊管道,各家種類不同,常見 的有以下幾種:
◆UART(Universal Asynchronous Receiver Transmitter):Intel,Atmel;
◆USART(Universal Synchronous/Asynchronous Receiver Transmitter ):Siemens;
◆SPI(Serial Peripheral Interface):Motorola;
◆SCI(Sertal Communications Interface):這是 UART 的加強(qiáng)版;
◆I2C bus(lnter Integrated Circuit bus):Philips;
◆Microwire/Plus:National SEMIconductor;
液晶驅(qū)動(dòng)裝置(LCDDriver)
在顯示接口上,LCD(Liquid Crystal Display)是常運(yùn)用的顯示裝置,例如在一些多功能的電 話、數(shù)字溫度計(jì)、呼叫器、大哥大、掌上型游戲機(jī)以上皆可以發(fā)現(xiàn)它的蹤跡。因此內(nèi)含 LCD 驅(qū)動(dòng)線路的微控制器運(yùn)用相當(dāng)廣泛,有兩種驅(qū)動(dòng)方式可供選用:Segment 和 Dot Matrix, 例如:之前流行的寵物蛋是使用 Dot Matrix 的 LCD 顯示器;日系的微控制器廠商提供多樣內(nèi)含 LCD 驅(qū)動(dòng)裝置的微控制器可供選用,另外 HOLTEK HT49XX 系列 也提供 LCD 驅(qū)動(dòng)裝置 的微控制器。
螢光管驅(qū)動(dòng)裝置(VFT Driver)
LCD 顯示器在無光源或無背光的環(huán)境下,我們即無法讀取顯示器之內(nèi)容,而 VFT 顯示器可提供高亮度、且色彩多變化的視覺效果,常應(yīng)用于高級的家電產(chǎn)品上,如:碟影機(jī)、DSP均 衡器。要求炫麗輸出效果的產(chǎn)品,在微控制器的選擇上 VFT(Vacuum Fluorescent Tube)Driver 是重要的資源之一。
OSD對于電視及監(jiān)視器人性化接口是不可缺少的功能之一,OSD(On Screen Display)部分顯示 回路為接收水平同步信號(H-Sync)及垂直同步信號(V-Sync),再將信號透過 RGB 及Blanking 將屏幕信息送出,其顯示顏色至多可達(dá)八種。
評論
查看更多