《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于nRF24L01和Actel FPGA的智能探測系統(tǒng)設(shè)計
基于nRF24L01和Actel FPGA的智能探測系統(tǒng)設(shè)計
來源:電子技術(shù)應(yīng)用2010年第10期
何 偉, 陳 鋒, 張 玲, 邢 嵐
重慶大學(xué) 通信工程學(xué)院, 重慶400044
摘要: 設(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)。
關(guān)鍵詞: FPGA nRF24L01 ACKPAYLOAD 8051S APB3總線
中圖分類號: TN92
文獻標識碼: A
文章編號: 0258-7998(2010)10-0111-03
Design of smart explorative system based on nRF24L01 and Actel FPGA
HE Wei, CHEN Feng, ZHANG Ling, XING Lan
College of Communication Engineering, Chongqing University, Chongqing 400044, China
Abstract: Designed the smart explorative system based on single chip 2.4 GHz transceiver nRF24L01 and Fusion StartKit development board.Realized two-way communication between car-system and PC by opening the nRF24L01′s advanced feature ACK PAYLOAD,builded the SOPC structure in Fusion StartKit development board using Core8051s with APB3 bus of Actel corporation,finished man-machine interface on windows operating system composed by MFC. Finally accomplished the smart explorative system with the functions of real-time data transmission, automatic obstacle avoidance, remote control.
Key words : nRF24L01;ACK PAYLOAD;8051S;APB3 bus

    目前一些惡劣或危險的環(huán)境人類仍然無法置身其中進行現(xiàn)場檢測,如出現(xiàn)險情的礦井地道、地形崎嶇的巖洞等,很難取得現(xiàn)場的參數(shù)。在這種情況下只有借助于智能探測裝置。因智能小車控制方便、行動靈活,對比其他載體工具更容易勝任探測任務(wù),因此成為各種探測儀器的首選工具。
    本文設(shè)計的智能探測系統(tǒng)以小車為載體,將所測得的現(xiàn)場參數(shù)通過nRF24L01無線模塊實時傳回上位機,具有快速靈活的特點;在實際工作時可左右轉(zhuǎn)向和后退,自動躲避障礙物;同時該小車操控方便,可通過MFC搭建的人機交互界面利用鼠標和鍵盤對小車進行遠程控制。
1 系統(tǒng)總體結(jié)構(gòu)設(shè)計
    該系統(tǒng)基于Actel FPGA實現(xiàn),采用兩塊Fusion Startkit開發(fā)板,一塊作為車載控制板,另一塊作為中轉(zhuǎn)板。車載控制板負責(zé)采集溫度、濕度、板載電壓、當前路況以及人體檢測等現(xiàn)場信息,驅(qū)動小車運行,同時通過無線發(fā)送現(xiàn)場信息以及接收上位機的控制命令。中轉(zhuǎn)板負責(zé)將接收到的無線信號通過串口轉(zhuǎn)發(fā)給PC機,同時將PC機由串口返回的控制指令利用無線模塊發(fā)送給車載控制板。PC機上采用MFC編寫人機交互界面,顯示小車所在環(huán)境的相關(guān)信息,同時提供鼠標、鍵盤等完善的操控手段。系統(tǒng)結(jié)構(gòu)如圖1所示。

2 系統(tǒng)硬件設(shè)計
2.1 無線數(shù)據(jù)傳輸芯片nRF24L01
2.1.1 芯片簡介[1]

 nRF24L01是挪威NorDic公司的單片2.4 GHz無線收發(fā)一體芯片,有多達125個頻道可供選擇,支持1 Mb/s和2 Mb/s傳輸速率。該芯片采用SPI接口進行數(shù)據(jù)讀寫和參數(shù)配置,以寄存器映射方式對各個寄存器進行管理,同時具有自動重傳、動態(tài)有效信息長度(DPL)、應(yīng)答信號攜帶有效信息(ACK PAYLOAD)等高級功能。
