新聞中心

EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 系統(tǒng)軟件設(shè)計(jì) - 無線熱網(wǎng)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)方案的實(shí)現(xiàn)

系統(tǒng)軟件設(shè)計(jì) - 無線熱網(wǎng)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)方案的實(shí)現(xiàn)

作者: 時(shí)間:2012-07-14 來源:網(wǎng)絡(luò) 收藏
3.2

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

  編程采用模塊化思想,中各主要功能模塊均編成獨(dú)立的函數(shù)由主程序調(diào)用,功能模塊包括:初始化程序(包括初始化C8051 F310、SPI、Si4432)、發(fā)送程序以及接收程序等。發(fā)送程序負(fù)責(zé)寫入數(shù)據(jù)載荷,并根據(jù)通信協(xié)議為數(shù)據(jù)載荷加上前導(dǎo)碼、同步字、數(shù)據(jù)載荷長(zhǎng)度及CRC校驗(yàn)字節(jié),形成數(shù)據(jù)包將其發(fā)送出去;無線接收程序負(fù)責(zé)接收并檢驗(yàn)數(shù)據(jù)包中的CRC字節(jié),以確保接收到的數(shù)據(jù)的正確性。

  3.2.1 初始化程序

  初始化程序包括C8051F310的初始化、SPI的初始化,以及Si4432的關(guān)于無線收發(fā)頻率、工作模式、發(fā)射速率等內(nèi)部寄存器的初始化配置。

  上電后,C8051F310處于默認(rèn)狀態(tài),根據(jù)系統(tǒng)功能需求重新進(jìn)行初始化配置。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時(shí),可以通過塒SPI1CFG寄存器和SPI1CN寄存器的配置來選擇具體使用規(guī)則。這里,選擇主SPI,4線模式,時(shí)鐘極性為低電平,在時(shí)鐘上升沿時(shí)對(duì)數(shù)據(jù)采樣;通過配置SPI1CKR寄存器,可將同步時(shí)鐘頻率設(shè)為晶振頻率的1/4.

  上電之初,Si4432也處于默認(rèn)狀態(tài),需要進(jìn)行配置才能工作。Si4432有70多個(gè)寄存器需要配置,它們決定了Si4432的丁作模式,具體配置可以參考Si4432的數(shù)據(jù)手冊(cè)。Si4432的初始化是一個(gè)重要的部分,配置的恰當(dāng)與否對(duì)系統(tǒng)最終的通信效果有很大的影響。主控制器C8051 F310通過SPI配置Si4432的1ch、1dh等寄存器,寫入相應(yīng)的初始化RF控制字(主要是頻率、傳輸速度、傳輸方式等);通過配置33h、34h等寄存器來設(shè)置包的結(jié)構(gòu)、前導(dǎo)碼長(zhǎng)度、同步字內(nèi)容等。本系統(tǒng)采用同步傳輸模式,以0x2DD4作為同步模式的標(biāo)志碼,傳輸完同步字后才開始傳輸數(shù)據(jù)載荷。

  3.2.2 無線發(fā)送程序

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

  

  3.2.3 無線接收程序

  程序完成C8051F310、SPI接口和Si4432的初始化后,配置寄存器寫入相應(yīng)的初始化RF控制字。通過訪問寄存器7fh從RX FIFO中讀取接收到的數(shù)據(jù)。相應(yīng)的控制字設(shè)置好之后,若引腳nIRQ變成低電平,則表示Si4432準(zhǔn)備好接收數(shù)據(jù)。完成這些初始化配置后,通過寄存器4bh讀取包長(zhǎng)度信息。然后,打開“有效包中斷”和“同步字檢測(cè)中斷”,將其他中斷都禁止。引腳nIRQ用來檢測(cè)是否有有效包被檢測(cè)到,若引腳nIRQ變?yōu)榈碗娖?,則表示有效的數(shù)據(jù)包被檢測(cè)到。本系統(tǒng)用0x2DD4作為同步模式的標(biāo)志碼,接收模塊通過檢測(cè)這個(gè)同步字來同步接收數(shù)據(jù)。最后,使能接收功能,數(shù)據(jù)開始接收。等待nIRQ引腳因產(chǎn)生中斷而使電平拉低,讀取中斷標(biāo)志位復(fù)位nIRQ引腳,使nIRQ恢復(fù)至初始的高電平狀態(tài)以準(zhǔn)備下一次中斷觸發(fā)的檢測(cè)。通過SPI讀取RX FIFO中的數(shù)據(jù),之后進(jìn)入下一次數(shù)據(jù)接收狀態(tài)。無線接收程序流程如圖5所示。

  

  4 系統(tǒng)測(cè)試與分析

  為驗(yàn)證本無線射頻收發(fā)系統(tǒng)的可靠性,進(jìn)行了7組“發(fā)射模塊-接收模塊”通信實(shí)驗(yàn)。在空曠地通信距離約為1 600 m時(shí),7組“發(fā)射模塊-接收模塊”分別工作在430.50 MHz、431.50 MHz、432.50 MHz等7個(gè)中心頻率上,帶寬均取112.8 kHz,頻率偏移取±25 kHz,發(fā)送4 000個(gè)數(shù)據(jù)包,實(shí)驗(yàn)結(jié)果如表1所列。

  

  從表1中可以看出,在傳輸速率較低時(shí),誤碼率為0;在傳輸速率為100 kbps(或以上)時(shí),有一定的誤碼,但誤碼率不高于0.050%.因此,該無線射頻收發(fā)系統(tǒng)具有傳輸距離遠(yuǎn)、穿透能力強(qiáng)、通信誤碼率低的特點(diǎn)。

  結(jié)語

  采用Si4432這種短距離無線通信芯片,完全可以擴(kuò)充為一個(gè)網(wǎng)絡(luò)系統(tǒng),形成一個(gè)無線網(wǎng)絡(luò),使本系統(tǒng)在監(jiān)控系統(tǒng)的解決中不需要重新布線就可以有效地進(jìn)行溫度采集和控制;本文所設(shè)計(jì)的無線射頻收發(fā)系統(tǒng)工作可靠、穩(wěn)定,具有很好的通用性和適用性,所以基于Si4432芯片的無線通信技術(shù)可以給監(jiān)控系統(tǒng)的數(shù)據(jù)采集增加一種新的解決,但也需要對(duì)熱閥進(jìn)行數(shù)字化升級(jí)。隨著無線通信的發(fā)展,Si4432芯片的短距離無線通信技術(shù)和GPRS移動(dòng)通信技術(shù)將在工控系統(tǒng)中有廣闊的發(fā)展空間。

pos機(jī)相關(guān)文章:pos機(jī)原理



上一頁 1 2 下一頁

評(píng)論


相關(guān)推薦

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

關(guān)閉