基于Si1000的無線傳輸模塊的研究與設計_第1頁
基于Si1000的無線傳輸模塊的研究與設計_第2頁
基于Si1000的無線傳輸模塊的研究與設計_第3頁
基于Si1000的無線傳輸模塊的研究與設計_第4頁
基于Si1000的無線傳輸模塊的研究與設計_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、    基于si1000的無線傳輸模塊的研究與設計    陳珺 周元元摘要:由于有線通信系統(tǒng)傳輸距離短、架設成本高等問題,無線通信系統(tǒng)成為當今的研究熱點。本文設計了一種基于si1000的無線傳輸模塊,完成了串口收發(fā)、無線收發(fā)和參數在線配置等功能。通過實驗證明,該無線傳輸模塊具有良好的穩(wěn)定性和可靠性,能夠對工農業(yè)、智能家居等數據采集傳輸應用提供一定的參考價值。關鍵詞:si1000;無線傳輸;數據采集:tp212 :a :1007-9416(2018)06-0034-03隨著無線技術、微電子及嵌入式計算技術的進步,無線傳感器網絡的研究及應用得到了迅猛的發(fā)展。

2、相比傳統(tǒng)的有線數據傳輸系統(tǒng),采用無線方式具有布線少、成本低、功耗低,且靈活性好、擴展性強等的優(yōu)點。在無線傳感器網絡中,最典型的應用模式就是在特定的網絡區(qū)域中,部署一定數量的的傳感器節(jié)點,收集數據信息并經過中繼節(jié)點多跳傳輸到匯聚節(jié)點,再由匯聚節(jié)點把信息處理結果傳送到后臺管理控制端1。本文采用silicon labs公司生產的si1000片上系統(tǒng)作為主控芯片,在集成開發(fā)環(huán)境silicon laboratories ide中進行編譯,研究并設計了實現收發(fā)功能一體的無線傳輸模塊。配合pc中基于visual basic所設計的上位機程序,可以通過軟件進行各種功能參數的配置,可實現多節(jié)點數據采集并傳輸的功

3、能。1 基本設計1.1 硬件平臺si1000是完全集成的混合信號片上系統(tǒng),內部除了高性能、超低功耗的cip-51內核的8位c8051f9xx系列單片機,還集成了大量的外設,比如240-960mhz的ezradiopro系列無線收發(fā)芯片si4432。它自帶發(fā)送與接受fifo達到64字節(jié),可傳輸超長幀,數據原始速率范圍從0.123 kbps到256kbps;發(fā)射功率最高可達20dbm,靈敏度達-121dbm,通信距離長達兩公里,是同類產品的數倍;內置發(fā)送、接收、待機、休眠四種模式,其中休眠模式又為低功耗提供了便利2;基于fsk、gfsk和ook的調制方式和微功率發(fā)射,采用高效前向糾錯信道編碼技術,

4、提高了數據抗突發(fā)干擾和隨機干擾的能力3。因為價格低廉,si1000片上系統(tǒng)提供了目前業(yè)界最高性價比的單芯片無線通信解決方案,只需少量元器件和較小的電路板尺寸即可組建高性能的無線通信系統(tǒng)4。1.2 軟件介紹硬件平臺選用的silicon labs公司的si1000,那么無線傳輸模塊的集成開發(fā)環(huán)境也是選用的silicon laboratories ide。ide只是一個集成開發(fā)環(huán)境,必須有相關的工具鏈(tool chain)支持才能編譯,所以調試程序還需要keil的c51編譯器、連接器bl51、匯編語言編輯器a51等,這里選擇keil uvision4。keil uvision4安裝完畢后,還需要進

5、入ide的界面,選擇project->tool chain integration,待彈出對話框,單擊browse按鈕,更換a51、c51和bl51的目錄(換成keilc51bin即可),如此才可正常工作,這里不再詳細分解過程。通過ide軟件編寫相關程序,在編譯通過后生成hex文件,然后使用仿真器將hex文件下載到芯片。因為keil uvision4的在線調試功能并不能很好地支持si1000射頻模塊的在線調試,所以在進行調試的時候用串口uart將信息發(fā)到pc上,通過串口調試助手顯示數據進行結果驗證。1.3 網絡拓撲及通信協(xié)議無線傳感器網絡的拓撲結構類型一般分為三種:星型、樹型和網狀結構。

