標籤:
一、SHT2X 概況
1、1.8%校準後的精度
2、數字輸出型,I2C介面
3、超低功耗
4、超長時間穩定性
5、DFN封裝,可迴流焊接
二、Sensor分析
DFN封裝,3*3MM高1.1mm
註:Center Pad串連到地,NC腳一定要懸空,還要遠離熱源。在90%相對濕度時,每增加1度熱量,造成的誤差可達%5.
Sensor Chip
本感應器除了具有電容性相對濕度sensor和band gap 溫度sensor 外,還具有運放、AD轉化器、OTP儲存空間、數文書處理單元。
1)感應器特性
1、濕度
2、溫度
3、電氣特性
4、操作範圍
5、濕度在不同溫度下的準確度
6、在VDD為3V時,不同溫度下的功耗曲線
7、在環溫為25℃時,不同供電情況下的功耗情況
8、使用資訊
注意:由於焊料可能不能夠完全填充,會有裸露的邊沿或者引腳,隨著時間的推移會被氧化。
經典的焊接溫度為260度,但不能超過30秒,最好是紅外或者對流迴流焊焊接。手工焊接的話,在高達350度時,最好不要超過5秒。
非常重要:焊接之後,該元器件應該放在大於75%濕度的空間至少等12小時讓器件啟用,否則如果放在環境中,讀取時將會有個位移,這個位移會慢慢消失。如果放在環境濕度小於75%而大於40%時,要等上5天才能啟用。
修複:
烘培:在環境溫度為100-105度濕度小於5%、10小時
重新啟用:在環境溫度為20-30度濕度在75%左右12小時
I2C
啟動感應器
初次開機,感應器選擇供電電壓(從2.1V到3.6V)。上電之後,當SCL是高電平時,為了等到他空閑狀態,至少需要15ms.例如從主機接收命令。在啟動時電流功耗最大可達350uA.無論何時上電,沒有執行測量或者通訊,晶片都會自動的進入休眠狀態。
啟動和停止序列
同其他I2C通訊一樣。
發送命令
發送啟動之後,後來的I2C頭由7個字裝置地址1000 000和一個SDA方向字(讀為1,寫為0)。第八個SCL時鐘之後,如果有資料傳送,感應器將會拉低SDA資料線,表示有ACK,否則NACK。發出測量命令後(1110 0011為溫度,1110 0101為相對濕度),MCU必須要等到測量完成。具體指令見下表:
主機/從機模式
同Sensor通訊這有兩種不同的操作方式,主機模式或從機模式。第一種情況下,時鐘線SCL是由Sensor控制,在測量過程中。第二種情況是,時鐘線是由MCU控制,在測量時。第二種通訊方式允許I2C可以同其他裝置通訊在Sensor進行測量時。
Sensor主機模式通訊時序圖
Sensor從機模式通訊時序圖:
注意:I2C通訊允許重複start,而不必非要有個stop。像。
最大的測量期間是由測量對象和解析度決定的,具體如下:
Sensor 軟體複位
使用者配置寄存器
配置寄存器在寫之前一定要先讀裡面的預設值是啥,然後再配置,寫。寄存器每位表示如下:
I2C時序如下:
CRC 資料檢查
這個是比較麻煩的,可以參考SHT1X/SHT7X CRC 手冊。現以程式說明:
static uint8_t SHT2x_CheckCrc(uint8_tdata[], uint8_t nbrOfBytes, uint8_t checksum)
{
uint8_t crc = 0;
uint8_t byteCtr;
uint8_t bit;
//calculates 8-Bit checksum with given polynomial
for (byteCtr = 0; byteCtr < nbrOfBytes; ++byteCtr)
{
crc ^= (data[byteCtr]);
for (bit = 8; bit > 0; --bit)
{
if (crc & 0x80)
{
crc = (uint8_t)((crc<< 1) ^ (uint16_t)POLYNOMIAL);
}
else
{
crc = (crc<< 1);
}
}
}
if (crc != checksum)
return FALSE;
else
return TRUE; /**< match*/
}
相對濕度轉化公式:
SRH為讀取值。
溫度值轉化公式:
溫濕度模組 SHT2x 使用手冊