nRF24L01和Actel FPGA的智能探測系統(tǒng)設(shè)計_第1頁
nRF24L01和Actel FPGA的智能探測系統(tǒng)設(shè)計_第2頁
nRF24L01和Actel FPGA的智能探測系統(tǒng)設(shè)計_第3頁
nRF24L01和Actel FPGA的智能探測系統(tǒng)設(shè)計_第4頁
nRF24L01和Actel FPGA的智能探測系統(tǒng)設(shè)計_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、【W(wǎng)ord版本下載可任意編輯】 nRF24L01和Actel FPGA的智能探測系統(tǒng)設(shè)計 設(shè)計了基于nRF24L01無線數(shù)據(jù)傳輸芯片和Fusion StartKit開發(fā)板的智能探測系統(tǒng)。通過開啟nRF24L01的ACK PAYLOAD功能實現(xiàn)車載系統(tǒng)與上位機之間的雙向通信,采用Actel公司帶有APB3總線的8051S軟核在Fusion StartKit開發(fā)板上構(gòu)建片上系統(tǒng),使用MFC編寫Windows環(huán)境下的人機交互界面,實現(xiàn)了具有實時數(shù)據(jù)傳送、自動避障、遠程操控等功能的智能探測系統(tǒng)。 目前一些惡劣或危險的環(huán)境人類仍然無法置身其中開展現(xiàn)場檢測,如出現(xiàn)險情的礦井地道、地形崎嶇的巖洞等,很難取得

2、現(xiàn)場的參數(shù)。在這種情況下只有借助于智能探測裝置。因智能小車控制方便、行動靈活,比照其他載體工具更容易勝任探測任務(wù),因此成為各種探測儀器的工具。 本文設(shè)計的智能探測系統(tǒng)以小車為載體,將所測得的現(xiàn)場參數(shù)通過nRF24L01無線模塊實時傳回上位機,具有快速靈活的特點;在實際工作時可左右轉(zhuǎn)向和后退,自動躲避障礙物;同時該小車操控方便,可通過MFC搭建的人機交互界面利用鼠標(biāo)和鍵盤對小車開展遠程控制。 1、系統(tǒng)總體構(gòu)造設(shè)計 該系統(tǒng)基于Actel FPGA實現(xiàn),采用兩塊Fusi。nStartkit開發(fā)板,一塊作為車載控制板,另一塊作為中轉(zhuǎn)板。車載控制板負責(zé)采集溫度、濕度、板載電壓、當(dāng)前路況以及人體檢測等現(xiàn)場

3、信息,驅(qū)動小車運行,同時通過無線發(fā)送現(xiàn)場信息以及接收上位機的控制命令。中轉(zhuǎn)板負責(zé)將接收到的無線信號通過串口轉(zhuǎn)發(fā)給PC機,同時將PC機由串口返回的控制指令利用無線模塊發(fā)送給車載控制板。PC機上采用MFC編寫人機交互界面,顯示小車所在環(huán)境的相關(guān)信息,同時提供鼠標(biāo)、鍵盤等完善的操控手段。系統(tǒng)構(gòu)造如圖1所示。 圖1 系統(tǒng)構(gòu)造框圖 2、系統(tǒng)硬件設(shè)計 2、1無線數(shù)據(jù)傳輸芯片nRF24L01 2.1.1芯片簡介H nRF24L01是挪威NorDic公司的單片2.4 GHz無線收發(fā)一體芯片,有多達125個頻道可供選擇,支持1 Mbs和2 Mbs傳輸速率。該芯片采用SPI接口開展數(shù)據(jù)讀寫和參數(shù)配置,以存放器映射

4、方式對各個存放器開展管理,同時具有自動重傳、動態(tài)有效信息長度(DPL)、應(yīng)答信號攜帶有效信息(ACK PAYLOAD)等功能。 2.1.2功能 動態(tài)有效信息長度(DPL)指的是發(fā)送端的nRF24L01芯片通過寫人有效數(shù)據(jù)區(qū)的數(shù)據(jù)長度決定當(dāng)前一幀數(shù)據(jù)的大小,而接收端則通過接收到的數(shù)據(jù)幀中的控制域信息而不是存放器中定義的數(shù)據(jù)長度提取有效數(shù)據(jù)。這個功能極大地提高了無線信道的使用率,同時減少了冗余數(shù)據(jù)的傳播,降低了數(shù)據(jù)在空中滯留的時間和數(shù)據(jù)被污染的概率。配合nRF24L0l的CRC校驗和自動重傳功能,在有效地降低數(shù)據(jù)誤碼率的同時保證了數(shù)據(jù)傳輸?shù)臅r效性。 應(yīng)答信號攜帶有效信息(ACK PAYLOAD)指

