xl4432-d01售后v2模塊軟件設(shè)計(jì)指南_第1頁
xl4432-d01售后v2模塊軟件設(shè)計(jì)指南_第2頁
xl4432-d01售后v2模塊軟件設(shè)計(jì)指南_第3頁
xl4432-d01售后v2模塊軟件設(shè)計(jì)指南_第4頁
xl4432-d01售后v2模塊軟件設(shè)計(jì)指南_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、XL4432-D01 模塊設(shè)計(jì)指南1 SI4432 概述:Si4432 主要有關(guān)閉模式,模式,發(fā)射模式和接收模式組成。關(guān)閉狀態(tài)下可以降低功耗,各模式切換必須先進(jìn)入掛起狀態(tài)再切換。其中的模式,給 SPI 寄存器地址 07h賦予不同的值,又分為五種不同的子模式。待機(jī)模式,睡眠模式,傳感器模式,預(yù)備模式,調(diào)諧模式。上電復(fù)位后,或者由掉電狀態(tài)退出后將默認(rèn)進(jìn)入預(yù)備模式。Si4432 數(shù)據(jù)傳輸方式主要有三種,F(xiàn)IFO 模式,直接模式,和 PN9 模式。在 FIFO Mode 下,使用片內(nèi)的先入先出堆棧區(qū)來發(fā)送和接收數(shù)據(jù)。對 FIFO 的操作是通過 SPI 對 07H 寄存器的連續(xù)讀或者寫進(jìn)行的。在 FIF

2、O Mode 下,Si4432 自動退出發(fā)送或者接收狀態(tài),當(dāng)相關(guān)的中斷信號產(chǎn)生,并且自動處理字頭和 CRC。在接收數(shù)據(jù)時(shí), 自動。把字頭和 CRC移去。在發(fā)送數(shù)據(jù)時(shí),自動加上字頭和 CRC在直接收發(fā)模式下,Si4432 如傳統(tǒng)的射頻收發(fā)器一樣工作PN9 模式,在這種模式下的 Tx 數(shù)據(jù)是產(chǎn)生使用偽隨機(jī)(PN9 序列)位發(fā)生器。這種模式的目的是用作測試模式不斷觀察調(diào)制頻譜,而不必負(fù)載/提供數(shù)據(jù)。配置 Si4432 模塊是通過 SPI 方式進(jìn)行的,可配置為 FIFO 方式和直接方式, Si4432 工作于 FIFO 收發(fā)模式,這種工作模式下,系統(tǒng)的程序編制會更加簡單,并且穩(wěn)定性也會更高.。其中配置

3、 Si4432 主要包括載波頻率、調(diào)制方式、數(shù)據(jù)發(fā)送速率、CRC 校驗(yàn)、前導(dǎo)碼、 同步字、數(shù)據(jù)頭、地址等,具體可參考寄存器配置工具進(jìn)行。Si4432 的寄存器操作:Si4432 共有 128 個(gè)寄存器(O 一 127),它們控制的工作和的狀態(tài)??赏ㄟ^)與 MCU 的順序相SPI 對它們進(jìn)行。SPI 的 it 順序是可配置的,其缺省配置(MSB同。命令格式為 2 字節(jié)結(jié)構(gòu):讀寫標(biāo)志(1 bit,0讀,l 一寫),寄存器地址(7 bit)+待寫數(shù)據(jù)(對于讀操作,該值也必須有,只是可為任意值)。每次可以讀寫 1多(burst)個(gè)字節(jié),它們是由時(shí)鐘信號決定的,在讀寫一個(gè)字節(jié)后,如果時(shí)鐘繼續(xù)有效,那么,

4、地址將會自動加 1,接下來的操作將是對下一個(gè)寄存器的讀寫。只能在空閑狀態(tài)下對寄存器進(jìn)行初始化,否則,可能會出現(xiàn)意外的結(jié)果。為了提高傳輸信號的質(zhì)量,增大發(fā)射距離,保證數(shù)據(jù)的傳輸,建議用曼徹斯特 Manchester)編碼、CRC 校驗(yàn)和采用 GFSK 調(diào)制。狀態(tài)機(jī):在完成不同的功能時(shí),轉(zhuǎn)移。所處的狀態(tài)是不同的。這些狀態(tài)在滿足一定的條件時(shí)可實(shí)現(xiàn)相互關(guān)閉(shutdown)和空閑(idle)狀態(tài)稱為低功耗狀態(tài),而 idle 又可細(xì)分為 5 個(gè)不同的子狀態(tài),它們在低功耗下完成各種與無線數(shù)據(jù)收發(fā)無關(guān)的操作。發(fā)送(Tx)和接收(RX)狀態(tài)稱為激活狀態(tài),它們完成無線數(shù)據(jù)的收發(fā)。除了關(guān)閉狀態(tài)外(只能通過 MC

5、U 的 IO 腳來設(shè)置),其余狀態(tài)都可以通過 SPI 接 El 進(jìn)行設(shè)置和??赏ㄟ^寄存器 07h 實(shí)現(xiàn)狀態(tài)的切換,這種切換表現(xiàn)在兩個(gè)方面:1)當(dāng)設(shè)置其中的某一位時(shí),狀態(tài)立即發(fā)生切換;2)在完成收發(fā)任務(wù)后,決定返回到 idle 狀態(tài)的哪一個(gè)子狀態(tài)(在本系統(tǒng)中為休眠狀態(tài),即設(shè)置 enwt=1)??赏ㄟ^ 02h寄存器獲取當(dāng)前的狀態(tài)。的常態(tài)為 idle,為了保證不漏收數(shù)據(jù),可利用喚醒定時(shí)器來定時(shí)喚醒進(jìn)入融狀態(tài)(此時(shí)要設(shè)置 08h 寄存器中的 enldm 位為 l,并設(shè)置定時(shí)常數(shù)寄存器14h 和 19h 中的值),在確認(rèn)沒有數(shù)據(jù)收完數(shù)據(jù)后再返回到原來的 idle 子狀態(tài)。用普通 51 單片機(jī) IO 口模

