《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 數字傳感器MPXY8020A與MSP430的接口設計
數字傳感器MPXY8020A與MSP430的接口設計
鄭啟忠 朱宏輝
摘要: 介紹數字式氣壓和溫度傳感器MPXY8020A的片內結構、引腳功能、工作方式、口原理和軟件設計;詳細討論氣壓和溫度數據的采樣、采樣值與真實值問的轉換和采樣值的誤差處理,并給出該傳感器與單片機MSP430F1232的接口原理圖和部分c程序代碼。
Abstract:
Key words :

1 概述

    MPXY8020A是摩托羅拉公司于2003年推出的汽車輪胎氣壓監測傳感器。其內部集成了氣壓傳感器、溫度傳感器和數字接口電路,8引腳SSOP封裝;能承受的最大氣壓為1400MPa。MPXY8020A的功耗比較低,特別適用于輪胎氣壓和溫度監測系統,能和摩托羅拉的無線遙控開鎖系統集成在一起,組成低成本、高集成度的系統。此外,MPXY8020A還可應用于其他氣壓和溫度監測系統中。

2 片內結構
    MPXY8020A的功能結構如圖1所示。氣壓信號的采樣由電容式傳感器完成,溫度信號的采樣由薄膜電阻完成,此外,片內集成了數字接口電路。整個傳感器采用硅CMOS工藝加工而成[1]。


    氣壓信號的采樣分兩步完成:首先是把采樣電容上的信號轉換為電壓信號,然后用開關式電容放大器對信號進行放大,以提高采樣的準確度。電容放大器帶有溫度補償電路,采樣偏移量可調,并且可以通過在EEPROM寄存器中寫入校正值進行采樣信號的校正。氣壓信號值的大小通過電壓比較器確定。在氣壓轉換前,外部微控制器通過MPXY8020A的數字接口輸入8位極限值。片內8位DAC(數模轉換器)把該值轉換成相應的模擬電壓,電壓比較器把采樣的電壓值與該值進行比較,在OUT引腳輸出比較后的結果。當采樣值高于輸入值時,OUT引腳為高電平;反之,為低電平。溫度信號的采樣由帶有正溫度系數的薄膜電阻完成。由圖1可見,通過2路開關,可選擇傳感器工作于氣壓采樣狀態或溫度采樣狀態。溫度信號的采樣過程與氣壓信號的采樣過程相似。

    在MPXY8020A片內,集成了1個低頻率、低功率的5.4 kHz晶體振蕩器,1個14級的分頻器。通過14級分頻,可在OUT引腳得到周期性(一般3 s)的輸出信號。該信號還可以用作微控制器的中斷源。此外,MPXY8020A片內還集成了1個10級的分頻器,通過該分頻器,傳感器可每隔52 min使外部微控制器復位1次,以防程序長時間跑飛。為了節能,可通過MPXY8020A的引腳,控制其工作于不同的工作狀態。

3 引腳功能及工作方式
3.1 引腳功能

    MPXY8020A的各個引腳如表1所列。MPXY8020A的片內電路通過引腳VDD(正電平)和引腳VSS(地)供電。在VDD與VSS之間,通常接1個0.1 ?F的電容進行電源濾波。OUT引腳在采樣值高于電壓比較器的極限值時,輸出1;反之輸出0。電壓比較器的極限值由外部微控制器通過數字接口輸入到MPXY8020A片內的8位DAC寄存器。當MPXYS020A工作于空閑狀態時,OUT引腳被置高,直到14級分頻器發生溢出時,該引腳輸出一個負脈沖。RST引腳通常被置為高電平;當1O級分頻器發生溢出時,被置為低電平。這個引腳通常用于使外部微控制器復位。10級分頻器的溢出周期為52 min,這跟MPXY8020A的工作狀態無關。S0和S1引腳一起,用于工作方式選擇。在設置電壓比較器的極限值時,DATA引腳為串行數據輸入引腳。CLK引腳用于提供串行讀寫數據的時鐘。向MPXY8020A寫數據時,在CLK引腳信號的上升沿,串行數據從DATA引腳按時序送到片內移位寄存器,在CLK引腳信號的第8個下降沿,數據被送到片內D/A寄存器。S0、S1、DATA和CLK四個引腳都內置了施密特觸發器,以提高芯片的抗干擾性,并且這四個引腳都內置了下拉電阻,所以當它們被懸空時,都為低電平。

3.2工作方式
    MPXY8020A有4種工作方式,其工作于哪種工作方式由S1和S0引腳的電平來決定,如表2所列。只要VDD引腳有足夠的供電電壓,不管MPXY8020A工作于何種工作方式,其內部的多路開關、D/A寄存器、低頻振蕩器和輸出脈沖分頻器都處于激活狀態。需要注意的是,無論MPXY8020A工作于氣壓采樣方式還是溫度采樣方式,所有的EEPROM位都處于激活狀態。如果為了節能而把VDD引腳置為低電平,有必要把所有引腳的電平都置為低電平,以免MPXY8020A被誤激活。


