版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、MS5611-01BA0詮屬封裝氣壓計組件性能描述高度分辨率組件,10cm 轉(zhuǎn)換時間低于1ms低功率,工作電流1uA (待機狀態(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接口,傳輸速率可達 20MHz 無外接元件(內(nèi)置振蕩器) 長期穩(wěn)定性好 描述MS5611-O1BA氣壓傳感器是由 MEAS (瑞士)推出的一款 SPI和3總線接口的新一 代高分辨率氣壓傳感器,分辨率可達到10cm。該傳感器模塊包括一個高線性度的壓力傳感器和一個
2、超低功耗的24位2模數(shù)轉(zhuǎn)換器(工廠校準系數(shù))。MS5611提供了一個精確的24位數(shù) 字壓力值和溫度值以及不同的操作模式,可以提高轉(zhuǎn)換速度并優(yōu)化電流消耗。高分辨率的溫度輸出無須額外傳感器可實現(xiàn)高度計/溫度計功能。可以與幾乎任何微控制器連接。通信協(xié)議簡單,無需在設(shè)備內(nèi)部寄存器編程。MS5611壓力傳感器只有5.0毫米 q.0毫米X1.0毫米的小尺寸可以集成在移動設(shè)備中。這款傳感器采用領(lǐng)先的MEMS技術(shù)并得益于 MEAS (瑞士)十余年的成熟設(shè)計以及大批量制造經(jīng)驗,保證產(chǎn)品具有高穩(wěn)定性以及非常低的壓力信號滯 后。內(nèi)部結(jié)構(gòu)及技術(shù)數(shù)據(jù) 移動高度計/氣壓計系統(tǒng) 自行車電腦 氣壓表 醫(yī)療警報高度計 室內(nèi)導航
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ù)符號條件最小典型取大r電源電壓V DD-0.3V+4.0V最大壓力值P max6bar最大焊接溫度Tmax取k 40秒250 C電氣特性參數(shù)符號條件最小典型取大:工作電壓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ù)符號條件最小典型取大輸出字長(bit)24OSR 40967.408.229.0420483.724.134.54轉(zhuǎn)換時間(ms)tc10241.882.082.285120.951.061.172560.480.540.60氣壓值輸出特征溫度值輸出特征數(shù)字輸入(CSB, I2C, DIN, SCLK)氣壓輸出(I2C, DOUT)功能描述綜合描述MS5611-01BA是由壓阻傳感器和傳感器接口組成的的集成電路,主要功能是把
6、測得未 得補償模擬氣壓值經(jīng) ADC轉(zhuǎn)換成24位的數(shù)字值輸出,同時也可以輸出一個24位的數(shù)字溫度值。出廠校驗每個模塊都在兩種溫度和兩種壓力下有其單獨的出廠校驗,6系數(shù)必要補償為過程變化和溫度變化計算和存儲到一個內(nèi)部的128-bit存儲器(PROM)中,這些值(劃分成 6個系數(shù))用軟件來讀取并要通過程序?qū)1和D2中的值轉(zhuǎn)換成標準氣壓、溫度值。串行接口MS5611-01BA有兩種類型的串行接口 :SPI和I2C。通過調(diào)節(jié)PS引腳的電壓來選擇使用 I2C或SPI通信接口:Pin PSModePins usedMignSDALowSPICSB JSPI模式外部微控制器通過輸入 SCLK(串行時鐘)和$
7、口1(串行數(shù)據(jù))來傳輸數(shù)據(jù)。在SPI模式下時鐘 極性和相位允許同時模式 0和模式3。SDO(串行數(shù)據(jù))引腳為傳感器的響應輸出。CSB(芯片選擇)引腳用來控制芯片使能/禁用,所以,其他設(shè)備可以共用同一組 SPI總線。在命令發(fā)送完畢 或命令執(zhí)行結(jié)束(例如結(jié)束的轉(zhuǎn)換NHCSB引腳將被拉高。在SPI總線空閑模式下模塊有較好的 噪聲性能和在ADC轉(zhuǎn)換時與其他設(shè)備鏈接。I2C模式外部微控制器通過輸入 SCLK(串行時鐘 用SDA(串行數(shù)據(jù))來傳輸數(shù)據(jù)。傳感器的響應在 一根雙向的I2C總線接口 SDA線上。所以這個接口類型只使用2信號線路而不需要片選信號,這可以減少板空間。在I2C模式下補充引腳CSB (芯
8、片選擇)代表了 LSB的I2C地址。在I2C總 線上可以使用兩個傳感器和兩個不同的地址。CSB引腳應當連接到VDD或GND (不能懸空),指令MS5611-01BA03只有5個基本命令:復位(Reset).讀取存儲器(128-bit PROM ).D1轉(zhuǎn)換.D2轉(zhuǎn)換.讀取ADC結(jié)果(24-bit氣壓/溫度值)氣壓和溫度計算(詳見原文)1.開始計算結(jié)果最大值:Pmin =10mbar , Pmax =1200mbar , Tmin = 40C,Tmax =85,C ,Tref =20C2.從PROM讀取出廠校準數(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.計算溫度dT實際和參考溫度之間的差異dT =D2
10、TrEf =D2 -C5*2 8int3225-16776960167772162366temp實際溫度(-4085 C 0.01 C的分辨 率)temp =203C +dT *TEMPSENS ._23=2000 +dT * C6 /2int3241-400085002007=20.07 C.計算溫度補償下的氣壓值OFF實際溫度抵消OFF =OFFti +TCO * dT =C2*2 16 +(c3* dT)/27uint6441-8589672450128847052802420281617sens實際溫度靈敏度 SENS=SEN3i +TCS*dT =C1*2 15 +(C3* dT)/
11、28uint6441-429483622564423526401315097036p溫度補償壓力(10 1200mbar 與 0.01mbar 分辨率)p =di*sens-off_ 21 15=(D1*SENS/2 -OFF )/2uint64581000100009 =1000.09 mbar.得到氣壓和溫度值。二階溫度補償高溫T2 =0 OFF 2=0SENS2 = 0計算壓力和溫度TEMP =TEMP -T2OFF =OFF -OFF 2SENS =SENE -SENS2對壓力和溫度達到最佳精度的流程圖SPI 接口SPI命令下面的表格描述中每個命令的大小是1字節(jié)(8位)。執(zhí)行ADC r
12、ead指令后將會返回一個24-bit的結(jié)果,執(zhí)行PROM read指令后返回16-bit的結(jié)果。存儲器(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復位時序轉(zhuǎn)換時序存儲器讀取時序圖參見原文。I2C 接口I2C命令每個I2C通信消息都有開始和停止狀態(tài)。 MS5611-01BA 的I2C地址為111011Cx ,其 中C為CSB引腳的補碼值(取反)。因為傳感器內(nèi)并沒有微控制器, 所有I2C的命令和SPI 是相同的。I2C復位時序復位指令可以在任何時間發(fā)送。如果沒有成功的上電復位,這可能是被屏蔽的SDA模塊在應答狀態(tài)。MS5611-01BA唯一的復位方式是發(fā)送幾個 SCLKs后跟一個復位指令或上電 復位。llioi 1 Sb o ooooiiiiooDevi- Add號camm
15、-ndI S| Devke AdtkesL|W| a and byti1白1口1I I來自主機 S =開始命令W =寫命令 A =應答I一來自從機P =停止命令 R =讀命令 N =無應答I2C復位指令存儲器讀取時序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 口來自主機 S =開始命令 W =寫命令 A =應答 來自從機 P =停止命令R =讀命令 N =無應答I2C讀
16、存儲器指令,地址=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來自主機 S =開始命令W =寫命令 A =應答來自從機 P =停止命令R =讀命令N =無應答I2C從芯片中應答轉(zhuǎn)換時序通過向MS5611-01BA發(fā)送指令可以進入轉(zhuǎn)換模式。當命令寫入到系統(tǒng)中,系統(tǒng)處于忙碌狀態(tài),直到轉(zhuǎn)換完成。當轉(zhuǎn)換完成后可以發(fā)送一個讀指令,此時 MS5611-01BA發(fā)回一個應答,24個SCL
17、K時鐘將所有bit位傳送出來。每隔8bit就會等待一個應答信號111011UOvke Address001001000 commanduSDevi” AddressWA|cmd byte|M p來自主機 S =開始命令W =寫命令 A =應答來自從機P =停止命令R =讀命令 N =無應答I2C啟動壓力轉(zhuǎn)換指令(OSR=4096, typ=D1)1 1 10 1 1CS0O 00 0 00000 0 I)DevKe AddresssmmdndDevkR Add1%cmd bytea|p來自主機S =開始命令W =寫命令A =應答來自從機 P =停止命令R =讀命令 N =無應答ADC讀時序1
18、1 1 0 1 L 國 1UXXXXXXXXUXXXXXXXXUXXXXXXXX0 Devke Addressdat3datadataDevke Address | RH Ddta -蟲立|Da q山匕7-石附,I來自主機 S =開始命令W =寫命令 A =應答來自從機 P =停止命令R =讀命令 N =無應答I2C從MS5611-01BA 讀取數(shù)據(jù)循環(huán)冗余檢查(CRC)MS5611-01BA 包含128-Bit的PROM存儲器。存儲器中有一個 4bit的CRC數(shù)據(jù)檢測位。下面詳細描述了 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典型應用電路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串口時鐘*注:原文附錄有一些典型測量值的特征曲線可參考。 其中的一些關(guān)鍵點:ADC 的測量值D1和D2是分別用
21、來測氣壓和溫度的,且基本成線性關(guān)系;在常溫(20C)或大于常溫時,測量誤差很小,而溫度低于 20c時,氣壓和溫度測量 誤差會明顯增大;電源電壓為 3V時,氣壓和溫度測量誤差很小,而其它供電電 壓下誤差會大幅度增加。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)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度特色小鎮(zhèn)場地硬化與文化旅游開發(fā)合同3篇
- 2025年度智慧城市項目公司營銷策劃合同3篇
- 二零二五年度個人與公司間代收代付房產(chǎn)交易合同范本2篇
- 2025年度全款購置特色民宿買賣合同3篇
- 2025年度公司與員工租車及車輛租賃續(xù)租協(xié)議3篇
- 2025年度汽車租賃公司與個人汽車租賃風險管理協(xié)議3篇
- 2025年度農(nóng)業(yè)農(nóng)機智能化控制系統(tǒng)開發(fā)合同2篇
- 二零二五年度緊急物資公路運輸保障協(xié)議3篇
- 二零二五年度農(nóng)村機井承包與水資源高效利用合同
- 2025年度個人與企業(yè)間房屋購置公對私借款協(xié)議3篇
- 毛澤東詩詞作品欣賞
- 消化內(nèi)科交班本PDCA
- 【語文】廣東省深圳市羅湖區(qū)翠竹小學四年級上冊期末復習試卷(含答案)
- 環(huán)衛(wèi)清掃保潔、垃圾清運及綠化服務投標方案(技術(shù)標 )
- 13-4管道(設(shè)備)沖洗消毒試驗記錄
- 農(nóng)田臨水臨電施工方案范本
- 重金屬礦山生態(tài)治理與環(huán)境修復技術(shù)進展
- HR主題分享9-繪制學習地圖
- 成長需要挫折演講稿(20篇)
- 職工學歷教育補貼申請書
- GB/T 42915-2023銅精礦及主要含銅物料鑒別規(guī)范
評論
0/150
提交評論