SI4438系列不同於之前的SI4432,在很多地方都發生了改變。
- 頻率范圍 425-525MHz
- 接收靈敏度 -124dBm
- 調制方式 (G)FSK OOK
- 最大輸出功率 +20dBm
- 低工作能耗 接收14mA
- 傳輸速率 100bps~500kbps
- 工作電壓 1.8-3.6V
- 低電壓檢測
- 芯片內部溫度檢測
主要的寄存器配置都是在官方的WDS軟件中可以進行配置,基本滿足大部分應用。碰到一些復雜的應用,就必須手動對具體寄存器進行配置,具體寄存器配置可以參考官方的API文檔。
該芯片分為包模式和直通模式,包模式就是芯片進行打包,解包操作,在收到有效數據的時候會以中斷的形式通知MCU。這些包是按照一定格式進行打包的,首先是前導碼,一般都是按0101或者1010,大於5bytes。前導碼有兩個用處,一個是方便芯片檢測識別,二是用於頻率校正。因為發送和接收的頻率並總是一致的,這時可以通過前導碼進行校正。
然后是同步字,加上同步字可以使得數據的有效性進一步提高。有好多遙控器廠商將同步字作為設備的ID,使得收發一一對應。一般這些一一對應的設備的通常做法是在被控制設備上點的時候,遙控器和被控制設備需要進行一次對碼。被控制設備將ID傳給遙控器,當然此時的同步字是預先廠商規定好的,是固定的。對過一次碼之后,只要不重新對碼,這個遙控器就只能控制對應ID的被控制設備。同步字最多4bytes。
之后是數據,在WDS設置數據的時候,可以選擇固定長度和非固定長度,固定長度就可以省去數據包前面的一個字節的長度值。非固定長度就必須要有長度值,可以通過選項將長度放入FIFO或者不放入。
在包模式下接收、發送數據的時候,在傳遞傳輸的時候要注意,如果預計的接收、發送長度比實際的要短,那么數據多出來的部分就會被截去。
直通模式就是最原始的高低電平輸出,這個模式主要用於和其它不同廠家的芯片進行通信的時候。不過它需要MCU處理打包,解包任務。就我實際調試看來,雖然WDS中nIRQ和SDO腳可以選擇發送數據輸入,但是實際調試起來,我發現這兩個腳是無效的。發送數據輸入的腳必須是GPIO那4個腳才可以。
另外不知道是什么緣故,當OOK調到5k以上后,接收輸出的芯片就很亂。在沒有信號的時候也是上下上下的連續的。FSK在直通模式下接收的話就完全都是上下電平連續的,只有在收到FSK信號的時候,電平才會表現出接收到信號的波形,這讓解析FSK變得十分麻煩。尤其是在不知道數據什么時候會過來的情況下。
就目前來看,大部分433傳感器都是采用OOK的調制方式,FSK是少數。而且傳感器廠商基本上采用的都是430系列單片機以達到低功耗的目的。