2.1.2 功能
 動態(tài)有效信息長度(DPL)指的是發(fā)送端的nRF24L01芯片通過寫入有效數(shù)據(jù)區(qū)的數(shù)據(jù)長度決定當前一幀數(shù)據(jù)的大小,而接收端則通過接收到的數(shù)據(jù)幀中的控制域信息而不是寄存器中定義的數(shù)據(jù)長度提取有效數(shù)據(jù)。這個功能極大地提高了無線信道的使用率,同時減少了冗余數(shù)據(jù)的傳播,降低了數(shù)據(jù)在空中滯留的時間和數(shù)據(jù)被污染的概率。配合nRF24L01的CRC校驗和自動重傳功能,在有效地降低數(shù)據(jù)誤碼率的同時保證了數(shù)據(jù)傳輸?shù)臅r效性。
 應(yīng)答信號攜帶有效信息(ACK PAYLOAD)[2]指nRF24L01芯片在開啟自動重傳和DPL的基礎(chǔ)上實現(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)致雙方互相等待的問題,同時只在需要對車載控制板進行控制的時刻附帶應(yīng)答有效信息,可以減少不必要的通信過程,大大提高了系統(tǒng)穩(wěn)定性。
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命令加上0x73數(shù)據(jù)開啟默認隱藏的兩個寄存器FEATURE和DYNPD。通過對這兩個寄存器的設(shè)置就可以實現(xiàn)數(shù)據(jù)的雙向通信。但要注意,接收端開啟DPL后要使用R_RX_PL_WID命令讀取當前數(shù)據(jù)幀的有效數(shù)據(jù)長度,同時使用W_ACK_PAYLOAD命令將ACK PAYLOAD寫入FIFO。
2.2 Core 8051S架構(gòu)
 Core 8051S是Actel公司推出的基于APB3總線的8051IP核,兼容8051的全部指令,同時又具備許多51單片機所沒有的獨特功能:
   (1)具有可配置的JTAG接口調(diào)試功能,可利用FlashPro下載器作為其調(diào)試工具;優(yōu)化指令執(zhí)行速度,內(nèi)部設(shè)置流水線,可實現(xiàn)單個時鐘周期執(zhí)行一條指令,且是普通51單片機的12倍。
   (2)采用APB3外設(shè)總線結(jié)構(gòu)和SFR寄存器內(nèi)存映射方式管理外設(shè),將外部擴展的64 KB數(shù)據(jù)空間中的最高4 KB作為APB3外設(shè)的寄存器內(nèi)存映射地址,每個APB3外設(shè)占據(jù)256 B的地址,因此最多可添加16個外設(shè)。
   (3)使用CoreConsole[3]軟件以圖形化界面的方式添加Core8051S以及其他外設(shè),既直觀又方便。
   圖3是以CoreConsole開發(fā)的、基于Core8051S和APB3總線的SOPC系統(tǒng)的典型架構(gòu)。該軟件的開發(fā)流程與Altera公司基于NIOS II處理器的SOPC開發(fā)流程類似,同時又具有其獨特優(yōu)勢:在系統(tǒng)不復(fù)雜、控制部分遠多于計算處理時,使用Core8051S可靈活迅速地進行開發(fā),通過安裝ISA-Actel51為Keil提供調(diào)試驅(qū)動可直接使用Keil編寫代碼并進行在線程序調(diào)試,而優(yōu)化后的指令執(zhí)行速度可滿足大部分應(yīng)用的要求。

 本系統(tǒng)設(shè)計步驟:
 (1)利用CoreConsole以圖形化方式設(shè)計片上系統(tǒng)所需的總線及外設(shè),包括SPI、PWM、GPIO、UART等模塊;配置各模塊與APB3總線之間的連接關(guān)系,正確分配外設(shè)地址;然后生成.V文件導(dǎo)入Actel集成開發(fā)環(huán)境Libero。
 (2)使用Libero的Flash Memory System Builder將Fusion內(nèi)部的Flash模塊配置為Core8051S的外部程序空間。如果有必要還可以將Fusion 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所示。

    車載系統(tǒng)軟件包含兩部分功能:采集現(xiàn)場各種參數(shù)和實現(xiàn)各種運行模式。通過溫濕度傳感器和人體紅外傳感器采集溫濕度值以及現(xiàn)場環(huán)境是否有人信號;通過無線返回參數(shù)決定當前小車的運行模式,包括自動運行模式、半遙控模式和全遙控模式。自動運行模式下小車會根據(jù)采集到的光電對管組信息分析當前的路況,從而作出相應(yīng)運行路徑修正處理;半遙控模式下通過鼠標控制Windows界面的參數(shù)來控制小車的行動;全遙控模式下通過操控鍵盤可直接操控小車運行。
   車載系統(tǒng)自動運行時,通過內(nèi)部算法進行路徑選擇和障礙規(guī)避。由于光電對管組信息相對較少,故采用查表映射法進行舵機電機驅(qū)動控制,即將光電對管組采集到的信息進行分類,根據(jù)不同的信息賦予小車不同的電機和舵機驅(qū)動值,而光電對管組采集得到的信息為6 bit數(shù)據(jù),也就是數(shù)值為0~63,將其作為數(shù)組的下標,在數(shù)組內(nèi)容中根據(jù)下標所表征的類型設(shè)置不同的經(jīng)驗值,通過大量的運行測試即可得到比較理想的參數(shù)。車載系統(tǒng)檢測到小障礙物時,查表得到舵機電機參數(shù),轉(zhuǎn)過一定角度繞開障礙物繼續(xù)運行;檢測到較大障礙物且無法繞過時,車載系統(tǒng)倒車回到安全區(qū)域繼續(xù)運行。
 由于光電對管組存在干擾信號,在算法上進行了如下濾波處理:利用記憶功能將前幾次的行進路線保存,通過與當前輸出狀態(tài)的比對,判斷是否為干擾信息以決定是否摒棄當前控制量。
 以上算法保證了車載系統(tǒng)在運行中出錯概率降到最低。