5、nRF24L01芯片在開啟自動重傳和DPL的根底上實現(xiàn)的雙向通信功能。圖2為一對無線模塊之間的攜帶應(yīng)答有效信息的數(shù)據(jù)傳輸過程。主發(fā)送模塊(PTX)發(fā)送完第1幀數(shù)據(jù)后,自動置為接收模式,等待主接收模塊(PRX)發(fā)送應(yīng)答信號或攜帶有效數(shù)據(jù)的應(yīng)答信號。主接收模塊收到主發(fā)送模塊發(fā)送的第1個數(shù)據(jù)幀后,若此時有需要附加的有效數(shù)據(jù),則在發(fā)送完ACK信號后繼續(xù)發(fā)送有效數(shù)據(jù)。而主發(fā)送模塊收到ACK信號后繼續(xù)接收有效信號,直到空中沒有殘留的無線信號再開始發(fā)送第2幀信號。 使用ACK PAYLOAD可以實現(xiàn)車載系統(tǒng)和PC機的雙向通信,該功能很好地解決了手動切換無線收發(fā)狀態(tài)導(dǎo)致雙方互相等待的問題,同時只在需要對車載控

6、制板開展控制的時刻附帶應(yīng)答有效信息,可以減少不必要的通信過程,大大提高了系統(tǒng)穩(wěn)定性。 圖2攜帶ACK PAYLOAD的1次數(shù)據(jù)傳輸示意圖 2.1.3實現(xiàn)功能的配置方法 要實現(xiàn)nRF24L01的ACK PAYLOAD功能需要經(jīng)過以下步驟:首先開展無線模塊的基本配置,包括發(fā)送接收模式的選擇(CONFIG)、開啟自動重傳功能(EN_AA)、接收地址使能(EN_ADDR)、設(shè)置重傳時問不為零(SETUP RETR)等;然后同時開啟DPL和ACK PAYLOAD功能,要實現(xiàn)這兩個功能,必須在完成步之后用nRF24L01白帶的ACTIVATE命令加上0 x73數(shù)據(jù)開啟默認隱藏的兩個存放器FEATURE和D

7、YNPD。通過對這兩個存放器的設(shè)置就可以實現(xiàn)數(shù)據(jù)的雙向通信。但要注意,接收端開啟DPL后要使用R_RX PL WID命令讀取當(dāng)前數(shù)據(jù)幀的有效數(shù)據(jù)長度,同時使用W ACK PAYLOAD命令將ACK PAYLOAD寫入FIFO。 2.2 Core 80515架構(gòu) Core 8051S是Actel公司推出的基于APB3總線的8051lP核,兼容8051的全部指令,同時又具備許多51單片機所沒有的獨特功能: (1)具有可配置的JTAG接口調(diào)試功能,可利用Flash_Pro器作為其調(diào)試工具;優(yōu)化指令執(zhí)行速度,內(nèi)部設(shè)置流水線,可實現(xiàn)單個時鐘周期執(zhí)行一條指令,且是普通51單片機的12倍。 (2)采用APB

8、3外設(shè)總線構(gòu)造和SER存放器內(nèi)存映射方式管理外設(shè),將外部擴展的64 KB數(shù)據(jù)空間中的4 KB作為APB3外設(shè)的存放器內(nèi)存映射地址,每個APB3外設(shè)占據(jù)256 B的地址,因此多可添加16個外設(shè)。 (3)使用CoreConsole軟件以圖形化界面的方式添加Core8051S以及其他外設(shè),既直觀又方便。 圖3是以CoreConsole開發(fā)的、基于Core805lS和APB3總線的50PC系統(tǒng)的典型架構(gòu)。該軟件的開發(fā)流程與Altera公司基于NIOS 處理器的soPc開發(fā)流程類似,同時又具有其獨特優(yōu)勢:在系統(tǒng)不復(fù)雜、控制部分遠多于計算處理時,使用Core805s可靈活迅速地開展開發(fā),通過安裝ISAAc

