數字傳感器MPXY8020A與MSP430的接口設計
介紹數字式氣壓和溫度傳感器MPXY8020A的片內結構、引腳功能、工作方式、口原理和軟件設計;詳細討論氣壓和溫度數據的采樣、采樣值與真實(shí)值問(wèn)的轉換和采樣值的誤差處理,并給出該傳感器與單片機MSP430F1232的接口原理圖和部分c程序代碼。
關(guān)鍵詞:MPXY8020A 壓力 溫度 傳感器 MSP430F1232
1 概述
MPXY8020A是摩托羅拉公司于2003年推出的汽車(chē)輪胎氣壓監測傳感器。其內部集成了氣壓傳感器、溫度傳感器和數字接口電路,8引腳SSOP封裝;能承受的最大氣壓為1400MPa。MPXY8020A的功耗比較低,特別適用于輪胎氣壓和溫度監測系統,能和摩托羅拉的無(wú)線(xiàn)遙控開(kāi)鎖系統集成在一起,組成低成本、高集成度的系統。此外,MPXY8020A還可應用于其他氣壓和溫度監測系統中。
2 片內結構
MPXY8020A的功能結構如圖1所示。氣壓信號的采樣由電容式傳感器完成,溫度信號的采樣由薄膜電阻完成,此外,片內集成了數字接口電路。整個(gè)傳感器采用硅CMOS工藝加工而成[1]。
氣壓信號的采樣分兩步完成:首先是把采樣電容上的信號轉換為電壓信號,然后用開(kāi)關(guān)式電容放大器對信號進(jìn)行放大,以提高采樣的準確度。電容放大器帶有溫度補償電路,采樣偏移量可調,并且可以通過(guò)在EEPROM寄存器中寫(xiě)入校正值進(jìn)行采樣信號的校正。氣壓信號值的大小通過(guò)電壓比較器確定。在氣壓轉換前,外部微控制器通過(guò)MPXY8020A的數字接口輸入8位極限值。片內8位DAC(數模轉換器)把該值轉換成相應的模擬電壓,電壓比較器把采樣的電壓值與該值進(jìn)行比較,在OUT引腳輸出比較后的結果。當采樣值高于輸入值時(shí),OUT引腳為高電平;反之,為低電平。溫度信號的采樣由帶有正溫度系數的薄膜電阻完成。由圖1可見(jiàn),通過(guò)2路開(kāi)關(guān),可選擇傳感器工作于氣壓采樣狀態(tài)或溫度采樣狀態(tài)。溫度信號的采樣過(guò)程與氣壓信號的采樣過(guò)程相似。
在MPXY8020A片內,集成了1個(gè)低頻率、低功率的5.4 kHz晶體振蕩器,1個(gè)14級的分頻器。通過(guò)14級分頻,可在OUT引腳得到周期性(一般3 s)的輸出信號。該信號還可以用作微控制器的中斷源。此外,MPXY8020A片內還集成了1個(gè)10級的分頻器,通過(guò)該分頻器,傳感器可每隔52 min使外部微控制器復位1次,以防程序長(cháng)時(shí)間跑飛。為了節能,可通過(guò)MPXY8020A的引腳,控制其工作于不同的工作狀態(tài)。
3 引腳功能及工作方式
3.1 引腳功能
MPXY8020A的各個(gè)引腳如表1所列。MPXY8020A的片內電路通過(guò)引腳VDD(正電平)和引腳VSS(地)供電。在VDD與VSS之間,通常接1個(gè)0.1 ?F的電容進(jìn)行電源濾波。OUT引腳在采樣值高于電壓比較器的極限值時(shí),輸出1;反之輸出0。電壓比較器的極限值由外部微控制器通過(guò)數字接口輸入到MPXY8020A片內的8位DAC寄存器。當MPXYS020A工作于空閑狀態(tài)時(shí),OUT引腳被置高,直到14級分頻器發(fā)生溢出時(shí),該引腳輸出一個(gè)負脈沖。RST引腳通常被置為高電平;當1O級分頻器發(fā)生溢出時(shí),被置為低電平。這個(gè)引腳通常用于使外部微控制器復位。10級分頻器的溢出周期為52 min,這跟MPXY8020A的工作狀態(tài)無(wú)關(guān)。S0和S1引腳一起,用于工作方式選擇。在設置電壓比較器的極限值時(shí),DATA引腳為串行數據輸入引腳。CLK引腳用于提供串行讀寫(xiě)數據的時(shí)鐘。向MPXY8020A寫(xiě)數據時(shí),在CLK引腳信號的上升沿,串行數據從DATA引腳按時(shí)序送到片內移位寄存器,在CLK引腳信號的第8個(gè)下降沿,數據被送到片內D/A寄存器。S0、S1、DATA和CLK四個(gè)引腳都內置了施密特觸發(fā)器,以提高芯片的抗干擾性,并且這四個(gè)引腳都內置了下拉電阻,所以當它們被懸空時(shí),都為低電平。
3.2工作方式
MPXY8020A有4種工作方式,其工作于哪種工作方式由S1和S0引腳的電平來(lái)決定,如表2所列。只要VDD引腳有足夠的供電電壓,不管MPXY8020A工作于何種工作方式,其內部的多路開(kāi)關(guān)、D/A寄存器、低頻振蕩器和輸出脈沖分頻器都處于激活狀態(tài)。需要注意的是,無(wú)論MPXY8020A工作于氣壓采樣方式還是溫度采樣方式,所有的EEPROM位都處于激活狀態(tài)。如果為了節能而把VDD引腳置為低電平,有必要把所有引腳的電平都置為低電平,以免MPXY8020A被誤激活。
4 MPXY8020A與MSP430F1232的接口
4.1接口電路
MPXY8020A傳感器和MSP430F1232的接口電路如圖2所示。其中的串行通信SPI是靠CLK和DATA引腳實(shí)現的。傳感器在CLK引腳信號的上升沿讀取DATA的1位數據,連續8位為1個(gè)周期。對于不具備SPI接口的微控制器,可以通過(guò)I/O口軟件仿真的方式實(shí)現通信。本系統中,通過(guò)MSP430F1232的I/O口軟件仿真SPI,實(shí)現采樣極限值的設置。
4.2 軟件設計
4.2.1 給MPXY8020A發(fā)送1字節數據
在給MPXY8020A設置氣壓和溫度采樣極限值時(shí),極限值以字節為單位發(fā)送給MPXY8020A。我們編寫(xiě)了一個(gè)向MPXY8020A發(fā)送1字節數據的函數,方便于系統中重復調用,該函數的代碼如下[2]:
void MPXY8020A_sendByte(uchar MPXY8020A_data){
評論