MS5611-01BA03金屬封裝氣壓計(jì)組件_第1頁
MS5611-01BA03金屬封裝氣壓計(jì)組件_第2頁
MS5611-01BA03金屬封裝氣壓計(jì)組件_第3頁
MS5611-01BA03金屬封裝氣壓計(jì)組件_第4頁
MS5611-01BA03金屬封裝氣壓計(jì)組件_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、MS5611-01BA0詮屬封裝氣壓計(jì)組件性能描述高度分辨率組件,10cm 轉(zhuǎn)換時(shí)間低于1ms低功率,工作電流1uA (待機(jī)狀態(tài)0.15uA)3 QFN 封裝尺寸:5.0 3.0 1.0 mm 供電電壓1.8V3.6V集成數(shù)字氣壓傳感器(24位ADC )測量/工作范圍:101200mbar (毫巴=百帕),-40+85 C I2C和SPI接口,傳輸速率可達(dá) 20MHz 無外接元件(內(nèi)置振蕩器) 長期穩(wěn)定性好 描述MS5611-O1BA氣壓傳感器是由 MEAS (瑞士)推出的一款 SPI和3總線接口的新一 代高分辨率氣壓傳感器,分辨率可達(dá)到10cm。該傳感器模塊包括一個(gè)高線性度的壓力傳感器和一個(gè)

2、超低功耗的24位2模數(shù)轉(zhuǎn)換器(工廠校準(zhǔn)系數(shù))。MS5611提供了一個(gè)精確的24位數(shù) 字壓力值和溫度值以及不同的操作模式,可以提高轉(zhuǎn)換速度并優(yōu)化電流消耗。高分辨率的溫度輸出無須額外傳感器可實(shí)現(xiàn)高度計(jì)/溫度計(jì)功能。可以與幾乎任何微控制器連接。通信協(xié)議簡單,無需在設(shè)備內(nèi)部寄存器編程。MS5611壓力傳感器只有5.0毫米 q.0毫米X1.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)航

3、原理框圖Sensor Performances (Vdd = 3 V)PressureMinTypMaxUnitRange101200mbarADC24bitResolution (1)0.06S/0 042/0 027 /0.018/0.012inbarAccuracy 25, 750 mbar-15+ 1.5mbarrError band, -20 to +85CC450 to 11D0mbar (2)-2.5+2,5mborResponse0.5/1J /2.1 /4.1/8.22msLong term stability-1mbar/yrTemperatureMinTypMaxUnit

4、Range-40+85CResolution0.01Accuracy0.8+0,8aCNot眩 H) Oversanoling Rdtio: 256 / 512 i 1024 t 204g h (2) With autozero at one pressure point1096技術(shù)數(shù)據(jù)性能參數(shù)最大工作范圍參數(shù)符號(hào)條件最小典型取大r電源電壓V DD-0.3V+4.0V最大壓力值P max6bar最大焊接溫度Tmax取k 40秒250 C電氣特性參數(shù)符號(hào)條件最小典型取大:工作電壓V DD1.8V3.0V3.6Vr工作溫度T-40 C+25 C+85 C工作電流11 sample per sec.

5、)IddOSR 40962048102451212.5uA6.3uA3.2uA1.7uA2560.9uAVDD對地電容VDD to GND100nF模數(shù)轉(zhuǎn)換(ADC )參數(shù)符號(hào)條件最小典型取大輸出字長(bit)24OSR 40967.408.229.0420483.724.134.54轉(zhuǎn)換時(shí)間(ms)tc10241.882.082.285120.951.061.172560.480.540.60氣壓值輸出特征溫度值輸出特征數(shù)字輸入(CSB, I2C, DIN, SCLK)氣壓輸出(I2C, DOUT)功能描述綜合描述MS5611-01BA是由壓阻傳感器和傳感器接口組成的的集成電路,主要功能是把

