JHM1203在I2C信號輸出壓力傳感器上的應用
JHM1203在I2C信號輸出壓力傳感器上的應用
劉海軍 2021-1-10
應用簡介:
本文介紹了北京久好自主研發(fā)的傳感器信號調(diào)理芯片JHM1203在壓力傳感器上的應用。使用JHM1203為調(diào)理芯片的壓力傳感器,MCU端在采集壓力數(shù)據(jù)時無需算法即可得到高精度的標準的壓力數(shù)據(jù)。搭配數(shù)字校準板及上位機軟件,就可以實現(xiàn)單路及批量的溫度補償和校準。基于JHM1203設(shè)計的壓力傳感器及儀表已經(jīng)廣泛應用于白色家電、醫(yī)療電子、消費類電子,汽車電子和充氣設(shè)備等領(lǐng)域并取得了很好效果。
1、JHM1203介紹
JHM1203是一款針對差分電阻橋式或半橋式傳感器信號設(shè)計的高精度、低功耗的信號調(diào)理集成電路。JHM1203內(nèi)置了13.2~72X可調(diào)的前置放大器,可以適應2~50mV/V傳感器芯體;ADC輸入電壓的偏置可設(shè),可以適應壓力芯體2.5倍滿量程輸出的零點偏差;JHM1203還內(nèi)置了分辨率為0.003℃的溫度傳感器,可作為溫度測量和溫漂補償使用;JHM1203集成了24bit ΔΣADC,NOB為20bit。
和普通ADC不同的是,JHM1203內(nèi)置了數(shù)字信號處理電路可對傳感器的溫度漂、零點偏差、靈敏度偏差和非線偏差同時進行最高二階的補償;JHM1203片上還集成的一次性可編程存儲器(OTP),掉電后仍可保存?zhèn)鞲衅鞯难a償系數(shù)。壓力傳感器微小的差分信號經(jīng)過JHM1203補償后,可直接輸出標準的壓力和溫度數(shù)據(jù),方便客戶使用。
2、電路結(jié)構(gòu)
通過圖1可以看出,JHM1203的基本電路為標準的I2C電路,正常工作僅需要3個外部元件,JHM1203 的供電范圍為1.8~3.6V可以和絕大多數(shù)的MCU兼容。
圖1 基于JHM1203的電路結(jié)構(gòu)
3、電流消耗
JHM1203是專門為低功耗的應用而設(shè)計的,它的待機功耗為0.1uA,在包括外部5K橋阻時,1Hz ODR的最小功耗約16..7uA。實測數(shù)據(jù)見表1。
電橋 | CAL | 溫度 | 電流(uA) |
×128 | B8 | ×8 | 105.3012 |
×64 | B9 | ×8 | 61.20482 |
×32 | BA | ×8 | 38.55422 |
×16 | BB | ×8 | 27.3494 |
×8 | BC | ×8 | 15.3012 |
×4 | BD | ×8 | 18.6747 |
×2 | BE | ×8 | 17.46988 |
×1 | BF | ×8 | 16.74699 |
表1 傳感器的實際功耗
4、校準
JHM1203內(nèi)部集成了數(shù)字信號處理電路,支持2~7點的校準計算,一般來說,校準點數(shù)越多得到的壓力和溫度的數(shù)據(jù)精度越好。北京久好專門為JHM1203開發(fā)了評估套件和批量套件,最多可同時校準1024路傳感器。校準套件的作用是算出補償系數(shù),寫入調(diào)理芯片,完成補償過程。北京久好同時也提供JHM1203的動態(tài)鏈接庫,方便客戶開發(fā)校準系統(tǒng)。
5、I2C通信
以下通信指令以JHM1203的默認I2C地址(0X78)舉例,JHM1203的I2C地址可以通過寫OTP修改。
1) I2C時序圖
圖2 I2C時序圖
2) 啟動一次測量指令
0xF0表示默認的7bits I2C傳感器從機設(shè)備地址為0x78,最后1bit 為0表示主設(shè)備MCU對從設(shè)備進行寫操作。0xAC為命令字,啟動從設(shè)備傳感器進行一次測量。
圖3 寫指令,啟動一次測量
3) 判斷測量結(jié)束的方法
發(fā)送完寫命令后需要等待一段時間,等待從設(shè)備傳感器測量結(jié)束,再發(fā)讀命令讀取測量數(shù)據(jù)。
判斷從設(shè)備傳感器測量結(jié)束,除延時等待外,有以下2種檢測方式。
a) 軟件查詢法——讀狀態(tài)字
圖4 讀狀態(tài)字
0xF1表示默認的7bits I2C傳感器從機設(shè)備地址為0x78,最后1bit 為1表示主設(shè)備MCU對從設(shè)備進行讀操作,讀取的第一個字節(jié)為狀態(tài)字。
比特位 | 意義 | 描述 |
Bit7 | 保留 | 固定為0 |
Bit6 | 上電指示 (Power indication) | 1設(shè)備上電(VDDB on);0設(shè)備掉電 |
Bit5 | 忙閑指示(Busy indication) | 1設(shè)備忙,表明最近一次I2C命令所要求讀取的數(shù)據(jù)還未有效。如果設(shè)備忙,新的命令將不被處理。 0表明最近一次I2C命令所要求讀取的數(shù)據(jù)已經(jīng)準備好被讀取 |
Bit4 | 保留 | 固定為0 |
Bit[3] | 工作狀態(tài) (Mode Status) | 0 NOR mode 1 CMD mode |
Bit2 | 存儲器數(shù)據(jù)完整性指示 (Memory integrity/error flag) | 0表示OTP存儲器數(shù)據(jù)完整性測試 (CRC)通過, 1表示完整性測試失敗。 對數(shù)據(jù)完整性的測試只在上電過程中(POR)計算一次,所以被寫入的新CRC值只能在接下來的POR之后使用。 |
Bit1 | 保留 | 固定為0 |
Bit0 | 保留 | 固定為0 |
表2 狀態(tài)字的比特位描述
b)硬件判斷法——EOC識別或中斷
啟動測量后,EOC變?yōu)榈碗娖健?/span>0”;測量結(jié)束后,EOC變?yōu)楦唠娖健?/span>1”。
4)讀取壓力數(shù)值
圖5 I2C讀出5個字節(jié)校準后的電橋和溫度值
0xF1表示默認的7bits I2C傳感器從機設(shè)備地址為0x78,最后1bit 為1表示主設(shè)備MCU對從設(shè)備進行讀操作,讀取的第一個字節(jié)為狀態(tài)字,接著讀取的是三個字節(jié)的壓力數(shù)值。
6、輸入輸出關(guān)系
MCU端接收到JHM1203返回的數(shù)據(jù)后,通過以下公式可得到準確的壓力數(shù)據(jù)。
Pressure:實際壓力值; Dtest:傳感器的數(shù)字輸出值; PMIN:傳感器零點壓力值; PMAX:傳感器滿量程壓力值;DMIN:傳感器零點時對應的數(shù)字輸出值;DMAX:傳感器滿量程時對應的數(shù)字輸出值。
7、換算舉例
讀到校準數(shù)據(jù)后,需要將以AD值形式表示的無符號數(shù)進行簡單的換算。
為方便理解我們假設(shè)讀到的校準數(shù)據(jù)為:0x04 0x9B 0xB0 0xC5 0x56 0xAA
0x04為狀態(tài)字 Bit5為1表明最近一次I2C忙,需要等待一段時間。如果Bit5為0表明設(shè)備非忙,可以讀取數(shù)據(jù)。關(guān)于狀態(tài)字各比特的詳細描述請參見附錄。
0x9B 0xB0 0xC5 三個字節(jié)為電橋校準值
0x56 0xAA 兩個字節(jié)為溫度校準值
電橋校準值換算:將0x9B 0xB0 0xC5轉(zhuǎn)換為十進制數(shù)為10203333,
本次計算假設(shè)校準時使用的量程為20Kpa-120Kpa,對應的AD輸出為1677722~15099494(10%AD~90%AD)
根據(jù)P2輸入輸出關(guān)系校準公式得到:
實際壓力值=(120-20)/(15099494-1677722)*(10203333-1677722)+20=83.5208 Kpa
溫度校準值換算:將0x56 0xAA 轉(zhuǎn)換為十進制數(shù)為22186,由于讀取到的校準數(shù)據(jù)是以百分比形式表示的,這個百分比在數(shù)值上等于我們換算得到的十進制數(shù)與16bits無符號數(shù)的最大值(65535)之比,所以在換算百分比時可進行如下計算
22186/65536*100%=33.85%
溫度的校準范圍規(guī)定為-40℃—150℃ 所以校準值=(150—(-40))*33.85%—40=24.32℃
注釋:需要注意的是,溫度傳感器需校準后方可使用,未校準的溫度值為原始值,不具備參考價值。
8、典型應用電路
1) 基本應用電路
圖6 JHM1203的基本應用電路
使用基本應用電路可以設(shè)計一些小體積、高精度、高性價比的應用,例如高度計、電子煙壓力傳感器等數(shù)字輸出模組。
2) 低功耗恒流供電電路
圖7 JHM1203的低功耗恒流激勵電路
對于擴散硅芯體的應用,使用恒流激勵可以降低溫漂,同時可以使溫漂更線性,溫補更容易,補償后精度更高。對于一些已經(jīng)做過恒流補償?shù)男倔w甚至免于做耗時的溫補。
表1、表2是兩只溫補后壓力傳感器的測試數(shù)據(jù),需要說明的是這兩只壓力傳感器的芯體為不同的生產(chǎn)廠家隨機抽選。這兩只傳感器在-20~60℃溫區(qū)內(nèi)可以達到0.1%FS的精度。
溫度(℃) | 正行程(Mpa) | 反行程(Mpa) | ||||||||||
0 | 0.2 | 0.4 | 0.6 | 0.8 | 1 | 1 | 0.8 | 0.6 | 0.4 | 0.2 | 0 | |
60 | 10.000 | 26.007 | 42.000 | 58.000 | 74.002 | 89.993 | 89.994 | 73.994 | 57.996 | 41.998 | 25.997 | 9.999 |
40 | 9.992 | 25.998 | 41.993 | 58.001 | 74.002 | 90.001 | 89.990 | 73.992 | 57.986 | 41.991 | 25.991 | 9.984 |
20 | 10.013 | 26.019 | 42.015 | 58.010 | 74.003 | 89.997 | 89.992 | 73.998 | 58.003 | 42.002 | 26.013 | 10.006 |
0 | 10.016 | 26.025 | 42.012 | 57.999 | 73.983 | 89.960 | 89.964 | 73.973 | 57.980 | 41.989 | 26.004 | 10.009 |
-20 | 10.023 | 26.028 | 42.033 | 58.031 | 74.028 | 90.009 | 90.006 | 74.015 | 58.005 | 42.008 | 26.013 | 10.010 |
表1 低功耗恒流激勵電路實測數(shù)據(jù)1
溫度(℃) | 正行程(Mpa) | 反行程(Mpa) | ||||||||||
0 | 0.2 | 0.4 | 0.6 | 0.8 | 1 | 1 | 0.8 | 0.6 | 0.4 | 0.2 | 0 | |
60 | 10.005 | 26.001 | 41.994 | 57.996 | 74.001 | 90.010 | 90.005 | 73.999 | 57.996 | 41.994 | 25.999 | 10.003 |
40 | 10.005 | 26.017 | 42.025 | 58.034 | 74.051 | 90.055 | 90.050 | 74.050 | 58.036 | 42.021 | 26.015 | 10.008 |
20 | 10.019 | 26.024 | 42.029 | 58.024 | 74.023 | 90.018 | 90.017 | 74.032 | 58.019 | 42.030 | 26.022 | 10.017 |
0 | 10.027 | 26.027 | 42.013 | 58.000 | 73.980 | 89.955 | 89.967 | 73.992 | 57.995 | 42.013 | 26.030 | 10.026 |
-20 | 10.006 | 26.018 | 42.030 | 58.014 | 74.023 | 89.987 | 89.985 | 74.012 | 58.010 | 42.019 | 26.021 | 10.009 |
表2 低功耗恒流激勵電路實測數(shù)據(jù)2