基於通信晶片SI4432和μC/OS-II作業系統實現無線通信系統的設計

2020-12-27 電子發燒友

基於通信晶片SI4432和μC/OS-II作業系統實現無線通信系統的設計

李鵬飛 發表於 2020-03-06 09:35:10

引言

隨著信息技術的飛速發展,短距離無線通信技術的應用已經越來越廣泛,硬體低成本,協議簡單的無線通信系統越來越受到歡迎。現有的一些通信技術包括WiFi和UWB,WiFi是一種無線網絡通信技術,可以改善基於IEEE802.11標準的無線網絡產品之間的互通性。UWB(Ultra Wideband)是一種無載波通信技術,它利用納秒至微微秒級的非正弦波窄脈衝傳輸數據。但採用這些方式其硬體成本較高,協議相對複雜。本文採用基於通信晶片SI4432設計的無線通信系統,不儀通信質量好,而且成本低和開發難度低,可應用於無線通信、智能控制等領域。

1 、系統網絡結構

本方案採用分布集散數據採集控制系統結構,如圖1所示,由一個控制工作站(主操作臺)、多個無線監控網關和多個無線控制節點組成。無線控制節點(即用戶所使用的設備和無線I/O模塊)通過無線監控網關與控制工作站通信。

2、 無線通信系統總體設計

該系統用LPC2103微控制器控制SI4432實現數據收發,系統軟體採用μC/OS-II嵌入式作業系統。μC/OS-II採用的是可剝奪型實時多任務內核,該通信系統將分解成若干任務,實現模塊化設計。串口接收任務將數據寫入發送緩衝區,發送任務從發送緩衝區取得數據並將數據傳輸給SI4432進行編碼處理,並以特定的格式經天線發送給接收模塊。接收任務負責接收來自SI4432的數據,並將數據寫入接收緩衝區,串口的接收任務將數據傳到PC機或其他設備。無線收發模塊的硬體結構如圖2所示。

3 、系統硬體設計

主控晶片採用飛利浦公司生產的LPC2103晶片,LPC2103是基於ARM7TDMI-S CPU的微控制器,由於內置了寬範圍的串行通信接口(範圍從多個UART、SPI和SSP到兩條I2C總線)和8 KB的片內SRAM,非常適合通信網關和協議轉換器應用,可以通過內置SPI控制器對SI4432的內部寄存器進行讀寫操作,根據實際情況配置各項參數。通過SPI接口完成對SI4432的各種配置和操作,如初始化配置、讀寫數據、訪問FIFO等。MOSI和MISO用於實現LPC2103到SI4432的雙工傳輸;SCK用於串行數據傳輸的同步;nSEL作為片選信號。SPI接口示意圖如圖3所示。

4、 系統軟體設計

採用μC/OS-II作為作業系統,該系統將分解成幾個任務:系統初始化任務、SI4432發射任務、SI4432接收任務、讀緩衝區任務、寫緩衝任務。軟體合理設定任務的優先級,μC/OS-II是基於優先級調度執行的。

4.1 系統初始化任務

系統初始化任務包括目標板初始化、SPI接口初始化、SI4432初始化。

4.1.1 目標板初始化

目標板初始化主要是定時器0初始化和註冊定時器0中斷服務程序。μC/OS-II要求提供時鐘中斷以實現延時與超時控制功能,多任務系統啟動以後,也就是涮用OSStart()之後第一件事就是初始化定時器,定時器0初始化:

4.1.2 SPI接口初始化

為了使LPC2103與SI4432能更高速地進行雙向數據傳輸,將前者配置為SPI主機模式後者為從機模式。由於SI4432的所有配置都是通過SPI接口進行的,配置的恰當與否對系統最終的通信效果有很大的影響。SPI初始化為主機,部分程序如下:

4.1.3 SI4432初始化

SI4432主要是自組織協議設計和一些寄存器配置。自組織協議格式如圖4所示。

其中,Pre表示前導碼,這些字符雜波不容易產生,通過測試和試驗發現,噪聲中不容易產生0x55和0xAA等非常有規律的信號,因此前導碼採用0x55AA;Sync(同步字)在前導碼之後,本系統設定的同步字為2B,同步字內容為0x2DD4,接收端在檢測到同步字後才開始接收數據;本系統不需要TX header(幀頭);Data表示有效數據;CRC表示檢驗位,說明採用何種校驗方式,可避免接收錯誤的數據包;SI4432內部集成有調製/解調、編碼/解碼等功能,Pre、Sync和CRC都是由SI4432自動填充,用戶只需設定數據包的組成結構和有效數據即可。

4.2 SI4432發射任務

發射任務在LPC2103、SPI和SI4432的初始化後。配置寄存器使其進入發射狀態,然後讀取發射緩衝區(緩衝區就是一個靜態隊列數據結構)數據到TXFIFO裡,當數據包發送完時,SI4432產生中斷,引腳nIRQ拉低從而通知LPC2103數據包發送完畢,LPC2103讀取該中斷信號從而釋放SI4432的nIRQ引腳,以便接收下一次中斷的產生。

