溫濕度傳感器SHT15及其在嵌入式系統中的應用
控制器發出啟動命令后,接著發出一個后續8為命令碼。后續命令包含3個地址位(目前只支持000’)和5個命令位。相應代碼對應的命令集如表2所示。本文引用地址:http://cqxgywz.com/article/150952.htm

SHT15接收到上述地址和命令碼后,在第8個時鐘下降沿,將DATA下拉為低電平作為從機的ACK;在第9個時鐘下降沿之后,從機釋放DATA(恢復高電平)總線;釋放總線后,從機開始測量當前濕度,測量結束后,再次將DATA總線拉為低電平;主機檢測到DATA總線被拉低后,得知濕度測量已經結束,給出SCK時鐘信號;從機在第8個時鐘下降沿,先輸出高字節數據;在第9個時鐘下降沿,主機將DATA總線拉低作為ACK信號。然后釋放總線DATA;在隨后8個SCK周期下降沿,從機發出低字節數據;接下來的SCK下降沿,主機再次將DATA總線拉低作為接收數據的ACK信號;最后8個SCK下降沿從機發出CRC校驗數據,主機不予應答(NACK)則表示測量結束。
本設計中微處理器為三星公司的S3C2440A,通過對I/O寄存器編程來模擬通信過程。該處理器的I/O口可根據需要設置成輸入、輸出,高阻等狀態。在軟件實現過程中通過子函數來實現I/O口狀態的改變。
以上函數可以實現SCK和DATA總線的各種輸入與輸出狀態。在SHT15的通信中還需要延時函數,設計時采用函數void DelaylIn8(U32 tt)實現軟延時。這樣就能完成對SHT15通信協議的模擬。












評論