6、本文采用樹型結構網絡拓撲,由一個中心節(jié)點、若干終端節(jié)點和若干中繼節(jié)點構成。其中,中心節(jié)點位于系統(tǒng)核心,維護著整個系統(tǒng)的路由信息,同終端節(jié)點交互應用層業(yè)務數據;中繼節(jié)點完成無線鏈路的接力,本身不產生或消費應用層業(yè)務數據;終端節(jié)點完成具體的業(yè)務功能,它產生或消費應用層業(yè)務數據,同時也兼有中繼節(jié)點的功能4。如圖1所示間接通信的協(xié)議棧。如若沒有中繼節(jié)點,那么中心節(jié)點與終端節(jié)點直接通信。2 系統(tǒng)通信協(xié)議實現本系統(tǒng)主要實現三個功能:串口收發(fā)、無線收發(fā)和參數配置。下面先對程序的總體流程設計做個闡述,再主要就三個功能進行介紹。2.1 總體設計si1000芯片內置功能模塊均編成獨立的函數由主程序進行調用。主要有

7、: 初始化程序、無線發(fā)送程序、無線接收程序、串口收發(fā)中斷程序等等。2.1.1 主程序:main.c首先關閉watchdog,然后初始化系統(tǒng)時鐘、pca、spi、端口、串口、定時器0、在線配置默認數據、在線配置等;使能總中斷,初始化無線配置及參數,打開接收功能;再通過配置pca來啟動watchdog。while循環(huán)里面,串口一直在等待數據,如果有數據了,就進入uart_mac_rx()進行處理;如果處理后需要發(fā)送數據,將有相應的數據包發(fā)送標志;如果數據包發(fā)送標志為1,發(fā)送數據、亮燈,啟動發(fā)送定時標志以等待第二個數據包;如果數據包發(fā)送標志為2且在等待時間以內(說明包比較長要分成兩個包發(fā)送),發(fā)送數

8、據、亮燈;如果無線接收到數據,數據存入緩存區(qū),且進入link_layer()進行處理;如若轉發(fā)數據發(fā)送標志為1,同樣發(fā)送數據、亮燈,啟動轉發(fā)定時標志以等待第二個數據包;如果轉發(fā)數據發(fā)送標志為2且在等待時間以內(說明包比較長要分成兩個包發(fā)送),發(fā)送數據、亮燈;最后watchdog。2.1.2 中斷:interrupt.c有三個中斷,分別是定時器0,串口0和無線收發(fā)。其中串口0有接收數據和發(fā)送數據之分,同樣無線收發(fā)也有接收數據與發(fā)送數據之分。2.1.3 mac層數據處理:mac.c首先uart_mac_rx(),串口收到數據將在這個函數里面存入緩存區(qū),并進入uart_protocol()處理;ua

9、rt_protocol()主要是針對串口轉換碼的問題來將串口數據轉成無線數據,以及對長包進行分包處理;link_layer(),通過無線接收數據包的不同地址來確定數據將是通過串口向上傳送或者轉發(fā)或者回送路經;uart_mac_tx(),即通過串口向上傳送,同樣是針對串口轉換碼的問題來將無線數據轉成串口數據,以及對接收的兩個包進行拼裝處理;network_ layer()則是轉發(fā)處理,根據路由表確定下一設備的地址,對ttl進行減法運算等,如果本設備已經是目的地址,還要進入uart_mac_tx()將數據發(fā)往串口;route_process(),若收到的數據包中pd為1,則通過對路由表進行一系列的

10、處理回送路由信息。2.1.4 參數在線配置:frame_configuration.c首先是haimingma_generat(),對接收到的要求讀取的在線配置幀進行海明碼的校驗,以及回送在線配置幀進行海明碼的計算。再是參數在線配置config_online(),分為讀取模塊操作和配置模塊操作。其中讀取模塊后返回的數據與本身flash的不太一樣,因為有個返回標志位的不同導致了整個校驗位的不同。配置模塊操作更復雜一點,因為要根據配置的參數來設置無線參數。2.1.5 無線參數配置:ppphy.c和ppphy_const.c關于無線參數初始化、無線收發(fā)以及寄存器的讀寫操作等,還有初始化的常數值。2.

11、1.6 全局變量:global_val.c整個程序定義的全局變量。2.2 串口收發(fā)只要是使用無線通信來和外界聯系,首先想到的就是uart,它是一種很常用的通訊方式,所有的處理器、控制器上,基本都帶有uart功能;只要是實現uart的收發(fā)功能,必不可少的要做波特率發(fā)生器。即利用芯片上的定時器timer1,根據波特率時鐘的計算來做串口的初始化,具體可見函數void uart0_init (void)。這里串口接收數據用的中斷法,利用串口中斷服務子程序isr來完成。如果串口上收到數據,那么會調用中斷向量,中斷向量把程序指針指到相應的isr中。對接收到的數據在isr中進行操作,將接收數據存入uart_