6、擬 SPI:SPI 讀操作函數(shù):unsigned char SPI_Read(void)unsigned char i,rxdata;rxdata = 0 x00;for (i = 0;i 8;i+)rxdata = rxdata1;SI4432_SCLK=0;if (SI4432_SDO=1)/最,保存至最末尾,通過左移位完成整個(gè)字節(jié)rxdata |= 0 x01;delay_10us(2);SI4432_SCLK=1;delay_10us(2);return rxdata;SPI 寫操作函數(shù):void SPI_Write(unsigned char txdata)unsigned char

7、 i;for (i = 0;i 8;i+)SI4432_SCLK=0;if (txdata&0 x80)=0 x80)/總是發(fā)送最SI4432_SDI=1;elseSI4432_SDI=0;txdata = txdata1;delay_10us(2);SI4432_SCLK=1;delay_10us(2);SI4432 寄存器讀操作函數(shù):unsigned charSI4432_ReadReg(unsigned charaddr)unsigned char value;SI4432_SEL=0;SPI_Write(addr|RR);value = SPI_Read();SI4432_SEL=1;

8、return value;SI4432 寄存器寫操作函數(shù):voidSI4432_WriteReg(unsigned charaddr, unsigned char value)SI4432_SEL=0;SPI_Write(addr|WR);SPI_Write(value);SI4432_SEL=1;程序設(shè)計(jì)思路SI4432編程采用模塊化設(shè)計(jì),系統(tǒng)中各主要功能模塊均編成獨(dú)立的函數(shù)由主程序調(diào)用。功能模塊包括:初始化程序(包括初始化單片機(jī)、SPI、Si4432),無線發(fā)送程序,無線接收程序等。無線發(fā)送程序負(fù)責(zé)寫入數(shù)據(jù),并根據(jù)通信協(xié)議為數(shù)據(jù)加上前導(dǎo)碼、同步字、數(shù)據(jù)長度及 CRC 校驗(yàn)字節(jié),形成數(shù)據(jù)包將

9、其發(fā)送出去;無線接收程序負(fù)責(zé)接收并檢驗(yàn)數(shù)據(jù)包中的 CRC 字節(jié),以確保接收到的數(shù)據(jù)的正確性。無線收發(fā)模塊之間的通信是以數(shù)據(jù)包的形式發(fā)送的,本系統(tǒng)定義的數(shù)據(jù)包格式如下:其中,Preamble(前導(dǎo)碼)是一連串的 10101010,其數(shù)量為 8n 位,n 的大小由用戶編程決定。數(shù)據(jù)包在傳輸過程中會在每個(gè)包的前面加上可設(shè)置長度的前導(dǎo)碼;接收端為了識別幀的到來,需要前導(dǎo)碼進(jìn)行幀同步,從而確定收發(fā)系統(tǒng)之間何時(shí)發(fā)送和接收數(shù)據(jù)。SyncWord(同步字)導(dǎo)碼之后,要用設(shè)定好的同步字來作為同步模式的標(biāo)志碼。本系統(tǒng)設(shè)定的同步字為 2 個(gè)字節(jié),同步字內(nèi)容為 0 x2DD4,接收端在檢測到同步字后才開始接收數(shù)據(jù)。P

