新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于nRF401和AT89C2051的無(wú)線(xiàn)數(shù)字通信系統(tǒng)

基于nRF401和AT89C2051的無(wú)線(xiàn)數(shù)字通信系統(tǒng)

——
作者:湖南工業(yè)大學(xué) 歐偉明 時(shí)間:2007-01-26 來(lái)源:《世界電子元器件》 收藏

引言

本文引用地址:http://m.butianyuan.cn/article/21467.htm

目前,機(jī)器人足球比賽系統(tǒng)主要有3種控制方式:第1種稱(chēng)為遠(yuǎn)程遙控?zé)o智能機(jī)器人足球比賽系統(tǒng),主機(jī)通過(guò)無(wú)線(xiàn)方式遙控機(jī)器人;第2種稱(chēng)為基于視覺(jué)的機(jī)器人足球比賽系統(tǒng),主機(jī)通過(guò)處理由攝像機(jī)獲取的信息來(lái)控制機(jī)器人;第3種稱(chēng)為基于機(jī)器人的機(jī)器人足球比賽系統(tǒng),此系統(tǒng)無(wú)需主機(jī)的控制,每個(gè)機(jī)器人通過(guò)自身的傳感器獲取信息并作出判斷。

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

系統(tǒng)硬件設(shè)計(jì)

通信子系統(tǒng)是機(jī)器人足球比賽系統(tǒng)中一個(gè)重要組成部分,其通信性能好壞,將嚴(yán)重影響機(jī)器人的運(yùn)動(dòng)和比賽的順利進(jìn)行。如果在通信過(guò)程中有誤差,它將導(dǎo)致機(jī)器人小車(chē)錯(cuò)誤的動(dòng)作,失去運(yùn)動(dòng)目標(biāo)。一般來(lái)說(shuō),對(duì)通信子系統(tǒng)的要求是:通信頻率可選,硬件電路結(jié)構(gòu)緊湊,通信速率高和性能穩(wěn)定可靠。為了便于機(jī)器人小車(chē)的活動(dòng),通信子系統(tǒng)一般采用無(wú)線(xiàn)通信方式。

根據(jù)對(duì)通信子系統(tǒng)的設(shè)計(jì)要求,我們采用微控制器(俗稱(chēng)單片機(jī))at89c2051作為無(wú)線(xiàn)通信子系統(tǒng)的控制核心,并選用基于藍(lán)牙核心技術(shù)的無(wú)線(xiàn)通信芯片nrf401,通信子系統(tǒng)結(jié)構(gòu)框圖如圖2所示。機(jī)器人小車(chē)的控制命令由pc機(jī)發(fā)出,pc機(jī)的rs232串口連接到圖2所示的無(wú)線(xiàn)通信子系統(tǒng)的輸入端,控制命令經(jīng)at89c2051處理后,通過(guò)芯片nrf401以無(wú)線(xiàn)的方式發(fā)送給機(jī)器人小車(chē)。



at89c2051芯片簡(jiǎn)介

微控制器采用美國(guó)atmel公司的at89c2051芯片。它的指令系統(tǒng)與mcs-51產(chǎn)品兼容,具有2k字節(jié)可重編程閃速存儲(chǔ)器,128 8位內(nèi)部ram,兩個(gè)16位定時(shí)器/計(jì)數(shù)器,六個(gè)中斷源,編程串行uart通道,15根可 編程i/o引線(xiàn)。在無(wú)線(xiàn)通信子系統(tǒng)中,at89c2051完成接收pc機(jī)從rs232串口送來(lái)的機(jī)器人小車(chē)控制指令,并將控制指令經(jīng)無(wú)線(xiàn)通信芯片nrf401送給機(jī)器人小車(chē)子系統(tǒng)。

nrf401芯片介紹

nrf401[3]是由挪威nordic vlsi asa公司推出的集收、發(fā)于一體的無(wú)線(xiàn)通信芯片,在一個(gè)20管腳芯片內(nèi)集成了高頻發(fā)射、高頻接收、fsk調(diào)制與解調(diào)、pll鎖相環(huán)、放大器等單元電路。工作于433mhz ism頻段,采用fsk調(diào)制與解調(diào)技術(shù),數(shù)據(jù)通信速率高達(dá)20kb/s,最大傳輸功率為+10dbm,并可以調(diào)整傳輸功率,差分式天線(xiàn)接口,非常適合做成pcb天線(xiàn),以節(jié)約成本。

