JHM1203在I2C信號輸出壓力傳感器上的應用
JHM1203在I2C信號輸出壓力傳感器上的應用
劉海軍 2021-1-10
應用簡介:
本文介紹了北京久好自主研發(fā)的傳感器信號調(diào)理芯片JHM1203在壓力傳感器上的應用。使用JHM1203為調(diào)理芯片的壓力傳感器,MCU端在采集壓力數(shù)據(jù)時無需算法即可得到高精度的標準的壓力數(shù)據(jù)。搭配數(shù)字校準板及上位機軟件,就可以實現(xiàn)單路及批量的溫度補償和校準?;?/span>JHM1203設計的壓力傳感器及儀表已經(jīng)廣泛應用于白色家電、醫(yī)療電子、消費類電子,汽車電子和充氣設備等領域并取得了很好效果。
1、JHM1203介紹
JHM1203是一款針對差分電阻橋式或半橋式傳感器信號設計的高精度、低功耗的信號調(diào)理集成電路。JHM1203內(nèi)置了13.2~72X可調(diào)的前置放大器,可以適應2~50mV/V傳感器芯體;ADC輸入電壓的偏置可設,可以適應壓力芯體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、電路結構
通過圖1可以看出,JHM1203的基本電路為標準的I2C電路,正常工作僅需要3個外部元件,JHM1203 的供電范圍為1.8~3.6V可以和絕大多數(shù)的MCU兼容。

圖1 基于JHM1203的電路結構
3、電流消耗
JHM1203是專門為低功耗的應用而設計的,它的待機功耗為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傳感器從機設備地址為0x78,最后1bit 為0表示主設備MCU對從設備進行寫操作。0xAC為命令字,啟動從設備傳感器進行一次測量。

 
圖3 寫指令,啟動一次測量
3) 判斷測量結束的方法
發(fā)送完寫命令后需要等待一段時間,等待從設備傳感器測量結束,再發(fā)讀命令讀取測量數(shù)據(jù)。
判斷從設備傳感器測量結束,除延時等待外,有以下2種檢測方式。
a) 軟件查詢法——讀狀態(tài)字

圖4 讀狀態(tài)字
0xF1表示默認的7bits I2C傳感器從機設備地址為0x78,最后1bit 為1表示主設備MCU對從設備進行讀操作,讀取的第一個字節(jié)為狀態(tài)字。
比特位  | 意義  | 描述  | 
Bit7  | 保留  | 固定為0  | 
Bit6  | 上電指示 (Power indication)  | 1設備上電(VDDB on);0設備掉電  | 
Bit5  | 忙閑指示(Busy indication)  | 1設備忙,表明最近一次I2C命令所要求讀取的數(shù)據(jù)還未有效。如果設備忙,新的命令將不被處理。 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”;測量結束后,EOC變?yōu)楦唠娖健?/span>1”。
4)讀取壓力數(shù)值
圖5 I2C讀出5個字節(jié)校準后的電橋和溫度值
0xF1表示默認的7bits I2C傳感器從機設備地址為0x78,最后1bit 為1表示主設備MCU對從設備進行讀操作,讀取的第一個字節(jié)為狀態(tài)字,接著讀取的是三個字節(jié)的壓力數(shù)值。
6、輸入輸出關系
MCU端接收到JHM1203返回的數(shù)據(jù)后,通過以下公式可得到準確的壓力數(shù)據(jù)。

Pressure:實際壓力值; Dtest:傳感器的數(shù)字輸出值; PMIN:傳感器零點壓力值; PMAX:傳感器滿量程壓力值;DMIN:傳感器零點時對應的數(shù)字輸出值;DMAX:傳感器滿量程時對應的數(shù)字輸出值。
7、換算舉例
讀到校準數(shù)據(jù)后,需要將以AD值形式表示的無符號數(shù)進行簡單的換算。
為方便理解我們假設讀到的校準數(shù)據(jù)為:0x04 0x9B 0xB0 0xC5 0x56 0xAA
0x04為狀態(tài)字 Bit5為1表明最近一次I2C忙,需要等待一段時間。如果Bit5為0表明設備非忙,可以讀取數(shù)據(jù)。關于狀態(tài)字各比特的詳細描述請參見附錄。
0x9B 0xB0 0xC5 三個字節(jié)為電橋校準值
0x56 0xAA 兩個字節(jié)為溫度校準值
電橋校準值換算:將0x9B 0xB0 0xC5轉(zhuǎn)換為十進制數(shù)為10203333,
本次計算假設校準時使用的量程為20Kpa-120Kpa,對應的AD輸出為1677722~15099494(10%AD~90%AD)
根據(jù)P2輸入輸出關系校準公式得到:
實際壓力值=(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ù)字輸出模組。
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
