<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于nRF24L01和PIC16F877無線數據傳輸系統(tǒng)設計

          基于nRF24L01和PIC16F877無線數據傳輸系統(tǒng)設計

          作者: 時間:2011-06-24 來源:網絡 收藏

          引言

          本文引用地址:http://www.ex-cimer.com/article/172663.htm

            在工業(yè)控制現場, 常常需要采集大量的現場, 如溫度、濕度、氣壓等, 并將這些傳輸到主機進行處理,由主機根據處理的結果, 將控制信號傳輸給現場執(zhí)行模塊進行各種操作??梢钥闯?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/數據">數據從采集設備到處理終端,監(jiān)測控制指令從處理終端到采集設備,均需經過傳輸過程這一重要環(huán)節(jié)。當數據采集點處于運動狀態(tài),或者所處的環(huán)境不允許鋪設電纜,采集設備必須與終端設備分離,此時只能通過方式進行數據傳輸。此,本文了一個數據,它應用Microchip公司的單片機控制Nordic公司的數字傳輸芯片 ,通過無線方式進行數據雙向傳輸。實驗結果證明:該系統(tǒng)使用靈活、成本低廉,可方便地嵌入到無線監(jiān)測系統(tǒng)中。

            1.系統(tǒng)總體結構

            圖1為系統(tǒng)總體框圖。此無線數據主控制芯片采用Microchip公司的微處理器,它負責控制無線芯片L01,實現數據的無線傳輸。為了進行多通道的數據采集,這里采用10片A/D進行分時采樣,它們的工作時序則由CPLD來控制,每路采集的數據經單片機處理后無線發(fā)射,至于何時采樣,則由單片機發(fā)的Trigger信號決定。 在與計算機的通訊方面,系統(tǒng)采用USB芯片通過USB口將無線接收數據送入計算機,并存儲在一個二進制文件內,當傳輸完畢后,運行VB讀數軟件,可將采集的信號讀出以供分析。

            2.系統(tǒng)硬件設計

            2.1 數據采集部分

            數據采集部分主要由傳感器、低通濾波放大器、A/D以及CPLD組成,電源管理則主要為各個芯片提供合適工作電壓,并為CPLD提供1MHZ主時鐘輸入。此系統(tǒng)采用10片AD7492,可進行10路模擬信號的采樣。CPLD主要控制10片A/D的采樣和讀數時序,采樣率由CPLD內部分頻器和無線傳輸率大小決定。為了配合無線傳輸模塊的工作,這里采用觸發(fā)采樣。即在CPLD內部設計D觸發(fā)器,并用VCC連接D輸入端,Trigger信號作為時鐘輸入,如圖2所示。系統(tǒng)上電后,CPLD便檢測其引腳Trigger端,當出現上升沿時, D觸發(fā)器輸出高電平,打開與非門,Convast就會輸出1KHz信號,A/D采樣開始。

            

            2.2 無線傳輸部分

            數據傳輸主要利用單片機對無線射頻芯片L01的控制實現的。是單片射頻收發(fā)芯片,工作于2.4~2.5GHzISM頻段,工作電壓為1.9V~3.6V,工作溫度為- 40℃~+ 85℃,有多達125個頻道可供選擇,最高通信速率2Mbit/s ,具有自動應答和重發(fā)功能,其工作參數全部通過芯片狀態(tài)字配置,而這些配置字是由PIC16F877通過SPI[1]訪問L01的。L01主要技術為:

            工作模式 :CE,CSN,SCK,MOSI,MISO,IRQ這6個管腳為該芯片的控制引腳。微處理器通過對這6個引腳的控制就可以決定該芯片的工作模式。當PWR_UP、PRIM_RX和CE為“111”時,L01處于接收模式;為“101”時處于發(fā)射模式;為“1X0”時處于空閑模式1;為“0XX”時處于掉電模式。

            增強型ShockBurst技術:L01融進了增強型ShockBurst技術,該項技術使得雙向通信協(xié)議變得簡單。在一個典型的雙向通信中,接收方在收到發(fā)射方的數據時,將會向發(fā)射方回傳一個應答信號,若接收方未收到該數據,發(fā)射方在等待一定延遲時間后將自動重發(fā)此包數據(在自動重發(fā)功能開啟的情況下),這都不需要CPU的參與。

            數據通道:當L01處于接收狀態(tài)時,它可以接收來自6個不同通道的數據。每個通道都有一個屬于自己的通道地址,但共享同一頻道。也就是說,一個配置為接收模式的L01可以和6個配置為發(fā)射模式下的L01進行通信,接收機可以根據它們的通道地址進行區(qū)分。通道0有一個40位的地址,通道1—5則共享高32位地址,只是低8位不同。每個通道都能開啟自動重發(fā)射和自動應答功能。處于接收狀態(tài)下的L01在回傳應答信號時,將利用該接收通道的地址作為發(fā)射應答信號的發(fā)射地址。在發(fā)射設備中,通道0常用于接收應答信號。發(fā)射數據的地址必須和接收通道0的地址一致 ,這樣才能有效地接收應答信號。

            數據包描述:“1字節(jié)字頭 + 3~5字節(jié)地址 + 9Bit標志位 + 1~2字節(jié)CRC”。 當L01要發(fā)送數據時,微控制器要先把地址和有效數據寫入L01緩存區(qū),然后由L01自動產生字頭和CRC校驗碼,之后再發(fā)射出去。

            2.3 USB接口設計

            系統(tǒng)采用USB芯片FT245,由單片機控制讀寫操作。FT245提供了一些狀態(tài)標志位(RXF,TXE)供單片機查詢,以便讓單片機發(fā)讀寫脈沖執(zhí)行讀寫操作,控制非常簡單。

            3.軟件設計

            要設計好系統(tǒng)的軟件,必須清楚其工作原理:首先給發(fā)射機上電,配置其L01為PRX,使其進入接收模式等待主機的握手指令,此時采集裝置并未開始工作。然后將接收機通過USB接口連接計算機,運行VB程序,點擊開始試驗按鈕,握手指令(H’33’)便通過接收機的L01 (上電配置為PTX)發(fā)射出去,發(fā)射機在接收到握手指令后,還要做出判斷,若不是H’33’,則繼續(xù)等待握手指令;若是,表示雙方建立連接成功,此時發(fā)射機的L01便配置為PTX,同時單片機向采集裝置發(fā)送一脈寬為3.6us的高電平脈沖以激活A/D,使其開始采樣,采樣率為1KHz。由于每路傳感器信號都要被A/D采樣,并轉換為12bit數字量(認為是2 Byte),那么10通道則為20 Byte,經過單片機處理后再送入L01打包發(fā)射。350us之后,接收機收到該數據,并通過單片機和USB芯片實時寫入計算機緩存區(qū)內,這樣雙方數據傳輸10000次,每次20Byte,傳輸完畢后數據曲線會在VB界面上實時顯示。

            以上分析,該系統(tǒng)軟件分為兩部分:單片機控制程序和計算機界面程序。前者主要完成以為核心的多通道信號的采集和無線傳輸,后者則完成信號的顯示,以供研究人員分析。本文只介紹控制程序,它采用模塊化程序設計方法, 分為發(fā)射機程序和接收機程序兩部分。其流程圖如圖3所示。

            

            由于采集系統(tǒng)以1KHz進行采樣,即每1ms送20Byte數據,因此無線部分進行一次傳輸需1ms。若接收機執(zhí)行接收子程序不夠1ms,則必須通過延遲補夠,以和發(fā)射同步。另外,在接收機程序中特設置800us定時器中斷,以防接收機因接收不到數據而長時間等待,影響數據的傳輸效率。

            4.問題分析

            本系統(tǒng)在運行時出現了一些問題,使其不能正常工作,現說明如下:

           ?、?L01在收發(fā)轉換時出現問題;

            原因:配置字并未寫入L01內。

           ?、?數據傳輸時發(fā)現其低八位為零,但高四位有數;

            原因:開啟了單片機的PSP功能,導致D口不能用了。

            ③ 數據傳輸波形圖嚴重失真;

            原因:無線模塊在收發(fā)同步上存在問題,數據包之間沒有一一對應。

            5.實驗結果

            本系統(tǒng)需進行10000次數據傳輸,每次傳輸20字節(jié)。傳輸數據時務必保證發(fā)射機和接收機的同步性,否則數據包之間將會出現錯位,得到的數據曲線會嚴重失真,影響分析,所以同步問題在無線數據占重要地位?,F附上本系統(tǒng)在同步良好情況下的無線數據傳輸波形圖,見圖4。圖中的10條曲線是傳感器信號被10片A/D采樣后經無線傳輸至計算機后通過VB界面顯示出的,中間幅值較高的曲線是兩路正弦波,其余為基線。

            

            6.結論

            本系統(tǒng)控制方便、工作穩(wěn)定,能實現可靠的無線數據傳輸。經大量實驗測得:該系統(tǒng)的平均傳輸率可以達到256Kbps,平均誤碼率只有0.2%,可滿足絕大部分無線數據傳輸的需要。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();