3.2 人機交互界面設(shè)計
    人機交互界面是采用微軟基礎(chǔ)類(MFC)開發(fā)的基于對話框架構(gòu)的應(yīng)用程序。采用CMSComm類處理中轉(zhuǎn)板與PC之間的串口通信,同時通過截獲軟件系統(tǒng)的消息傳遞函數(shù)來實現(xiàn)對鍵盤值的判斷。
    本文詳細介紹了nRF24L01無線芯片的DPL和ACK PAYLOAD等功能,實現(xiàn)了車載系統(tǒng)與上位機之間的雙向通信,使用Actel公司的CoreConsole工具構(gòu)建SoPC片上系統(tǒng),同時設(shè)計了PC機上人機交互界面,完善了系統(tǒng)的運行和控制,實現(xiàn)了具有實時數(shù)據(jù)傳送、自動避障、遠程操控等功能的智能探測系統(tǒng)。
參考文獻
[1]  時志云,蓋建平,王代華,等.新型高速無線射頻器件nRF24L01及其應(yīng)用[J].國外電子元器件,2007(8):42-44.
[2]  NorDic Semiconductor. nRF24L01 single chip 2.4 GHz  transceiver product specification[EB/OL]. July 2007.
[3]  Actel corporation. Coreconsole v1.4 user’s guide[EB/OL]:October 2007.
[4]  CHEN Zhu Rong,HU Chao, LIAO Jing Sheng, et al. Protocol architecture for wireless body area network based on nRF24L01[C]. Proceedings of the IEEE International Conference on Automation and Logistics Qingdao, China,2008:3050-3054.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产日韩欧美综合在线| 亚洲乱码久久| 欧美日韩国产高清| 欧美/亚洲一区| 久久久久久国产精品mv| 欧美在线高清| 午夜精品一区二区三区在线视| 中文亚洲欧美| 亚洲视频成人| 亚洲午夜av| 亚洲免费影院| 欧美一级大片在线免费观看| 午夜免费在线观看精品视频| 小嫩嫩精品导航| 久久成人综合网| 久久国产精品99国产| 久久久久亚洲综合| 久久影院午夜论| 免费成人在线视频网站| 欧美成人在线免费视频| 欧美成人免费在线观看| 欧美精品在线观看播放| 欧美日韩一区二区在线| 国产精品va在线播放| 国产美女精品| 国产精品视频自拍| 国产一区二区观看| 精久久久久久久久久久| 亚洲欧洲视频在线| 9i看片成人免费高清| 亚洲一品av免费观看| 午夜欧美精品| 亚洲国产cao| 日韩视频在线一区二区| 亚洲在线电影| 久久精品91| 欧美大色视频| 欧美午夜视频在线| 国产偷自视频区视频一区二区| 激情小说另类小说亚洲欧美| 亚洲激情六月丁香| 在线视频欧美一区| 欧美一区二区性| 亚洲日韩欧美视频一区| 亚洲视频在线一区| 欧美有码视频| 欧美激情第六页| 国产精品久久久久久久午夜片 | 99在线精品视频在线观看| 日韩一区二区精品视频| 亚洲免费在线视频| 久久精品九九| 亚洲午夜免费福利视频| 久久精品中文字幕一区| 欧美激情1区2区3区| 国产精品毛片| 伊人成人开心激情综合网| 亚洲美女一区| 午夜久久福利| 日韩一区二区精品| 久久国产直播| 欧美日韩国产一级片| 国产欧美日韩亚洲精品| 最新国产乱人伦偷精品免费网站 | 美女诱惑一区| 国产精品久久久久高潮| 精品动漫一区二区| 中文在线不卡视频| 亚洲国产精品久久久久秋霞蜜臀| 亚洲午夜成aⅴ人片| 久久综合九色综合欧美狠狠| 国产精品v亚洲精品v日韩精品 | 在线成人国产| 亚洲午夜久久久久久久久电影院 | 欧美欧美午夜aⅴ在线观看| 国产欧美精品在线| 日韩亚洲成人av在线| 久久精品青青大伊人av| 亚洲在线国产日韩欧美| 欧美激情视频一区二区三区免费| 国产色产综合产在线视频| 日韩视频中文| 亚洲激情小视频| 欧美一区二区在线视频| 欧美日韩国产精品自在自线| 狠狠综合久久| 亚洲欧美在线另类| 亚洲小说春色综合另类电影| 欧美成人免费在线| 狠狠综合久久av一区二区小说| 亚洲天堂av电影| 亚洲天堂网站在线观看视频| 免费久久99精品国产自| 国产亚洲精品激情久久| 亚洲私拍自拍| 亚洲婷婷综合色高清在线| 欧美高清一区二区| 伊大人香蕉综合8在线视| 欧美在线观看一区| 新狼窝色av性久久久久久| 欧美日韩综合视频| 亚洲全部视频| 日韩视频精品| 欧美国产成人在线| 在线精品国产成人综合| 久久精品国产999大香线蕉| 久久国产精品亚洲77777| 国产精品自拍视频| 亚洲综合视频1区| 亚洲欧美综合国产精品一区| 欧美性猛交xxxx乱大交蜜桃 | 亚洲亚洲精品三区日韩精品在线视频| 欧美激情偷拍| 亚洲国产日韩美| 亚洲伦理自拍| 欧美二区在线看| 亚洲第一主播视频| 亚洲国产经典视频| 麻豆91精品| 亚洲电影激情视频网站| 亚洲激情专区| 欧美激情五月| 99国产精品自拍| 中文亚洲欧美| 国产精品久久久久毛片大屁完整版| 99国产一区| 亚洲男同1069视频| 国产精品美女在线| 亚洲欧美欧美一区二区三区| 性欧美videos另类喷潮| 国产午夜精品视频| 亚洲电影第1页| 欧美va亚洲va国产综合| 亚洲精品视频一区二区三区| 在线一区二区三区四区| 欧美四级电影网站| 亚洲宅男天堂在线观看无病毒| 午夜欧美电影在线观看| 国产视频精品va久久久久久| 欧美在线免费观看| 免费在线国产精品| 亚洲精品免费在线| 亚洲免费在线| 国内精品**久久毛片app| 亚洲国产老妈| 欧美日韩一区精品| 亚洲小说欧美另类社区| 久久精品91久久久久久再现| 影音先锋亚洲一区| 99国产一区| 国产精品久久久久久久7电影| 午夜精品亚洲| 免费成人av在线看| av不卡在线观看| 欧美一区二区三区在| 激情文学综合丁香| 亚洲色图制服丝袜| 国产日韩一区二区三区在线| 亚洲激情网站| 国产精品久久久久久久久果冻传媒| 午夜视频一区在线观看| 免费亚洲电影| 亚洲视频免费看| 久久综合久久久久88| 99热这里只有精品8| 久久精品国产一区二区三| 亚洲欧洲日韩在线| 欧美在线播放视频| 亚洲国产精品久久久久久女王| 亚洲作爱视频| 先锋影音国产精品| 怡红院精品视频| 亚洲午夜精品| 国语自产精品视频在线看一大j8| 99riav久久精品riav| 国产欧美一区二区三区另类精品| 亚洲国产一区视频| 国产精品久久久久久亚洲毛片| 亚洲成人直播| 国产精品久久中文| 亚洲精品久久久久久久久久久久久| 国产精品国产三级国产aⅴ9色| 亚洲国产精品综合| 国产精品一区二区久久| 亚洲理论在线观看| 国产一区二区毛片| 亚洲视频欧美在线| 1000精品久久久久久久久| 亚洲欧洲99久久| 亚洲精品久久视频| 久久精品一本久久99精品| 99热免费精品| 欧美成人午夜影院| 欧美在线free| 国产精品无人区| 一区二区三区视频在线| 永久555www成人免费| 久久av在线看| 亚洲一二三区精品| 欧美日本免费|