4 MPXY8020A與MSP430F1232的接口
4.1接口電路

    MPXY8020A傳感器和MSP430F1232的接口電路如圖2所示。其中的串行通信SPI是靠CLK和DATA引腳實現的。傳感器在CLK引腳信號的上升沿讀取DATA的1位數據,連續8位為1個周期。對于不具備SPI接口的微控制器,可以通過I/O口軟件仿真的方式實現通信。本系統中,通過MSP430F1232的I/O口軟件仿真SPI,實現采樣極限值的設置。

4.2  軟件設計
4.2.1  給MPXY8020A發送1字節數據

    在給MPXY8020A設置氣壓和溫度采樣極限值時,極限值以字節為單位發送給MPXY8020A。我們編寫了一個向MPXY8020A發送1字節數據的函數,方便于系統中重復調用,該函數的代碼如下[2]:

void MPXY8020A_sendByte(uchar MPXY8020A_data){
uchar i;
P3DIR |=mpxy8020_clk+mpxy8020_dat;
//CLK和DAT引腳為輸出
Delay650us();
P30UT&=~mpxy8020_clk; //CLK引腳清0
for(i=0;i<8;i++){
if((MPXY8020A_data&BIT7)=BIT7)f
//高位在前
P3OUT |=mpxy8020_dat; //OUT引腳置1
else{
P3OUT &= ~mpxy8020_dat //OUT引腳清0
}
P3OUT |=mpxy8020_clk; //CLK引腳置1
Dday20us(1);
P30UT&=~mpxy8020_clk; //CLK引腳清0
Delay20us(1)。
MPXY8020A_data=MPXY8020A_data<<1;
//左移1位
}

4. 2. 2溫度和氣壓數據的讀取

    獲取MPXY8020A傳感器氣壓和溫度數據的方法有逐次逼近法和報警值檢查法。逐次逼近法能夠獲得8位精度的轉換結果,但需要較長的轉換時間和消耗較多的電能。報警值檢查法是預先設置一個氣壓或溫度的報警值,然后監測OUT引腳的電平來確定氣壓和溫度值是否超過報警值。這是一種低功耗模式,在不需要知道準確的氣壓/溫度值時,可采用這種工作方式。本系統中采用的是逐次逼近法。

    MPXYS020A傳感器利用外部的MSP430F1232作為逐次逼近程序的控制器,MSP430F1232將猜測的極限值通過SPI接口串行地發送到傳感器的DAR(數/模轉換寄存器)。器件內DAR將此猜測值變為模擬值,并與待測的氣壓值比較,通過OUT引腳給出比較后的結果。每次比較需用64個時鐘周期。例如:第1次猜測值為0x80,如果檢測OUT腳為高電平,則說明氣壓值大于0x80,MSP430F1232通過SPI再送人0xC0,檢測OUT引腳的狀態,如果這次OUT引腳是低電平,說明氣壓在0x80和0xC0之間,重復這樣的過程,直到逼近近似值。整個過程類似對分搜索,首先,取全量程值的一半作為第1個猜測值,并送人數/模轉換寄存器,然后監測傳感器OUT引腳的輸出狀態。若OUT引腳的輸出為“低”,說明猜測值太大或者和取樣值接近;若OUT引腳的輸出保持“高”,則說明猜測值太小。轉換結果寄存器作為一個變量由MSP430F135實時修改。如果猜測值太小,結果寄存器的最低位置“1”;如果猜測值太大,結果寄存器的最低位置“0”,使用新的猜測值繼續逼近,直到得到最終結果。

    用逐次逼近的方法讀取MPXY8020A溫度數據的程序代碼如下:
void MPXY8020A_temperature_sample(void){
uchar MPXY8020A_temp=0;
P3D1R&=~mpxy8020_ut; //INPUT
MPXY8020A_temp=BIT7;//N始值為128,即位7=1
MPXY8020A_standby_state(); //待機模式
MPXY8020A__sendByte(MPXY8020A_Xemp);
//發送極限值
MPXYS020A_temperature_state(); //測量溫度模式
MPXY8020A_output_state(); //讀數據模式
if((P31N&mpxy8020_out)==mpxy8020_out){
//比較OUT引腳是否為1
MPXYS020A_temp |=BIT6; //位6=1
}
else{
MPXY8020A_temp&=~B1T7;//位7=0
MPXY8020A_temp |=BIT6; //位6=1
://省略部分為從位6到位1的重復逼近的程序,其c
//代碼與位7的相似
MPXY8020A_standby_state(); //待機模式
MPXY8020A_sendByte(MPXY8020A_temp);
//發送極限值
MPXY8020A_temperature_state(); //測量溫度模式
MPXY8020A_output_state(); //讀數據模式
if((P3IN&mpxy8020_out)==mpxy8020_out)
//比較OUT引腳是否為1
{}
else{
MPXY8020A_temp&=~BITO;//位0=0
}
temperature=MPXY8020A_temp;
//用全局變量儲存采樣值

    讀取MPXY8020A氣壓數據的函數代碼與讀取溫度的函數相似。限于篇幅,本文不再細述。

4.2.3溫度和氣壓數據的轉換

(1)溫度數據的轉換
    根據表3,可以把溫度采樣值轉換為實際溫度值。實際溫度值的單位為℃。眾所周知,單片機對浮點數的處理能力不強,因此,為了便于單片機進行運算和保留更高的準確度,對轉換后的實際溫度值放大了100倍。例如,1501對應于15.01℃。

    當采樣溫度值小于-40℃對應的值時,按0.8℃/位的變化率進行計算。溫度采樣值小于25℃對應的采樣值時,以上限為基準進行計算,因為其上限出現的機率更大,這樣得出的結果誤差會小些;當采樣溫度值大于25℃對應的采樣值時,以下限為基準進行計算,因為下限出現的機率更大。比如,采樣值介于25℃對應的采樣值和70℃對應的采樣值之間,則以25℃為基準。


(2)氣壓數據的轉換
    MPXY8020A測量的氣壓范圍約為0~600 kPa,測得的值與氣壓之間的轉換關系由下式給出:P=2.5×Output±氣壓誤差式中,Output為測量得到的值(在0~255之間),氣壓誤差由MPXY8020A的數據手冊給出(將在下一節中討論);P為轉換后的氣壓值,單位為kPa。

4.2.4氣壓數據的誤差處理

    MPXY8020A所測得的氣壓是存在誤差的,并且,在不同的溫度區間、不同的工作電壓、不同的氣壓的情況下,其誤差也不一樣。MPXY8020A的氣壓誤差由其數據手冊給出,表4列出其在250 kPa~450 kPa氣壓區間下的誤差值。

    由表4可以看出,陰影部分的誤差較小。當電壓低于2.5 V或者溫度過低或者溫度過高的情況下,所測得的溫差比較大。為了減小測量誤差,MPXY8020A應工作于2.5~3.3 V的電壓區間。

    由于各個傳感器的誤差不盡相同,因此,可以通過實際測量得出其具體的氣壓誤差,然后再在程序中加上或者減去這個誤差值,這樣所得出的氣壓值就更加接近真實值。此外,也可以通過分段多次測量的方法,得到更好的測量結果。


結  論
    MPXY8020A為數字式氣壓和溫度傳感器,體積小、接口簡單、工作穩定可靠、功耗小;適用于對體積要求比較高的氣壓和溫度測量系統,尤其適用于無線汽車輪胎氣壓監測系統。本設計已應用于某無線汽車輪胎氣壓監測系統中,經實踐證明使用效果良好。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
麻豆精品一区二区av白丝在线| 欧美激情视频网站| 亚洲国产小视频| 亚洲无玛一区| 亚洲免费观看在线视频| 黄色精品网站| 国产日韩欧美精品在线| 国产精品女主播| 国产精品狠色婷| 欧美天天在线| 国产精品h在线观看| 欧美日韩精品系列| 欧美日韩一区二区免费在线观看| 欧美日本不卡| 欧美日韩在线三级| 欧美视频国产精品| 欧美日韩亚洲免费| 欧美午夜免费电影| 国产精品毛片a∨一区二区三区|国| 欧美午夜电影在线| 国产精品美女在线| 国产精品外国| 国产欧美大片| 国产亚洲精品7777| 黑人中文字幕一区二区三区| 一区在线免费观看| 亚洲黄色成人网| 日韩视频三区| 亚洲午夜精品视频| 欧美一区二区三区男人的天堂| 欧美一区激情| 亚洲国产专区校园欧美| 亚洲最新在线视频| 亚洲淫性视频| 午夜亚洲激情| 久久精品亚洲精品国产欧美kt∨| 老色批av在线精品| 欧美精品综合| 国产精品每日更新| 国产日产欧产精品推荐色 | 久久综合伊人77777尤物| 欧美成人免费观看| 欧美午夜在线视频| 国产欧美一区二区精品秋霞影院 | 国产精品视频一二三| 国产视频观看一区| 亚洲第一中文字幕在线观看| 日韩午夜电影av| 午夜精品福利在线观看| 亚洲电影天堂av| 在线亚洲欧美| 久久精品国产免费观看| 欧美99久久| 国产精品久久久久久久久久久久| 国产亚洲一区在线| 亚洲三级毛片| 欧美亚洲视频一区二区| 亚洲六月丁香色婷婷综合久久| 亚洲伊人一本大道中文字幕| 久久亚裔精品欧美| 欧美日韩在线观看一区二区三区 | 国产一区二区电影在线观看| 最新日韩在线视频| 亚洲一区三区在线观看| 亚洲第一视频网站| 亚洲综合色网站| 老**午夜毛片一区二区三区| 欧美日韩中文字幕| 激情综合在线| 亚洲一级黄色| 亚洲精品在线看| 久久激情综合| 欧美日韩国产免费观看| 国产午夜亚洲精品不卡| 亚洲乱码国产乱码精品精天堂 | 国产精品第一区| …久久精品99久久香蕉国产| 亚洲一区二区欧美日韩| 亚洲日韩欧美视频| 欧美在线观看你懂的| 欧美日韩国产在线| 精品成人一区二区三区| 国产精品99久久久久久久女警| 亚洲高清免费| 欧美在线观看一区| 欧美三级电影大全| 在线免费观看日本欧美| 欧美亚洲一区| 亚洲一区二区免费视频| 欧美jizz19性欧美| 国产在线不卡视频| 亚洲欧美日韩另类精品一区二区三区 | 欧美一区二视频在线免费观看| 欧美美女bb生活片| 国外成人网址| 亚洲欧美影院| 亚洲欧美日韩精品在线| 欧美人与性动交a欧美精品| 在线精品国产欧美| 欧美一区二区视频在线观看2020| 亚洲一级片在线看| 欧美激情bt| 精品成人在线视频| 欧美亚洲综合久久| 亚洲欧美影音先锋| 欧美婷婷六月丁香综合色| 亚洲福利在线视频| 亚洲高清不卡| 久久久亚洲影院你懂的| 国产日韩精品在线播放| 亚洲视频在线一区| 一区二区三区三区在线| 欧美韩国在线| 1024日韩| 91久久极品少妇xxxxⅹ软件| 久久深夜福利免费观看| 国产综合久久久久影院| 欧美一区二区日韩一区二区| 午夜精品一区二区三区在线| 欧美日韩在线一二三| 99精品欧美一区二区蜜桃免费| av成人免费在线观看| 欧美日产一区二区三区在线观看| 亚洲狠狠婷婷| 亚洲日本无吗高清不卡| 免费美女久久99| 在线观看一区视频| 亚洲精品中文字幕在线| 欧美激情a∨在线视频播放| 亚洲国产精品电影| 日韩亚洲欧美高清| 欧美日韩国产精品专区 | 久久精品国产久精国产一老狼| 久久久久久久久岛国免费| 韩日欧美一区| 亚洲国产婷婷| 欧美国产激情| 99成人免费视频| 亚洲在线视频网站| 国产免费观看久久黄| 亚洲欧美日韩一区在线观看| 久久精品国产亚洲aⅴ| 精品1区2区3区4区| 亚洲美女一区| 国产精品高潮呻吟| 亚洲欧美国产视频| 久久伊人精品天天| 亚洲人成在线免费观看| 亚洲影院免费观看| 国产日韩精品视频一区| 亚洲高清色综合| 欧美精品18+| 亚洲五月六月| 久久精品视频一| 在线观看欧美黄色| 一区二区三区视频观看| 国产精品亚洲成人| 亚洲缚视频在线观看| 欧美精品一区二区久久婷婷| 一区二区高清在线观看| 欧美在线二区| 亚洲黄色免费网站| 午夜亚洲视频| 在线不卡亚洲| 亚洲天堂视频在线观看| 国产午夜精品全部视频在线播放 | 黄色欧美日韩| 一区二区三区黄色| 国产精品乱码人人做人人爱| 欧美一区二区在线看| 欧美激情第五页| 亚洲一区二区免费看| 麻豆av一区二区三区| 日韩视频一区二区三区在线播放免费观看| 亚洲在线观看| 精品999在线观看| 亚洲性线免费观看视频成熟| 国内久久精品视频| 亚洲视频一区在线| 韩国欧美国产1区| 在线午夜精品自拍| 好吊日精品视频| 亚洲在线网站| 在线欧美小视频| 羞羞漫画18久久大片| 亚洲激情电影在线| 欧美在线日韩| 亚洲看片网站| 老司机免费视频一区二区| 亚洲午夜影视影院在线观看| 欧美r片在线| 欧美亚洲一区二区三区| 欧美视频一二三区| 亚洲欧洲一区二区天堂久久| 国产精品亚洲欧美| 一区二区三区视频在线播放| 今天的高清视频免费播放成人 | 国产精品夜夜夜| 99视频有精品| 激情文学一区|