王冬霞,張玉輝,洪耀球
(景德鎮(zhèn)高等??茖W(xué)校 江西 景德鎮(zhèn) 333000)
氡及其子體的測量是一個涵蓋智能儀器、核輻射探測、核技術(shù)應(yīng)用、環(huán)境評價、工業(yè)計量、工業(yè)自動化、計算機通信與軟件等多領(lǐng)域的問題。然而氡及其子體濃度受溫濕度的影響很大[1,4],因此溫濕度的測量對于測氡儀來說是非常重要的。傳統(tǒng)的模擬式溫濕度傳感器一般都要涉及信號調(diào)理電路并需要經(jīng)過復(fù)雜的校準(zhǔn)和標(biāo)定過程,所以測量精度難以保證[1]。由某公司生產(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)、抗干擾能力強、性價比高等優(yōu)點[5]。系統(tǒng)采用S3C2440A作為微控制器,S3C2440A采用ARM920T內(nèi)核,提供了一套完整的通用系統(tǒng)外設(shè),有130個多功能輸入/輸出端口[3,6],所以在設(shè)計時直接利用S3C2440A的通用 I/O口來模擬通信時序控制SHT15,整個電路設(shè)計簡單。
SHTl5是瑞士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)提供溫度補償和濕度測量值以及高質(zhì)量的露點計算功能;
5)由于采用了CMOSensTM技術(shù),可浸入水中進(jìn)行測量。
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è)計的測氡儀要求具有測量土壤、大氣,水中氡濃度的功能,因此采用該款溫濕度傳感器完全滿足要求。
數(shù)字式溫濕度傳感器SHT15是8引腳SMD(LCC)表面貼片封裝形式[5],如圖1所示。其中引腳1接地,引腳4接電源,工作電壓為2.4~5.5 VDC,為了達(dá)到傳感器的最高精確度,供電電壓為3.3 V為宜。引腳2為數(shù)據(jù)線,引腳3為時鐘線,引腳5~8為空管腳。
圖1 SHT15引腳圖Fig.1 Pin map of SHT15
數(shù)字式溫濕度傳感器SHT15將溫度感測、濕度感測、信號變換、A/D轉(zhuǎn)換和加熱器等功能集成到一個芯片上,其內(nèi)部結(jié)構(gòu)如圖2所示。
圖2 SHT15內(nèi)部結(jié)構(gòu)圖Fig.2 Internal structural of SHT15
該芯片包括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℃左右,同時功耗也會有所增加。此功能主要是為了比較加熱前后的溫度和濕度值,可以綜合驗證兩個傳感器元件的性能。在高濕(>95%RH)環(huán)境中,加熱傳感器可預(yù)防傳感器結(jié)露,同時縮短響應(yīng)時間,提高精度。加熱后SHT15溫度升高、相對濕度降低,較加熱前,測量值會略有差異。
微處理器可通過二線串行數(shù)字接口與SHT15進(jìn)行通信,由于其通信協(xié)議與通用的I2C總線協(xié)議不兼容[2],所以在設(shè)計時直接利用S3C2440A的通用I/O口來模擬通信時序控制SHT15。 S3C2440A 有 130個通用 I/O 口[3,6],共分為 9 組(GPAGPJ),其中GPG包括16路I/O口。S3C2440A引腳采用289-FBGA封裝,GPG9及GPG10對應(yīng)引腳功能圖如表1所示。
表1 S3C2440A 289引腳FBGA的管腳分配表(部分)Tab.1 S3C2440A 289-pin FBGA pin assignments(Part)
設(shè)計中利用S3C2440A的GPG9模擬時鐘信號,GPG10來模擬數(shù)據(jù)信號(數(shù)據(jù)線需要外接上拉電阻),硬件連接圖如圖3所示。
圖3 微控制器與SHT15的硬件連接圖Fig.3 Hardware circuit connection diagram of micro-process and SHT15
在程序開始,控制器S3C2440A需要用一組“啟動傳輸”時序,來表示數(shù)據(jù)傳輸?shù)某跏蓟痆5]。它包括:當(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 啟動傳輸時序Fig.4 Sequence of transmission start
控制器發(fā)出啟動命令后,接著發(fā)出一個后續(xù)8為命令碼。后續(xù)命令包含3個地址位(目前只支持“000”)和5個命令位。相應(yīng)代碼對應(yīng)的命令集如表2所示。
表2 SHT15命令集Tab.2 Command set of SHT15
SHT15接收到上述地址和命令碼后,在第8個時鐘下降沿,將DATA下拉為低電平作為從機的ACK;在第9個時鐘下降沿之后,從機釋放DATA(恢復(fù)高電平)總線;釋放總線后,從機開始測量當(dāng)前濕度,測量結(jié)束后,再次將DATA總線拉為低電平;主機檢測到DATA總線被拉低后,得知濕度測量已經(jīng)結(jié)束,給出SCK時鐘信號;從機在第8個時鐘下降沿,先輸出高字節(jié)數(shù)據(jù);在第9個時鐘下降沿,主機將DATA總線拉低作為ACK信號。然后釋放總線DATA;在隨后8個SCK周期下降沿,從機發(fā)出低字節(jié)數(shù)據(jù);接下來的SCK下降沿,主機再次將DATA總線拉低作為接收數(shù)據(jù)的ACK信號;最后8個SCK下降沿從機發(fā)出CRC校驗數(shù)據(jù),主機不予應(yīng)答(NACK)則表示測量結(jié)束。
本設(shè)計中微處理器為三星公司的S3C2440A,通過對I/O寄存器編程來模擬通信過程。該處理器的I/O口可根據(jù)需要設(shè)置成輸入、輸出,高阻等狀態(tài)。在軟件實現(xiàn)過程中通過子函數(shù)來實現(xiàn)I/O口狀態(tài)的改變。
//設(shè)置時鐘為輸入
void SHT_SCK_In(){
rGPGCON=rGPGCON & (~(0X1 <<18)) & (~(0X1<<19));
}
//設(shè)置時鐘為輸出
void SHT_SCK_Out(){
rGPGCON=rGPGCON& (~(0x1<<19)) |(0x1<<18);
}
//設(shè)置數(shù)據(jù)信號為輸入
void SHT_DATA_In() {
rGPGCON=rGPGCON & (~(0X1 <<20)) & (~(0X1<<21));
}
//設(shè)置數(shù)據(jù)信號為輸出
void SHT_DATA_Out(){
rGPGCON=rGPGCON& (~(0x1<<21)) |(0x1<<20);
}
//DATA為低電平
void SHT_DATA_CLR(){
rGPGCON=rGPGCON& (~(0x1<<21)) |(0x1<<20);
rGPGDAT=rGPGDAT& (~(0X1<<10));
}
//DATA為高電平
void SHT_DATA_SET() {
rGPGCON=rGPGCON& (~(0x1<<21)) |(0x1<<20);
rGPGDAT=rGPGDAT |(0X1<<10);
}
以上函數(shù)可以實現(xiàn)SCK和DATA總線的各種輸入與輸出狀態(tài)。在SHT15的通信中還需要延時函數(shù),設(shè)計時采用函數(shù)void Delay1ms(U32 tt)實現(xiàn)軟延時。這樣就能完成對SHT15通信協(xié)議的模擬。
Void Delay1ms(U32 tt) {
U32 i;
for(;tt>0;tt--) {
for(i=0;i<26000;i++){}
}
}
SHT15可通過I2C總線直接輸出數(shù)字量濕度值,其相對濕度系數(shù)輸出特性曲線如圖5所示。
圖5 從SORH轉(zhuǎn)換為相對濕度圖Fig.5 Conversion from SORHto relative humidity
由圖5可知,SHT15的輸出特性呈一定的非線性,為了補償濕度傳感器非線性以獲取準(zhǔn)確數(shù)據(jù),采用式(1)來修正輸出數(shù)值。
其中 C1,C2,C3的值如表 3所示,SHT15的相對濕度輸出值(SORH)為 12 bit。
表3 濕度線性補償系數(shù)Tab.3 Humidity conversion coefficients
該溫濕度傳感器具有很好的線性,可用式(2)將數(shù)字輸出轉(zhuǎn)換為溫度值。溫度轉(zhuǎn)換系數(shù)如表4所示。
表4 溫度轉(zhuǎn)換系數(shù)Tab.4 Temperature conversion coefficients
實際測量時利用式(3)修正溫度系數(shù)。溫度補償系數(shù)如表5所示。
表5 溫度補償系數(shù)Tab.5 Temperature compensation coefficients
露點是一個特殊的溫度值,是空氣保持某一定濕度必須達(dá)到的最低溫度。當(dāng)空氣的溫度低于露點時,空氣容納不了過多的水份,這些水份會變成霧、露水或霜。露點可以根據(jù)當(dāng)前相對濕度值和溫度值計算得出,具體的計算公式如下:
式中,T為當(dāng)前溫度值,SORH為相對濕度值,Dp為露點。
采用測氡儀對室內(nèi)氡濃度進(jìn)行測量,同時測量溫濕度,為了保證測量的準(zhǔn)確性,在不同地方對大氣中進(jìn)行了測量,同時測量測試為20次,求平均值計算,測量結(jié)果如表6所示。
表6 氡濃度及溫濕度測量值Tab.6 The measurements of radon concentration,temperature and humidity
本文提出了數(shù)字式溫濕度傳感器SHT15在嵌入式系統(tǒng)中的應(yīng)用方案,并詳細(xì)介紹了測氡儀溫濕度測控模塊的設(shè)計過程。由于SHT15集成了14位A/D轉(zhuǎn)換器,采用數(shù)字輸出,具有精度高、體積小、抗干擾性強等優(yōu)點。作為測氡儀溫濕度的監(jiān)控系統(tǒng),能夠滿足系統(tǒng)設(shè)計的要求。該設(shè)計也為其在其他監(jiān)控設(shè)備中的應(yīng)用提供參考作用。
[1] 吳越,方方,周偉,等.基于SHT75的氡室溫濕度測控系統(tǒng)[J].核電子學(xué)與探測技術(shù),2008,28(4):783-785.WU Yue,F(xiàn)ANG Fang,ZHOU Wei,et al.The temperature&humidity measurement and control system for radon chamber based on SHT75 [J].Nuclear Electronics&Detection Technology,2008,28(4):783-785.
[2] 李國柱.利用溫濕度傳感器SHTxx實現(xiàn)濕度測量[J].西安文理學(xué)院學(xué)報:自然科學(xué)版,2008,11(01):101-104.LI Guo-zhu.Measurement of humidity by using temperature and humidity sensor SHTxx[J].Journal of Xi’an University of Arts&Science:Natural Science Editon,2008,11 (01):101-104.
[3] 熊茂華,楊震倫.ARM9嵌入式系統(tǒng)設(shè)計與開發(fā)應(yīng)用[M].北京:清華大學(xué)出版社,2008.
[4] 朱景良.氡氣測量和測氡儀器的標(biāo)定技術(shù)研究[D].成都:成都理工大學(xué),2004.
[5] The SENSIRION Company.SHT1X/SHT7X Humidity&Temperature Sensor[EB/OL].[2007-08-15].http://www.sensirion.com/en/pdf/Datasheet_SHT1x_SHT7x.pdf
[6] SUMSUNG Electronics.S3C2440A USER’S MANUAL[EB/OL].[2004-03-15].http://www.samsung.com/global/business/semiconductor/index.html.