6、測得未 得補(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有兩種類型的串行接口 :SPI和I2C。通過調(diào)節(jié)PS引腳的電壓來選擇使用 I2C或SPI通信接口:Pin PSModePins usedMignSDALowSPICSB JSPI模式外部微控制器通過輸入 SCLK(串行時(shí)鐘)和$

7、口1(串行數(shù)據(jù))來傳輸數(shù)據(jù)。在SPI模式下時(shí)鐘 極性和相位允許同時(shí)模式 0和模式3。SDO(串行數(shù)據(jù))引腳為傳感器的響應(yīng)輸出。CSB(芯片選擇)引腳用來控制芯片使能/禁用,所以,其他設(shè)備可以共用同一組 SPI總線。在命令發(fā)送完畢 或命令執(zhí)行結(jié)束(例如結(jié)束的轉(zhuǎn)換NHCSB引腳將被拉高。在SPI總線空閑模式下模塊有較好的 噪聲性能和在ADC轉(zhuǎn)換時(shí)與其他設(shè)備鏈接。I2C模式外部微控制器通過輸入 SCLK(串行時(shí)鐘 用SDA(串行數(shù)據(jù))來傳輸數(shù)據(jù)。傳感器的響應(yīng)在 一根雙向的I2C總線接口 SDA線上。所以這個(gè)接口類型只使用2信號(hào)線路而不需要片選信號(hào),這可以減少板空間。在I2C模式下補(bǔ)充引腳CSB (芯

8、片選擇)代表了 LSB的I2C地址。在I2C總 線上可以使用兩個(gè)傳感器和兩個(gè)不同的地址。CSB引腳應(yīng)當(dāng)連接到VDD或GND (不能懸空),指令MS5611-01BA03只有5個(gè)基本命令:復(fù)位(Reset).讀取存儲(chǔ)器(128-bit PROM ).D1轉(zhuǎn)換.D2轉(zhuǎn)換.讀取ADC結(jié)果(24-bit氣壓/溫度值)氣壓和溫度計(jì)算(詳見原文)1.開始計(jì)算結(jié)果最大值:Pmin =10mbar , Pmax =1200mbar , Tmin = 40C,Tmax =85,C ,Tref =20C2.從PROM讀取出廠校準(zhǔn)數(shù)據(jù)變量描述|方程推薦變量類型Size值例子/典型bitminMaxC1壓力靈敏度|S

9、ENSt1uint 161606553540127C2壓力才O肖| OFFT1uint 161606553536924C3溫度壓力靈敏度系數(shù)| TCSuint 161606553523317C4溫度系數(shù)的壓力抵消| TCOuint 161606553523282C5今巧溫度|Trefuint 161606553533464C6溫度系數(shù)的溫度ITEMPSENSuint 161606553528312.讀取數(shù)字氣壓和溫度值D1數(shù)字壓力值uint 32240167772169085466D2數(shù)字溫度值uint 32240167772168569150.計(jì)算溫度dT實(shí)際和參考溫度之間的差異dT =D2

10、TrEf =D2 -C5*2 8int3225-16776960167772162366temp實(shí)際溫度(-4085 C 0.01 C的分辨 率)temp =203C +dT *TEMPSENS ._23=2000 +dT * C6 /2int3241-400085002007=20.07 C.計(jì)算溫度補(bǔ)償下的氣壓值OFF實(shí)際溫度抵消OFF =OFFti +TCO * dT =C2*2 16 +(c3* dT)/27uint6441-8589672450128847052802420281617sens實(shí)際溫度靈敏度 SENS=SEN3i +TCS*dT =C1*2 15 +(C3* dT)/

11、28uint6441-429483622564423526401315097036p溫度補(bǔ)償壓力(10 1200mbar 與 0.01mbar 分辨率)p =di*sens-off_ 21 15=(D1*SENS/2 -OFF )/2uint64581000100009 =1000.09 mbar.得到氣壓和溫度值。二階溫度補(bǔ)償高溫T2 =0 OFF 2=0SENS2 = 0計(jì)算壓力和溫度TEMP =TEMP -T2OFF =OFF -OFF 2SENS =SENE -SENS2對壓力和溫度達(dá)到最佳精度的流程圖SPI 接口SPI命令下面的表格描述中每個(gè)命令的大小是1字節(jié)(8位)。執(zhí)行ADC r

12、ead指令后將會(huì)返回一個(gè)24-bit的結(jié)果,執(zhí)行PROM read指令后返回16-bit的結(jié)果。存儲(chǔ)器(PROM)的地址在PROM read命令中的a2 , a1和a0位。Command bytehex valueBit number01234567Bit namePR MCOV-TypAd2/Os2AdVOs1AdO/ OsOstopCommandReset000111100 x1EConvert DI (OSR=256)01000 -0c00X40 JConvert Di (OSR=512)010000100 x42 nConvert DI (OSR=1024)0100 101000X44

13、Convert DI (OSR=2048)01 二00 二01一10 J0 x46 nConvert DI (OSR=4D96)01 二00100 I00 x48 nConvert D2 (OSR=256)01 二01000 I00 x50Convert D2 (OSR=512)01 二0100100 x52 IConvert D2 (OSR=1024)01 二01 二0_hio d00 x54Convert D2 (OSR=2D48)01001iD0 x56 JConvert D2 (OSR4096)010110000X58 JADC Read00000_0c00X00 2JPROM Rea

14、d1010Ad2Ad1AdO0OxAO to OxAE命令結(jié)構(gòu)SPI復(fù)位時(shí)序轉(zhuǎn)換時(shí)序存儲(chǔ)器讀取時(shí)序圖參見原文。I2C 接口I2C命令每個(gè)I2C通信消息都有開始和停止?fàn)顟B(tài)。 MS5611-01BA 的I2C地址為111011Cx ,其 中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ù)位。llioi 1 Sb o ooooiiiiooDevi- Add號(hào)camm

15、-ndI S| Devke AdtkesL|W| a and byti1白1口1I I來自主機(jī) S =開始命令W =寫命令 A =應(yīng)答I一來自從機(jī)P =停止命令 R =讀命令 N =無應(yīng)答I2C復(fù)位指令存儲(chǔ)器讀取時(shí)序PROM讀指令由兩部分構(gòu)成, 第一部分使系統(tǒng)處于 PROM讀模式,第二部分從系統(tǒng)中讀 取數(shù)據(jù)。1110 11 CSB 0 0 1 0 1 0 (J 1 1 D 0Devi. AddresscommaixiS|Devie Add-I W a| cmd byt. I A P 口來自主機(jī) S =開始命令 W =寫命令 A =應(yīng)答 來自從機(jī) P =停止命令R =讀命令 N =無應(yīng)答I2C讀

16、存儲(chǔ)器指令,地址=011 (系數(shù):3)1 1 1 0 1 1 CSB 1Device Address0110 0XXXX ddta0X X X X X X I dataM X0Devke Addip5sR A | Memory bit 15 - 8MDnrory bit 7 ” N P來自主機(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è)SCL

17、K時(shí)鐘將所有bit位傳送出來。每隔8bit就會(huì)等待一個(gè)應(yīng)答信號(hào)111011UOvke Address001001000 commanduSDevi” AddressWA|cmd byte|M p來自主機(jī) S =開始命令W =寫命令 A =應(yīng)答來自從機(jī)P =停止命令R =讀命令 N =無應(yīng)答I2C啟動(dòng)壓力轉(zhuǎn)換指令(OSR=4096, typ=D1)1 1 10 1 1CS0O 00 0 00000 0 I)DevKe AddresssmmdndDevkR Add1%cmd bytea|p來自主機(jī)S =開始命令W =寫命令A(yù) =應(yīng)答來自從機(jī) P =停止命令R =讀命令 N =無應(yīng)答ADC讀時(shí)序1

18、1 1 0 1 L 國 1UXXXXXXXXUXXXXXXXXUXXXXXXXX0 Devke Addressdat3datadataDevke Address | RH Ddta -蟲立|Da q山匕7-石附,I來自主機(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ù)檢測位。下面詳細(xì)描述了 CRC-4代碼的使用。A d d回 B151413Dl B 1 2TB 1 1roB 1 0DB9D B

19、8D B7D B 6D B5DB 4DB3DB2D B1D B0016 bit reserved for manufacturer1Coefficient 1 (16 bit unsigned)2Coefficient 2 (16 bit unsigned)3Coefficient 3 (16 bit unsigned)4Coefficient 4 (16 bit unsigned)5Coefficient 5 16 bit unsigned)6Coefficient 6 (16 bit unsigned)7ORC典型應(yīng)用電路SPI協(xié)議1”;chlp selectedVDD+37MS511-O

