SHT15在嵌入式系統(tǒng)中的應(yīng)用方案
摘要: 為了提高測氡儀溫濕度測量的精度及實時性,提出了數(shù)字式溫濕度傳感器SHT15在測氡儀中的應(yīng)用方案。首先介紹了數(shù)字式溫濕度傳感器SHT15的基本特點、工作原理、內(nèi)部結(jié)構(gòu),測量分辨率和測量范圍,操作命令及啟動時序,同時給出了 SHT15溫濕度傳感器在嵌入式系統(tǒng)中的應(yīng)用,利用SHT15與S3C2440A微控制器組成了測氡儀的溫濕度測控系統(tǒng),并詳細(xì)介紹了硬件電路設(shè)計,軟件設(shè)計及溫濕度、露點的計算方法。實驗結(jié)果表明,與傳統(tǒng)的模擬式溫度和濕度傳感器相比,基于SHT15的測氡儀溫濕度測控系統(tǒng)具有電路結(jié)構(gòu)簡單、實時性強(qiáng)、精度高、穩(wěn)定性好等特點。
氡及其子體的測量是一個涵蓋智能儀器、核輻射探測、核技術(shù)應(yīng)用、環(huán)境*價、工業(yè)計量、工業(yè)自動化、計算機(jī)通信與軟件等多領(lǐng)域的問題。然而氡及其子體濃度受溫濕度的影響很大,因此溫濕度的測量對于測氡儀來說是非常重要的。傳統(tǒng)的模擬式溫濕度傳感器一般都要涉及信號調(diào)理電路并需要經(jīng)過復(fù)雜的校準(zhǔn)和標(biāo)定過程,所以測量精度難以保證。由某公司生產(chǎn)的SHT15單芯片傳感器,是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器,應(yīng)用專利的工業(yè)COMS過程微加工技術(shù)(CMOSens),確保產(chǎn)品具有極高的可靠性與卓越的長期穩(wěn)定性。傳感器包括1個電容式聚合體測濕元件和1個能隙式測溫元件,并與1個14位的A/D轉(zhuǎn)換器以及串行接口電路在同一芯片上實現(xiàn)無縫連接。因此,該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價比高等優(yōu)點。系統(tǒng)采用S3C2440A作為微控制器,S3C2440A采用ARM920T內(nèi)核,提供了一套完整的通用系統(tǒng)外設(shè),有130個多功能輸入/輸出端口,所以在設(shè)計時直接利用S3C2440A的通用I/O口來模擬通信時序控制SHT15,整個電路設(shè)計簡單。
1 SHT15簡介
1.1 SHT15性能特點
SHT15是瑞士Sensirion公司推出的一款數(shù)字溫濕度傳感器芯片。該芯片廣泛應(yīng)用于暖通空調(diào)、汽車、消費電子、自動控制等領(lǐng)域。其主要特點如下:
1)將溫濕度感測、信號變換、A/D轉(zhuǎn)換和I2C總線接口等功能集成到一個芯片上;
2)提供兩線數(shù)字串行接口SCK和DATA,并支持CRC傳輸校驗;
3)測量精度可編程調(diào)節(jié),內(nèi)置A/D轉(zhuǎn)換器;
4)提供溫度補(bǔ)償和濕度測量值以及高質(zhì)量的露點計算功能;
5)由于采用了CMOSensTM技術(shù),可浸入水中進(jìn)行測量。
1.2 SHT15性能參數(shù)
SHT15的性能參數(shù)如下:
1)濕度測量范圍:0~100%RH;2)溫度測量范圍:-40~+123.8℃;3)濕度測量精度:±2.0%RH;4)溫度測量精度:±0.3℃;5)響應(yīng)時間:8 s(tau63%);6)可完全浸沒。
由于該款溫濕度傳感器具有高精度,并能浸入水中測量等特點,而所設(shè)計的測氡儀要求具有測量土壤、大氣,水中氡濃度的功能,因此采用該款溫濕度傳感器完全滿足要求。
1.3 SHT15內(nèi)部結(jié)構(gòu)及工作原理
數(shù)字式溫濕度傳感器SHT15是8引腳SMD(LCC)表面貼片封裝形式,如圖1所示。其中引腳1接地,引腳4接電源,工作電壓為2.4~5.5 VDC,為了達(dá)到傳感器的最高精確度,供電電壓為3.3 V為宜。引腳2為數(shù)據(jù)線,引腳3為時鐘線,引腳5~8為空管腳。
圖1 SHT15引腳圖
數(shù)字式溫濕度傳感器SHT15將溫度感測、濕度感測、信號變換、A/D轉(zhuǎn)換和加熱器等功能集成到一個芯片上,其內(nèi)部結(jié)構(gòu)如圖2所示。
圖2 SHT15內(nèi)部結(jié)構(gòu)[!--empirenews.page--]
該芯片包括1個電容性聚合體濕度敏感元件和1個用能隙材料制成的溫度敏感元件。這兩個敏感元件分別將濕度和溫度轉(zhuǎn)換成電信號,該電信號首先進(jìn)入微弱信號放大器進(jìn)行放大,然后進(jìn)入1個14位的A/D轉(zhuǎn)換器,最后經(jīng)過二線串行數(shù)字接口輸出數(shù)字信號。SHT15在出廠前,都會在恒濕或恒溫環(huán)境中進(jìn)行校準(zhǔn),校準(zhǔn)系數(shù)存儲在校準(zhǔn)寄存器中,在測量過程中,校準(zhǔn)系數(shù)會自動校準(zhǔn)來自傳感器的信號。此外,SHT15內(nèi)部還集成了1個加熱元件,加熱元件接通后可以將SHT15的溫度升高5℃左右,同時功耗也會有所增加。此功能主要是為了比較加熱前后的溫度和濕度值??梢跃C合驗證兩個傳感器元件的性能。在高濕(>95%RH)環(huán)境中,加熱傳感器可預(yù)防傳感器結(jié)露,同時縮短響應(yīng)時間,提高精度。加熱后SHT15溫度升高、相對濕度降低,較加熱前,測量值會略有差異。
2 硬件設(shè)計
微處理器可通過二線串行數(shù)字接口與SHT15進(jìn)行通信,由于其通信協(xié)議與通用的I2C總線協(xié)議不兼容,所以在設(shè)計時直接利用S3C2440A的通用I/O口來模擬通信時序控制SHT15。S3C2440A有130個通用I/O口,共分為9組(GPAGPJ),其中GPG包括16路I/O口。S3C2440A引腳采用289 -FBGA封裝,GPG9及GPG10對應(yīng)引腳功能圖如表1所示。
表1 GPG9及GPG10對應(yīng)引腳功能圖
設(shè)計中利用S3C2440A的GPG9模擬時鐘信號,GPG10來模擬數(shù)據(jù)信號(數(shù)據(jù)線需要外接上拉電阻),硬件連接圖如圖3所示。
圖3 微控制器與SHT15的硬件連接圖
3 軟件設(shè)計
在程序開始,控制器S3C2440A需要用一組“啟動傳輸”時序,來表示數(shù)據(jù)傳輸?shù)某跏蓟?。它包括:?dāng)SCK時鐘高電平時DATA翻轉(zhuǎn)為低電平,緊接著SCK變?yōu)榈碗娖降膯?,如圖4所示,隨后是在SCK時鐘高電平時DATA翻轉(zhuǎn)為高電平。接著SCK變?yōu)榈碗娖剑S后又變?yōu)楦唠娖?,SCK時鐘為高電平時,DATA再次翻轉(zhuǎn)為高電平。
圖4 啟動傳輸時序
控制器發(fā)出啟動命令后,接著發(fā)出一個后續(xù)8為命令碼。后續(xù)命令包含3個地址位(目前只支持"000"’)和5個命令位。相應(yīng)代碼對應(yīng)的命令集如表2所示。
表2 SHT15命令集
SHT15接收到上述地址和命令碼后,在第8個時鐘下降沿,將DATA下拉為低電平作為從機(jī)的ACK;在第9個時鐘下降沿之后,從機(jī)釋放DATA(恢復(fù)高電平)總線;釋放總線后,從機(jī)開始測量當(dāng)前濕度,測量結(jié)束后,再次將DATA總線拉為低電平;主機(jī)檢測到DATA總線被拉低后,得知濕度測量已經(jīng)結(jié)束,給出SCK時鐘信號;從機(jī)在第8個時鐘下降沿,先輸出高字節(jié)數(shù)據(jù);在第9個時鐘下降沿,主機(jī)將DATA總線拉低作為ACK信號。然后釋放總線DATA;在隨后8個SCK周期下降沿,從機(jī)發(fā)出低字節(jié)數(shù)據(jù);接下來的SCK下降沿,主機(jī)再次將DATA總線拉低作為接收數(shù)據(jù)的ACK信號;最后8個SCK下降沿從機(jī)發(fā)出CRC校驗數(shù)據(jù),主機(jī)不予應(yīng)答(NACK)則表示測量結(jié)束。
[!--empirenews.page--]
本設(shè)計中微處理器為三星公司的S3C2440A,通過對I/O寄存器編程來模擬通信過程。該處理器的I/O口可根據(jù)需要設(shè)置成輸入、輸出,高阻等狀態(tài)。在軟件實現(xiàn)過程中通過子函數(shù)來實現(xiàn)I/O口狀態(tài)的改變。
以上函數(shù)可以實現(xiàn)SCK和DATA總線的各種輸入與輸出狀態(tài)。在SHT15的通信中還需要延時函數(shù),設(shè)計時采用函數(shù)void DelaylIn8(U32 tt)實現(xiàn)軟延時。這樣就能完成對SHT15通信協(xié)議的模擬。
4 溫濕度及露點的計算
4.1 相對濕度
SHT15可通過I2C總線直接輸出數(shù)字量濕度值,其相對濕度系數(shù)輸出特性曲線如圖5所示。
圖5 從SORH轉(zhuǎn)換為相對濕度
由圖5可知,SHT15的輸出特性呈一定的非線性,為了補(bǔ)償濕度傳感器非線性以獲取準(zhǔn)確數(shù)據(jù),采用式(1)來修正輸出數(shù)值。
其中C1,C2,C3的值如表3所示,SHT15的相對濕度輸出值(SORH)為12 bit。
[!--empirenews.page--]
表3 溫度線性補(bǔ)償系數(shù)
4.2 溫度計算及相對濕度的溫度補(bǔ)償
該溫濕度傳感器具有很好的線性,可用式(2)將數(shù)字輸出轉(zhuǎn)換為溫度值。溫度轉(zhuǎn)換系數(shù)如表4所示。
表4 溫度轉(zhuǎn)換系數(shù)
實際測量時利用式(3)修正溫度系數(shù)。溫度補(bǔ)償系數(shù)如表5所示。
表5 溫度補(bǔ)償系數(shù)
4.3 露點計算
露點是一個特殊的溫度值,是空氣保持某一定濕度必須達(dá)到的最低溫度。當(dāng)空氣的溫度低于露點時,空氣容納不了過多的水份,這些水份會變成霧、露水或霜。露點可以根據(jù)當(dāng)前相對濕度值和溫度值計算得出,具體的計算公式如下:
式中,T為當(dāng)前溫度值,SORH為相對濕度值,Dp為露點。
5 實驗結(jié)果
采用測氡儀對室內(nèi)氡濃度進(jìn)行測量,同時測量溫濕度,為了保證測量的準(zhǔn)確性,在不同地方對大氣中進(jìn)行了測量,同時測量測試為20次,求平均值計算,測量結(jié)果如表6所示。
表6 氡濃度及溫濕度測量值
6 結(jié)束語
本文提出了數(shù)字式溫濕度傳感器SHT15在嵌入式系統(tǒng)中的應(yīng)用方案,并詳細(xì)介紹了測氡儀溫濕度測控模塊的設(shè)計過程。由于SHT15集成了14位A/D轉(zhuǎn)換器,采用數(shù)字輸出,具有精度高、體積小、抗干擾性強(qiáng)等優(yōu)點。作為測氡儀溫濕度的監(jiān)控系統(tǒng),能夠滿足系統(tǒng)設(shè)計的要求。該設(shè)計也為其在其他監(jiān)控設(shè)備中的應(yīng)用提供參考作用。