9、tel5 1為Keil提供調(diào)試驅(qū)動可直接使用Keil編寫代碼并開展在線程序調(diào)試,而優(yōu)化后的指令執(zhí)行速度可滿足大部分應(yīng)用的要求。 圖3 CoreConsole下基于Core8051S的開發(fā)實例 本系統(tǒng)設(shè)計步驟: (1)利用CoreConsole以圖形化方式設(shè)計片上系統(tǒng)所需的總線及外設(shè),包括SPI、PWM、GP10、UART等模塊;配置各模塊與APB3總線之間的連接關(guān)系,正確分配外設(shè)地址;然后生成.文件導(dǎo)人Actel集成開發(fā)環(huán)境Libero。 (2)使用Libero的Flash Memory System Builder將Fu_S10n內(nèi)部的Flash模塊配置為Core8051S的外部程序空問。如

10、果有必要還可以將Fusi。n StartKit開發(fā)板上的SRAM作為Core8051S的外部數(shù)據(jù)空間使用。 (3)將工程編譯綜合后到開發(fā)板上,通過Keil編寫程序并開展調(diào)試。 3、系統(tǒng)軟件設(shè)計 3.1車載控制系統(tǒng)軟件設(shè)計 車載系統(tǒng)是本系統(tǒng)的部分,它擔(dān)負著現(xiàn)場環(huán)境探測,遠距離數(shù)據(jù)傳輸以及未知區(qū)域檢測等重要功能。因此該部分的設(shè)計對可靠性和穩(wěn)定性要求較高。系統(tǒng)的軟件流程圖如圖4所示。 圖4車載控制系統(tǒng)流程圖 車載系統(tǒng)軟件包含兩部分功能:采集現(xiàn)場各種參數(shù)和實現(xiàn)各種運行模式。通過溫濕度傳感器和人體紅外傳感器采集溫濕度值以及現(xiàn)場環(huán)境是否有人信號;通過無線返;回參數(shù)決定當(dāng)前小車的運行模式,包括自動運行模式、

11、半遙控模式和全遙控模式。自動運行模式下小車會根據(jù)采集到的光電對管組信息分析當(dāng)前的路況,從而作出相應(yīng)運行路徑修正處理;半遙控模式下通過鼠標(biāo)控制Windows界面的參數(shù)來控制小車的行動;全遙控模式下通過操控鍵盤可直接操控小車運行。 車載系統(tǒng)自動運行時,通過內(nèi)部算法開展路徑選擇和障礙規(guī)避。由于光電對管組信息相對較少,故采用查表映射法開展舵機電機驅(qū)動控制,即將光電對管組采集到的信息開展分類,根據(jù)不同的信息賦予小車不同的電機和舵機驅(qū)動值,而光電對管組采集得到的信息為6 bit數(shù)據(jù),也就是數(shù)值為063,將其作為數(shù)組的下標(biāo),在數(shù)組內(nèi)容中根據(jù)下標(biāo)所表征的類型設(shè)置不同的經(jīng)驗值,通過大量的運行測試即可得到比較理想的參數(shù)。車載系統(tǒng)檢測到小障礙物時,查表得到舵機電機參數(shù),轉(zhuǎn)過一定角度繞開障礙物繼續(xù)運行;檢測到較大障礙物且無法繞過時,車載系統(tǒng)倒車回到安全區(qū)域繼續(xù)運行。 由于光電對管組存在干擾信號,在算法上開展了如下濾波處理:利用記憶功能將前幾次的行進路線保存,通過與當(dāng)前輸出狀態(tài)的比對,判斷是否為干擾信息以決定是否摒棄當(dāng)前控制量。 以上算法保證了車載系統(tǒng)在運行中出錯概率降到。 3.2人機交互界面設(shè)計 A機交互界面是采用微軟根底類(MFC)開發(fā)的基于對活框架構(gòu)的應(yīng)用程序。采用CMSComm類處理中轉(zhuǎn)板與PC之間

溫馨提示

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

評論

0/150

提交評論