10、acket Length 是數(shù)據(jù)載荷長度。PAYLOAD(有效數(shù)據(jù))是用戶所發(fā)送的數(shù)據(jù)。CRC(CRC 校驗(yàn)和)由內(nèi)置CRC 校檢。Si4432集成有調(diào)制解調(diào)、編碼等功能,從而 Preamble、Syncword、Packet Length 和CRC 都是硬件自動加上去的,用戶只需設(shè)定數(shù)據(jù)包的組成結(jié)構(gòu)和部分結(jié)構(gòu)的具體內(nèi)容(如前導(dǎo)碼和同步字)。(1)初始化程序初始化程序包括單片機(jī)的初始化,SPI 的初始化,以及 Si4432 的關(guān)于無線收發(fā)頻率、工作模式、發(fā)射速率等寄存器的初始化配置。系統(tǒng)上電后,單片機(jī)處于默認(rèn)狀態(tài),根據(jù)系統(tǒng)功能需求重新進(jìn)行初始化配置。單片機(jī)的數(shù)字交叉開關(guān)允許將數(shù)字系統(tǒng)資源到端口

11、 IO 引腳,可通過設(shè)置交叉開關(guān)控制寄存器,將片內(nèi)資源配置到具體的端口 IO 引腳上。這一特性允許用戶根據(jù)自己的特定應(yīng)用選擇通用端口 IO 和所需數(shù)字資源的組合,提高了應(yīng)用的靈活性。本系統(tǒng)中,主要配置了 SPI 通信的 4 線,液晶 LCD 的數(shù)據(jù)線接口、控制線接口和 RS232 串口數(shù)據(jù)輸入輸出等。初始化 SPI 時(shí),可以通過對 SPI1CFG 寄存器和寄存器的配置來選擇具體使用規(guī)則。這里,選擇主 SPI,4 線模式,時(shí)鐘極性為低電平,在時(shí)鐘上升沿時(shí)對數(shù)據(jù)采樣;通過配置 SPI1CKR 寄存器,可將同步時(shí)鐘頻率設(shè)為晶振頻率的 14。上電之初,Si4432 也處于默認(rèn)狀態(tài),需要進(jìn)行配置才能工作

12、。Si4432 有 70 多個(gè)寄存器需要配置,它們決定了 Si4432 的工作模式,具體配置可以參考 Si4432 的。Si4432的初始化是一個(gè)重要的部分,配置的恰當(dāng)與否對系統(tǒng)最終的通信效果有很大的影響。主控制器單片機(jī)通過 SPI 配置 Si4432 的 1ch、1dh 等寄存器,寫入相應(yīng)的初始化 RF 控制字(主要是頻率、傳輸速度、傳輸方式等);通過配置 33h、34h 等寄存器來設(shè)置包的結(jié)構(gòu)、前導(dǎo)碼長度、同步字內(nèi)容等。本系統(tǒng)采用同步傳輸模式,以 0 x2DD4 作為同步模式的標(biāo)志碼,傳輸完同步字后才開始傳輸數(shù)據(jù)載荷。每次發(fā)送數(shù)據(jù)必須以同步字 0 x2DD4 作為發(fā)送數(shù)據(jù)的同步標(biāo)志,接收端

13、在檢測到同步字后才開始接收數(shù)據(jù)。(2)無線發(fā)送程序無線發(fā)送程序流程如圖 3 所示。完成單片機(jī)、SPI 和 Si4432 的初始化后,配置寄存器寫入相應(yīng)的初始化 RF 控制字。接下來,通過配置 Si4432 的寄存器 3eh 來設(shè)置包的長度,通過SPI 連續(xù)寫寄存器 7fh,往 TX FIFO 里寫入需要發(fā)送的數(shù)據(jù)。然后打開“發(fā)送完中斷允許”標(biāo)志,將其他中斷都。當(dāng)有數(shù)據(jù)包發(fā)送完時(shí),引腳 nIRQ 會被拉低以產(chǎn)生一個(gè)低電平從而通知單片機(jī)數(shù)據(jù)包已發(fā)送完畢。完成中斷使能后,使能發(fā)送功能,數(shù)據(jù)開始發(fā)送。等待nIRQ 引腳因中斷產(chǎn)生而使電平拉低,當(dāng) nIRQ 引腳變?yōu)榈蜁r(shí)中斷狀態(tài)并拉高 nIRQ,否則繼續(xù)等待。如果數(shù)據(jù)發(fā)送成功,指示燈會變亮。一次數(shù)據(jù)發(fā)送成功后,進(jìn)入下一次數(shù)據(jù)循環(huán)發(fā)送狀態(tài)。(3)無線接收程序無線接收程序流程如圖 4 所示。程序完成單片機(jī)、SPI 接口和 Si4432 的初始化后,配置寄存器寫入相應(yīng)的初始化 RF 控制字。通過寄存器 7fh 從 RX FIFO 中接收到的數(shù)據(jù)。相應(yīng)的控制字設(shè)置好之后,若引腳 nIRQ 變成低電平,則表示 Si4432 準(zhǔn)備好接收數(shù)據(jù)。完成這些初始化配置后,通過寄存器 4bh包長度信息。然后,打開“有效包中斷”和“同步字檢測中斷”,將其他中斷都。引腳

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論