12、mac_rx()的緩存區(qū),并進入uart_protocol()進行處理,主要是針對串口轉換碼的問題將串口數據轉成無線數據以及對數據長幀進行分包。完成后程序指針會跳回中斷前的地方繼續(xù)進行剛才被中斷的事件。同理,要通過串口將數據往上層傳送,即進入函數uart_mac_tx(),同樣是針對串口轉換碼的問題將無線數據轉成串口數據,以及對接收的兩個數據幀進行拼裝組合成一個數據長幀。rs-232是個人計算機上的異步傳輸標準接口之一,由電子工業(yè)協(xié)會所制定。本協(xié)議無線模塊就通過rs232接口同pc交換報文,為了定義報文邊界和流控,定義了幾個換碼指令,如esc 01(0x1b 0x01):幀開始標志;esc 0

13、2(0x1b 0x02):幀結束標志,同時作為偽后一幀的開始標志;esc 05(0x1b 0x05):表示ll-pdu數據中出現了一個“0x1b”,此時串口上數據應為“0x1b 0x1b”。2.3 無線收發(fā)傳感器節(jié)點間在無線信道通信的幀格式見表1。其中幀開始和幀結束是串口轉換指令。目的id是一個字節(jié)的目的地址,其中“0”為空地址,“255”為廣播地址。節(jié)點從節(jié)點從物理層(無線信道)收到數據報文后,首先判斷目的id字段是否為本節(jié)點地址或廣播地址,如果是,則將數據交由上層協(xié)議處理,否則丟棄報文。route list是源節(jié)點到目的節(jié)點經過的路徑,設置這一條目是為了方便后面章節(jié)的數據信息轉發(fā)策略測試;

14、“0”表示路徑結束。ft是指數據報文承載的上層協(xié)議類型。若為1,表示簇頭的聲明,此時data中的數據為grid_id、ch_id;若為2,則為路由的轉發(fā),此時data中的數據為源節(jié)點承載的任意數據;其他保留。2.4 參數配置和實驗操作通過串口在線配置模塊參數或者讀出相應的參數,如頻段、網絡id、地址類型、本地地址、目的地址、空中速率以及發(fā)射功率等。如表2所示配置幀格式。操作時,首先完成引腳連接,包括電源、地、rx、tx等引腳;打開串口調試助手或者超級終端對模塊進行參數配置;配置成功后串口將會回送fc,如果失敗,回送fd,如圖2所示。圖2中的數據所示,這是一個基本的默認配置:頻段為430m,頻點

15、0,地址類型8位,本地id為0x01,目的id為0xff表示廣播,空中速率50k,發(fā)射功率為20dbm。因通常的無線參數均使用默認配置,其中的頻段頻點、空中速率、發(fā)射功率并不需要頻繁改動,本人使用vb做了一個小型的參數在線配置軟件,可以直接打開這個軟件配置工作頻率、網絡id、無線地址以及串口選擇,如圖3所示。配置結束可以進行無線數據的采集和收發(fā),如圖4所示節(jié)點回送匯聚節(jié)點信息。3 結語本文基于si1000無線片上系統(tǒng)研究的無線傳輸模塊,為通用透明傳輸模塊,能適應任何標準或非標準的用戶協(xié)議,自動過濾掉空中產生的假數據,實現所收即所發(fā)。標準配置支持300mhz到900mhz的各個頻段,可設置不同串

16、口波特率,自定義格式,傳輸超長數據幀,編程靈活,滿足多種通信組合方式。實驗證明,該模塊工作可靠、穩(wěn)定,具有易擴展性、低功耗等優(yōu)點,適合戶外不方便布線的數據采集和傳輸,對工業(yè)、智能家居等數據采集傳輸應用具有一定的參考價值。參考文獻1李旭凱,王文娟.基于無線串口模塊的文件傳輸系統(tǒng)設計j.計算機與網絡,2018,(07):62-71.2美國silicon labs公司.si4430-31-32datasheet.2009.3美國silicon labs公司.si100-16-16datasheet.2010.4劉化君,劉傳清.物聯網技術m.北京:電子工業(yè)出版社,2010:1-50.5陳珺.無線傳感網

17、絡路由協(xié)議的研究與實現d.南京:南京郵電大學,2013.abstract:due to the defects of high cost and short transmission distance in wire communication system, wireless communication system has become a current research hotspot. a wireless transmission module based on si1000 is proposed in this paper. serial port send and receive software program design,serial port online configuration and wireless send and receive are the emphases of this letter. the results o

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論