黃鋒劉楊東譚山黃甦
(1.廣州計量檢測技術研究院 2.廣州機場出入境檢驗檢疫局 3.珠海市質量計量監督檢測所)
基于I2C總線的濕度數字傳感器的設計與實現
黃鋒1劉楊東2譚山1黃甦3
(1.廣州計量檢測技術研究院 2.廣州機場出入境檢驗檢疫局 3.珠海市質量計量監督檢測所)
本文介紹基于I2C總線的濕度數字傳感器的設計方案,給出了具體的應用電路,并提出了一種提高電路準確度的方式,拓展了I2C總線器件的應用。
I2C;傳感器;濕度
智能傳感技術是涉及微機械電子技術、計算機技術、信號處理技術、傳感技術與人工智能技術等多種學科的綜合密集型技術,它能實現傳統傳感器所不能完成的功能,是傳感器技術發展的主要方向之一。智能傳感器系統的總線標準概括可分為基于典型芯片級的總線、USB總線和IEEE1451智能傳感器接口標準,其中典型芯片級的 I2C(Inter-Integrated Circuit)總線是由PHILIPS公司開發的兩線式串行總線,在消費類電子產品、智能儀器儀表和工業測控領域應用廣泛。據研究報道,美國火星探測計劃的“勇士”號和“機遇”號火星車上采用的就是100kb/s的I2C總線;美國宇航局噴氣推進實驗室(JPL)的深空系統技術計劃(X2000)已將I2C總線作為低功耗總線標準,在其后續項目中仍將采用,證明了I2C總線的價值和可靠性。
目前除了芯片級的I2C數字傳感器件,其它傳感器一般需通過信號調理后由I2C總線的A/D芯片來實現。市面上I2C總線的濕度數字傳感器極少,SHTXX系列和HTD2230濕度傳感器僅是采用了類似I2C的兩線式串行總線,其電氣標準并不是I2C標準,不能兼容I2C總線,不能在總線上掛多只傳感器。本文提出一種真正的 I2C總線的濕度數字傳感器的實現方案,其總體思路是采用振蕩器調理濕度傳感器信號,通過計數器測量RC振蕩器的輸出頻率,使用I2C的I/O器件對計數值進行讀取,從而實現I2C接口。
I2C總線由飛利浦半導體公司開發,總線標準已經成為國際標準的一種,目前 I2C總線規范版本為2.1,I2C總線是用于芯片之間連接的總線。該總線使用兩根信號線進行數據的傳輸,包括:串行時鐘線(Serial Clock Line,SCL)和串行數據線(Serial Data line,SDA)。連接到I2C總線上的任何器件都擁有唯一的地址,分7位地址器件和10位地址器件兩種。
I2C總線最顯著的特點是規范的完整性、結構的獨立性和用戶使用時的簡單化。I2C總線有嚴格的規范,如接口的電氣特性、信號時序、信號傳輸的定義、總線狀態設置、總線管理規則及總線狀態處理等。
作為一種串行總線,I2C總線雖沒有并行總線的數據吞吐能力,但它只需要很少的配線和IC連接管腳,電路結構簡單,程序編寫方便,易于實現用戶系統軟硬件的模塊化、標準化等。其優點包括:
① 根信號線組成了I2C總線,結構簡單;
② 容易實現的協議內容。由于協議規范非常簡單,I2C各部件的邏輯很容易在芯片內部以硬件方式實現;
③ 數十個器件可以同時掛在同一條I2C總線上,I2C總線上的器件可帶電接入或撤出即熱插拔,非常便于組網應用;
④ 電氣兼容性好。器件之間以開漏 I/O相互連接,兼容3V/5V的邏輯電平只要選取適當的上拉電阻就能輕易實現;
⑤ 通信速率非常高。標準模式下,I2C總線傳輸速率為100 kb/s;快速模式下為400 kb/s;高速模式下可達3.4Mb/s。
常用的濕度傳感器分為電阻式和電容式兩種。濕敏電阻的優點是靈敏度高,缺點是線性和產品的互換性差;濕敏電容的優點是靈敏度高、產品互換性好、響應速度快、濕度的滯后量小、便于制造、容易實現小型化和集成化,但精度一般比濕敏電阻要低。另外還有電解質離子型濕敏元件、重量型濕敏元件、光強型濕敏元件、聲表面波濕敏元件等,這些濕敏元件的線性度及抗污染性差,容易被污染而影響其測量精度及長期穩定性。因此,市場常見的是電容式濕度傳感器。
以常用的HS1100電容式濕度傳感器為例,其相對濕度RH與輸出電容Cx之間的關系如下:

式中:Cx為傳感器輸出電容值;C@55%為相對濕度55%時的傳感器輸出電容值;RH為相對濕度。
C@55%的典型值為 180pF,相對濕度在 0%~100%范圍其電容值范圍約為160pF~200pF,電容值變化范圍約40pF,典型工作頻率在5kHz~10kHz。這樣的電容范圍目前沒有CDC轉換芯片,可采用經典的振蕩器電容測量電路,或采用NE555實現電容/頻率的轉換。
以準確度為2%的濕度傳感器為設計目標,電路部分的誤差分配定在0.5%,則電容/頻率轉換準確度要達到:0.5%×40pF/200pF=0.1%。由于NE555的電容/頻率轉換穩定性遠達不到0.1%,故采用RC文氏電橋振蕩電路,其電路原理如圖1所示。考慮I2C總線只有單電源,為簡便不另增加電源電路,將RC文氏電橋振蕩電路調整為單電源振蕩電路,直接使用I2C總線的電源工作,電路原理如圖2所示。
該振蕩電路的振蕩頻率如下:

其中,R3、R4取值相同;C4取傳感器在 55%相對濕度時的電容值;Cx為傳感器的輸出電容。R1/R2取3左右,R21=R22。電路參數的設計要求頻率f介于5 kHz~10 kHz。

圖1 RC文氏電橋振蕩電路

圖2 單電源供電的RC文氏電橋振蕩電路
頻率計數方式有兩種:一是在已知時間T內測量頻率信號f 的脈沖個數n,則f =n/T,T為采樣周期;二是在m個被測頻率信號f 的脈沖個數周期內測量已知頻率信號f0的脈沖個數n,則f =n/mf0,mf 為采樣周期。鑒于被測頻率不高(小于10 kHz),秒級的基準時間信號獲得較為麻煩,故采用方式二較易實現高準確度的測量。
常用的分頻器/計數器CD4040為12位,以被測信號7kHz為例,3級分頻后可獲得約0.5 ms的采樣周期,測量4 MHz的標準頻率可獲得約2000個計數值,計數準確度可達0.05%,達到設計要求。
電路具體實現時,還需采用鎖存器對計數器的計數值進行鎖存,直至下一個采樣周期完成時予以更新并再次鎖存,使得隨時采集鎖存器的輸出均是有效的計數值。電路器件的選擇為CD4040計數器、74LS174鎖存器、4 MHz有源晶振,電路原理如圖3所示。

圖3 頻率計數電路原理圖
上述方案獲得的計數值最大只能達4096(212),對相對濕度測量而言,并不是振蕩器的整個頻率范圍都是有效的濕度測量范圍,濕度測量范圍僅相對于計數值范圍的約25%,因此可以采用將高位無效計數值“溢出”的方式提高測量的準確度。
計數“溢出”的原理是:以振蕩器參數實現相對濕度0%對應頻率7.3 kHz,相對濕度100%對應頻率6 kHz為例,3級分頻后獲得的采樣周期T分別為:

對4 MHz晶振信號的計數值n分別為:

n值均在12位計數器的計數范圍內,但濕度測量的有效計數值只有2667-2192=475。
采用“溢出”計數,則可將3級分頻提高至5級分頻,可獲得8776~10667個計數值,濕度測量有效計數值為1891。理論上需要14位(214=16384)的計數器,但即使仍使用12位的計數器,雖然此時12位計數器計數溢出,只可獲得低 12位的計數值8776-8192=584和10667-8192=2475,但通過補值計算仍可獲得真實的計數值,此時獲得濕度測量的有效計數值為1891,對比“溢出”前提高了4倍的有效計數值,可獲得4倍的測量準確性。
對計數電路的鎖存器輸出進行讀取即可獲得計數值,從而通過計算獲得相對濕度。采用I2C總線的I/O器件便實現了I2C總線的濕度數字傳感器。
I2C總線的12位以上的I/O器件有PCA9535、PCA9555、PCA9539、PCA9671等,本例采用低廉的PCA9535。PCA9535為16位I/O器件,具有3位可設置的地址位,可賦予8個I2C器件地址,方便多只傳感器的組網使用,實現多路測量。PCA9535有 2組8位I/O通道,每位均可單獨設置為輸入或輸出,本例需至少設置12位輸入,具體I2C總線命令見表1。

表1 PCA9535的I2C傳輸命令
此時,只需將PCA9535A組的8位數據線和B組的低4位數據線與鎖存器74LS174的輸出端相連即可實現I2C接口的濕度數字傳感器。
濕度傳感器電路的最關鍵性能是頻率穩定性,對本電路分別連接標準電容和HS1100濕度傳感器進行了頻率穩定性實驗,實驗數據分別見表2、表3。

表2 接標準電容時電路頻率穩定性實驗數據

表3 接HS1100時電路頻率穩定性實驗數據(20℃)
實驗數據表明,頻率穩定性良好,說明本電路是有效可行的。
本文提出了基于I2C總線的濕度數字傳感器的設計方案:采用RC振蕩器實現電容/頻率的穩定轉換,采用計數器的方式測量頻率,并提出采用計數“溢出”的方式提高濕度信號的測量準確度;同時,僅采用I2C總線電源,設計了單電源供電的振蕩器。整體設計方案簡單,通過實驗驗證,本方案有效、可行,通過I2C接口實現了濕度傳感器的數字化。
[1] 賴宜章,劉冰茹.試驗室溫度濕度測量控制系統[J].廣東自動化與信息工程,1999,(02):31-33.
[2] 孫延輝.基于I~2C總線的多點溫度采集系統設計[J].科學技術與工程,2009,(22):6843-6846,6852.
[3] 匡宇國.智能傳感器 SHT11及其在便攜式溫濕度檢測儀中的應用[J].電子器件,2006,(04):1312-1315.
[4] 黃曉因,王偉.基于頻率測量的自校正高精度濕度儀[J].計算機測量與控制,2004,(07):693-694,700.
[5] 呂艷.I~2C總線技術在并行口擴展方面的應用[J].安徽冶金科技職業學院學報,2009,(02):58-60,75.
[6] 于拴道,張江亞,唐堯華.環境溫、濕度及光照三合一傳感器設計[J].電子科技,2011,(06):112-115.
[7] 李國柱.利用溫濕度傳感器SHTxx實現濕度測量[J].西安文理學院學報(自然科學版),2008,(01):101-103.
Design and Implementation of a Digital Humidity Sensor Based on I2C
Huang Feng1Liu Yangdong2Tan Shan1Huang Shu3
(1.Guangzhou Institute of Measuring and Testing Technology 2.Guangzhou Airport Entry-Exit Inspection and Quarantine 3.Zhuhai Supervision Testing Institute of Quality and Metrology)
This paper introduces design of a humidity digital sensor and specific applied circuit, provides a circuit of improving accuracy and application of I2C bus and devices.
I2C; Sensor; Humidity
黃鋒,男,1968年5月生,碩士,高級工程師,主要研究方向:熱工力學檢測技術、虛擬儀器、測量不確定度分析等。
劉洋東,男,1977年4月生,碩士,工程師,主要研究方向:進出口商品檢測。
譚山,男,1960年3月生,本科,高級工程師,主要研究方向:儀器儀表、電子電路技術等。
黃甦,男,1968年8月生,碩士,高級工程師,主要研究方向:無線電技術、電學計量等。