無線監控網關會根據所要傳遞到特定網關而切換到特定的信道,下面的子網關則使用特定的信道。無線發射流程圖如圖5所示。

4.3 SI4432接收任務

當接收任務檢測到LPC2103的P0.16引腳被拉低時,首先關閉SI4432接收,然後讀取其狀態寄存器釋放nIRQ,判斷數據包接收中斷和檢測該包是否有效。如果CRC也正確,LPC2103讀取RXFIFO中的數據,將其寫入接收緩衝區(靜態隊列數據結構)。數據接收完畢後,清除RXFIFO打開接收使系統進入下一次數據通信,無線監控網關會監聽所有的信道,而下面的子網關則使用特定的信道。無線接收程序流程如圖6所示。

4.4 讀緩衝區任務和寫緩衝任務

讀緩衝任務主要是讀取SI4432寫到緩衝區的數據,傳送到串口,以便傳輸到PC或其他設備;寫緩衝區任務主要是把PC或其他設備準備發射的數據由串口寫入到發射緩衝區,由發射任務發射出去。

結語

本文設計了一種基於SI4432的無線通信平臺,此通信平臺採用μC/OS-II和LPC2103作為作業系統和微控制器,通信的直線距離可達600~800 m,在建築物內通信質量亦能得到保證,該通信平臺能夠應用於多種場合。

責任編輯:gt

打開APP閱讀更多精彩內容

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴

相關焦點

  • 基於MCU和nRF24L01的無線通信系統設計
    有線模式下的數據通訊系統,由於受時空、環境等因素的制約,不能完全滿足所有條件下任務的執行,而通過無線數據傳輸方式代替有線數據傳輸,則能很好地解決此類問題。綜上論述,文中提出一種基於高性能MCU和nRF24L01的網絡化無線通信系統的解決方案,穩定可靠地實現數據傳輸,滿足各種條件的需要。   無線通信主要包括微波通信和衛星通信。微波是一種無線電波,它傳送的距離一般只有幾十千米。
  • 基於Nios II自助點菜系統的μC/GUI應用
    本文根據自助點菜系統的實際應用,詳細介紹了μC/GUI移植方法,並在融合觸控螢幕操作的基礎上實現控制項使用和作業系統開發。1 硬體系統中顧客使用終端觸控螢幕瀏覽服務信息並實現相關操作,通過無線區域網路和前臺通信。各個點菜終端作為獨立系統工作,所有數據傳到前臺上位機協調處理。本文僅介紹與μC/GUI相關的點菜終端構成部分。
  • μClinux、μC/OS-II、eCos、FreeRTOS和djyos作業系統的特點及不足
    基於STM平臺且滿足實時控制要求作業系統,有以下5種可供移植選擇。分別為μClinux、μC/OS-II、eCos、FreeRTOS和都江堰作業系統(djyos)。本文引用地址:http://www.eepw.com.cn/article/201809/391845.htm  下面分別介紹這五種嵌入式作業系統的特點及不足。
  • 基於HW2181B的航模無線遙控通信系統設計與實現
    片上集成高性能、低功耗的RF收發器和32位MCU(單片機)。本設計採用HW2181B SoC單片機作為航模無線遙控通信系統的核心晶片,在單片機的控制下實現航模無線遙控通信系統的遙控器端與接收器端的數據傳輸及2.4G 通信頻道的自動跳頻,有效地改善了通信質量和通信距離。
  • 基於GPRS網絡和ZigBee無線通信技術的無線抄表系統設計
    基於GPRS網絡和ZigBee無線通信技術的無線抄表系統設計 電子設計 發表於 2018-11-21 09:15:00 引言 隨著城市居民住宅建設日益發展,抄表計量也日趨複雜。
  • 嵌入式μC/OS-II系統中基於ECB基本存儲單元實現信號量管理的設計
    嵌入式μC/OS-II系統中基於ECB基本存儲單元實現信號量管理的設計 李巖;谷萍萍 發表於 2020-03-10 10:25:12 隨著嵌入式技術的發展,實時作業系統
  • 一種基於μC/OS-III及STM32的多功能控制器
    電動軌道車控制系統一般分為多個子系統,子系統受一個主控器控制。這樣的結構設計繁瑣,編程複雜。採用μC/OS-III作業系統、STM32F103RC微控制器、12864液晶屏、PVC按鍵、無線串口模塊、鋰電池等實現具有人機界面、無線串口功能的總線主控器。
  • 基於μCLinux的USB驅動程序實現
    在此介紹FTDI公司的USB晶片FT245BL的主要性能、工作原理,並將其應用在Blackfin ADSP-BF533微處理器的嵌入式開發平臺上,說明在μClinux下編寫與加載USB接口晶片FT245BL的驅動程序方法,實現了DSP主板的 USB埠通信。
  • 基於藍牙無線通信技術實現即插即用傳感器測量系統的設計
    基於藍牙無線通信技術實現即插即用傳感器測量系統的設計 賈茹婷,周浩敏, 發表於 2021-01-04 10:16:15   作者:賈茹婷,周浩敏,雷程煒 引 言 隨著測控系統的自動化程度
  • 基於WiFi無線通信的溫溼度檢測節點設計
    摘要:基於AM2303溫溼度傳感器、STC15F104W單片機和WiFi模塊設計了一種無線溫溼度檢測節點。介紹了AM2303及其通信協議、WiFi模塊及其組網特性等,並且給出了讀取AM2303數據的軟體流程。經測試,該節點通信距離遠,組網靈活,可很好地應用於糧庫糧情檢測等實際工作環境。
  • 無線通信系統的GUI設計與仿真實現
    圖形用戶界面具有很強的交互性,在這樣的一個良好的用戶界面中可以方便地進行通信系統的參數設置,可以同步顯示通信信號經過每一步處理後的波形,能夠 使用戶更為方便地對無線通信系統進行軟體設計和功能分析。  通信的目的就是傳輸信息。通信系統的作用就是將信號從信源發送到一個或多個信宿。
  • 一種基於乙太網的光無線通信系統
    摘要:介紹了一種基於乙太網的光無線通信系統。該系統以高性能的乙太網收發晶片IP113為核心,配以必要的外圍器件,結合所研製的調製驅動電路和接收解調電路,實現了乙太網藉助光波進行遠距離通信的系統設計。
  • 一種基於Sim卡座的GPRS無線通信模塊設計
    (如多功能電能表、故障測錄儀、抄表系統和用電負荷監控等),從而使這些儀器儀表具有遠程通信功能。本文設計的GPRS無線通信模塊,內嵌入了TCP/IP協議,採用工業級的GPRS模塊,適用於單片機數據採集傳輸系統沒有TCP/IP協議棧,但使用串口通信的情況。
  • 嵌入式作業系統中USB雙向通信的設計與實現
    3USB雙向通信的設計與實現  本文USB雙向通信在基本傳輸方式上採用USB塊傳輸[1]。他由USB初始化、USB中斷處理、控制傳輸和塊傳輸幾部分組成[2]。在實現雙向通信上,具體通信機制是:嵌入式應用程式通過讀寫循環隊列和信號量狀態與USB 硬體模塊中的OUT 和IN FIFO相互通信,而USB下位機與上位機(PC)的讀寫通信則通過上位機對控制包的讀寫來實現,最後通過循環隊列、信號量、控制包3者結合達到USB雙向通信的目的。
  • 基於ZigBee的單片機無線通信系統實現
    國外對無線傳感器技術研究較早,也已經有很多成熟的產品面世,如iMote2、TelosB、MicaZ以及WaspMote等。隨著開源單片機系統開發平臺Arduino的普及,基於ZigBee協議標準的XBee系列產品也日漸流行。本文主要針對XBee產品系列中的XBee Pro ZB,探討了使用ZigBee協議進行單片機之間無線通信的方法。
  • 基於4G的嵌入式數據通信系統研究
    4G-Ready 作為未來4G 移動通信關鍵預備技術的一個領域,在構建無線通信網絡和無線數據通信系統中具有重要應用前景。其中,將4G-Ready 與Wi-Fi 技術、Blutooth 藍牙技術、GPS 全球定位系統以及基於ARM 核的嵌入式技術進行集成,以Linux-C、Java 程式語言開發應用軟體系統,能夠構成一個具有多種功能、技術性能優越和先進實用的嵌入式Wi-Fi 無線通信網絡終端系統,以滿足構建城市智能交通管理、市政環境保護監控和風景區信息管理等領域的無線數據通信應用需求。
  • ARM晶片基於linux嵌入式作業系統實現的CMU控制器方案
    ARM晶片基於linux嵌入式作業系統實現的CMU控制器方案 佚名 發表於 2017-12-02 07:32:00     zigbee無線通信與linux嵌入式作業系統是電子人都經常接觸的,在這裡我們設計了一種以
  • 基於Lua腳本語言的嵌入式UART通信的實現
    本文針對此類問題,提出了一種基於Lua腳本語言的解決方案,可有效地提高IED裝置對各種類型串口數據報文幀格式的適應性。該方案將具體串口報文規約的組建和解析交給Lua腳本進行處理,從而使設計者在裝置的軟體開發中,可僅關注於相關接口的設計,而不用關心具體的串口通信規約,從而方便軟體的定型,並提高了裝置自身在應用中的靈活性。
  • 基於Modbus協議和PLC器件實現分布式系統通信網絡的兼容性設計
    基於Modbus協議和PLC器件實現分布式系統通信網絡的兼容性設計 朱鵬飛;劉文敬 發表於 2020-04-02 10:23:21 一、引 言 現代工業的迅速發展
  • 基於STTS75溫度傳感器和CC2430晶片實現網箱溫度監控系統的設計
    基於STTS75溫度傳感器和CC2430晶片實現網箱溫度監控系統的設計 王雅寧 , 孫景芳 發表於 2020-05-07 09:30:59 引言 網箱養魚是利用竹