王冬霞,張玉輝,洪耀球
(景德鎮(zhèn)高等??茖W(xué)校 江西 景德鎮(zhèn) 333000)
氡及其子體的測(cè)量是一個(gè)涵蓋智能儀器、核輻射探測(cè)、核技術(shù)應(yīng)用、環(huán)境評(píng)價(jià)、工業(yè)計(jì)量、工業(yè)自動(dòng)化、計(jì)算機(jī)通信與軟件等多領(lǐng)域的問題。然而氡及其子體濃度受溫濕度的影響很大[1,4],因此溫濕度的測(cè)量對(duì)于測(cè)氡儀來說是非常重要的。傳統(tǒng)的模擬式溫濕度傳感器一般都要涉及信號(hào)調(diào)理電路并需要經(jīng)過復(fù)雜的校準(zhǔn)和標(biāo)定過程,所以測(cè)量精度難以保證[1]。由某公司生產(chǎn)的SHT15單芯片傳感器,是一款含有已校準(zhǔn)數(shù)字信號(hào)輸出的溫濕度復(fù)合傳感器,應(yīng)用專利的工業(yè)COMS過程微加工技術(shù)(CMOSens),確保產(chǎn)品具有極高的可靠性與卓越的長(zhǎng)期穩(wěn)定性。傳感器包括1個(gè)電容式聚合體測(cè)濕元件和1個(gè)能隙式測(cè)溫元件,并與1個(gè)14位的A/D轉(zhuǎn)換器以及串行接口電路在同一芯片上實(shí)現(xiàn)無縫連接。因此,該產(chǎn)品具有品質(zhì)卓越、超快響應(yīng)、抗干擾能力強(qiáng)、性價(jià)比高等優(yōu)點(diǎn)[5]。系統(tǒng)采用S3C2440A作為微控制器,S3C2440A采用ARM920T內(nèi)核,提供了一套完整的通用系統(tǒng)外設(shè),有130個(gè)多功能輸入/輸出端口[3,6],所以在設(shè)計(jì)時(shí)直接利用S3C2440A的通用 I/O口來模擬通信時(shí)序控制SHT15,整個(gè)電路設(shè)計(jì)簡(jiǎn)單。
SHTl5是瑞士Sensirion公司推出的一款數(shù)字溫濕度傳感器芯片。該芯片廣泛應(yīng)用于暖通空調(diào)、汽車、消費(fèi)電子、自動(dòng)控制等領(lǐng)域。其主要特點(diǎn)如下:
1)將溫濕度感測(cè)、信號(hào)變換、A/D轉(zhuǎn)換和I2C總線接口等功能集成到一個(gè)芯片上;
2)提供兩線數(shù)字串行接口SCK和DATA,并支持CRC傳輸校驗(yàn);
3)測(cè)量精度可編程調(diào)節(jié),內(nèi)置A/D轉(zhuǎn)換器;
4)提供溫度補(bǔ)償和濕度測(cè)量值以及高質(zhì)量的露點(diǎn)計(jì)算功能;
5)由于采用了CMOSensTM技術(shù),可浸入水中進(jìn)行測(cè)量。
SHT15的性能參數(shù)如下:
1) 濕度測(cè)量范圍:0~100%RH;2) 溫度測(cè)量范圍:-40~+123.8℃;3)濕度測(cè)量精度:±2.0%RH;4)溫度測(cè)量精度:±0.3 ℃;5)響應(yīng)時(shí)間:8 s(tau63%);6)可完全浸沒。
由于該款溫濕度傳感器具有高精度,并能浸入水中測(cè)量等特點(diǎn),而所設(shè)計(jì)的測(cè)氡儀要求具有測(cè)量土壤、大氣,水中氡濃度的功能,因此采用該款溫濕度傳感器完全滿足要求。
數(shù)字式溫濕度傳感器SHT15是8引腳SMD(LCC)表面貼片封裝形式[5],如圖1所示。其中引腳1接地,引腳4接電源,工作電壓為2.4~5.5 VDC,為了達(dá)到傳感器的最高精確度,供電電壓為3.3 V為宜。引腳2為數(shù)據(jù)線,引腳3為時(shí)鐘線,引腳5~8為空管腳。
圖1 SHT15引腳圖Fig.1 Pin map of SHT15
數(shù)字式溫濕度傳感器SHT15將溫度感測(cè)、濕度感測(cè)、信號(hào)變換、A/D轉(zhuǎn)換和加熱器等功能集成到一個(gè)芯片上,其內(nèi)部結(jié)構(gòu)如圖2所示。
圖2 SHT15內(nèi)部結(jié)構(gòu)圖Fig.2 Internal structural of SHT15
該芯片包括1個(gè)電容性聚合體濕度敏感元件和1個(gè)用能隙材料制成的溫度敏感元件。這兩個(gè)敏感元件分別將濕度和溫度轉(zhuǎn)換成電信號(hào),該電信號(hào)首先進(jìn)入微弱信號(hào)放大器進(jìn)行放大,然后進(jìn)入1個(gè)14位的A/D轉(zhuǎn)換器,最后經(jīng)過二線串行數(shù)字接口輸出數(shù)字信號(hào)。SHT15在出廠前,都會(huì)在恒濕或恒溫環(huán)境中進(jìn)行校準(zhǔn),校準(zhǔn)系數(shù)存儲(chǔ)在校準(zhǔn)寄存器中,在測(cè)量過程中,校準(zhǔn)系數(shù)會(huì)自動(dòng)校準(zhǔn)來自傳感器的信號(hào)。此外,SHT15內(nèi)部還集成了1個(gè)加熱元件,加熱元件接通后可以將SHT15的溫度升高5℃左右,同時(shí)功耗也會(huì)有所增加。此功能主要是為了比較加熱前后的溫度和濕度值,可以綜合驗(yàn)證兩個(gè)傳感器元件的性能。在高濕(>95%RH)環(huán)境中,加熱傳感器可預(yù)防傳感器結(jié)露,同時(shí)縮短響應(yīng)時(shí)間,提高精度。加熱后SHT15溫度升高、相對(duì)濕度降低,較加熱前,測(cè)量值會(huì)略有差異。
微處理器可通過二線串行數(shù)字接口與SHT15進(jìn)行通信,由于其通信協(xié)議與通用的I2C總線協(xié)議不兼容[2],所以在設(shè)計(jì)時(shí)直接利用S3C2440A的通用I/O口來模擬通信時(shí)序控制SHT15。 S3C2440A 有 130個(gè)通用 I/O 口[3,6],共分為 9 組(GPAGPJ),其中GPG包括16路I/O口。S3C2440A引腳采用289-FBGA封裝,GPG9及GPG10對(duì)應(yīng)引腳功能圖如表1所示。
表1 S3C2440A 289引腳FBGA的管腳分配表(部分)Tab.1 S3C2440A 289-pin FBGA pin assignments(Part)
設(shè)計(jì)中利用S3C2440A的GPG9模擬時(shí)鐘信號(hào),GPG10來模擬數(shù)據(jù)信號(hào)(數(shù)據(jù)線需要外接上拉電阻),硬件連接圖如圖3所示。
圖3 微控制器與SHT15的硬件連接圖Fig.3 Hardware circuit connection diagram of micro-process and SHT15
在程序開始,控制器S3C2440A需要用一組“啟動(dòng)傳輸”時(shí)序,來表示數(shù)據(jù)傳輸?shù)某跏蓟痆5]。它包括:當(dāng)SCK時(shí)鐘高電平時(shí)DATA翻轉(zhuǎn)為低電平,緊接著SCK變?yōu)榈碗娖降膯?dòng),如圖4所示,隨后是在SCK時(shí)鐘高電平時(shí)DATA翻轉(zhuǎn)為高電平。接著SCK變?yōu)榈碗娖?,隨后又變?yōu)楦唠娖?,SCK時(shí)鐘為高電平時(shí),DATA再次翻轉(zhuǎn)為高電平。
圖4 啟動(dòng)傳輸時(shí)序Fig.4 Sequence of transmission start
控制器發(fā)出啟動(dòng)命令后,接著發(fā)出一個(gè)后續(xù)8為命令碼。后續(xù)命令包含3個(gè)地址位(目前只支持“000”)和5個(gè)命令位。相應(yīng)代碼對(duì)應(yīng)的命令集如表2所示。
表2 SHT15命令集Tab.2 Command set of SHT15
SHT15接收到上述地址和命令碼后,在第8個(gè)時(shí)鐘下降沿,將DATA下拉為低電平作為從機(jī)的ACK;在第9個(gè)時(shí)鐘下降沿之后,從機(jī)釋放DATA(恢復(fù)高電平)總線;釋放總線后,從機(jī)開始測(cè)量當(dāng)前濕度,測(cè)量結(jié)束后,再次將DATA總線拉為低電平;主機(jī)檢測(cè)到DATA總線被拉低后,得知濕度測(cè)量已經(jīng)結(jié)束,給出SCK時(shí)鐘信號(hào);從機(jī)在第8個(gè)時(shí)鐘下降沿,先輸出高字節(jié)數(shù)據(jù);在第9個(gè)時(shí)鐘下降沿,主機(jī)將DATA總線拉低作為ACK信號(hào)。然后釋放總線DATA;在隨后8個(gè)SCK周期下降沿,從機(jī)發(fā)出低字節(jié)數(shù)據(jù);接下來的SCK下降沿,主機(jī)再次將DATA總線拉低作為接收數(shù)據(jù)的ACK信號(hào);最后8個(gè)SCK下降沿從機(jī)發(fā)出CRC校驗(yàn)數(shù)據(jù),主機(jī)不予應(yīng)答(NACK)則表示測(cè)量結(jié)束。
本設(shè)計(jì)中微處理器為三星公司的S3C2440A,通過對(duì)I/O寄存器編程來模擬通信過程。該處理器的I/O口可根據(jù)需要設(shè)置成輸入、輸出,高阻等狀態(tài)。在軟件實(shí)現(xiàn)過程中通過子函數(shù)來實(shí)現(xiàn)I/O口狀態(tài)的改變。
//設(shè)置時(shí)鐘為輸入
void SHT_SCK_In(){
rGPGCON=rGPGCON & (~(0X1 <<18)) & (~(0X1<<19));
}
//設(shè)置時(shí)鐘為輸出
void SHT_SCK_Out(){
rGPGCON=rGPGCON& (~(0x1<<19)) |(0x1<<18);
}
//設(shè)置數(shù)據(jù)信號(hào)為輸入
void SHT_DATA_In() {
rGPGCON=rGPGCON & (~(0X1 <<20)) & (~(0X1<<21));
}
//設(shè)置數(shù)據(jù)信號(hào)為輸出
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ù)可以實(shí)現(xiàn)SCK和DATA總線的各種輸入與輸出狀態(tài)。在SHT15的通信中還需要延時(shí)函數(shù),設(shè)計(jì)時(shí)采用函數(shù)void Delay1ms(U32 tt)實(shí)現(xiàn)軟延時(shí)。這樣就能完成對(duì)SHT15通信協(xié)議的模擬。
Void Delay1ms(U32 tt) {
U32 i;
for(;tt>0;tt--) {
for(i=0;i<26000;i++){}
}
}
SHT15可通過I2C總線直接輸出數(shù)字量濕度值,其相對(duì)濕度系數(shù)輸出特性曲線如圖5所示。
圖5 從SORH轉(zhuǎn)換為相對(duì)濕度圖Fig.5 Conversion from SORHto relative humidity
由圖5可知,SHT15的輸出特性呈一定的非線性,為了補(bǔ)償濕度傳感器非線性以獲取準(zhǔn)確數(shù)據(jù),采用式(1)來修正輸出數(shù)值。
其中 C1,C2,C3的值如表 3所示,SHT15的相對(duì)濕度輸出值(SORH)為 12 bit。
表3 濕度線性補(bǔ)償系數(shù)Tab.3 Humidity conversion coefficients
該溫濕度傳感器具有很好的線性,可用式(2)將數(shù)字輸出轉(zhuǎn)換為溫度值。溫度轉(zhuǎn)換系數(shù)如表4所示。
表4 溫度轉(zhuǎn)換系數(shù)Tab.4 Temperature conversion coefficients
實(shí)際測(cè)量時(shí)利用式(3)修正溫度系數(shù)。溫度補(bǔ)償系數(shù)如表5所示。
表5 溫度補(bǔ)償系數(shù)Tab.5 Temperature compensation coefficients
露點(diǎn)是一個(gè)特殊的溫度值,是空氣保持某一定濕度必須達(dá)到的最低溫度。當(dāng)空氣的溫度低于露點(diǎn)時(shí),空氣容納不了過多的水份,這些水份會(huì)變成霧、露水或霜。露點(diǎn)可以根據(jù)當(dāng)前相對(duì)濕度值和溫度值計(jì)算得出,具體的計(jì)算公式如下:
式中,T為當(dāng)前溫度值,SORH為相對(duì)濕度值,Dp為露點(diǎn)。
采用測(cè)氡儀對(duì)室內(nèi)氡濃度進(jìn)行測(cè)量,同時(shí)測(cè)量溫濕度,為了保證測(cè)量的準(zhǔn)確性,在不同地方對(duì)大氣中進(jìn)行了測(cè)量,同時(shí)測(cè)量測(cè)試為20次,求平均值計(jì)算,測(cè)量結(jié)果如表6所示。
表6 氡濃度及溫濕度測(cè)量值Tab.6 The measurements of radon concentration,temperature and humidity
本文提出了數(shù)字式溫濕度傳感器SHT15在嵌入式系統(tǒng)中的應(yīng)用方案,并詳細(xì)介紹了測(cè)氡儀溫濕度測(cè)控模塊的設(shè)計(jì)過程。由于SHT15集成了14位A/D轉(zhuǎn)換器,采用數(shù)字輸出,具有精度高、體積小、抗干擾性強(qiáng)等優(yōu)點(diǎn)。作為測(cè)氡儀溫濕度的監(jiān)控系統(tǒng),能夠滿足系統(tǒng)設(shè)計(jì)的要求。該設(shè)計(jì)也為其在其他監(jiān)控設(shè)備中的應(yīng)用提供參考作用。
[1] 吳越,方方,周偉,等.基于SHT75的氡室溫濕度測(cè)控系統(tǒng)[J].核電子學(xué)與探測(cè)技術(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] 李國(guó)柱.利用溫濕度傳感器SHTxx實(shí)現(xiàn)濕度測(cè)量[J].西安文理學(xué)院學(xué)報(bào):自然科學(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è)計(jì)與開發(fā)應(yīng)用[M].北京:清華大學(xué)出版社,2008.
[4] 朱景良.氡氣測(cè)量和測(cè)氡儀器的標(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.