版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、09HO2 主編第2章MSP430單片機的內(nèi)部資源2.1MSP430單片機選型2.2I/O口2.3時鐘系統(tǒng)與低功耗模式2.4Basic Timer基礎(chǔ)定時器2.5LCD控制器2.6存儲器與Flash控制器2.716位ADC2.816位定時器TimerA2.9增強型異步串行通信接口2.1MSP430單片機選型MSP430單片機家族型號繁多,TI公司用3或4位數(shù)字表示型號,其中第一位數(shù)字表示大系列。目前有4個大系列:帶有液晶驅(qū)動器的MSP430F4xx系列單片機、不帶液晶驅(qū)動器的MSP430F1xx系列單片機、16MIPS高速MSP430F2xx系列單片機、一次性寫入(OTP)型低價MSP430C
2、系列單片機。2.2I/O口2.2.1I/O口寄存器2.2.2I/O口中斷2.2.3“線與”邏輯2.2.4電平?jīng)_突2.2.5兼容性2.2.6電容感應(yīng)式觸控2.2.1I/O口寄存器例2.2.1在MSP430單片機系統(tǒng)中,P1.5、P1.6、P1.7接有按鍵,P1.1、P1.3、P1.4接有LED,將 P1.5、P1.6、P1.7的方向設(shè)為輸入,P1.1、P1.3、P1.4的方向設(shè)為輸出:2.2.1I/O口寄存器PxDIR寄存器在復(fù)位過程中會被清0,沒有被設(shè)置的I/O口方向均為輸入狀態(tài),所以第二句也可以省略。注意未用的I/O口線應(yīng)當設(shè)為輸出,以降低漏電流。例2.2.2在P1.5口接有一按鍵,按下為低
3、電平。要求判斷:若該按鍵處于按下狀態(tài)(低電平),則從P1.1口輸出高電平點亮LED。2.2.1I/O口寄存器PxSEL寄存器用于設(shè)置每一位I/O的功能:0=普通I/O口1=第二功能 在MSP430單片機中,很多內(nèi)部功能模塊也需要和外界進行數(shù)據(jù)交流,為了不增加芯片管腳數(shù)量,大部分都和I/O口復(fù)用管腳。導(dǎo)致MSP430單片機大多數(shù)I/O管腳都具有第二功能。通過寄存器PxSEL可以指定某些I/O管腳作為第二功能使用。例如從DataSheet的管腳排布圖中查到MSP430 x42x系列單片機的P2.4、P2.5口和串口的TXD、RXD公用管腳。若需要將這兩個管腳配置為串口收發(fā)腳,則須將P2SEL的4、
4、5位置高:2.2.1I/O口寄存器2.2.2I/O口中斷在MSP430所有的單片機中,P1口、P2口總共16個I/O口均能作引發(fā)中斷。在MSP430 x42x系列中,14個I/O都屬于P1或P2口,因此每個I/O都能作為中斷源使用。通過下列兩個寄存器配置I/O口作為中斷使用:PxIE寄存器用于設(shè)置每一位I/O的中斷允許:0=不允許1=允許PxIES寄存器用于選擇每一位I/O的中斷觸發(fā)沿:0=上升沿1=下降沿例2.2.3將P1.5、P1.6、P1.7口設(shè)為中斷源,下降沿觸發(fā):PxIFG寄存器是I/O中斷標志寄存器:0=中斷條件不成立1=中斷條件曾經(jīng)成立過無論中斷是否被允許,也不論是否正在執(zhí)行中斷
5、服務(wù)程序,只要對應(yīng)I/O滿足了中斷條件(例如一個下降沿的到來),PxIFG中的相應(yīng)位都會立即置1并保持,只能通過軟件人工清除。這種機制的目的在于最大可能的保證不會漏掉每一次中斷。在MSP430系列單片機中,P1口的8個中斷和P2口8個中斷各公用了一個中斷入口,因此該寄存器另一重要作用在于中斷服務(wù)程序中用于判斷哪一位I/O產(chǎn)生了中斷。例2.2.4在MSP430單片機系統(tǒng)中,P1.5、P1.6、P1.7發(fā)生中斷后執(zhí)行不同的代碼:例2.2.4在MSP430單片機系統(tǒng)中,P1.5、P1.6、P1.7發(fā)生中斷后執(zhí)行不同的代碼:圖2.2.1按鍵過程產(chǎn)生的毛刺例2.2.5在MSP430單片機系統(tǒng)中,P1.5
6、、P1.6、P1.7口各接有一只按鍵(見圖2.2.2)。要求按KEY1鍵時速度變量值增加,按KEY2鍵時速度降低,按KEY3鍵時速度變?yōu)?。圖2.2.2用I/O口作鍵盤輸入2.2.3“線與”邏輯MSP430單片機的I/O口是CMOS型,特點是當I/O處于輸入狀態(tài)時,呈高阻態(tài);當I/O處于輸出狀態(tài)時,高低電平都具有較強輸出能力。若輸出高電平的I/O口和輸出低電平的I/O口直接連接,則會因短路造成損壞,不像8051的I/O那樣能實現(xiàn)“線與”功能。但可以通過I/O方向切換的方法模擬出來。2.2.4電平?jīng)_突例2.2.6電平?jīng)_突的問題經(jīng)常發(fā)生在數(shù)據(jù)輸入和雙向數(shù)據(jù)交換的應(yīng)用中,要特別注意。例如下面一些代碼
7、都很可能是單片機的毀滅者:2.2.5兼容性(1)5V邏輯器件輸出至MSP430單片機這是最簡單的一種情況,將5V邏輯通過10k和20k電阻分壓后即轉(zhuǎn)換成3V邏輯(見圖2.2.3a)。(2)MSP430單片機輸出至5V邏輯器件輸入這種情況首先要看接收器件的高電平門限,一般接收芯片或設(shè)備的手冊都會給出(VIH值)。(3)雙向數(shù)據(jù)傳輸雙向數(shù)據(jù)傳輸中,不僅要轉(zhuǎn)換電平,還需要切換方向。(4)驅(qū)動5V以上的邏輯利用漏級開路的門電路(如74HC07/06等)可以實現(xiàn)邏輯電平的變化,輸出端的上拉電阻所接的電壓就決定了輸出邏輯電平。圖2.2.3邏輯電平轉(zhuǎn)換電路2.2.6電容感應(yīng)式觸控圖2.2.4電容感應(yīng)式觸控按
8、鍵的結(jié)構(gòu)與原理2.2.6電容感應(yīng)式觸控圖2.2.5兩個觸控鍵公用電阻2.2.6電容感應(yīng)式觸控圖2.2.6常見觸控鍵排列方式2.3時鐘系統(tǒng)與低功耗模式2.3.1時鐘系統(tǒng)結(jié)構(gòu)與原理2.3.2低功耗模式2.3.3低功耗模式的應(yīng)用2.3.1時鐘系統(tǒng)結(jié)構(gòu)與原理MCLK:主時鐘(Master Clock)。MCLK是專為CPU運行提供的時鐘。SMCLK:子系統(tǒng)時鐘(Subsystem Master Clock),也稱輔助時鐘。ACLK:活動時鐘(Active Clock)。ACLK一般是由32.768kHz晶體直接產(chǎn)生的低頻時鐘,在單片機運行過程中一般不關(guān)閉,用于產(chǎn)生節(jié)拍時基,或和定時器配合間歇喚醒CPU
9、。2.3.1時鐘系統(tǒng)結(jié)構(gòu)與原理圖2.3.1MSP430F42x/41x系列單片機時鐘系統(tǒng)2.3.1時鐘系統(tǒng)結(jié)構(gòu)與原理圖2.3.2MSP430F42x單片機時鐘振蕩器例2.3.1MSP430F42x單片機外部接有32.768kHz晶振,為其配置時鐘:例2.3.2MSP430F42x單片機外部接有1MHz晶振,并要從P1.5輸出250kHz時鐘給某外部邏輯電路使用:圖2.3.3MSP430F42x/41x單片機時鐘倍頻器結(jié)構(gòu)2.3.1時鐘系統(tǒng)結(jié)構(gòu)與原理例2.3.3MSP430F42x單片機外部接有32.768kHz手表晶振,CPU需要2MHz左右時鐘頻率:例2.3.4MSP430F42x單片機外部
10、接有32.768kHz手表晶振,CPU需要2.752MHz時鐘頻率。2.752MHz是32.768kHz的84倍。因此分頻系數(shù)N=841=83。圖2.3.4MSP430F4xx/1xx單片機時最高鐘頻率與電源電壓關(guān)系2.3.1時鐘系統(tǒng)結(jié)構(gòu)與原理2.3.2低功耗模式表2.3.1MSP430F42x單片機低功耗模式2.3.2低功耗模式表2.3.2MSP430F42x單片機低功耗模式與時鐘的關(guān)系2.3.2低功耗模式2.3.3低功耗模式的應(yīng)用(1)間歇工作(2)替代程序流程中的等待過程(3)作為電源開關(guān)(1)間歇工作實際的系統(tǒng)中,很多設(shè)備都不必一直連續(xù)工作,讓大部分設(shè)備間歇工作,并盡可能延長工作時間間
11、隔、減少活動時間、加深休眠深度。這是超低功耗系統(tǒng)設(shè)計最重要的方法。(2)替代程序流程中的等待過程MSP430單片機中,幾乎所有的設(shè)備都能產(chǎn)生中斷,目的在于讓CPU無需查詢也能等待設(shè)備。方法是用休眠替代查詢等待,設(shè)備在發(fā)生狀態(tài)變化時將會主動喚醒CPU進行后續(xù)的處理。(3)作為電源開關(guān)在所有的休眠模式中,LPM4的功耗是最低的,僅0.1A。進入LPM4后單片機內(nèi)部所有的部件都不再活動,僅保持RAM內(nèi)數(shù)據(jù)和I/O口狀態(tài)不變。利用LPM4可以在不切斷電源的情況下實現(xiàn)“軟件關(guān)機”。2.4Basic Timer基礎(chǔ)定時器2.4.1Basic Timer結(jié)構(gòu)與原理2.4.2Basic Timer中斷2.4.
12、3Basic Timer的應(yīng)用2.4.1Basic Timer結(jié)構(gòu)與原理圖2.4.1MSP430F4xx單片機Basic Timer結(jié)構(gòu)圖例2.4.1在某MSP430單片機系統(tǒng)中,ACLK時鐘頻率為32.768kHz。用Basic Timer定時器產(chǎn)生周期為1/4s的定時中斷,同時為LCD提供512Hz的刷新時鐘。例2.4.2在某MSP430單片機系統(tǒng)中,ACLK時鐘頻率為32.768kHz。用Basic Timer定時器產(chǎn)生周期為1/1024s的定時中斷,同時為LCD提供256Hz的刷新時鐘。2.4.2Basic Timer中斷在Basic Timer第二級分頻器的8個輸出抽頭中,被選中的抽
13、頭每次由0到1的跳變(計數(shù)進位)會產(chǎn)生中斷標志。例2.4.3在某430單片機系統(tǒng)中,ACLK時鐘頻率為32.768kHz。用Basic Timer定時器讓P2.0口上的LED每秒閃爍一次,同時為LCD提供256Hz的刷新時鐘。2.4.3Basic Timer的應(yīng)用(1)周期性喚醒CPU當MSP430單片機系統(tǒng)進入低功耗模式后,周期性地將其喚醒,查詢是否有需要處理的事件,這種方法叫做定時查詢。(2)產(chǎn)生延時利用BasicTimer可以設(shè)計超低功耗的延遲函數(shù)。(3)RTC計時BasicTimer 的結(jié)構(gòu)就是一個二進制計數(shù)器,而作為時鐘源的低頻晶振一般都是32.768kHz(215Hz),經(jīng)過分頻后
14、恰好能產(chǎn)生(1/2N)s的定時節(jié)拍。(4)獲得更高分辨率BasicTimer的結(jié)構(gòu)使得它適合產(chǎn)生(1/2N)s的定時中斷。例2.4.5編寫延時程序,要求延時期間CPU休眠,以降低功耗。例2.4.6在某MSP430單片機系統(tǒng)中,ACLK時鐘頻率為32.768kHz。用BasicTimer定時器產(chǎn)生0.75s的定時中斷。例2.4.7在某430單片機系統(tǒng)中,ACLK時鐘頻率為32.768kHz。用BasicTimer定時器為0.25s、0.5s、0.75s、1.5s共4個定時服務(wù)程序提供時鐘節(jié)拍。2.5LCD控制器2.5.1LCD的工作原理2.5.2LCD與MSP430單片機的連接2.5.3LCD控
15、制器的結(jié)構(gòu)與原理2.5.4LCD的顯示緩存2.5.5LCD控制器的應(yīng)用2.5.1LCD的工作原理圖2.5.1LCD剖面示意圖2.5.2LCD與MSP430單片機的連接MSP430F4xx系列單片機的LCD控制器支持靜態(tài)、2-MUX、3-MUX、4-MUX這4種驅(qū)動方式,不同方式下硬件連接關(guān)系略有不同,其中靜態(tài)方式與4-MUX方式最常用,3-MUX方式極罕見,本書略。單片機與LCD相關(guān)的管腳分為以下3組:1)COM0COM3:公共端,與LCD的COM端相連。2)S0S31:段驅(qū)動,與LCD的SP端相連。3)R03、R13、R23、R33:由外部分壓電阻提供LCD驅(qū)動波形所需偏壓V1V5。圖2.5
16、.2靜態(tài)驅(qū)動方式LCD與單片機的連接2.5.2LCD與MSP430單片機的連接圖2.5.32-MUX驅(qū)動方式LCD與單片機的連接2.5.2LCD與MSP430單片機的連接圖2.5.44-MUX驅(qū)動方式LCD與單片機的連接2.5.2LCD與MSP430單片機的連接2.5.3LCD控制器的結(jié)構(gòu)與原理圖2.5.5LCD控制器內(nèi)部結(jié)構(gòu)例2.5.1某MSP430單片機系統(tǒng),接有4位數(shù)字的靜態(tài)LCD,為其配置LCD控制器。例2.5.2某MSP430單片機系統(tǒng),接有6位數(shù)字的4-MUX模式LCD,為其配置LCD控制器。例2.5.3讓LCD顯示器的顯示內(nèi)容每秒閃爍2次,可以在1/4s定時中斷內(nèi)調(diào)用:圖2.5.
17、6用運放為特大尺寸LCD提供偏壓2.5.3LCD控制器的結(jié)構(gòu)與原理2.5.4LCD的顯示緩存MSP430單片機的LCD控制器提供了最多20字節(jié)的顯存(不同型號數(shù)量不一樣,MSP430F42x系列帶有16字節(jié)顯存)用于控制LCD顯示內(nèi)容。在不同的驅(qū)動模式以及不同的硬件連接情況下,都會導(dǎo)致顯存字節(jié)中各比特與LCD筆劃之間的對用關(guān)系發(fā)生變化。2.5.4LCD的顯示緩存例2.5.4在4-MUX方式的LCD中,有8位顯示數(shù)字,分別受LCDM1LCDM8的控制。上述程序在某帶有LCD的單片機系統(tǒng)上的運行結(jié)果是:2.5.5LCD控制器的應(yīng)用()數(shù)字的顯示()顯示數(shù)值()顯示小數(shù)()顯示負數(shù)()顯示浮點數(shù)()
18、英文字母的顯示()數(shù)字的顯示為了顯示數(shù)字,首先需要一張顯示段碼表。顯示段碼表實際上是ROM中的一個數(shù)組。數(shù)組中每個元素都是一個數(shù)字的字形。而且實際對應(yīng)的數(shù)字恰好是該元素的下標。()顯示數(shù)值為了顯示數(shù)值,首先要將數(shù)值拆分成獨立的數(shù)字,然后再將數(shù)字逐位顯示出來。對于十進制數(shù),拆分數(shù)字最簡單的方式是不斷除10并取余數(shù)。()顯示小數(shù)小數(shù)顯示程序要解決小數(shù)點位置問題。在第章1.3節(jié)介紹了最常用的小數(shù)表示方法是將數(shù)字擴大10N倍,然后顯示的時候再人為地添加小數(shù)點,使小數(shù)點后還有N位數(shù)例2.5.10編寫顯示小數(shù)的函數(shù):()顯示負數(shù)對于負數(shù),可以取絕對值變成正數(shù),在顯示時可以直接調(diào)用顯示正數(shù)的函數(shù)。負數(shù)在顯示
19、形式上比正數(shù)只多一個負號。如果傳入數(shù)據(jù)是負數(shù),可以在最高位之前人為地添加負號,完成負數(shù)的顯示。()顯示浮點數(shù)浮點數(shù)的運算不需要對階,一般無需考慮溢出,所以使用非常方便。但是浮點數(shù)的顯示相對困難一些,因為拆分數(shù)字和確定小數(shù)點位都比較復(fù)雜。例2.5.12編寫能顯示浮點數(shù)的顯示函數(shù):()英文字母的顯示對于段碼式液晶來說,受到筆劃和字形的限制,只能顯示出部分的字母。字母與數(shù)字一樣,也是各段的組合。例2.5.13調(diào)用顯示數(shù)字的函數(shù)顯示字母:圖2.5.7段碼式液晶顯示的部分英文字母()英文字母的顯示2.6存儲器與Flash控制器2.6.1MSP430單片機的存儲器組織結(jié)構(gòu)2.6.2Flash控制器結(jié)構(gòu)與原
20、理2.6.3Flash控制器的應(yīng)用2.6.1MSP430單片機的存儲器組織結(jié)構(gòu)圖2.6.1MSP430單片機存儲器組織結(jié)構(gòu)2.6.1MSP430單片機的存儲器組織結(jié)構(gòu)(1)數(shù)據(jù)區(qū)(2)主Flash區(qū)(3)信息Flash區(qū)(1)數(shù)據(jù)區(qū)最低16個存儲單元是寄存器區(qū),對應(yīng)著R0R15共16個寄存器。其中R0R3作為特殊寄存器:R0是PC(程序指針)、R1是SP(堆棧指針)、R2是SR寄存器、R3是常數(shù)發(fā)生器。R4R15是通用寄存器。(2)主Flash區(qū)關(guān)于Flash存儲器,先介紹一些基礎(chǔ)知識。首先,F(xiàn)lash的結(jié)構(gòu)決定了寫操作只能將存儲單元中的各比特位從1改寫成0,不能將0改寫成1。(3)信息Fla
21、sh區(qū)上面已經(jīng)分析過,即使對于單字節(jié)改寫操作,也需要備份該字節(jié)所處的整個Flash段。所以Flash段越大,改寫操作的速度越慢。2.6.2Flash控制器結(jié)構(gòu)與原理Flash存儲器的讀操作與RAM相同,但擦除操作與寫操作都需要比較復(fù)雜的時序,還需要專門的編程電壓發(fā)生器的配合,所以無法像RAM一樣直接寫。2.6.2Flash控制器結(jié)構(gòu)與原理圖2.6.2Flash控制器的結(jié)構(gòu)2.6.2Flash控制器結(jié)構(gòu)與原理圖2.6.3Flash控制器內(nèi)部時鐘發(fā)生器結(jié)構(gòu)例2.6.1某MSP430單片機系統(tǒng),ACLK=32.768kHz,MCLK=SMCLK=1.048MHz。為Flash控制器設(shè)置時鐘。2.6.
22、2Flash控制器結(jié)構(gòu)與原理例2.6.2某MSP430單片機系統(tǒng),ACLK=32.768kHz,MCLK=SMCLK=7.62MHz。為Flash控制器設(shè)置時鐘。2.6.2Flash控制器結(jié)構(gòu)與原理2.6.2Flash控制器結(jié)構(gòu)與原理2.6.2Flash控制器結(jié)構(gòu)與原理例2.6.5在某MSP430單片機系統(tǒng)上,編寫一段擦除Flash存儲器的InfoA段的程序(假設(shè)Flash已經(jīng)設(shè)置好)。2.6.2Flash控制器結(jié)構(gòu)與原理例2.6.6某MSP430單片機系統(tǒng),讀取Flash存儲器的InfoA段內(nèi)的1082H單元內(nèi)容,存于變量Val內(nèi)。2.6.2Flash控制器結(jié)構(gòu)與原理例2.6.7某MSP43
23、0單片機系統(tǒng),讀取Flash存儲器的InfoA段內(nèi)的全部內(nèi)容,存于數(shù)組Array128內(nèi)。2.6.2Flash控制器結(jié)構(gòu)與原理2.6.3Flash控制器的應(yīng)用(1)連續(xù)數(shù)據(jù)記錄 (2)隨機數(shù)據(jù)存儲 (3)Flash存儲器的壽命問題(4)Flash調(diào)試選項的設(shè)置(1)連續(xù)數(shù)據(jù)記錄一般來說,在MSP430單片機中,F(xiàn)lash的容量遠大于RAM容量,且不受斷電的影響,所以Flash特別適合做連續(xù)的數(shù)據(jù)記錄使用。例2.6.9將long 型的變量拆成兩個int型變量:(2)隨機數(shù)據(jù)存儲在連續(xù)存儲的應(yīng)用中,每次寫入的地址均不重復(fù)(連續(xù)遞增),不會出現(xiàn)兩次寫同一單元,或者改寫某單元數(shù)據(jù)內(nèi)容的情況。例2.6.
24、11寫一個數(shù)據(jù)段備份的函數(shù),將一個數(shù)據(jù)段備份至RAM。(3)Flash存儲器的壽命問題Flash存儲器的壽命有兩層含義:一是數(shù)據(jù)保存時間;二是擦寫次數(shù)。在理想狀況下,F(xiàn)lash存儲器內(nèi)的數(shù)據(jù)保存時間能達到100年。Flash時鐘設(shè)置、編程電壓和儲存溫度都會影響數(shù)據(jù)保存時間。(4)Flash調(diào)試選項的設(shè)置EW430開發(fā)環(huán)境中設(shè)有Flash調(diào)試選項頁,用于設(shè)置下載過程中對Flash內(nèi)原有數(shù)據(jù)的處理方法。在工程管理器的工程名上右鍵打開“Option”選項,在左邊選擇最后一項“FET Debugger”,打開Setup頁。2.716位ADC2.7.1SD16模塊的結(jié)構(gòu)與原理2.7.2SD16模塊的中斷
25、2.7.3SD16模塊的電壓測量應(yīng)用2.7.4SD16模塊的誤差及校準2.7.5SD16模塊的超低功耗應(yīng)用2.7.6SD16模塊的高精度應(yīng)用2.7.7SD16模塊的內(nèi)部溫度傳感器2.7.1SD16模塊的結(jié)構(gòu)與原理圖2.7.1SD16模塊的結(jié)構(gòu)框圖2.7.1SD16模塊的結(jié)構(gòu)與原理(1)配置時鐘及基準源(2)配置輸入通道(3)配置Sigma-Delta調(diào)制器(4)ADC采樣(1)配置時鐘及基準源使用SD16模塊之前,首先要配置過采樣時鐘以及基準源,相關(guān)的控制位位于主控模塊內(nèi):例2.7.2SD16模塊采用內(nèi)部基準源,并對外提供1.2V基準,外部負載約3左右。(1)配置時鐘及基準源例2.7.3用SD
26、16模塊測量某壓力傳感器的輸出,要求電壓波動不影響精度并且盡量節(jié)省元器件成本。(1)配置時鐘及基準源圖2.7.2用比值測量法消除激勵電壓變化對壓力測量的影響(1)配置時鐘及基準源(2)配置輸入通道時鐘與基準源配置后,可以開始使用3個ADC,根據(jù)被測量的對象,選擇輸入通道與放大倍數(shù)。例2.7.4某儀器中使用MSP430單片機的SD16模塊測量3種量:ADC0采集某壓力傳感器的輸出、ADC1采集電池電壓、ADC2采集溫度。為SD16配置通道寄存器。(3)配置Sigma-Delta調(diào)制器圖2.7.3SD16的兩種數(shù)據(jù)輸出格式(4)ADC采樣例2.7.5用單次模式采集ADC0的電壓輸入值,存于變量AD
27、CResult0內(nèi)。假設(shè)選擇2分頻后的SMCLK做時鐘,內(nèi)部基準源,開啟基準輸出緩沖器。PGA增益=4,過采樣率=256,數(shù)據(jù)格式為有符號二進制格式(雙極性)。(4)ADC采樣2.7.2SD16模塊的中斷在上面的幾個ADC采樣的范例中,都采用了查詢方式等待ADC采樣與轉(zhuǎn)換結(jié)束。Sigma-Delta型ADC的轉(zhuǎn)換速度較慢,在等待的過程中關(guān)閉CPU節(jié)省部分功耗是有意義的。2.7.2SD16模塊的中斷2.7.2SD16模塊的中斷2.7.3SD16模塊的電壓測量應(yīng)用(1)單端電壓測量(2)差分電壓測量(3)比值(Ratiometric)測量(4)作為數(shù)值輸入設(shè)備 (5)電源檢測(1)單端電壓測量圖2
28、.7.4單端電壓測量(1)單端電壓測量圖2.7.5不損失量程的對地正負電壓測量(2)差分電壓測量圖2.7.6壓力傳感器的差分測量(2)差分電壓測量圖2.7.7a錯誤的差分測量電路圖2.7.7b錯誤的電流監(jiān)測電路(2)差分電壓測量圖2.7.8a非差分信號圖2.7.8b差分信號圖2.7.9用比值法測量電阻值(3)比值(Ratiometric)測量(3)比值(Ratiometric)測量(2.7.1)(2.7.2)(2.7.3)(2.7.4)(4)作為數(shù)值輸入設(shè)備圖2.7.10用ADC作為電動機速度輸入值(5)電源檢測利用ADC可以測量出系統(tǒng)自身的電池電壓。通過測出的電壓值還可以估算出電池的剩余電量
29、、剩余使用時間等參數(shù)。2.7.4SD16模塊的誤差及校準(1)基本概念(2)SD16模塊的誤差來源(3)SD16模塊的校準方法(1)基本概念首先,精度與分辨率是兩個完全不同的概念。精度表示測量值與真實值之間的差異大小,分辨率表示最小能分辨的刻度大小。分辨率并不決定精度,也并非分辨率越高的測量系統(tǒng)其精度就越高。(2)SD16模塊的誤差來源1) 零點誤差(偏移誤差)。2)增益誤差。3)隨機誤差。4)漂移誤差。5) 非線性誤差。1) 零點誤差(偏移誤差)。由于半導(dǎo)體工藝的對稱性問題,差分輸入級在實際輸入0V的時候,輸出可能不為0。反映到ADC及測量結(jié)果上就是一個固定的偏移量。2)增益誤差?;鶞孰妷赫`
30、差、內(nèi)部PGA增益誤差、分壓電阻誤差都會導(dǎo)致增益誤差。這也是最主要的誤差來源。3)隨機誤差。有時受到干擾、電路設(shè)計不良、信號源波動都可能造成ADC讀數(shù)的跳動。通過改善電路、增加屏蔽措施、差分輸入、增大信號的濾波常數(shù)等措施都能減少隨機誤差。4)漂移誤差。對于零點誤差與增益誤差來說,即使校準之后,也可能隨溫度與時間漂移??梢酝ㄟ^選用更低溫度系數(shù)指標的元器件來降低溫度漂移誤差。5) 非線性誤差。理論上ADC的讀數(shù)與輸入電壓之間的關(guān)系應(yīng)該是線性的。但實際中因各種非理想因素,如半導(dǎo)體特性在不同電壓下特性不一致、信號調(diào)理電路元器件存在非線性、被測的傳感器輸出與測量物理量之間存在非線性等,都可能導(dǎo)致非線性誤
31、差。(3)SD16模塊的校準方法(2.7.5)(2.7.6)(3)SD16模塊的校準方法圖2.7.11電壓測量系統(tǒng)校準示意圖2.7.5SD16模塊的超低功耗應(yīng)用2.7.5SD16模塊的超低功耗應(yīng)用例2.7.12以圖2.7.11的電壓測量系統(tǒng)為例,若對輸入信號連續(xù)地采集,基準源、ADC、CPU這3個部分的功耗至少900A。假設(shè)電壓采集的結(jié)果顯示在LCD上供用戶查看。連續(xù)的采集反而導(dǎo)致顯示數(shù)字快速變化,看不清楚。采樣速度降到采樣2次到3次每秒已經(jīng)足夠,且能夠明顯地降低功耗。讓CPU休眠在LPM3模式,用BasicTimer每1/2s喚醒CPU進行采樣及處理工作。在采樣前才打開基準源,采樣后及時關(guān)閉
32、基準源:2.7.5SD16模塊的超低功耗應(yīng)用例2.7.13以壓力測量系統(tǒng)為例(見圖2.7.6),一般的壓力橋傳感器內(nèi)阻約1k左右,3V供電時耗電約3mA左右。若不對其電源進行控制,傳感器的功耗將遠大于單片機系統(tǒng)的功耗。3天即可耗盡一節(jié)200mAh的紐扣電池。降低功耗的方法是將壓力橋的激勵電源從VCC改為P2.2口,通過控制P2.2口的電平高低即可控制傳感器的電源間歇性開啟(見圖2.7.12)。圖2.7.12用I/O口作為電源控制2.7.5SD16模塊的超低功耗應(yīng)用2.7.5SD16模塊的超低功耗應(yīng)用2.7.6SD16模塊的高精度應(yīng)用(1)Sigma-Delta型ADC的輸入級(2)電源與布線(
33、1)Sigma-Delta型ADC的輸入級圖2.7.13Sigma-Delta型ADC的輸入等效電路(1)Sigma-Delta型ADC的輸入級(1)Sigma-Delta型ADC的輸入級圖2.7.14Sigma-Delta型ADC與運放直接連接帶來的誤差(1)Sigma-Delta型ADC的輸入級圖2.7.15SD16模塊與運放的連接(2)電源與布線圖2.7.16為SD16模塊提供較高質(zhì)量的電源(2)電源與布線圖2.7.17不合理的接地帶來的誤差(2)電源與布線圖2.7.18合理的接地2.7.7SD16模塊的內(nèi)部溫度傳感器(1)溫度傳感器的使用()溫度傳感器的校準(1)溫度傳感器的使用(2.
34、7.7)(2.7.8)(2.7.9)(2.7.10)()溫度傳感器的校準上述溫度公式是在理想狀況下求得的,實際上ADC、溫度傳感器都存在誤差,需要進行校準。圖2.7.19溫度近似校準方法()溫度傳感器的校準2.816位定時器TimerA2.8.1TimerA定時器主計數(shù)模塊的結(jié)構(gòu)與原理2.8.2TimerA定時器的捕獲模塊2.8.3TimerA定時器的比較模塊2.8.4TimerA定時器的中斷2.8.5TimerA定時器的應(yīng)用2.8.1TimerA定時器主計數(shù)模塊的結(jié)構(gòu)與原理圖2.8.1主計數(shù)器部分結(jié)構(gòu)2.8.1TimerA定時器主計數(shù)模塊的結(jié)構(gòu)與原理2.8.1TimerA定時器主計數(shù)模塊的結(jié)
35、構(gòu)與原理圖2.8.2TimerA的3種計數(shù)模式示意圖例2.8.1在MSP430單片機中,為TimerA配置時鐘源及工作模式,使TimerA在無需CPU干預(yù)的情況下,每隔1.3125s溢出一次(假設(shè)SMCLK=MCLK=1.048576MHz,ACLK=32.768kHz)。2.8.2TimerA定時器的捕獲模塊圖2.8.3TimerA捕獲/比較模塊結(jié)構(gòu)圖2.8.2TimerA定時器的捕獲模塊例2.8.3在MSP430F42x單片機中,捕獲3路信號。要求其中從P1.0輸入的方波上升沿出發(fā)捕獲邏輯,P1.2輸入方波下降沿觸發(fā)捕獲,P2.0輸入方波上下沿都觸發(fā)捕獲。假設(shè)主計數(shù)器用ACLK作為時鐘,連
36、續(xù)計數(shù)模式,為TimerA及3個捕獲模塊配置寄存器:2.8.3TimerA定時器的比較模塊()模式0(電平輸出)(2)模式1與模式5(單脈沖輸出) ()模式3與模式7(PWM輸出)()模式2與模式6(帶死區(qū)的PWM輸出)()模式4(可變頻率輸出、移相輸出)2.8.3TimerA定時器的比較模塊()模式0(電平輸出)例2.8.4在MSP430F42x單片機中,利用輸出模式0,通過軟件將TA2管腳(P2.0)置高或置低:(2)模式1與模式5(單脈沖輸出)圖2.8.4利用OUTMODE 1、5產(chǎn)生單脈沖的原理()模式3與模式7(PWM輸出)圖2.8.5PWM控制輸出功率的原理()模式3與模式7(PW
37、M輸出)圖2.8.6利用OUTMODE 3、7產(chǎn)生單脈沖的原理例2.8.6在MSP430F42x單片機中,P1.2口(TA1)與P2.0口(TA2)通過晶體管控制兩只燈泡的亮度。要求從P1.2(TA1)管腳輸出占空比75%的PWM調(diào)制波形,從P2.0(TA2)管腳輸出占空比50%的PWM調(diào)制波形,頻率約為100Hz。()模式2與模式6(帶死區(qū)的PWM輸出)圖2.8.7逆變器中的PWM死區(qū)示意圖()模式2與模式6(帶死區(qū)的PWM輸出)圖2.8.8用模式2、6產(chǎn)生帶死區(qū)的PWM波形例2.8.8用MSP430F42x單片機驅(qū)動圖2.8.7所示的逆變電路,要求輸出交流電頻率400Hz左右,正負半周各占
38、50%時間,死區(qū)時間2s左右。假設(shè)SMCLK=1.048576MHz。()模式4(可變頻率輸出、移相輸出)圖2.8.9用輸出模式4產(chǎn)生3路移相波形例2.8.11如圖2.8.10c所示,在MSP430F42x單片機中,通過P1.0(TA0)輸出管腳驅(qū)動一只紅外發(fā)射管,發(fā)出38kHz調(diào)制的紅外線。假設(shè)SMCLK=4.194304MHz。圖2.8.10TA輸出驅(qū)動不同負載的幾個例子例2.8.11如圖2.8.10c所示,在MSP430F42x單片機中,通過P1.0(TA0)輸出管腳驅(qū)動一只紅外發(fā)射管,發(fā)出38kHz調(diào)制的紅外線。假設(shè)SMCLK=4.194304MHz。2.8.4TimerA定時器的中斷
39、TimerA3定時器的下列4種事件均能產(chǎn)生中斷:1)主計數(shù)值計滿(或計至TACCR0)后復(fù)位,TAIFG標志被置1。2)捕獲通道0發(fā)生捕獲事件,或主計數(shù)值TAR計至TACCR0(計數(shù)值從TACCR0-1跳至TACCR0的時刻),TACCTL0寄存器內(nèi)的CCIFG標志被置1。3)捕獲通道1發(fā)生捕獲事件,或主計數(shù)值TAR計至TACCR1(計數(shù)值從TACCR1-1跳至TACCR1的時刻),TACCTL1寄存器內(nèi)的CCIFG標志被置1。4)捕獲通道2發(fā)生捕獲事件,或主計數(shù)值TAR計至TACCR2(計數(shù)值從TACCR2-1跳至TACCR2的時刻),TACCTL2寄存器內(nèi)的CCIFG標志被置1。2.8.4TimerA定時器的中斷2.8.5TimerA定時器的應(yīng)用()周期性定時()比較模塊的應(yīng)用()測量時間間隔()計數(shù)器應(yīng)用()PWM閉環(huán)控制應(yīng)用()PWM作為DAC應(yīng)用()捕獲模式的應(yīng)用()周期性定時定時器的基本功能就是計時,計至定時條件滿足時,產(chǎn)生中斷。在定時中斷內(nèi),執(zhí)行某些需要嚴格時間間隔的程序,如LED的循環(huán)掃描、ADC定時采樣、定時掃描鍵盤等()比較模塊的應(yīng)用除了主計數(shù)器之外,TimerA定時器還具有3個(部分單片機有5個)捕獲/比較模塊。在比較模式下,能設(shè)置3個(或5個)觸發(fā)值,一旦主計數(shù)器計至這些觸發(fā)值,也會產(chǎn)生中斷,這使得在計數(shù)、定時的過程中能夠?qū)τ嫈?shù)值作靈活的處理。()測量時間
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度山西省高校教師資格證之高等教育法規(guī)全真模擬考試試卷A卷含答案
- 2023年冷墩鋼投資申請報告
- 金融崗位招聘筆試題及解答(某大型央企)2024年
- 2025年教師資格考試小學面試社會試題及解答參考
- 2024專業(yè)運動服裝訂貨協(xié)議
- 2024年油品儲備設(shè)施租賃協(xié)議范本
- 2024年度建筑項目施工責任擔保協(xié)議
- 2024年樓宇外墻面刷新工程協(xié)議樣本
- 2024商鋪轉(zhuǎn)租協(xié)議格式
- 文書模板-競業(yè)協(xié)議核實流程
- 重慶12.23特大井噴案例
- 圍手術(shù)期重癥監(jiān)護
- CMK公式(設(shè)備能力指數(shù)EXCEL自動計算)
- 大作業(yè)計算機網(wǎng)絡(luò)
- 魯班尺各標準吉兇數(shù)對照表
- 西南油氣田對外合作項目基于PSC談判經(jīng)濟評價
- 基于PLC的藥片自動裝瓶控制系統(tǒng)設(shè)計
- 微生物限度方法學驗證
- 遷入街道公共集體戶承諾書
- 湖北農(nóng)業(yè)發(fā)展的現(xiàn)狀與問題分析
- 鎮(zhèn)江市內(nèi)河航道網(wǎng)規(guī)劃
評論
0/150
提交評論