SHT15在嵌入式系統(tǒng)中的應(yīng)用方案
該芯片包括1個電容性聚合體濕度敏感元件和1個用能隙材料制成的溫度敏感元件。這兩個敏感元件分別將濕度和溫度轉(zhuǎn)換成電信號,該電信號首先進入微弱信號放大器進行放大,然后進入1個14位的A/D轉(zhuǎn)換器,最后經(jīng)過二線串行數(shù)字接口輸出數(shù)字信號。SHT15在出廠前,都會在恒濕或恒溫環(huán)境中進行校準,校準系數(shù)存儲在校準寄存器中,在測量過程中,校準系數(shù)會自動校準來自傳感器的信號。此外,SHT15內(nèi)部還集成了1個加熱元件,加熱元件接通后可以將SHT15的溫度升高5℃左右,同時功耗也會有所增加。此功能主要是為了比較加熱前后的溫度和濕度值??梢跃C合驗證兩個傳感器元件的性能。在高濕(>95%RH)環(huán)境中,加熱傳感器可預(yù)防傳感器結(jié)露,同時縮短響應(yīng)時間,提高精度。加熱后SHT15溫度升高、相對濕度降低,較加熱前,測量值會略有差異。
2 硬件設(shè)計
微處理器可通過二線串行數(shù)字接口與SHT15進行通信,由于其通信協(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)榈碗娖?,隨后又變?yōu)楦唠娖剑琒CK時鐘為高電平時,DATA再次翻轉(zhuǎn)為高電平。
圖4 啟動傳輸時序
控制器發(fā)出啟動命令后,接著發(fā)出一個后續(xù)8為命令碼。后續(xù)命令包含3個地址位(目前只支持000’)和5個命令位。相應(yīng)代碼對應(yīng)的命令集如表2所示。
表2 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é)束。
評論