SHT15在嵌入式系統(tǒng)中的應(yīng)用方案
該芯片包括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ì)有所增加。此功能主要是為了比較加熱前后的溫度和濕度值??梢跃C合驗(yàn)證兩個(gè)傳感器元件的性能。在高濕(>95%RH)環(huán)境中,加熱傳感器可預(yù)防傳感器結(jié)露,同時(shí)縮短響應(yīng)時(shí)間,提高精度。加熱后SHT15溫度升高、相對(duì)濕度降低,較加熱前,測(cè)量值會(huì)略有差異。
2 硬件設(shè)計(jì)
微處理器可通過二線串行數(shù)字接口與SHT15進(jìn)行通信,由于其通信協(xié)議與通用的I2C總線協(xié)議不兼容,所以在設(shè)計(jì)時(shí)直接利用S3C2440A的通用I/O口來模擬通信時(shí)序控制SHT15。S3C2440A有130個(gè)通用I/O口,共分為9組(GPAGPJ),其中GPG包括16路I/O口。S3C2440A引腳采用289 -FBGA封裝,GPG9及GPG10對(duì)應(yīng)引腳功能圖如表1所示。
表1 GPG9及GPG10對(duì)應(yīng)引腳功能圖
設(shè)計(jì)中利用S3C2440A的GPG9模擬時(shí)鐘信號(hào),GPG10來模擬數(shù)據(jù)信號(hào)(數(shù)據(jù)線需要外接上拉電阻),硬件連接圖如圖3所示。
圖3 微控制器與SHT15的硬件連接圖
3 軟件設(shè)計(jì)
在程序開始,控制器S3C2440A需要用一組“啟動(dòng)傳輸”時(shí)序,來表示數(shù)據(jù)傳輸?shù)某跏蓟?。它包括:?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í)序
控制器發(fā)出啟動(dòng)命令后,接著發(fā)出一個(gè)后續(xù)8為命令碼。后續(xù)命令包含3個(gè)地址位(目前只支持000’)和5個(gè)命令位。相應(yīng)代碼對(duì)應(yīng)的命令集如表2所示。
表2 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é)束。
評(píng)論