MUC的定義原理與其基本構(gòu)成
微控制單元(Microcontroller Unit;MCU) ,又稱單片微型計(jì)算機(jī)(Single Chip Microcomputer )或者單片機(jī),是把中央處理器(Central Process Unit;CPU)的頻率與規(guī)格做適當(dāng)縮減,并將內(nèi)存(memory)、計(jì)數(shù)器(TImer)、USB、A/D轉(zhuǎn)換、UART、PLC、DMA等周邊接口,甚至LCD驅(qū)動電路都整合在單一芯片上,形成芯片級的計(jì)算機(jī),為不同的應(yīng)用場合做不同組合控制。諸如手機(jī)、PC外圍、遙控器,至汽車電子、工業(yè)上的步進(jìn)馬達(dá)、機(jī)器手臂的控制等,都可見到MCU的身影。
本文引用地址:http://m.butianyuan.cn/article/201710/365290.htm
MCU的技術(shù)原理:
MCU同溫度傳感器之間通過I2C總線連接。I2C總線占用2條MCU輸入輸出口線,二者之間的通信完全依靠軟件完成。溫度傳感器的地址可以通過2根地址引腳設(shè)定,這使得一根I2C總線上可以同時(shí)連接8個(gè)這樣的傳感器。MCU需要訪問傳感器時(shí),先要發(fā)出一個(gè)8位的寄存器指針?然后再發(fā)出傳感器的地址,(7位地址,低位是WR信號)。傳感器中有3個(gè)寄存器可供MCU使用,8位寄存器指針就是用來確定MCU究竟要使用哪個(gè)寄存器的。主程序會不斷更新傳感器的配置寄存器,這會使傳感器工作于單步模式,每更新一次就會測量一次溫度。
要讀取傳感器測量值寄存器的內(nèi)容,MCU必須首先發(fā)送傳感器地址和寄存器指針。MCU發(fā)出一個(gè)啟動信號,接著發(fā)出傳感器地址,然后將RD/WR管腳設(shè)為高電平,就可以讀取測量值寄存器。
為了讀出傳感器測量值寄存器中的16位數(shù)據(jù),MCU必須與傳感器進(jìn)行兩次8位數(shù)據(jù)通信。當(dāng)傳感器上電工作時(shí),默認(rèn)的測量精度為9位,分辨力為0.5 C/LSB(量程為-128.5 C至128.5 C)。本方案采用默認(rèn)測量精度,根據(jù)需要,可以重新設(shè)置傳感器,將測量精度提高到12位。如果只要求作一般的溫度指示,比如自動調(diào)溫器,那么分辨力達(dá)到1 C就可以滿足要求了。這種情況下,傳感器的低8位數(shù)據(jù)可以忽略,只用高8位數(shù)據(jù)就可以達(dá)到分辨力1 C的設(shè)計(jì)要求。由于讀取寄存器時(shí)是按先高8位后低8位的順序,所以低8位數(shù)據(jù)既可以讀,也可以不讀。只讀取高8位數(shù)據(jù)的好處有二,第一是可以縮短MCU和傳感器的工作時(shí)間,降低功耗;第二是不影響分辨力指標(biāo)。
MCU讀取傳感器的測量值后,接下來就要進(jìn)行換算并將結(jié)果顯示在LCD上。整個(gè)處理過程包括:判斷顯示結(jié)果的正負(fù)號,進(jìn)行二進(jìn)制碼到BCD碼的轉(zhuǎn)換,將數(shù)據(jù)傳到LCD的相關(guān)寄存器中。
數(shù)據(jù)處理完畢并顯示結(jié)果之后,MCU會向傳感器發(fā)出一個(gè)單步指令。單步指令會讓傳感器啟動一次溫度測試,然后自動進(jìn)入等待模式,直到模數(shù)轉(zhuǎn)換完畢。MCU發(fā)出單步指令后,就進(jìn)入LPM3模式,這時(shí)MCU系統(tǒng)時(shí)鐘繼續(xù)工作,產(chǎn)生定時(shí)中斷喚醒CPU。定時(shí)的長短可以通過編程調(diào)整,以便適應(yīng)具體應(yīng)用的需要。
MCU的基本構(gòu)成:
1、中央處理器CPU,包括運(yùn)算器、控制器和寄存器組。是MCU內(nèi)部的核心部件,由運(yùn)算部件和控制部件兩大部分組成。前者能完成數(shù)據(jù)的算術(shù)邏輯運(yùn)算、位變量處理和數(shù)據(jù)傳送操作,后者是按一定時(shí)序協(xié)調(diào)工作,是分析和執(zhí)行指令的部件。
2、存儲器,包括ROM和RAM。ROM程序存儲器,MCU的工作是按事先編制好的程序一條條循序執(zhí)行的,ROM程序存儲器即用來存放已編的程序(系統(tǒng)程序由制造廠家編制和寫入)。存儲數(shù)據(jù)掉電后不消失。ROM又分為片內(nèi)存儲器和片外(擴(kuò)展)存儲器兩種。
RAM數(shù)據(jù)存儲器,在程序運(yùn)行過程中可以隨時(shí)寫入數(shù)據(jù),又可以隨時(shí)讀出數(shù)據(jù)。存儲數(shù)據(jù)在掉電后不能保持。
RAM也分為片內(nèi)數(shù)據(jù)存儲器和片外(擴(kuò)展)存儲器兩種。
3、輸入、輸出I/O接口,與外部輸入、輸出(電路)設(shè)備相連接。PO/P1/P2/P3等數(shù)字I/O接口,內(nèi)部電路含端口鎖存器、輸出驅(qū)動器和輸入緩沖器等電路。其中PO為三態(tài)雙向接口,P1/P2/P3數(shù)字I/O端口,內(nèi)部驅(qū)動器為“開路集電極”輸出電路,應(yīng)用時(shí)內(nèi)部或外部電路接有上拉電阻。每個(gè)端口均可作為數(shù)字信號輸入或輸出口,并具有復(fù)用功能(指端口功能有第一功能、第二功能甚至數(shù)個(gè)功能,在應(yīng)用中可靈活設(shè)置)。
MCU器件,除數(shù)字I/O端口外,還有ADC模擬量輸入、輸出端口,輸入信號經(jīng)內(nèi)部A/D轉(zhuǎn)換電路,變換為數(shù)字(頻率)信號,再進(jìn)行處理;對輸出模擬量信號,則先經(jīng)D/A轉(zhuǎn)換后,再輸出至外部電路。
評論