




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、MS5611-01BA03金屬封裝氣壓計(jì)組件性能描述高度分辨率組件,10cm轉(zhuǎn)換時(shí)間低于1ms低功率,工作電流1uA(待機(jī)狀態(tài)0.15uA)QFN封裝尺寸:5.03.01.0 mm3供電電壓1.8V3.6V集成數(shù)字氣壓傳感器(24位ADC)測(cè)量/工作范圍:101200mbar(毫巴=百帕),-40+85I2C和SPI接口,傳輸速率可達(dá)20MHz無外接元件(內(nèi)置振蕩器)長(zhǎng)期穩(wěn)定性好描述MS5611-01BA氣壓傳感器是由MEAS(瑞士)推出的一款SPI和IC總線接口的新一代高分辨率氣壓傳感器,分辨率可達(dá)到10cm。該傳感器模塊包括一個(gè)高線性度的壓力傳感器和一個(gè)超低功耗的24位模數(shù)轉(zhuǎn)換器(工廠校準(zhǔn)
2、系數(shù))。MS5611提供了一個(gè)精確的24位數(shù)字壓力值和溫度值以及不同的操作模式,可以提高轉(zhuǎn)換速度并優(yōu)化電流消耗。高分辨率的溫度輸出無須額外傳感器可實(shí)現(xiàn)高度計(jì)/溫度計(jì)功能??梢耘c幾乎任何微控制器連接。通信協(xié)議簡(jiǎn)單,無需在設(shè)備內(nèi)部寄存器編程。MS5611壓力傳感器只有5.0毫米3.0毫米1.0毫米的小尺寸可以集成在移動(dòng)設(shè)備中。這款傳感器采用領(lǐng)先的MEMS技術(shù)并得益于MEAS(瑞士)十余年的成熟設(shè)計(jì)以及大批量制造經(jīng)驗(yàn),保證產(chǎn)品具有高穩(wěn)定性以及非常低的壓力信號(hào)滯后。內(nèi)部結(jié)構(gòu)及技術(shù)數(shù)據(jù)移動(dòng)高度計(jì)/氣壓計(jì)系統(tǒng)自行車電腦氣壓表醫(yī)療警報(bào)高度計(jì)室內(nèi)導(dǎo)航原理框圖技術(shù)數(shù)據(jù)性能參數(shù)最大工作范圍參數(shù)符號(hào)條件最小典型最大
3、電源電壓VDD-0.3V+4.0V最大壓力值Pmax6bar最大焊接溫度Tmax最長(zhǎng)40秒250電氣特性參數(shù)符號(hào)條件最小典型最大工作電壓VDD1.8V3.0V3.6V工作溫度T-40+25+85工作電流(1 sample per sec.)IDDOSR 40962048102451225612.5uA6.3uA3.2uA1.7uA0.9uAVDD對(duì)地電容VDD to GND100nF模數(shù)轉(zhuǎn)換(ADC)參數(shù)符號(hào)條件最小典型最大輸出字長(zhǎng)(bit)24轉(zhuǎn)換時(shí)間(ms)tcOSR 4096204810245122567.403.721.880.950.488.224.132.081.060.549.0
4、44.542.281.170.60氣壓值輸出特征溫度值輸出特征數(shù)字輸入(CSB,I2C,DIN,SCLK)氣壓輸出(I2C,DOUT)功能描述綜合描述MS5611-01BA是由壓阻傳感器和傳感器接口組成的的集成電路,主要功能是把測(cè)得未得補(bǔ)償模擬氣壓值經(jīng)ADC轉(zhuǎn)換成24位的數(shù)字值輸出,同時(shí)也可以輸出一個(gè)24位的數(shù)字溫度值。出廠校驗(yàn)每個(gè)模塊都在兩種溫度和兩種壓力下有其單獨(dú)的出廠校驗(yàn),6系數(shù)必要補(bǔ)償為過程變化和溫度變化計(jì)算和存儲(chǔ)到一個(gè)內(nèi)部的128-bit存儲(chǔ)器(PROM)中,這些值(劃分成6個(gè)系數(shù))用軟件來讀取并要通過程序?qū)1和D2中的值轉(zhuǎn)換成標(biāo)準(zhǔn)氣壓、溫度值。串行接口MS5611-01BA有兩種
5、類型的串行接口:SPI和I2C。通過調(diào)節(jié)PS引腳的電壓來選擇使用I2C或SPI通信接口:SPI模式外部微控制器通過輸入SCLK(串行時(shí)鐘)和SDI(串行數(shù)據(jù))來傳輸數(shù)據(jù)。在SPI模式下時(shí)鐘極性和相位允許同時(shí)模式0和模式3。SDO(串行數(shù)據(jù))引腳為傳感器的響應(yīng)輸出。CSB(芯片選擇)引腳用來控制芯片使能/禁用,所以,其他設(shè)備可以共用同一組SPI總線。在命令發(fā)送完畢或命令執(zhí)行結(jié)束(例如結(jié)束的轉(zhuǎn)換)時(shí)CSB引腳將被拉高。在SPI總線空閑模式下模塊有較好的噪聲性能和在ADC轉(zhuǎn)換時(shí)與其他設(shè)備鏈接。I2C模式外部微控制器通過輸入SCLK(串行時(shí)鐘)和SDA(串行數(shù)據(jù))來傳輸數(shù)據(jù)。傳感器的響應(yīng)在一根雙向的I
6、2C總線接口SDA線上。所以這個(gè)接口類型只使用2信號(hào)線路而不需要片選信號(hào),這可以減少板空間。在I2C模式下補(bǔ)充引腳CSB (芯片選擇)代表了LSB的I2C地址。在I2C總線上可以使用兩個(gè)傳感器和兩個(gè)不同的地址。CSB引腳應(yīng)當(dāng)連接到VDD或GND(不能懸空)。指令MS5611-01BA03只有5個(gè)基本命令:1. 復(fù)位(Reset)2. 讀取存儲(chǔ)器(128-bit PROM)3. D1轉(zhuǎn)換4. D2轉(zhuǎn)換5. 讀取ADC結(jié)果(24-bit氣壓/溫度值)氣壓和溫度計(jì)算(詳見原文)1.開始計(jì)算結(jié)果最大值: ,2.從PROM讀取出廠校準(zhǔn)數(shù)據(jù)變量描述|方程推薦變量類型Size 值例子/典型bitminMax
7、C1壓力靈敏度|SENST1uint 161606553540127C2壓力抵消| OFFT1uint 161606553536924C3溫度壓力靈敏度系數(shù)| TCSuint 161606553523317C4溫度系數(shù)的壓力抵消| TCOuint 161606553523282C5參考溫度|TREFuint 161606553533464C6溫度系數(shù)的溫度|TEMPSENSuint 1616065535283123.讀取數(shù)字氣壓和溫度值D1數(shù)字壓力值uint 32240D2數(shù)字溫度值uint 322404.計(jì)算溫度dT實(shí)際和參考溫度之間的差異int 3225-2366TEMP實(shí)際溫度(-408
8、5C 0.01C的分辨率)int 3241-400085002007=20.07C5.計(jì)算溫度補(bǔ)償下的氣壓值OFF實(shí)際溫度抵消int 6441-SENS實(shí)際溫度靈敏度int 6441-P溫度補(bǔ)償壓力(101200mbar與0.01mbar分辨率)int 32581000=1000.09 mbar6. 得到氣壓和溫度值。二階溫度補(bǔ)償對(duì)壓力和溫度達(dá)到最佳精度的流程圖SPI接口SPI命令下面的表格描述中每個(gè)命令的大小是1字節(jié)(8位)。執(zhí)行ADC read指令后將會(huì)返回一個(gè)24-bit的結(jié)果,執(zhí)行PROM read指令后返回16-bit的結(jié)果。存儲(chǔ)器(PROM)的地址在PROM read命令中的a2,
9、a1和a0位。命令結(jié)構(gòu)SPI復(fù)位時(shí)序轉(zhuǎn)換時(shí)序存儲(chǔ)器讀取時(shí)序圖參見原文。I2C接口I2C命令每個(gè)I2C通信消息都有開始和停止?fàn)顟B(tài)。MS5611-01BA的I2C地址為Cx,其中C為CSB引腳的補(bǔ)碼值(取反)。因?yàn)閭鞲衅鲀?nèi)并沒有微控制器,所有I2C的命令和SPI是相同的。I2C復(fù)位時(shí)序復(fù)位指令可以在任何時(shí)間發(fā)送。如果沒有成功的上電復(fù)位,這可能是被屏蔽的SDA模塊在應(yīng)答狀態(tài)。MS5611-01BA唯一的復(fù)位方式是發(fā)送幾個(gè)SCLKs后跟一個(gè)復(fù)位指令或上電復(fù)位。來自主機(jī) S = 開始命令 W = 寫命令 A =應(yīng)答來自從機(jī) P = 停止命令 R =讀命令 N = 無應(yīng)答I2C復(fù)位指令存儲(chǔ)器讀取時(shí)序PRO
10、M讀指令由兩部分構(gòu)成,第一部分使系統(tǒng)處于PROM讀模式,第二部分從系統(tǒng)中讀取數(shù)據(jù)。來自主機(jī) S = 開始命令 W = 寫命令 A =應(yīng)答來自從機(jī) P = 停止命令 R =讀命令 N = 無應(yīng)答I2C讀存儲(chǔ)器指令,地址=011(系數(shù):3)來自主機(jī) S = 開始命令 W = 寫命令 A =應(yīng)答來自從機(jī) P = 停止命令 R =讀命令 N = 無應(yīng)答I2C從芯片中應(yīng)答轉(zhuǎn)換時(shí)序通過向MS5611-01BA發(fā)送指令可以進(jìn)入轉(zhuǎn)換模式。當(dāng)命令寫入到系統(tǒng)中,系統(tǒng)處于忙碌狀態(tài),直到轉(zhuǎn)換完成。當(dāng)轉(zhuǎn)換完成后可以發(fā)送一個(gè)讀指令,此時(shí)MS5611-01BA發(fā)回一個(gè)應(yīng)答,24個(gè)SCLK時(shí)鐘將所有bit位傳送出來。每隔8b
11、it就會(huì)等待一個(gè)應(yīng)答信號(hào)來自主機(jī) S = 開始命令 W = 寫命令 A =應(yīng)答來自從機(jī) P = 停止命令 R =讀命令 N = 無應(yīng)答I2C啟動(dòng)壓力轉(zhuǎn)換指令(OSR=4096, typ=D1)來自主機(jī) S = 開始命令 W = 寫命令 A =應(yīng)答來自從機(jī) P = 停止命令 R =讀命令 N = 無應(yīng)答ADC讀時(shí)序來自主機(jī) S = 開始命令 W = 寫命令 A =應(yīng)答來自從機(jī) P = 停止命令 R =讀命令 N = 無應(yīng)答I2C從MS5611-01BA讀取數(shù)據(jù)循環(huán)冗余檢查(CRC)MS5611-01BA包含128-Bit的PROM存儲(chǔ)器。存儲(chǔ)器中有一個(gè)4bit的CRC數(shù)據(jù)檢測(cè)位。下面詳細(xì)描述了C
12、RC-4代碼的使用。典型應(yīng)用電路SPI協(xié)議I2C協(xié)議引腳定義引腳名稱類型描述1VDDP電源電壓2PSI通訊協(xié)議選擇PS high(VDD)I2CPS low(GND)SPI3GNDG接地4CSBI片選(低電平有效),內(nèi)部連接56SDOO串口數(shù)據(jù)輸出7SDI/SDAI/IO串口數(shù)據(jù)輸入/I2C數(shù)據(jù)8SCLKI串口時(shí)鐘*注:原文附錄有一些典型測(cè)量值的特征曲線可參考。其中的一些關(guān)鍵點(diǎn):ADC的測(cè)量值D1和D2是分別用來測(cè)氣壓和溫度的,且基本成線性關(guān)系;在常溫(20)或大于常溫時(shí),測(cè)量誤差很小,而溫度低于20時(shí),氣壓和溫度測(cè)量誤差會(huì)明顯增大;電源電壓為3V時(shí),氣壓和溫度測(cè)量誤差很小,而其它供電電壓下誤
13、差會(huì)大幅度增加。51單片機(jī)測(cè)試代碼/*MS5611模塊*/*用途:MS5611模塊IIC測(cè)試程序*/ /*串口波特率設(shè)置為9600*/#include #include /Keil library #include /Keil library #include /Keil library#include /Keil library #define uchar unsigned char#define uint unsigned int#define ulong unsigned longsbitSCL=P01; /IIC時(shí)鐘引腳定義sbitSDA=P02; /IIC數(shù)據(jù)引腳定義#defineM
14、SBA_SlaveAddress 0xee /定義器件在IIC總線中的從地址 #defineMSBA_D1 0x40#defineMSBA_D2 0x50#defineMSBA_RST 0x1E/#defineMSBA_D1_OSR_256 0x40/#defineMSBA_D1_OSR_512 0x42/#defineMSBA_D1_OSR_1024 0x44/#defineMSBA_D1_OSR_2048 0x46#defineMSBA_D1_OSR_4096 0x48/#defineMSBA_D2_OSR_256 0x50/#defineMSBA_D2_OSR_512 0x52/#def
15、ineMSBA_D2_OSR_1024 0x54/#defineMSBA_D2_OSR_2048 0x56#defineMSBA_D2_OSR_4096 0x58#define MSBA_ADC_RD 0x00#defineMSBA_PROM_RD 0xA0#define MSBA_PROM_CRC 0xAE/ unsigned int Cal_C7; /用于存放PROM中的8組數(shù)據(jù)unsigned long D1_Pres,D2_Temp;/ 存放壓力和溫度f(wàn)loat dT,TEMP;double OFF_,SENS;float Pressure;/大氣壓float TEMP2,Aux,OF
16、F2,SENS2;/溫度校驗(yàn)值ulong ex_Pressure;/串口讀數(shù)轉(zhuǎn)換值uchar exchange_num8;/-子函數(shù)聲明-void delay(unsigned int k);void Delay5us();void Delay5ms();void I2C_Start();void I2C_Stop();void I2C_SendACK(bit ack);bit I2C_RecvACK();void I2C_SendByte(uchar dat);uchar I2C_RecvByte();void MSBA_RESET();void MSBA_PROM_READ();ulong
17、 MSBA_DO_CONVERSION(uchar command);void MSBA_getTemperature(uchar OSR_Temp);void MSBA_getPressure(uchar OSR_Pres);void MSBA_Init();void init_uart();void SeriPushSend(uchar send_data);void Exchange_Number();/-/*/*/延時(shí)/*void delay(unsigned int k)unsigned int i,j;for(i=0;ik;i+)for(j=0;j121;j+);/*延時(shí)5微秒(S
18、TC90C52RC12M)不同的工作環(huán)境,需要調(diào)整此函數(shù),注意時(shí)鐘過快時(shí)需要修改當(dāng)改用1T的MCU時(shí),請(qǐng)調(diào)整此延時(shí)函數(shù)*/void Delay5us() _nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();/*延時(shí)5毫秒(STC90C52RC12M)不同的工作環(huán)境,需要調(diào)整此函數(shù)當(dāng)改用1T的MCU時(shí),請(qǐng)調(diào)整此延時(shí)函數(shù)*/void Delay5ms() uint n = 560; while
19、(n-);/*/I2C起始信號(hào)/*void I2C_Start() SDA = 1; /拉高數(shù)據(jù)線 SCL = 1; /拉高時(shí)鐘線 Delay5us(); /延時(shí) SDA = 0; /產(chǎn)生下降沿 Delay5us(); /延時(shí) SCL = 0; /拉低時(shí)鐘線/*/I2C停止信號(hào)/*void I2C_Stop() SDA = 0; /拉低數(shù)據(jù)線 SCL = 1; /拉高時(shí)鐘線 Delay5us(); /延時(shí) SDA = 1; /產(chǎn)生上升沿 Delay5us(); /延時(shí)/*/I2C發(fā)送應(yīng)答信號(hào)/入口參數(shù):ack (0:ACK 1:NAK)/*void I2C_SendACK(bit ack) S
20、DA = ack; /寫應(yīng)答信號(hào) SCL = 1; /拉高時(shí)鐘線 Delay5us(); /延時(shí) SCL = 0; /拉低時(shí)鐘線 Delay5us(); /延時(shí)/*/I2C接收應(yīng)答信號(hào)/*bit I2C_RecvACK() SCL = 1; /拉高時(shí)鐘線 Delay5us(); /延時(shí) CY = SDA; /讀應(yīng)答信號(hào) SCL = 0; /拉低時(shí)鐘線 Delay5us(); /延時(shí) return CY;/*/向I2C總線發(fā)送一個(gè)字節(jié)數(shù)據(jù)/*void I2C_SendByte(uchar dat) uchar i; for (i=0; i8; i+) /8位計(jì)數(shù)器 dat = 1; /移出數(shù)據(jù)的
21、最高位 SDA = CY; /送數(shù)據(jù)口 SCL = 1; /拉高時(shí)鐘線 Delay5us(); /延時(shí) SCL = 0; /拉低時(shí)鐘線 Delay5us(); /延時(shí) I2C_RecvACK();/*/從I2C總線接收一個(gè)字節(jié)數(shù)據(jù)/*uchar I2C_RecvByte() uchar i; uchar dat = 0; SDA = 1; /使能內(nèi)部上拉,準(zhǔn)備讀取數(shù)據(jù), for (i=0; i8; i+) /8位計(jì)數(shù)器 dat = 1; SCL = 1; /拉高時(shí)鐘線 Delay5us(); /延時(shí) dat |= SDA; /讀數(shù)據(jù) SCL = 0; /拉低時(shí)鐘線 Delay5us(); /延
22、時(shí) return dat;/=/*MSBA程序*/=void MSBA_RESET()I2C_Start();I2C_SendByte(MSBA_SlaveAddress);/I2C_RecvACK();I2C_SendByte(MSBA_RST);/I2C_RecvACK();I2C_Stop();void MSBA_PROM_READ()uchar d1,d2,i;for(i=0;i=6;i+)I2C_Start();I2C_SendByte(MSBA_SlaveAddress);I2C_SendByte(MSBA_PROM_RD+i*2);I2C_Start();I2C_SendByte
23、(MSBA_SlaveAddress+1);d1=I2C_RecvByte();I2C_SendACK(0);d2=I2C_RecvByte();I2C_SendACK(1);I2C_Stop();Delay5ms();Cal_Ci=(uint)d18)|d2;ulong MSBA_DO_CONVERSION(uchar command)ulong conversion=0;ulong conv1,conv2,conv3; I2C_Start();I2C_SendByte(MSBA_SlaveAddress);I2C_SendByte(command);I2C_Stop();delay(100
24、);I2C_Start();I2C_SendByte(MSBA_SlaveAddress);I2C_SendByte(0);I2C_Start();I2C_SendByte(MSBA_SlaveAddress+1);conv1=I2C_RecvByte();I2C_SendACK(0);conv2=I2C_RecvByte();I2C_SendACK(0);conv3=I2C_RecvByte();I2C_SendACK(1);I2C_Stop();conversion=conv1*65535+conv2*256+conv3;return conversion;void MSBA_getTem
25、perature(uchar OSR_Temp) D2_Temp= MSBA_DO_CONVERSION(OSR_Temp);delay(10); dT=D2_Temp - (ulong)Cal_C5)8);TEMP=2000+dT*(ulong)Cal_C6)/;void MSBA_getPressure(uchar OSR_Pres)D1_Pres= MSBA_DO_CONVERSION(OSR_Pres);delay(10); OFF_=(ulong)Cal_C2*65536+(ulong)Cal_C4*dT)/128;SENS=(ulong)Cal_C1*32768+(ulong)Ca
26、l_C3*dT)/256;if(TEMP2000)/ second order temperature compensation when under 20 degrees CT2 = (dT*dT) / 0x;Aux = TEMP*TEMP;OFF2 = 2.5*Aux;SENS2 = 1.25*Aux;TEMP = TEMP - TEMP2;OFF_ = OFF_ - OFF2;SENS = SENS - SENS2;Pressure=(D1_Pres*SENS/-OFF_)/32768;void MSBA_Init()MSBA_RESET();delay(1000);MSBA_PROM_READ();delay(1000);/*/*串口程序*/*void init_uart()TMOD=0x21;TH1=0xfd;TL1=0xfd;SCON=0x50;PS=1; /串口中斷設(shè)為高優(yōu)先級(jí)別TR0=1; /啟動(dòng)定時(shí)器TR1=1;ET0=1; /打開定時(shí)器0中斷ES=1;EA=1;/*void SeriPushSend(uchar send_data) if(send_data=0)send_data=0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 創(chuàng)業(yè)教育課創(chuàng)業(yè)項(xiàng)目組
- 服裝租賃創(chuàng)業(yè)計(jì)劃書
- 眾籌款合同范例
- 腦卒中作業(yè)治療方法
- 個(gè)人務(wù)工合同范例
- 社區(qū)護(hù)理綜合匯報(bào)
- 游戲發(fā)展年度總結(jié)
- 營(yíng)養(yǎng)與學(xué)習(xí)模板
- 第六屆綠色建筑技能大賽獲獎(jiǎng)作品
- 滴水到滴水面積
- 2024-2030年中國(guó)油用牡丹行業(yè)需求狀況及產(chǎn)銷規(guī)模預(yù)測(cè)報(bào)告
- 無機(jī)化學(xué)實(shí)驗(yàn)(下)知到智慧樹章節(jié)測(cè)試課后答案2024年秋陜西師范大學(xué)
- 高等教育自學(xué)考試自考《英語(yǔ)二》試題及答案指導(dǎo)(2025年)
- 2024年皖北衛(wèi)生職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)
- 軍工產(chǎn)品保密協(xié)議
- 商務(wù)數(shù)據(jù)分析理論試題題庫(kù)及答案
- 2025屆高考英語(yǔ)一輪復(fù)習(xí)應(yīng)用文之申請(qǐng)信課件
- 人教版九年級(jí)上冊(cè)音樂 1.5中國(guó)人民解放軍軍歌 教案
- DB34-T 4859-2024 農(nóng)村河道清淤規(guī)范
- 【課件】秦統(tǒng)一中國(guó)+課件-2024-2025學(xué)年統(tǒng)編版七年級(jí)歷史上冊(cè)
- 《單片機(jī)項(xiàng)目化教程(C語(yǔ)言版)(第2版)》全套教學(xué)課件
評(píng)論
0/150
提交評(píng)論