微控制器(MCU)由中央處理器(CPU),非易失性存儲器(ROM),易失性存儲器(RAM),外圍設備和支持電路組成。
中央處理單元
CPU根據(jù)程序員編寫的指令序列執(zhí)行算術運算,管理數(shù)據(jù)流并生成控制信號。設計人員看不到CPU功能所需的極其復雜的電路。實際上,由于集成了開發(fā)環(huán)境和高級語言(例如C語言),為微控制器編寫代碼通常是一項相當簡單的任務。
內存
非易失性存儲器用于存儲微控制器的程序,即(通常很長的)機器語言指令列表,這些指令告訴CPU確切的操作。通常,您會看到單詞“Flash”(這是指非易失性數(shù)據(jù)存儲的一種特定形式),而不是“非易失性存儲器”。
易失性存儲器(即RAM)用于臨時數(shù)據(jù)存儲。當微控制器掉電時,該數(shù)據(jù)將丟失。內部寄存器還提供臨時數(shù)據(jù)存儲,但是我們不將它們視為獨立的功能塊,因為它們已集成到CPU中。
外圍設備
我們使用“外圍設備”一詞來描述幫助微控制器與外部系統(tǒng)交互的硬件模塊。以下要點指出了各種外圍設備并提供了示例。
上圖顯示了一單片機上將ADC將其數(shù)字化的三軸加速度計數(shù)據(jù)。
數(shù)據(jù)轉換器:模數(shù)轉換器,數(shù)模轉換器,參考電壓發(fā)生器。
時鐘生成:內部振蕩器,晶體驅動電路,鎖相環(huán)。
時間:通用定時器,實時時鐘,外部事件計數(shù)器,帶調制脈沖。
模擬信號處理:運算放大器,模擬比較器。
輸入/輸出:通用數(shù)字輸入和輸出電路,并行存儲器接口。
串行通信:UART,SPI,I2C,USB。
支持電路
微控制器包含各種不能歸類為外圍設備的功能塊,因為它們的主要目的不是控制,監(jiān)視或與外部組件通信。但是,它們非常重要-它們支持設備的內部操作,簡化了實現(xiàn)并改善了開發(fā)過程。
調試電路使設計人員可以在執(zhí)行指令時仔細監(jiān)視微控制器。這是跟蹤錯誤并優(yōu)化固件性能的重要方法,有時是必不可少的。
中斷是微控制器功能中非常有價值的功能。中斷是由基于外部或內部基于硬件的事件生成的,它們使處理器通過執(zhí)行一組特定的指令來立即響應這些事件。
用C語言編寫的單片機程序,中斷導致程序執(zhí)行“引導”到中斷服務程序(ISR),ISR完成其任務后,處理器將返回中斷發(fā)生時正在執(zhí)行的功能。
如果時鐘生成模塊旨在產(chǎn)生在芯片外部使用的信號,則可以將其視為外圍設備,但是在許多情況下,微控制器內部振蕩器的主要目的是為CPU和外圍設備提供時鐘信號。內部振蕩器通常具有較低的精度,但是在可以容忍這種低精度的應用中,它們是簡化設計并節(jié)省電路板空間的便捷有效方式。
微控制器可以結合各種類型的電源電路。集成穩(wěn)壓器允許在芯片上生成所需的電源電壓,電源管理模塊可用于在非活動狀態(tài)下顯著降低設備的電流消耗,而管理模塊可在電源電壓不處于正常狀態(tài)時將處理器置于穩(wěn)定的復位狀態(tài)足夠高以確??煽康牟僮?。