n rf401的內(nèi)部結(jié)構(gòu)如圖3所示。nrf401的配置電路圖如圖4所示。


無(wú)線(xiàn)通信子系統(tǒng)電路原理圖

無(wú)線(xiàn)通信子系統(tǒng)電路原理圖如圖5所示。cpu選用at89c2051,它既接收來(lái)自上位機(jī)(pc機(jī))的數(shù)據(jù),同時(shí)又將從pc機(jī)接收的數(shù)據(jù)通過(guò)nrf401以廣播形式發(fā)送給每個(gè)機(jī)器人小車(chē)子系統(tǒng),每個(gè)機(jī)器人小車(chē)子系統(tǒng)根據(jù)設(shè)定的識(shí)別碼,從接收緩沖區(qū)取出左右輪速度值,從而控制機(jī)器人小車(chē)的運(yùn)動(dòng)。

at89c2051微控制器的rxd/p3.0口與電平轉(zhuǎn)換芯片max232相連,max232通過(guò)db_9/male插頭與pc機(jī)的rs232串口相接,用以接收pc機(jī)發(fā)送過(guò)來(lái)的命令控制字。at89c2051微控制器的txd/p3.1口與nrf401的dout/pin9腳相接,結(jié)合其他的控制引腳,at89c2051控制nrf401的無(wú)線(xiàn)發(fā)射過(guò)程,用來(lái)完成將命令控制字經(jīng)nrf401實(shí)現(xiàn)無(wú)線(xiàn)傳輸給機(jī)器人小車(chē)。at89c2051微控制器的p1.0、p1.1、p1.2分別與nrf401的cs、pwr_up、txen相連接。


基于ertos的系統(tǒng)軟件設(shè)計(jì)

通信格式

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

其中si(i=1,2,3,...),為i號(hào)機(jī)器人小車(chē)標(biāo)識(shí);

li(i=1,2,3,...),為i號(hào)機(jī)器人小車(chē)左輪速度;

ri(i=1,2,3,...),為i號(hào)機(jī)器人小車(chē)右輪速度。

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

軟件設(shè)計(jì)

為 了能夠?qū)崟r(shí)地完成無(wú)線(xiàn)通信的目的,系統(tǒng)的軟件我們用c51語(yǔ)言編寫(xiě),并采用 keil vision2 6.20集成開(kāi)發(fā)環(huán)境中的rtx51 tiny實(shí)時(shí)操作系統(tǒng)來(lái)完成無(wú)通信子系統(tǒng)中微控制器at89c2051的軟件設(shè)計(jì)。rtx51 tiny實(shí)時(shí)操作系統(tǒng)是德國(guó)keil公司開(kāi)發(fā)的一種應(yīng)用于mcs-51系列單片機(jī)功能強(qiáng)大的、可用于目前世界上由intel 8051標(biāo)準(zhǔn)內(nèi)核派生出的很多種增強(qiáng)型微控制器的實(shí)時(shí)操作 系統(tǒng)。rtx51 tiny短小精悍,只占用900字節(jié)rom、7字節(jié)data型及3倍于任務(wù)數(shù)量的idata型ram空間,可以很容易地運(yùn)行在沒(méi)有擴(kuò)展外部存儲(chǔ)器的單片機(jī)系統(tǒng)上。使用rtx51 tiny的用戶(hù)程序可以訪(fǎng)問(wèn)外部存儲(chǔ)器,允許循環(huán)任務(wù)切換,并且支持信號(hào)傳遞和事件驅(qū)動(dòng),還能并行地利用中斷功能。rtx51 tiny允許“準(zhǔn)并行”地同時(shí)執(zhí)行16個(gè)任務(wù)。

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

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

任務(wù)1:接收pc機(jī)的命令控制字。若接收到了命令控制字則向任務(wù)2發(fā)送觸發(fā)信號(hào)。
任 務(wù)2:等待觸發(fā)信號(hào),若signal被置 位,則控制nrf401并將命令控制字傳送給nrf401,完成無(wú)線(xiàn)發(fā)射。

結(jié)束語(yǔ)

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


數(shù)字通信相關(guān)文章:數(shù)字通信原理




關(guān)鍵詞:

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