探究nRF401和AT89C2051的無線數(shù)字通信系統(tǒng)

來源:世界電子元器件 作者:歐偉明2021年05月26日 16:27
[導讀] 本文將論述基于nRF401無線收發(fā)芯片和AT89C2051微控制器芯片的無線通信子系統(tǒng)的設計。

引言

目前,機器人足球比賽系統(tǒng)主要有3種控制方式:第1種稱為遠程遙控無智能機器人足球比賽系統(tǒng),主機通過無線方式遙控機器人;第2種稱為基于視覺的機器人足球比賽系統(tǒng),主機通過處理由攝像機獲取的信息來控制機器人;第3種稱為基于機器人的機器人足球比賽系統(tǒng),此系統(tǒng)無需主機的控制,每個機器人通過自身的傳感器獲取信息并作出判斷。

基于視覺的足球機器人系統(tǒng)作為實驗平臺,其實現(xiàn)難度適中,而且利于模糊推理、神經(jīng)網(wǎng)絡機器學習人工智能領域的研究。從設備上看,基于視覺的機器人足球比賽系統(tǒng)包括小車、攝像裝置、計算機和無線收發(fā)裝置;從功能上看,基于視覺的足球機器人比賽系統(tǒng)由視覺子系統(tǒng)、決策子系統(tǒng)、通信子系統(tǒng)和機器人子系統(tǒng)等四個部分以閉環(huán)系統(tǒng)形式構成?;谝曈X的機器人足球比賽系統(tǒng)結構框圖如圖1所示。

pIYBAGCuBOqAGzfcAAA6UFq3ni0155.png

系統(tǒng)硬件設計

通信子系統(tǒng)是機器人足球比賽系統(tǒng)中一個重要組成部分,其通信性能好壞,將嚴重影響機器人的運動和比賽的順利進行。如果在通信過程中有誤差,它將導致機器人小車錯誤的動作,失去運動目標。一般來說,對通信子系統(tǒng)的要求是:通信頻率可選,硬件電路結構緊湊,通信速率高和性能穩(wěn)定可靠。為了便于機器人小車的活動,通信子系統(tǒng)一般采用無線通信方式。

根據(jù)對通信子系統(tǒng)的設計要求,我們采用微控制器(俗稱單片機)AT89C2051作為無線通信子系統(tǒng)的控制核心,并選用基于藍牙核心技術的無線通信芯片nRF401,通信子系統(tǒng)結構框圖如圖2所示。機器人小車的控制命令由PC機發(fā)出,PC機的RS232串口連接到圖2所示的無線通信子系統(tǒng)的輸入端,控制命令經(jīng)AT89C2051處理后,通過芯片nRF401以無線的方式發(fā)送給機器人小車。

o4YBAGCuBPeAB1hRAAAoP5Q4Q1Y490.png

pIYBAGCuBQOAZXtrAABNDASrL7U761.png

AT89C2051芯片簡介

微控制器采用美國Atmel公司的AT89C2051芯片。它的指令系統(tǒng)與MCS-51產(chǎn)品兼容,具有2K字節(jié)可重編程閃速存儲器,128 8位內部RAM,兩個16位定時器/計數(shù)器,六個中斷源,編程串行UART通道,15根可 編程I/O引線。在無線通信子系統(tǒng)中,AT89C2051完成接收PC機從RS232串口送來的機器人小車控制指令,并將控制指令經(jīng)無線通信芯片nRF401送給機器人小車子系統(tǒng)。

nRF401芯片介紹

nRF401[3]是由挪威Nordic VLSI ASA公司推出的集收、發(fā)于一體的無線通信芯片,在一個20管腳芯片內集成了高頻發(fā)射、高頻接收、FSK調制與解調、PLL鎖相環(huán)、放大器等單元電路。工作于433MHz ISM頻段,采用FSK調制與解調技術,數(shù)據(jù)通信速率高達20kb/s,最大傳輸功率為+10dBM,并可以調整傳輸功率,差分式天線接口,非常適合做成PCB天線,以節(jié)約成本。

n RF401的內部結構如圖3所示。nRF401的配置電路圖如圖4所示。

o4YBAGCuBSeAffTuAACUyvXvF2w554.png

無線通信子系統(tǒng)電路原理

無線通信子系統(tǒng)電路原理圖如圖5所示。CPU選用AT89C2051,它既接收來自上位機(PC機)的數(shù)據(jù),同時又將從PC機接收的數(shù)據(jù)通過nRF401以廣播形式發(fā)送給每個機器人小車子系統(tǒng),每個機器人小車子系統(tǒng)根據(jù)設定的識別碼,從接收緩沖區(qū)取出左右輪速度值,從而控制機器人小車的運動。

pIYBAGCuBTaAeO5IAACk_OoSSn0074.png

