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