1. 程式人生 > >RF射頻技術-si4438C晶片介紹

RF射頻技術-si4438C晶片介紹

1.晶片圖

2.Frequency range = 425–525 MHz

可覆蓋425-525MHz頻段

3.The Si4438 operates as a time division duplexing (TDD) transceiver where the device alternately transmits and receives data packets

雙工收發,交替傳送和接收資料包。

4.receiver do not operate at the same time

傳送和收不能同時工作。

5.The demodulated signal is output to the system MCU through a programmable GPIO or via the standard SPI bus by reading the 64-byte RX FIFO

通過可程式設計的 GPIO 或通過解讀 64 位元組 RXFIFO 的標準 SPI 匯流排,已調製的訊號可被輸出到 MCU 系統。

如圖所示4438與主機MCU通訊方式

6.The Si4438 family supports TX/RX switch control, and antenna diversity switch control to extend the link range and improve performance


支援 TX/RX 開關控制和天線分集開關控制以擴充套件鏈路範圍和提高效能。

7.SPI介面

4線與主機MCU通訊:SCLK、SDI、SDO、nSEL

8.SPI寫過程

1)The nSEL pin should go low to initiate the SPI command。

拉低nSEL啟動SPI命令

2)The first byte of SDI data will be one of the firmware commands followed by n bytes of parameter data
which will be variable depending on the specific command


which will be variable depending on the specific command

SDI的第一個資料為命令,後面緊接著n個為資料

3)The rising edges of SCLK should be aligned with the center of the SDI data.

SCLK上升沿資料對準資料中心,即上升沿有效。

9.SPI讀過程

1)The Si4438 contains an internal MCU which controls all the internal functions of the radio

1.si4438有一個內部MCU,可控制無線內部所有功能

2)For SPI read commands a typical MCU flow of checking clear-to-send (CTS) is used to make sure the internal MCU has executed the
command and prepared the data to be output over the SDO pin

command and prepared the data to be output over the SDO pin

SPI讀命令,有一個清除傳送檢測流(CTS),確保內部MCU已經執行命令並且已經準備好資料通過SDO引腳輸出

後一旦CTS 值顯示 FF 那麼讀出的資料將會通過時鐘輸出到主機 MCU

3)Figure 3 demonstrates the remaining read cycle after CTS is set to FFh. The internal MCU will clock out the SDO data on the negative edge so the host MCU should process the SDO data on the rising edge of SCLK

當CTS值為FF時,內部MCU會在SDO的下降沿輸出資料,以便主機MCU通過SCLK上升沿處理資料

10.快速響應暫存器

快速響應暫存器:無需監控和檢測 CTS 就可立即被讀取的暫存器

1)共4個,0x50 代表快速響應 A,0x51 代表快速響應 B,0x53 代表快速響應C,0x57 代表快速響應 D

2)通過FRR_CTL_X_MODE”屬性進行配置

11.工作狀態

API commands START_RX, START_TX, and CHANGE_STATE control the operating state with the exception of shutdown which is controlled
by SDN

除了關機由SDN引腳控制外,其他狀態都可由API命令控制。

1)關機狀態

The shutdown state may be entered by driving the SDN pin (Pin 1) high. The SDN pin should be held low in all states except the shutdown state.

拉高SDN引腳進入關機狀態,除關機狀態外,其他所有狀態要保持SDN引腳低電平。

2)待機狀態

a、除關機外待機狀態電流消耗最低,且對RX/TX較快反應。關機雖然功耗最低,但暫存器的只會丟失,所以大部分待機狀態應該作為低功耗使用。

b、待機狀態下SPI可接入,但任何SPI事件包括FIFO R/W,會啟動內部振盪器,並自動將該部件移至SPI活動狀態。

所以SPI事件之後,主機需通過API命令,使裝置回到待機狀態,以降低功耗。

c、如發生中斷,則中斷暫存器必須被讀取已達到該模式下的最低功耗。

3)睡眠狀態

與待機狀態相同,但是喚醒定時器和32KHz時鐘源(內部RC振盪器/外部XTAL振盪器)會被啟用。

4)SPI活動狀態

此狀態下SPI和啟動振盪器會被啟用,也需要使用相關API回到待機狀態。

12.中斷

晶片通過將nIRQ輸出引腳設定為LOW=0通知MCU中斷事件已經發生。在MCU清除所有中斷之前,nIRQ引腳會一直處於低位。