20、1BAOutput*PortMkj :)conliolh103dF-部Inkfface CSCVDD5。 PSSDOGhCSCLKI2C協(xié)議i Ini,JDD +JV4MH acafolki1-0interfaceSCLK引腳定義引腳名稱描述1VDDP電源電壓2PSI通訊協(xié)議選擇PS high (VDD) - I2CPS low (GND) 一SPI3GNDG接地45CSBI片選(低電平有效), 內(nèi)部連接6SDOO串口數(shù)據(jù)輸出7SDI/SDAI/IO串口數(shù)據(jù)輸入/I2C數(shù)據(jù)8SCLKI串口時(shí)鐘*注:原文附錄有一些典型測量值的特征曲線可參考。 其中的一些關(guān)鍵點(diǎn):ADC 的測量值D1和D2是分別用

21、來測氣壓和溫度的,且基本成線性關(guān)系;在常溫(20C)或大于常溫時(shí),測量誤差很小,而溫度低于 20c時(shí),氣壓和溫度測量 誤差會(huì)明顯增大;電源電壓為 3V時(shí),氣壓和溫度測量誤差很小,而其它供電電 壓下誤差會(huì)大幅度增加。ARDUINOM試代碼MS561101BA.h 文件:#ifndef MS561101BA_h#define MS561101BA_h#ifndef cbi#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= _BV(bit)#endif#include WProgram.h#include /#define DEBUG V#define DEBUG#in