AT89C2051微控制器的RXD/p3.0口與電平轉換芯片MAX232相連,MAX232通過DB_9/male插頭與PC機的RS232串口相接,用以接收PC機發(fā)送過來的命令控制字。AT89C2051微控制器的TXD/p3.1口與nRF401的DOUT/pin9腳相接,結合其他的控制引腳,AT89C2051控制nRF401的無線發(fā)射過程,用來完成將命令控制字經(jīng)nRF401實現(xiàn)無線傳輸給機器人小車。AT89C2051微控制器的P1.0、P1.1、P1.2分別與nRF401的CS、PWR_UP、TXEN相連接。

基于ERTOS的系統(tǒng)軟件設計

通信格式

nRF401可以使用全雙工模式,因此,機器人小車子系統(tǒng)不但可以接收主機發(fā)出的命令,而且可以向主機發(fā)出信息,甚至可以實現(xiàn)機器人小車子系統(tǒng)之間的通信。但是當信息量過大時,有可能發(fā)生通信死鎖,所以應考慮通信協(xié)議的設計。為確保通信的順暢,我們 只允許主機向機器人發(fā)送命令,而禁止其他形式的通信。命令控制字的具體格式如下:

pIYBAGCuBY6AZEbhAAAG32ojn9M661.png

其中Si(i=1,2,3,。。.),為i號機器人小車標識;

Li(i=1,2,3,。。.),為i號機器人小車左輪速度;

Ri(i=1,2,3,。。.),為i號機器人小車右輪速度。

PC機發(fā)給每個機器人小車的控制命令字包括3個字節(jié),第1字節(jié)是小車標號,第2字節(jié)是該小車左輪速度,第3字節(jié)是該小車右輪速度。一次性將所有機器人小車的控制命令打包發(fā)送。每個小車都能接收到PC機發(fā)送的每1條指令,機器人小車子系統(tǒng)上的通信專用MCU對標識信號進行比較,相符則隨后數(shù)據(jù)有效,否則不予接收。

軟件設計

為 了能夠實時地完成無線通信的目的,系統(tǒng)的軟件我們用C51語言編寫,并采用 Keil Vision2 6.20集成開發(fā)環(huán)境中的RTX51 Tiny實時操作系統(tǒng)來完成無通信子系統(tǒng)中微控制器AT89C2051的軟件設計。RTX51 Tiny實時操作系統(tǒng)是德國Keil公司開發(fā)的一種應用于MCS-51系列單片機功能強大的、可用于目前世界上由Intel 8051標準內核派生出的很多種增強型微控制器的實時操作 系統(tǒng)。

RTX51 Tiny短小精悍,只占用900字節(jié)ROM、7字節(jié)DATA型及3倍于任務數(shù)量的IDATA型RAM空間,可以很容易地運行在沒有擴展外部存儲器的單片機系統(tǒng)上。使用RTX51 Tiny的用戶程序可以訪問外部存儲器,允許循環(huán)任務切換,并且支持信號傳遞和事件驅動,還能并行地利用中斷功能。RTX51 Tiny允許“準并行”地同時執(zhí)行16個任務。

根 據(jù)對無通信子系統(tǒng)功能的分析,我們把軟件分解為三個任務,各任務之間的運行關系如圖6所示。這三個任務的具體情況如下。

o4YBAGCuBWCALv2PAAAucx_Yl0k682.png

任務0:系統(tǒng)初始化,如設置MCU的串行口工作在方式1,并設置波特率為9600bps。在啟動任務1和任務2后自動刪除任務0,使得任務0只在系統(tǒng)復位時執(zhí)行一次。

任務1:接收PC機的命令控制字。若接收到了命令控制字則向任務2發(fā)送觸發(fā)信號。

任 務2:等待觸發(fā)信號,若SIGNAL被置 位,則控制nRF401并將命令控制字傳送給nRF401,完成無線發(fā)射。

結束語

人 類對機器人的研究已走過了漫長的歷程。隨著科學技術的不斷發(fā)展,人們對機器人的要求也隨之越來越高而現(xiàn)實。在機器人足球比賽系統(tǒng)的開發(fā)過程中,不僅需要機器人學、通信與計算機技術等,而且還需要圖像處理、智能控制等學科內容。 本 文主要敘述了機器人足球比賽通信子系統(tǒng)的硬件、軟件設計。采用AT89C2051和nRF401所設計的通信子系統(tǒng),電路核心芯片少,外圍電路簡單,體積小巧,成本低,其無線數(shù)字通信距離及其通信的可靠性均能滿足機器人足球比賽系統(tǒng)的要求,從實際使用情況來看,使用效果 相當好。

編輯:jq

發(fā)表評論
技術交流、積極發(fā)言! 發(fā)表評請遵守相關規(guī)定。

0 條評論