數字化傳感器采用的輸出形式有: I2C總線(xiàn)、SPI總線(xiàn)、Microwire/PLUS總線(xiàn)、one-wire單總線(xiàn)等。MPM3808型壓力傳感器是一款 I2C總線(xiàn)輸出的數字化產(chǎn)品。
一體化水下明渠流量計是MPM3808傳感器一個(gè)典型的應用。

一體化水下明渠流量計內部有三種傳感器,集流速、水位、溫度數據實(shí)時(shí)采集于一體。采用超聲傳感器探測流速,測量點(diǎn)在探頭的前方,不破壞流場(chǎng),測量精度高,量程寬,響應快;采用安裝在后部的壓力傳感器測量水位,壓強受水流影響較??;內置溫度傳感器測量溫度,做數字化溫度修正。
利用速度面積法,綜合計算所測液體的流量。非常適合于明渠、河道及難以建造標準斷面(如巴歇爾槽)的明渠流速、流量測量。
麥克公司生產(chǎn)的MPM3808 型 I2C 數字壓力傳感器,經(jīng)過(guò)多年市場(chǎng)推廣,應用領(lǐng)域逐步擴大,產(chǎn)品優(yōu)勢明顯:
1、傳感器的輸出一致性誤差可以達到0.5%以?xún)?,傳感器的特性參數可完全相同,因而具有良好的互換性;
2、電磁兼容性能優(yōu)良,傳感器的抗干擾能力增加,比模擬信號更為可靠;3、標準的數字通訊接口,信號可直接連到單片機,單片機能獲得并處理更多不同的參量,實(shí)現多功能的智能儀器。
數字信號輸出傳感器數據采集,需要做單片機的編程,較模擬信號傳感器復雜,這是制約其推廣應用的結點(diǎn)所在。我們以MPM3808型 I2C輸出傳感器為例,說(shuō)明數字化傳感器讀取測量數據方法。MPM3808型 I2C輸出數字化傳感器, I2C默認通訊地址:0x28,write:0x50,read:0x51;SCLK時(shí)鐘頻率:100KHz ~ 400KHz。
I2C主器件(如單片機)發(fā)送7 位從器件地址(0×28)和第8 位=1(讀),傳感器作為從器件發(fā)送一個(gè)確認信號(ACK)表示通訊連接成功。接著(zhù)從器件向主器件返回兩個(gè)字節的壓力數據(P[13:8]和P[7:0])、兩個(gè)字節的溫度數據(T[10:3]和T[2:0])。 I2C通訊流程如下:
(I2C通訊流程)
I2C是一種常用的通信方式,許多單片機集成開(kāi)發(fā)環(huán)境IDE(Integrated Development Environment)集成了 I2C庫,可以直接調用幾個(gè)函數實(shí)現 I2C通信。如調用庫函數wire.h ,通訊流程如下:
Wire.begin(4,5);
// 初始化 I2C bus, SDA:4,SCL:5
Wire.beginTransmission(0x28);
// 開(kāi)始一次傳輸數據
Wire.endTransmission(void);
// 通訊結束,主機發(fā)送STOP 信號
Wire.requestFrom(0x28, 4);
// 從0X28 設備讀取4個(gè)字節數據
Wire.available();
// 收到的是字節數
Wire.read();
// 收到的是數據, P1, P2,T1,T2
pressure = P1 <<8 | P 2;
// 14位壓力數據(BIN)
temperature = T1 <<3 | T2 >>5 ;
// 11位溫度數據(BIN)
注意:單片機從MPM3808讀取的數據為碼值,壓力為14位二進(jìn)制數(0 ~ 16383),溫度為11位二進(jìn)制數(0 ~ 2047)。如,傳感器基本量程:0 ~ 300Kpa,輸出信號(5% ~ 95%):819 ~ 15563,讀取的碼值與壓力、溫度的轉換如下圖:

(如圖所示:將單片機采集到的I2C數據,通過(guò)串口用SecureCRT終端仿真打印顯示)
目前大多數傳感器應用是采用模擬輸出信號,但 I2C等數字輸出傳感器應用的便利性,已得到越來(lái)越多的設計人員認可。傳感器采用串行總線(xiàn)技術(shù),可以使系統的硬件簡(jiǎn)化、體積減小、可靠性提高,同時(shí)系統的升級和擴充極為容易。