22、clude / addresses of the device#define MS561101BA_ADDR_CSB_HIGH0 x76/CBR=1 0 x76 I2C address when CSB is connected to HIGH (VCC)#define MS561101BA_ADDR_CSB_LOW0 x77/CBR=0 0 x77 I2C address when CSB is connected to LOW (GND)/ registers of the device#define MS561101BA_D1 0 x40#define MS561101BA_D2 0 x

23、50#define MS561101BA_RESET 0 x1E/ D1 and D2 result size (bytes)#define MS561101BA_D1D2_SIZE 3/ OSR (Over Sampling Ratio) constants#define MS561101BA_OSR_256 0 x00#define MS561101BA_OSR_512 0 x02#define MS561101BA_OSR_1024 0 x04#define MS561101BA_OSR_2048 0 x06#define MS561101BA_OSR_4096 0 x08#define

24、 MS561101BA_PROM_BASE_ADDR 0 xA2 / by adding ints from 0 to 6 we can read all the prom configuration values./ C1 will be at 0 xA2 and all the subsequent are multiples of 2#define MS561101BA_PROM_REG_COUNT 6 / number of registers in the PROM#define MS561101BA_PROM_REG_SIZE 2 / size in bytes of a prom

25、 registry.class MS561101BApublic:MS561101BA();void init(uint8_t addr);float getPressure(uint8_t OSR);float getTemperature(uint8_t OSR);int64_t getDeltaTemp(uint8_t OSR);int32_t rawPressure(uint8_t OSR);int32_t rawTemperature(uint8_t OSR);int readPROM();void reset();private:unsigned long doConversion

26、(uint8_t command);uint8_t _addr; uint16_t _CMS561101BA_PROM_REG_COUNT;;#endif/ MS561101BA_hMS561101BA.cpp 文件:#include MS561101BA.h#define EXTRA_PRECISION 5 trick to add more precision to the pressure and temp readingsMS561101BA:MS561101BA() ; void MS561101BA:init(uint8_t address) _addr = address;/ d

27、isable internal pullups of the ATMEGA which Wire enable by default #if defined(A VR ATmega168) | defined(A VR ATmega8) |defined(A VR A Tmega328P)/ deactivate internal pull-ups for twi / as per note from atmega8 manual pg167 cbi(PORTC, 4);cbi(PORTC, 5);#else/ deactivate internal pull-ups for twi / as

28、 per note from atmega128 manual pg204 cbi(PORTD, 0);cbi(PORTD, 1);#endifreset(); reset the device to populate its internal PROM registers delay(1000); / some safety time readPROM(); reads the PROM into object variables for later usefloat MS561101BA:getPressure(uint8_t OSR) / see datasheet page 7 for

29、 formulas int64_t dT = getDeltaTemp(OSR);int64_t off = (int64_t)_C1) 7);int64_t sens = (int64_t)_C0) 8);return (rawPressure(OSR) * sens) 21) - off) (15-EXTRA PRECISION)/ (1EXTRA PRECISION) *100.0);float MS561101BA:getTemperature(uint8_t OSR)/ see datasheet page 7 for formulasreturn (1 (23-EXTRA PREC

30、ISION) / (1EXTRA PRECISION) * 100.0);int64_t MS561101BA:getDeltaTemp(uint8_t OSR)return rawTemperature(OSR) - (int32_t)_C4) 8);int32_t MS561101BA:rawPressure(uint8_t OSR)return doConversion(MS561101BA_D1 + OSR);int32_t MS561101BA:rawTemperature(uint8_t OSR)return doConversion(MS561101BA_D2 + OSR);un

31、signed long MS561101BA:doConversion(uint8_t command)unsigned long conversion = 0;/ see page 11 of the datasheet/ initialize pressure conversionWire.beginTransmission(_addr);Wire.send(command);Wire.endTransmission();delay(10);/ the conversion will take a time = 9.04 ms to have the output ready/ TODO: make the delay dependant on the OSR requested in the command/ start read sequenc

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論