SHT15在嵌入式系統中的應用方案
該芯片包括1個(gè)電容性聚合體濕度敏感元件和1個(gè)用能隙材料制成的溫度敏感元件。這兩個(gè)敏感元件分別將濕度和溫度轉換成電信號,該電信號首先進(jìn)入微弱信號放大器進(jìn)行放大,然后進(jìn)入1個(gè)14位的A/D轉換器,最后經(jīng)過(guò)二線(xiàn)串行數字接口輸出數字信號。SHT15在出廠(chǎng)前,都會(huì )在恒濕或恒溫環(huán)境中進(jìn)行校準,校準系數存儲在校準寄存器中,在測量過(guò)程中,校準系數會(huì )自動(dòng)校準來(lái)自傳感器的信號。此外,SHT15內部還集成了1個(gè)加熱元件,加熱元件接通后可以將SHT15的溫度升高5℃左右,同時(shí)功耗也會(huì )有所增加。此功能主要是為了比較加熱前后的溫度和濕度值??梢跃C合驗證兩個(gè)傳感器元件的性能。在高濕(>95%RH)環(huán)境中,加熱傳感器可預防傳感器結露,同時(shí)縮短響應時(shí)間,提高精度。加熱后SHT15溫度升高、相對濕度降低,較加熱前,測量值會(huì )略有差異。
2 硬件設計
微處理器可通過(guò)二線(xiàn)串行數字接口與SHT15進(jìn)行通信,由于其通信協(xié)議與通用的I2C總線(xiàn)協(xié)議不兼容,所以在設計時(shí)直接利用S3C2440A的通用I/O口來(lái)模擬通信時(shí)序控制SHT15。S3C2440A有130個(gè)通用I/O口,共分為9組(GPAGPJ),其中GPG包括16路I/O口。S3C2440A引腳采用289 -FBGA封裝,GPG9及GPG10對應引腳功能圖如表1所示。
表1 GPG9及GPG10對應引腳功能圖
設計中利用S3C2440A的GPG9模擬時(shí)鐘信號,GPG10來(lái)模擬數據信號(數據線(xiàn)需要外接上拉電阻),硬件連接圖如圖3所示。
圖3 微控制器與SHT15的硬件連接圖
3 軟件設計
在程序開(kāi)始,控制器S3C2440A需要用一組“啟動(dòng)傳輸”時(shí)序,來(lái)表示數據傳輸的初始化。它包括:當SCK時(shí)鐘高電平時(shí)DATA翻轉為低電平,緊接著(zhù)SCK變?yōu)榈碗娖降膯?dòng),如圖4所示,隨后是在SCK時(shí)鐘高電平時(shí)DATA翻轉為高電平。接著(zhù)SCK變?yōu)榈碗娖?,隨后又變?yōu)楦唠娖?,SCK時(shí)鐘為高電平時(shí),DATA再次翻轉為高電平。
圖4 啟動(dòng)傳輸時(shí)序
控制器發(fā)出啟動(dòng)命令后,接著(zhù)發(fā)出一個(gè)后續8為命令碼。后續命令包含3個(gè)地址位(目前只支持000’)和5個(gè)命令位。相應代碼對應的命令集如表2所示。
表2 SHT15命令集
SHT15接收到上述地址和命令碼后,在第8個(gè)時(shí)鐘下降沿,將DATA下拉為低電平作為從機的ACK;在第9個(gè)時(shí)鐘下降沿之后,從機釋放DATA(恢復高電平)總線(xiàn);釋放總線(xiàn)后,從機開(kāi)始測量當前濕度,測量結束后,再次將DATA總線(xiàn)拉為低電平;主機檢測到DATA總線(xiàn)被拉低后,得知濕度測量已經(jīng)結束,給出SCK時(shí)鐘信號;從機在第8個(gè)時(shí)鐘下降沿,先輸出高字節數據;在第9個(gè)時(shí)鐘下降沿,主機將DATA總線(xiàn)拉低作為ACK信號。然后釋放總線(xiàn)DATA;在隨后8個(gè)SCK周期下降沿,從機發(fā)出低字節數據;接下來(lái)的SCK下降沿,主機再次將DATA總線(xiàn)拉低作為接收數據的ACK信號;最后8個(gè)SCK下降沿從機發(fā)出CRC校驗數據,主機不予應答(NACK)則表示測量結束。
評論