基于LPC2103和SI4432的無線通信系統(tǒng)設計
摘要:目前大多數(shù)無線通信設備通信距離近,硬件成本高,設計復雜。本設計采用基于微功率通信芯片SI4432、LPC2103微控制器和μC/OS-II嵌入式操作系統(tǒng)設計的無線通信系統(tǒng),不僅通信距離遠、模塊成本低、集成度高、通信質量高,而且軟件設計簡單、擴展性好,可廣泛用于工業(yè)控制、終端通信、智能控制等領域。
本文引用地址:http://cafeforensic.com/article/245756.htm引言
隨著信息技術的飛速發(fā)展,短距離無線通信技術的應用已經(jīng)越來越廣泛,硬件低成本,協(xié)議簡單的無線通信系統(tǒng)越來越受到歡迎。現(xiàn)有的一些通信技術包括WiFi和UWB,WiFi是一種無線網(wǎng)絡通信技術,可以改善基于IEEE802.11標準的無線網(wǎng)絡產(chǎn)品之間的互通性。UWB(Ultra Wideband)是一種無載波通信技術,它利用納秒至微微秒級的非正弦波窄脈沖傳輸數(shù)據(jù)。但采用這些方式其硬件成本較高,協(xié)議相對復雜。本文采用基于通信芯片SI4432設計的無線通信系統(tǒng),不儀通信質量好,而且成本低和開發(fā)難度低,可應用于無線通信、智能控制等領域。
1 系統(tǒng)網(wǎng)絡結構
本方案采用分布集散數(shù)據(jù)采集控制系統(tǒng)結構,如圖1所示,由一個控制工作站(主操作臺)、多個無線監(jiān)控網(wǎng)關和多個無線控制節(jié)點組成。無線控制節(jié)點(即用戶所使用的設備和無線I/O模塊)通過無線監(jiān)控網(wǎng)關與控制工作站通信。
2 無線通信系統(tǒng)總體設計
該系統(tǒng)用LPC2103微控制器控制SI4432實現(xiàn)數(shù)據(jù)收發(fā),系統(tǒng)軟件采用μC/OS-II嵌入式操作系統(tǒng)。μC/OS-II采用的是可剝奪型實時多任務內核,該通信系統(tǒng)將分解成若干任務,實現(xiàn)模塊化設計。串口接收任務將數(shù)據(jù)寫入發(fā)送緩沖區(qū),發(fā)送任務從發(fā)送緩沖區(qū)取得數(shù)據(jù)并將數(shù)據(jù)傳輸給SI4432進行編碼處理,并以特定的格式經(jīng)天線發(fā)送給接收模塊。接收任務負責接收來自SI4432的數(shù)據(jù),并將數(shù)據(jù)寫入接收緩沖區(qū),串口的接收任務將數(shù)據(jù)傳到PC機或其他設備。無線收發(fā)模塊的硬件結構如圖2所示。
3 系統(tǒng)硬件設計
主控芯片采用飛利浦公司生產(chǎn)的LPC2103芯片,LPC2103是基于ARM7TDMI-S CPU的微控制器,由于內置了寬范圍的串行通信接口(范圍從多個UART、SPI和SSP到兩條I2C總線)和8 KB的片內SRAM,非常適合通信網(wǎng)關和協(xié)議轉換器應用,可以通過內置SPI控制器對SI4432的內部寄存器進行讀寫操作,根據(jù)實際情況配置各項參數(shù)。通過SPI接口完成對SI4432的各種配置和操作,如初始化配置、讀寫數(shù)據(jù)、訪問FIFO等。MOSI和MISO用于實現(xiàn)LPC2103到SI4432的雙工傳輸;SCK用于串行數(shù)據(jù)傳輸?shù)耐?nSEL作為片選信號。SPI接口示意圖如圖3所示。
4 系統(tǒng)軟件設計
采用μC/OS-II作為操作系統(tǒng),該系統(tǒng)將分解成幾個任務:系統(tǒng)初始化任務、SI4432發(fā)射任務、SI4432接收任務、讀緩沖區(qū)任務、寫緩沖任務。軟件合理設定任務的優(yōu)先級,μC/OS-II是基于優(yōu)先級調度執(zhí)行的。
4.1 系統(tǒng)初始化任務
系統(tǒng)初始化任務包括目標板初始化、SPI接口初始化、SI4432初始化。
4.1.1 目標板初始化
目標板初始化主要是定時器0初始化和注冊定時器0中斷服務程序。μC/OS-II要求提供時鐘中斷以實現(xiàn)延時與超時控制功能,多任務系統(tǒng)啟動以后,也就是涮用OSStart()之后第一件事就是初始化定時器,定時器0初始化:
μC/OS-II中的時鐘節(jié)拍服務是通過在中斷服務子程序中調用OSTimeTick()實現(xiàn)的,OSTimeTick()跟蹤所有任務的定時器以及超時時限。
4.1.2 SPI接口初始化
為了使LPC2103與SI4432能更高速地進行雙向數(shù)據(jù)傳輸,將前者配置為SPI主機模式后者為從機模式。由于SI4432的所有配置都是通過SPI接口進行的,配置的恰當與否對系統(tǒng)最終的通信效果有很大的影響。SPI初始化為主機,部分程序如下:
4.1.3 SI4432初始化
SI4432主要是自組織協(xié)議設計和一些寄存器配置。自組織協(xié)議格式如圖4所示。
其中,Pre表示前導碼,這些字符雜波不容易產(chǎn)生,通過測試和試驗發(fā)現(xiàn),噪聲中不容易產(chǎn)生0x55和0xAA等非常有規(guī)律的信號,因此前導碼采用0x55AA;Sync(同步字)在前導碼之后,本系統(tǒng)設定的同步字為2B,同步字內容為0x2DD4,接收端在檢測到同步字后才開始接收數(shù)據(jù);本系統(tǒng)不需要TX header(幀頭);Data表示有效數(shù)據(jù);CRC表示檢驗位,說明采用何種校驗方式,可避免接收錯誤的數(shù)據(jù)包;SI4432內部集成有調制/解調、編碼/解碼等功能,Pre、Sync和CRC都是由SI4432自動填充,用戶只需設定數(shù)據(jù)包的組成結構和有效數(shù)據(jù)即可。
數(shù)字通信相關文章:數(shù)字通信原理
通信相關文章:通信原理
評論