基于Si4432A的無線射頻收發(fā)系統(tǒng)設計
設計了一種基于無線收發(fā)芯片Si4432和C8051F930的無線射頻收發(fā)系統(tǒng)。該系統(tǒng)由發(fā)送模塊和接收模塊組成。發(fā)送模塊主要處理C8051F930發(fā)送的數(shù)據(jù),并通過Si4432發(fā)送出去。在接收模塊中,Si4432正確接收數(shù)據(jù)并通過LCD顯示,從而實現(xiàn)短距離無線通信。該系統(tǒng)實現(xiàn)了低功耗、小體積、高靈敏度的高質(zhì)量無線數(shù)據(jù)傳輸。1無線收發(fā)芯片Si4432Si4432是硅實驗室推出的高集成度、低功耗、多頻段EZRadioPRO系列無線收發(fā)芯片。其工作電壓為1.9~3.6 V,20針QFN封裝(4 mm×4 mm),可工作在315/433/868/915 MHz四個頻段。集成內(nèi)部分集天線、功率放大器、喚醒定時器、數(shù)字調(diào)制解調(diào)器、64字節(jié)發(fā)送和接收數(shù)據(jù)FIFO、可配置GPIO等。Si4432在使用時幾乎不需要外部元件。一個30 MHz晶體振蕩器、幾個電容和電感可以構(gòu)成一個高度可靠的收發(fā)器系統(tǒng),設計簡單,成本低。Si4432的接收靈敏度達到-117 dB,可以提供出色的鏈路質(zhì)量,擴大傳輸范圍,最大限度降低功耗。最小濾波帶寬為8 kHz,具有出色的通道選擇性。在240~960 MHz的頻率范圍內(nèi),無功放時最大輸出功率可達+20dBm,設計良好時最大收發(fā)距離可達2 km。Si4432可應用于無線數(shù)據(jù)通信、無線遙控系統(tǒng)、小型無線網(wǎng)絡、小型無線數(shù)據(jù)終端、無線抄表、門禁系統(tǒng)、無線遙感監(jiān)測、水文氣象監(jiān)測、機器人控制、無線RS485/RS232數(shù)據(jù)通信等諸多領域。2無線射頻收發(fā)系統(tǒng)的設計2.1系統(tǒng)總體方案無線射頻收發(fā)系統(tǒng)的結(jié)構(gòu)框圖如圖1所示,C8051F930單片機控制Si4432發(fā)送和接收無線數(shù)據(jù)。發(fā)送模塊中的C8051F930將數(shù)據(jù)傳輸給Si4432進行編碼,并以特定的格式通過天線發(fā)送給接收模塊。接收模塊對接收到的射頻信號進行放大和解調(diào),然后將數(shù)據(jù)發(fā)送給主控制器C8051F930進行相應的處理,如液晶顯示。系統(tǒng)提供按鈕、液晶顯示器(OCM12864-9)等人機交互界面,RS232接口可用于與PC機通信。2.2系統(tǒng)硬件設計選用Silicon Labs推出的單片機C8051F930作為主控芯片。C8051F930擁有4 KB RAM和64 KB Flash,片內(nèi)集成了豐富的外設模塊(包括串口、SPI、10位A/D轉(zhuǎn)換器等。),很好地滿足了本系統(tǒng)對單片機的要求。支持快速喚醒和最低0.9 V電源;電源管理模式有很多(比如正常模式,空空閑模式,睡眠模式等。).兩個內(nèi)置欠壓檢測器分別適用于睡眠模式和正常模式,典型睡眠模式下的電流僅為50 nA。C8051F930包括一個高效率的DC升壓轉(zhuǎn)換器,可以為內(nèi)部微控制器和其他組件提供高達65 mW的功率。為了降低正常模式下的電池功耗,C8051F930的省電架構(gòu)可以將工作模式下的電流降至170μ A/MHz。C8051F930可以通過內(nèi)置的增強型SPI讀寫Si4432的內(nèi)部寄存器,靈活配置各種參數(shù)。通過SPI接口完成Si4432的初始化配置、數(shù)據(jù)讀寫、FIFO訪問等操作。使用4線SPI,即MOSI、米索、SCK和nSEL。MOSI用于C8051F930到Si4432的串行數(shù)據(jù)傳輸;MISO用于Si4432到C8051F930的串行數(shù)據(jù)傳輸;SCK用于同步MOSI和MISO線路上C8051F930和Si4432之間的串行數(shù)據(jù)傳輸;作為片選信號,nSEL只能在片選信號為低電平時對Si4432進行操作。硬件原理圖如圖2所示。Si4432的引腳13 ~ 16是標準SPI接口,引腳17 (nIRQ)是中斷狀態(tài)輸出引腳。當FIFO溢出、有效數(shù)據(jù)包發(fā)送或接收、CRC錯誤、前導位和同步字檢測、上電復位等情況發(fā)生,且相應的中斷使能時,引腳17將產(chǎn)生一個低電平,通知C8051F930存在中斷。引腳20 (SDN)決定Si4432芯片的工作狀態(tài)。當SDN接地(SDN=0)時,芯片處于正常工作模式;當連接到高電平(SDN=1)時,芯片處于關斷模式。在掉電模式下,寄存器的內(nèi)容將會丟失,并且不允許SPI訪問。而芯片的電流損耗只有10 nA,功耗很低,適合要求極低功耗的應用。接通電源后,在SDN下降沿復位,根據(jù)指令切換到其他工作模式。為了達到更好的通信效果,Si4432的接收低噪聲放大器匹配電路和發(fā)射功率放大器匹配電路的電阻和電容參數(shù)應嚴格按照數(shù)據(jù)手冊中提供的參數(shù)進行選擇。的前端分集電路采用SKY13267,其V1引腳和V2引腳分別接Si4432的GPIO1和GPIO2。這種縱橫開關可以自動切換分集天線的發(fā)射和接收通道。2.3系統(tǒng)軟件設計軟件編程采用模塊化設計思想,將系統(tǒng)中所有主要功能模塊編譯成獨立的函數(shù),由主程序調(diào)用。功能模塊包括:初始化程序(包括初始化C8051F930、SPI、Si4432)、無線發(fā)送程序、無線接收程序等。無線程序負責寫入數(shù)據(jù)凈荷,根據(jù)通信協(xié)議在數(shù)據(jù)凈荷中加入前導碼、同步字、數(shù)據(jù)凈荷長度和CRC校驗字節(jié),形成數(shù)據(jù)包發(fā)送出去;無線接收器負責接收和檢查數(shù)據(jù)包中的CRC字節(jié),以確保接收數(shù)據(jù)的正確性。
無線收發(fā)器模塊之間的通信以數(shù)據(jù)包的形式發(fā)送。本系統(tǒng)定義的數(shù)據(jù)包格式如下:其中,Preamble是一串10101010,個數(shù)為8n位,n的大小由用戶編程決定。在數(shù)據(jù)包傳輸過程中,會在每個包的前面添加一個長度可設置的前導碼;為了識別幀的到達,接收器需要前同步碼來同步幀,以便確定何時在收發(fā)器系統(tǒng)之間發(fā)送和接收數(shù)據(jù)。在前同步碼之后,SyncWord應使用設置的同步字作為同步模式的標志碼。系統(tǒng)設置的同步字為2字節(jié),同步字的內(nèi)容為0x2DD4。接收器在檢測到同步字之前不會接收數(shù)據(jù)。數(shù)據(jù)包長度是數(shù)據(jù)有效載荷的長度。有效負載是用戶發(fā)送的數(shù)據(jù)。CRC(CRC校驗和)由內(nèi)置的CRC校驗。Si4432集成了調(diào)制/解調(diào)、編碼/解碼等功能。,這樣前同步碼、同步字、包長、CRC都是硬件自動添加的,用戶只需要設置包結(jié)構(gòu)和部分結(jié)構(gòu)的具體內(nèi)容(比如前同步碼和同步字)。以半雙工通信為例,介紹了通信的實現(xiàn)過程。編程環(huán)境為Silabs IDE V3.61,在該編譯環(huán)境下通過了測試。Silabs IDE集成了源代碼編輯、程序源代碼級調(diào)試程序和系統(tǒng)內(nèi)Flash編程器。同時,它支持使用第三方編譯器和匯編器。(1)初始化程序初始化程序包括C8051F930的初始化,SPI的初始化,Si4432的無線收發(fā)頻率、工作模式、傳輸速率等內(nèi)部寄存器的初始化配置。系統(tǒng)上電后,C8051F930處于默認狀態(tài),會根據(jù)系統(tǒng)的功能要求再次初始化。C8051F930的數(shù)字交叉開關允許將內(nèi)部數(shù)字系統(tǒng)資源映射到端口I/O引腳,通過設置交叉開關控制寄存器,可以將片內(nèi)資源配置到特定的端口I/O引腳。該特性允許用戶根據(jù)自己的具體應用選擇通用端口I/O和所需數(shù)字資源的組合,提高了應用的靈活性。在該系統(tǒng)中,主要配置了四路SPI通信、LCD的數(shù)據(jù)線接口、控制線接口和RS232串口數(shù)據(jù)輸入/輸出。初始化SPI時,可以通過配置SPIlCFG寄存器和SPIlCN寄存器來選擇具體的使用規(guī)則。這里選擇主SPI,4線模式,時鐘極性為低電平,在時鐘上升沿采樣數(shù)據(jù);通過配置SPIlCKR寄存器,同步時鐘頻率可以設置為晶振頻率的1/4。上電開始,Si4432也是默認狀態(tài),需要配置才能工作。Si4432中有70多個寄存器需要配置,這些寄存器決定了Si4432的工作模式。具體配置請參考Si4432的數(shù)據(jù)手冊。Si4432的初始化是重要的一環(huán),配置是否合適對系統(tǒng)最終的通信效果影響很大。主控制器C8051F930通過SPI配置Si4432的1ch、1dh等寄存器,寫入相應的初始化射頻控制字(主要是頻率、傳輸速度、傳輸模式等。);設置數(shù)據(jù)包結(jié)構(gòu)、前同步碼長度、同步字內(nèi)容等。通過配置諸如33h和34h的寄存器。本系統(tǒng)采用同步傳輸模式,0x2DD4作為同步模式的符號碼。傳輸同步字后,傳輸數(shù)據(jù)負載。每次發(fā)送數(shù)據(jù)時,必須使用同步字0x2DD4作為發(fā)送數(shù)據(jù)的同步標志,接收端檢測到同步字后才會開始接收數(shù)據(jù)。(2)無線傳輸程序無線傳輸程序流程如圖3所示。C8051F930、SPI和Si4432初始化完成后,配置寄存器寫入相應的初始化RF控制字。接下來,通過配置Si4432的寄存器3eh來設置數(shù)據(jù)包長度,并通過SPI連續(xù)寫入寄存器7fh,將待發(fā)送的數(shù)據(jù)寫入TX FIFO。然后打開“發(fā)送中斷允許”標志,禁用其他中斷。當數(shù)據(jù)包發(fā)出時,nIRQ引腳將被拉低,產(chǎn)生一個低電平,通知C8051F930數(shù)據(jù)包已經(jīng)發(fā)出。中斷啟用后,發(fā)送功能啟用,數(shù)據(jù)開始發(fā)送。等待nIRQ引腳因中斷而拉低。當nIRQ引腳變?yōu)榈碗娖綍r,讀取中斷狀態(tài)并上拉nIRQ;否則,繼續(xù)等待。如果數(shù)據(jù)傳輸成功,指示燈將會亮起。第一次數(shù)據(jù)傳輸成功后,進入下一個數(shù)據(jù)周期傳輸狀態(tài)。(3)無線接收程序無線接收程序流程如圖4所示。
程序C8051F930、SPI接口和Si4432初始化完成后,配置寄存器寫入相應的初始化RF控制字。通過訪問寄存器7fh讀取從RX FIFO接收的數(shù)據(jù)。的相應控制字置1后,如果nIRQ引腳變?yōu)榈碗娖?,則意味著Si4432已準備好接收數(shù)據(jù)。在這些初始化配置完成后,通過寄存器4bh讀取包長度信息。然后,打開“有效數(shù)據(jù)包中斷”和“同步字檢測中斷”來禁用其他中斷。引腳nlRQ用于檢測是否檢測到有效數(shù)據(jù)包。如果引腳nIRQ變?yōu)榈碗娖?,則意味著檢測到有效數(shù)據(jù)包。本系統(tǒng)采用0x2DD4作為同步模式的符號碼,接收模塊通過檢測這個同步字來同步接收數(shù)據(jù)。最后,啟用接收功能,開始接收數(shù)據(jù)。等待nIRQ引腳因中斷而下拉,讀取中斷標志位以復位nlRQ引腳,使nIRQ返回初始高電平狀態(tài),為檢測下一個中斷觸發(fā)做準備。通過SPI讀取RX FIFO中的數(shù)據(jù),將數(shù)據(jù)發(fā)送到LCD OCM12864-9進行顯示,然后進入下一個數(shù)據(jù)接收狀態(tài)。PCB設計注意事項PCB設計對整個系統(tǒng)的性能影響很大。在設計Si4432的PCB時需要注意以下幾點:①為了消除走線的電感效應,PCB 空上要盡可能多的布置過孔。為了達到更好的射頻通信效果,整個PCB都要覆銅。當提供較好的射頻接地時,TX/RX區(qū)域的鍍銅區(qū)域有助于減少甚至避免輻射干擾。②電源接入端應增加一個去耦電容,并盡可能靠近Si4432芯片。濾波電容也應盡可能靠近相應的引腳,以便獲得更好的濾波性能。③Si4432中外圍元器件較少,應盡量使用0402封裝和小體積的芯片器件。其中電感是關鍵器件,所以需要高精度的電感。④④si 4432的扼流圈電感L1應盡可能靠近Tx引腳;并聯(lián)的RXn和RXp上的電感L2應與PCB平面上的L1垂直,Tx通道上的電感L1、L3、L4和L5的方向應相互垂直,以減少耦合;Tx通道與RX N/P通道之間的未布線區(qū)域應采用接地覆銅隔離,Tx通道匹配電路的布線區(qū)域應盡可能不占用過多的電路板面積。⑤晶振按以下參數(shù)選擇:等效串聯(lián)電阻60ω,負載電容12 pF,頻率精度20× 10-6。讓晶振盡可能靠近芯片的晶振接入引腳,用地線隔離時鐘區(qū)。⑥設計PCB時,QFN封裝的Si4432芯片底部接地。在Si4432芯片底部制作9個12 mil(1000 mil=25.4 mm)的接地過孔,保證良好的接地和散熱能力,增強通信可靠性。⑦板上的走線盡量不要穿過TX/Rxn/P區(qū)域,防止匹配網(wǎng)絡的耦合效應。4系統(tǒng)測試與分析為了驗證無線射頻收發(fā)系統(tǒng)設計的可靠性,進行了七組“發(fā)射模塊-接收模塊”通信實驗。當空開放通信距離約為1 500 m時,7組“發(fā)射模塊-接收模塊”分別工作在430.50 MHz、431.50 MHz和432.50 MHz 7個中心頻率,帶寬為112.8 kHz,頻偏為25 kHz,發(fā)送4 000個數(shù)據(jù)包。實驗結(jié)果列于表1中。從表1可以看出,當傳輸速率較低時,誤碼率為0;當傳輸速率為100 kbps(或以上)時,有一定的誤碼率,但誤碼率小于0.075%。因此,無線射頻收發(fā)系統(tǒng)具有傳輸距離遠、穿墻能力強、通信誤碼率低的特點。該系統(tǒng)可以擴展成網(wǎng)絡系統(tǒng),形成無線網(wǎng)絡,應用于現(xiàn)場控制或測控系統(tǒng)。本文設計的無線射頻收發(fā)系統(tǒng)可靠、穩(wěn)定、通用。只要稍加修改,就可以應用于其他短距離無線通信領域,如小區(qū)尋呼、工業(yè)數(shù)據(jù)采集、生物信號采集、無線遙控等。它具有很高的市場應用價值,為無線數(shù)據(jù)傳輸提供了很好的解決方案。
中承科技為客戶提供世界領先的無線射頻測試、無線綜合測試儀、通信測試儀表、無線通信測量、WiFi6e測試儀、藍牙綜測儀等解決,幫助客戶提高產(chǎn)品質(zhì)量、降低生產(chǎn)成本、提升綜合競爭力。