基于LPC2103和SI4432的無線通信系統(tǒng)設(shè)計(jì)
4.2 SI4432發(fā)射任務(wù)
本文引用地址:http://www.ex-cimer.com/article/245756.htm發(fā)射任務(wù)在LPC2103、SPI和SI4432的初始化后。配置寄存器使其進(jìn)入發(fā)射狀態(tài),然后讀取發(fā)射緩沖區(qū)(緩沖區(qū)就是一個(gè)靜態(tài)隊(duì)列數(shù)據(jù)結(jié)構(gòu))數(shù)據(jù)到TXFIFO里,當(dāng)數(shù)據(jù)包發(fā)送完時(shí),SI4432產(chǎn)生中斷,引腳nIRQ拉低從而通知LPC2103數(shù)據(jù)包發(fā)送完畢,LPC2103讀取該中斷信號(hào)從而釋放SI4432的nIRQ引腳,以便接收下一次中斷的產(chǎn)生。
無線監(jiān)控網(wǎng)關(guān)會(huì)根據(jù)所要傳遞到特定網(wǎng)關(guān)而切換到特定的信道,下面的子網(wǎng)關(guān)則使用特定的信道。無線發(fā)射流程圖如圖5所示。
4.3 SI4432接收任務(wù)
當(dāng)接收任務(wù)檢測(cè)到LPC2103的P0.16引腳被拉低時(shí),首先關(guān)閉SI4432接收,然后讀取其狀態(tài)寄存器釋放nIRQ,判斷數(shù)據(jù)包接收中斷和檢測(cè)該包是否有效。如果CRC也正確,LPC2103讀取RXFIFO中的數(shù)據(jù),將其寫入接收緩沖區(qū)(靜態(tài)隊(duì)列數(shù)據(jù)結(jié)構(gòu))。數(shù)據(jù)接收完畢后,清除RXFIFO打開接收使系統(tǒng)進(jìn)入下一次數(shù)據(jù)通信,無線監(jiān)控網(wǎng)關(guān)會(huì)監(jiān)聽所有的信道,而下面的子網(wǎng)關(guān)則使用特定的信道。無線接收程序流程如圖6所示。
4.4 讀緩沖區(qū)任務(wù)和寫緩沖任務(wù)
讀緩沖任務(wù)主要是讀取SI4432寫到緩沖區(qū)的數(shù)據(jù),傳送到串口,以便傳輸?shù)絇C或其他設(shè)備;寫緩沖區(qū)任務(wù)主要是把PC或其他設(shè)備準(zhǔn)備發(fā)射的數(shù)據(jù)由串口寫入到發(fā)射緩沖區(qū),由發(fā)射任務(wù)發(fā)射出去。
結(jié)語
本文設(shè)計(jì)了一種基于SI4432的無線通信平臺(tái),此通信平臺(tái)采用μC/OS-II和LPC2103作為操作系統(tǒng)和微控制器,通信的直線距離可達(dá)600~800 m,在建筑物內(nèi)通信質(zhì)量亦能得到保證,該通信平臺(tái)能夠應(yīng)用于多種場(chǎng)合。
數(shù)字通信相關(guān)文章:數(shù)字通信原理
通信相關(guān)文章:通信原理
評(píng)論