周瑞釗,王和明
(空軍工程大學(xué)防空反導(dǎo)學(xué)院,西安710051)
基于SOPC和FPGA的智能機(jī)器人無線通訊系統(tǒng)設(shè)計
周瑞釗,王和明
(空軍工程大學(xué)防空反導(dǎo)學(xué)院,西安710051)
針對單處理器系統(tǒng)控制的機(jī)器人,其無線通信系統(tǒng)存在丟包現(xiàn)象和實時性差等弊端,設(shè)計了一種以FPGA作為機(jī)器人的主控制器,以PT2262/2272為通信芯片的無線通訊系統(tǒng)。該設(shè)計包括無線發(fā)射模塊、接收模塊、SOPC建立及軟件實現(xiàn)。研究結(jié)果表明,該方案實現(xiàn)靈活,具有體積小、穩(wěn)定性高、實時性好等優(yōu)點,不僅解決了丟包的問題,而且具有一定的可擴(kuò)展性。
FPGA,機(jī)器人,無線通訊,PT2262/2272,SOPC
小型智能機(jī)器人融合機(jī)械設(shè)計、自動控制、無線通信、圖像識別等多項技術(shù),其中,無線通信系統(tǒng)是銜接主機(jī)和場地機(jī)器人不可缺少的一環(huán)。
目前國內(nèi)多數(shù)的智能機(jī)器人都是基于傳統(tǒng)的SOC系統(tǒng),主控制器采用DSP,其運算速度快、成本低。但是這些基于SOC(SystemOn Chip)的設(shè)計方案在整個電路的復(fù)雜度和設(shè)計等方面存在很多的缺點,例如需要增加很多的芯片和分立元件,不僅增大體積,功耗較大,而且不利于系統(tǒng)的硬件升級[1]。通信時,利用定時器或者查詢的方式實現(xiàn)無線數(shù)據(jù)的收發(fā),這種方案既難以保證數(shù)據(jù)傳輸?shù)母咚俸头€(wěn)定,而且還會出現(xiàn)丟包現(xiàn)象,導(dǎo)致機(jī)器人失控。
本設(shè)計采用FPGA作為主控制器,以SOPC(SystemOnProgrammableChip)的設(shè)計方法進(jìn)行設(shè)計,嵌入NIOSⅡ處理器。SOPC是用可編程邏輯技術(shù)把整個系統(tǒng)放到一片硅片上的一種特殊嵌入式系統(tǒng)。一方面,它片上系統(tǒng)(SOC)完成整個系統(tǒng)的邏輯功能;另一方面,它是可編程系統(tǒng),具有靈活的設(shè)計方式,可裁剪、擴(kuò)充、升級,并具備軟硬件在系統(tǒng)可編程功能[2]。本設(shè)計通信芯片采用PT2262/2272,利用FPGA硬件可編程的特點,將通信芯片在FPGA內(nèi)部與智能機(jī)器人的NIOSⅡ控制器進(jìn)行連接,從而簡化系統(tǒng)的設(shè)計,減小系統(tǒng)的體積,也便于對硬件進(jìn)行修改、仿真以及系統(tǒng)的升級。
如圖1所示,本系統(tǒng)主要由三大模塊組成:FP GA、無線發(fā)射模塊和無線接收模塊。無線發(fā)射模塊主要由PT2262組成,發(fā)射無線信號,由PT2272組成的無線接收模塊只接收與本機(jī)設(shè)定相同的地址碼。PT2272接收完數(shù)據(jù),輸出高電平,F(xiàn)PGA進(jìn)行讀取數(shù)據(jù)。
圖1 系統(tǒng)組成框圖
2.1發(fā)射模塊電路設(shè)計
PT2262/2272灣普城公司生產(chǎn)的一種CMOS工藝制造的低功耗低價位通用編解碼電路,其最多可有12位(A0~A11)三態(tài)地址端管腳(懸空、接高電平、接低電平),任意組合可提供531441址碼[3],PT2262最多可有6位(D0~D5)數(shù)據(jù)端管腳,設(shè)定的地址碼和數(shù)據(jù)碼從17腳串行輸出,可用于無線遙控發(fā)射電路。
以PT2262構(gòu)成的發(fā)射電路如圖2所示,為方便考慮,本設(shè)計主要控制機(jī)器人的前進(jìn)、后退、抬頭、低頭、蹲下、起立,因此選擇六位地址編碼。故將A0~A5六位地址懸空,實際應(yīng)用中智能機(jī)器人接收的指令較多,A0~A5能夠提供36個地址,可以通過增加單片機(jī)用I/O線對地址進(jìn)行設(shè)定。
圖2 無線發(fā)射電路圖
2.2接收模塊電路設(shè)計
接收模塊以安裝在機(jī)器人身上的芯片PT2272為主,電路如下頁圖3所示:為了同發(fā)射電路地址保持一致,PT2272的A0~A5地址懸空,D0~D5有數(shù)據(jù)時輸出5 V左右的高電平(FPGA端口電壓為3.3 V,故需要穩(wěn)壓芯片,選擇AMS1117進(jìn)行分壓),驅(qū)動電流約2 mA,與發(fā)射器上的6個按鍵一一對應(yīng);此接收電路為超再生接收模式,包含選頻網(wǎng)絡(luò)、放大、整形等電路;天線輸入端有選頻電路,而不依賴1/4波長天線的選頻作用,控制距離較近時可以剪短甚至去掉外接天線;接收電路自身輻射極小,加上電路模塊背面網(wǎng)狀接地銅箔的屏蔽作用,可以減少自身振蕩的泄漏和外界干擾信號的侵入[4]。
2.3SOPC設(shè)計
本設(shè)計采用FPGA器件EP2C35F672C6ES作為主控器,它是Altera公司生產(chǎn)CycloneⅡ系列芯片。其硬件資源包含有33 216個邏輯單元LE,105個M4K RAM塊,483 840個RAM位,35個嵌入式18×18乘法器,4個鎖相環(huán),最大可用I/O管腳475個,205個差分通道[5]。
利用QuartusⅡ構(gòu)建基于FPGA的SOPC系統(tǒng)如圖4所示。NiosⅡ系統(tǒng)包含NiosⅡ/s處理器、Avalon總線、片內(nèi)ROM、片內(nèi)RAM以及PIO線;NiosⅡ外圍設(shè)備包括JTAG控制器、外部時鐘、外部中斷。本設(shè)計配置了8MB的SDRAMIS42S16400B,4MB的FLASH S29AL032D70TF104,當(dāng)片內(nèi)RAM不夠存儲時,可以將程序儲存在SDRAM或FLASH,非常方便后續(xù)升級對系統(tǒng)容量的需求。
圖3 無線接收電路圖
圖4 SOPC系統(tǒng)框圖
打開QuartusⅡ的SOPC Builder,如圖5所示,依次添加CPU、RAM、ROM、PIO等,給處理器分配復(fù)位向量地址和異常向量地址,然后外設(shè)一個中斷優(yōu)先級,配置成功提示:Systemgeneration was successful。
圖5 添加元件窗口圖
圖6 系統(tǒng)硬件電路圖
智能機(jī)器人包含通訊系統(tǒng)、電機(jī)驅(qū)動系統(tǒng)等,可以通過SPI等與FPGA進(jìn)行連接,本文只研究通訊系統(tǒng)。FPGA與PT2272的連接如圖6所示,clk是NiosⅡ/s處理器的時鐘引腳,reset_n是復(fù)位引腳,DR是外部輸入中斷;D0~D5作為FPGA與PT2272的SPI接口;為調(diào)試系統(tǒng)是否正常運行,增加LED_PIO輸出來控制LED燈。
軟件程序設(shè)計的主要部分是PT2272與FPGA的數(shù)據(jù)傳送,設(shè)計的主要思路是:PT2262發(fā)出信號,PT2272判斷是否接收到信號,若收到信號由FPGA解碼,解碼后再發(fā)出指令控制機(jī)器人相應(yīng)的動作。程序框圖如圖7所示。
圖7 系統(tǒng)軟件流程圖
為驗證該系統(tǒng)的可行性,用AlteraDE2開發(fā)板進(jìn)行測試。DE2開發(fā)板有18個撥動開關(guān)4個按鈕開關(guān),8個貼片發(fā)光二極管,8個7段數(shù)碼管,其外圍電子原件和板上的核心FPGA芯片CycloneⅡEP2C35F672C6連接,可完成基于FPGA/CPLD芯片的電路設(shè)計。本測試過程用LEDG0亮滅檢驗系統(tǒng)是否可行,LEDGO與FPGA的PIN_AE22連接。
測試原理是:用NIOSⅡ控制DE2開發(fā)板上的LEDG0亮滅,SYS_CLK、SYS_nRST分別配置FPGA的PIN_N25、PIN_N26管腳,LED_TEST配置PIN_AE22管腳。當(dāng)主機(jī)發(fā)送數(shù)據(jù)01或10時,LEDG0閃亮;當(dāng)發(fā)送11時,LEDGO熄滅。
具體過程為:將已經(jīng)構(gòu)建好的SOPC添加到工程中,經(jīng)編譯、配置后用下載線USB-Blaster下載至FPGA,下載模式為JTAG,下載成功提示:Programmeroperationwassuccessful。如圖8所示。實驗結(jié)果驗證了該系統(tǒng)的可行性,說明該無線通訊系統(tǒng)滿足通訊要求。
圖8 程序編譯及下載
本研究主要介紹了基于FPGA為主控器的機(jī)器人無線通信硬件和軟件設(shè)計,并對SOPC的設(shè)計進(jìn)行介紹,且實驗結(jié)果驗證了設(shè)計的可行性,保證數(shù)據(jù)傳輸?shù)母咚俸头€(wěn)定,有效解決了丟包現(xiàn)象,具有體積小、穩(wěn)定性高、實時性好等優(yōu)點。在SOPC系統(tǒng)中,軟硬件都可以編程,從而為硬件系統(tǒng)的靈活配置和軟件系統(tǒng)的靈活設(shè)計提供了方便,也有利于系統(tǒng)的優(yōu)化和升級。尤其這種量體裁衣的硬件配置方式,可以最大限度地提高系統(tǒng)的性價比,同時也可以利用HardCopy技術(shù),將成功實現(xiàn)于FPGA器件上的SOPC系統(tǒng)通過特定的技術(shù)直接向ASIC轉(zhuǎn)化[5]。但實際中智能機(jī)器人得到的指令遠(yuǎn)比本設(shè)計復(fù)雜,因此,在信號發(fā)射模塊還需要再作進(jìn)一步的研究和改進(jìn)。
[1]汪明,趙曉,李曉明.基于FPGA的小型足球機(jī)器人無線通信子系統(tǒng)的設(shè)計[J].機(jī)電工程,2011,11(28):1386-1390.
[2]任愛鋒,初秀琴,常存,等.基于FPGA的嵌入式系統(tǒng)設(shè)計[M].西安:西安電子科技大學(xué)出版社,2004.
[3]普誠科技.PT2262數(shù)據(jù)手冊[EB/OL].[2011-01-01].http://www.princeton.com.tw/downloadpro-cess/downloadfile.asp? Mydownload=PT2262_4.PDF.
[4]新世紀(jì)電子研究所.超外差無線接收模塊J05U技術(shù)規(guī)格書[R].安陽:安陽市新世紀(jì)電子研究所,2011.
[5]周立功.SOPC嵌入式系統(tǒng)基礎(chǔ)教程[M].北京:北京航空航天大學(xué)出版社,2006.
Wireless Communication System Design of Intelligent Robot Based on FPGA
ZHOU Rui-zhao,WANG He-ming
(School of Air and Missile Defense,Air Force Engineering University,Xi’an 710051,China)
In view of the single processor system to control the robot,the wireless communication system existing packet loss,poor real-time.The paper designs a wireless communication system of robot,which uses FPGA as the core controller and PT2262/2272 as the communication chip.The design includes wireless emission module,receiver module,SOPC building and software.Results show that this scheme has high stability and flexibility,it has many advantages of small size,more realtime.The scheme not only solves the problem of packet loss but also has a certain degree of scalability.
FPGA,robot,wirelesscommunication,PT2262/2272,SOPC
TP242.6
A
1002-0640(2016)10-0188-04
2015-08-11
2015-09-25
周瑞釗(1991-),男,陜西寶雞人,碩士研究生。研究方向:微電子技術(shù)應(yīng)用。