新聞中心

EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > Si4432的無線熱網(wǎng)監(jiān)測系統(tǒng)設(shè)計

Si4432的無線熱網(wǎng)監(jiān)測系統(tǒng)設(shè)計

作者: 時間:2012-05-08 來源:網(wǎng)絡(luò) 收藏

的13~16腳是標準的SPI接口,17腳(nIRQ)是中斷狀態(tài)輸出引腳。當FIFO溢出、有效的數(shù)據(jù)包發(fā)送或接收、CRC錯誤、檢測到前導(dǎo)位和同步字、上電復(fù)位等情況發(fā)生,且相應(yīng)的中斷被使能時,17腳都會產(chǎn)生一個低電平以通知單片機有中斷產(chǎn)生。20腳(SDN)決定了芯片的工作狀態(tài)。當SDN接地(SDN=0)時,芯片處于常規(guī)工作模式;接高電平(SDN=1)時,芯片處于掉電模式。掉電模式下寄存器中的內(nèi)容會丟失,且不允許SPI訪問,但芯片的電流損耗只有10 nA,功耗很低,因此適合要求極低功耗的應(yīng)用。在連接到電源后,在SDN的下降沿上電復(fù)位,根據(jù)指令轉(zhuǎn)換到其他工作模式。
單片機可以通過內(nèi)置SPI對的內(nèi)部寄存器進行讀寫操作,靈活配置各項參數(shù)。通過SPI接口完成對Si4432的初始化配置、讀寫數(shù)據(jù)、訪問FIFO等操作。使用4線SPI,即MOSI、MISO、SCK和nSEL。MOSI用于從單片機到Si4432的串行數(shù)據(jù)傳輸;MISO用于從Si4432到單片機的串行數(shù)據(jù)傳輸;SCK用于同步單片機和Si4432之間在MOSI和MISO線上的串行數(shù)據(jù)傳輸;nSEL作為片選信號,只有片選信號為低電平時,對Si44 32的操作才有效。
為了達到較好的通信效果,Si4432的接收低噪聲放大器匹配電路和發(fā)射功率放大器匹配電路的阻容參數(shù),應(yīng)嚴格按照數(shù)據(jù)手冊提供的參數(shù)選型。前端的分集式電路采用UPG2214TB,其VC1腳和VC2腳分別連接Si4432的GPIO1和GPIO2。通過這款交叉開關(guān)實現(xiàn)分集式天線發(fā)送和接收通道的自動切換。
3.2 軟件
軟件編程采用模塊化思想,中各主要功能模塊均編成獨立的函數(shù)由主程序調(diào)用,功能模塊包括:初始化程序(包括初始化C8051 F310、SPI、Si4432)、發(fā)送程序以及接收程序等。發(fā)送程序負責(zé)寫入數(shù)據(jù)載荷,并根據(jù)通信協(xié)議為數(shù)據(jù)載荷加上前導(dǎo)碼、同步字、數(shù)據(jù)載荷長度及CRC校驗字節(jié),形成數(shù)據(jù)包將其發(fā)送出去;無線接收程序負責(zé)接收并檢驗數(shù)據(jù)包中的CRC字節(jié),以確保接收到的數(shù)據(jù)的正確性。
3.2.1 初始化程序
初始化程序包括C8051F310的初始化、SPI的初始化,以及Si4432的關(guān)于無線收發(fā)頻率、工作模式、發(fā)射速率等內(nèi)部寄存器的初始化配置。
上電后,C8051F310處于默認狀態(tài),根據(jù)系統(tǒng)功能需求重新進行初始化配置。C8051F310的數(shù)字交叉開關(guān)允許將內(nèi)部數(shù)字系統(tǒng)資源映射到端口I/O引腳,可通過設(shè)置交叉開關(guān)控制寄存器,將片內(nèi)資源配置到具體的I/O引腳上。這一特性允許用戶根據(jù)自己的特定應(yīng)用選擇通用I/O端口和所需數(shù)字資源的組合,提高了應(yīng)用的靈活性。本系統(tǒng)中,主要配置了SPI通信的4線,液晶LCD的數(shù)據(jù)線接口、控制線接口等。
初始化SPI時,可以通過塒SPI1CFG寄存器和SPI1CN寄存器的配置來選擇具體使用規(guī)則。這里,選擇主SPI,4線模式,時鐘極性為低電平,在時鐘上升沿時對數(shù)據(jù)采樣;通過配置SPI1CKR寄存器,可將同步時鐘頻率設(shè)為晶振頻率的1/4。
上電之初,Si4432也處于默認狀態(tài),需要進行配置才能工作。Si4432有70多個寄存器需要配置,它們決定了Si4432的丁作模式,具體配置可以參考Si4432的數(shù)據(jù)手冊。Si4432的初始化是一個重要的部分,配置的恰當與否對系統(tǒng)最終的通信效果有很大的影響。主控制器C8051 F310通過SPI配置Si4432的1ch、1dh等寄存器,寫入相應(yīng)的初始化RF控制字(主要是頻率、傳輸速度、傳輸方式等);通過配置33h、34h等寄存器來設(shè)置包的結(jié)構(gòu)、前導(dǎo)碼長度、同步字內(nèi)容等。本系統(tǒng)采用同步傳輸模式,以0x2DD4作為同步模式的標志碼,傳輸完同步字后才開始傳輸數(shù)據(jù)載荷。
3.2.2 無線發(fā)送程序
無線發(fā)送程序流程如圖4所示。完成C8051F310、SPI和Si4432的初始化后,配置寄存器寫入相應(yīng)的初始化RF控制字。接下來,通過配置Si4432的寄存器3eh來設(shè)置包的長度,通過SPI連續(xù)寫寄存器7fh,往TX FIFO里寫入需要發(fā)送的數(shù)據(jù)。然后打開“發(fā)送完中斷允許”標志,將其他中斷都禁止。當有數(shù)據(jù)包發(fā)送完時,引腳nIRQ會被拉低以產(chǎn)生一個低電平從而通知C8051F310數(shù)據(jù)包已發(fā)送完畢。完成中斷使能后,使能發(fā)送功能,數(shù)據(jù)開始發(fā)送。等待nIRQ引腳因中斷產(chǎn)生而使電平拉低,當nIRQ引腳變?yōu)榈蜁r讀取中斷狀態(tài)并拉高nIRQ,否則繼續(xù)等待。一次數(shù)據(jù)發(fā)送成功后,進入下一次數(shù)據(jù)循環(huán)發(fā)送狀態(tài)。

本文引用地址:http://butianyuan.cn/article/155013.htm

d.jpg



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