中斷源分為三組(packet handler, chip status, and modem),必須啟用中斷才能在nIRQ上引發事件,所有中斷都可在“GET_INT_STATUS”API命令中讀取和清除。預設情況中斷一旦讀取就被清除。

若想以最快的速度讀取特定中斷,可通過“GET_MODEM_STATUS”、“GET_PH_STATUS”、“GET_CHIP_STATUS”API命令讀取和清除。無論中斷啟用與否,狀態位會提供功能顯示當前的狀態。

快速響應暫存器也可提供中斷組的資訊,但讀取快速響應暫存器不會清除中斷和使 nIRQ 引腳復位。

13.GPIO

有4個一般用途的IO引腳,通過0x13地址中的GPIO_PIN_CFG命令進行配置。

GPIO引腳0和1應用於資料或時鐘等有效訊號。GPIO的驅動強度可通過GPIO_PIN_CFG命令中的GEN_CONFIG引數進行調整。預設是最小值。

14.調製型別選擇

si4438支援三種不同的調製選項用於不同的配置中以適應不同的應用。通過MODEM_MOD_TYPE中設定。

調製型別:高斯頻移鍵控 (GFSK)、頻移鍵控 (FSK)、開關鍵控 (OOK)

GFSK 為推薦使用的調製型別,因其可提供最佳效能和最潔淨的調製頻譜,過“MODEM_MOD_TYPE”API 屬性中的“MOD_TYPE[2:0]”暫存器設定調製型別

15.FIFO模式

FIFO模式中,傳輸和接收資料儲存在整合的FIFO暫存器儲存器中。

寫命令66h並在其後緊跟主機想要寫進TX FIFO的資料/時鐘以訪問TX FIFI

寫77h並在其後緊跟主機想要從RX FIFO讀取的時鐘週期數,以訪問RX FIFO。RX資料會被時鐘輸出到SDO

1)TX FIFO模式中,儲存在 FIFO 儲存器中的資料位元組會和其他欄位和位元組資訊一同被“打包”以構建最終的傳輸資料包結構。這些其他潛在的欄位包括前導碼、同步字、和 CRC 校驗和。在 TX 模式中,可通過啟用或禁用單獨的欄位以高度定製資料包結構;例如,可通過禁用前導和同步字欄位以將整個資料包結構匯入 FIFO 儲存器。

2)在 RX 模式下,必須啟用分組處理程式,方可使儲存的已接收資料位元組傳輸至 RX FIFO 儲存器。分組處理程式需要檢測同步字,需要恰當的同步字檢測來確定有效荷載的開始。除 CRC 校驗和(可選)可變資料包長度位元組外,在同步字後的所有位元組都會儲存到 RX FIFO 儲存器中。

16.資料處理

si4438集成了兩個64位元組的FIFO,分別用於RX、TX。

當寫入0x66進暫存器,資料匯入TX FIFO,寫入0x77,從RX FIFO中讀取資料。

1)當FIFO幾乎清空時,TX FIFO會出現閾值,該閾值可通過“TX_FIFO_EMPTY”屬性設定。當資料幾乎達到空域值時,會發生中斷事件。

如果沒有更多資料匯入FIFO,在PACKET_SEND中斷髮生後晶片會自動退出TX狀態。

2)RX FIFO有一個通過“RX_FIFO_FULL“屬性可程式設計閾值,當收到RX資料幾乎滿閾值時,會通過nIRQ引腳對MCU產生中斷。MCU從RX FIFO讀取資料。

通過FIFO_RESET命令可清除或重置TX和RX FIFO。

17.喚醒定時器

作用:用於定期從睡眠模式中喚醒晶片。可從內部32KHz RC振盪器或外部32KHZ XTAL進行。

定時器配置:GLOBAL_WUT_CONFIG屬性中的WUT_EN=1,喚醒定時器會按照GLOBAL_WUT_R和GLOBAL_WUT_M屬性中定義的時間進行計數。

如果該中斷在INT_CTL_CHIP_ENABLE屬性中被啟用,在這個週期結束時,會在nIRQ引腳產生中斷。

微控制器會通過GET_INT_STATUS或快速響應暫存器讀取中斷狀態來確認中斷。喚醒週期公式如下:

RC振盪器頻率會隨溫度變化,要定期校準。須在 GLOBAL_WUT_CONFIG 屬性中設定 CAL_EN,並且通過相同 API 屬性中的 WUT_CAL_PERIOD[2:0] 選擇想要的校準週期。