技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于Zynq的移動視頻監(jiān)控系統(tǒng)的電機控制設(shè)計

基于Zynq的移動視頻監(jiān)控系統(tǒng)的電機控制設(shè)計

時間:2017-12-22 11:21:21來源:網(wǎng)絡(luò)轉(zhuǎn)載

導(dǎo)語:?本文主要介紹電機控制部分的設(shè)計,具體包括電機控制部分硬件電路的設(shè)計,F(xiàn)PGA部分PWMIP核的設(shè)計,Linux操作系統(tǒng)PWM驅(qū)動程序的設(shè)計。

摘要:針對傳統(tǒng)固定監(jiān)控架設(shè)成本高、監(jiān)控有死角且需要布置的視頻采集端個數(shù)太多的情況,提出一種基于ARM和FPGA相結(jié)合架構(gòu)的移動視頻監(jiān)控系統(tǒng)及其軟硬件實現(xiàn)方法,在減少視頻采集端節(jié)點的前提下,能夠全方位實時捕捉用戶所需的信息。該系統(tǒng)由電機控制模塊、視頻采集模塊和無線網(wǎng)絡(luò)控制模塊構(gòu)成,實現(xiàn)了無線視頻監(jiān)控系統(tǒng);基于Linux操作系統(tǒng)、Web服務(wù)器和視頻編碼器,實現(xiàn)了用戶可以通過Internet遠(yuǎn)程查看目標(biāo)現(xiàn)場的狀況。

中國視頻監(jiān)控市場快速發(fā)展,數(shù)字監(jiān)控逐步成為主流,網(wǎng)絡(luò)化、個人化和智能化將是中國視頻監(jiān)控市場重要的發(fā)展趨勢。但當(dāng)前基于流媒體傳輸?shù)募夹g(shù)對網(wǎng)絡(luò)條件要求較高,不能大面積推廣,固定監(jiān)控成本太高。如何將視頻監(jiān)控與Interne相結(jié)合,使監(jiān)控人員可以隨時隨地實施監(jiān)控,是現(xiàn)代監(jiān)控技術(shù)急需解決的問題。另一方面,目前視頻監(jiān)控系統(tǒng)采用的微控制器多是ARM9、ARM11等系列微控制器,ARM微控制器硬件外設(shè)出廠時已經(jīng)固定,不利于用戶進(jìn)行硬件擴展和升級,而ARM和FPGA相結(jié)合的多芯片解決方案又會導(dǎo)致系統(tǒng)成本太高,同時還會造成系統(tǒng)資源的浪費,功耗太大。針對以上不足,本文提出了一種新的解決方案,采用Zynq系列處理器,芯片采用的是高性能Cortex-A9雙核和FPGA相結(jié)合,ARM部分可以解決高清視頻的處理問題,可編程邏輯FPGA部分可以升級和擴展硬件。

1移動視頻監(jiān)控系統(tǒng)架構(gòu)

本設(shè)計的主控板為Digilent公司的ZedBoard開發(fā)板,主芯片Zynq7020結(jié)合高性能雙核ARMCortex-A9MPCore處理系統(tǒng)和可編程邏輯于一體[1]。視頻采集端位于移動小車之上,從而達(dá)到移動采集視頻的目的。系統(tǒng)的設(shè)計主要包括ARM控制部分的設(shè)計和FPGA邏輯部分的設(shè)計。ARM部分主要用來運行操作系統(tǒng)和系統(tǒng)上的應(yīng)用軟件,如Web服務(wù)器Boa,視頻編碼器mjpg-streamer;FPGA部分主要用來擴展硬件資源,進(jìn)行小車電機驅(qū)動部分PWMIP核的設(shè)計。系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示。各模塊功能為:攝像頭負(fù)責(zé)視頻圖像采集,Zynq主控模塊負(fù)責(zé)ARM操作系統(tǒng)部分和FPGA邏輯資源部分,電機控制模塊負(fù)責(zé)智能小車的運動,BoaWebserver負(fù)責(zé)網(wǎng)絡(luò)的交互,無線路由器負(fù)責(zé)無線網(wǎng)絡(luò)數(shù)據(jù)的收發(fā)。

基于Zynq的移動視頻監(jiān)控系統(tǒng)的電機控制設(shè)計

系統(tǒng)上電之后,首先自動執(zhí)行芯片內(nèi)部固化的芯片初始化程序,然后執(zhí)行第一階段的啟動加載器FSBL,使用比特流文件(PWMIP核設(shè)計生成的bit文件)對FPGA部分進(jìn)行配置,待FPGA配置完成后,開始執(zhí)行U-boot引導(dǎo)程序,啟動Linux操作系統(tǒng)[2]。系統(tǒng)啟動完成后,智能小車通過無線路由器產(chǎn)生無線信號,用戶在另一端就可以通過網(wǎng)絡(luò)來連接智能小車終端,實施視頻監(jiān)控。用戶和系統(tǒng)的交互實現(xiàn)如圖2所示。

本文主要介紹電機控制部分的設(shè)計,具體包括電機控制部分硬件電路的設(shè)計,F(xiàn)PGA部分PWMIP核的設(shè)計,Linux操作系統(tǒng)PWM驅(qū)動程序的設(shè)計。

2電機控制部分的設(shè)計

2.1電機控制部分硬件電路的設(shè)計

該模塊主要由L298P雙H橋直流電機驅(qū)動芯片實現(xiàn)。由于一個L298P芯片可以驅(qū)動兩個直流電機,小車有4個車輪,因此需要兩塊L298P芯片[3]。同時,為了減少使用的FPGAI/O引腳數(shù)量,在原理圖設(shè)計中采用了四二輸入或非門芯片SN74HC02D,這樣用兩個I/O引腳就可以控制L298P的4個輸入端。DIR1、DIR2、PWM1、PWM2通過Zedboard的PMOD接口與FPGA相連。原理圖如圖3所示,圖中IN1、IN2、IN3、IN4為輸入信號,ENA、ENB為使能信號。ENA控制IN1、IN2的輸入使能,ENB控制IN3、IN4的輸入使能。當(dāng)ENA為1,DIR1為1時(也就是IN1為0,IN2為1時),P1接口上的電動機正轉(zhuǎn);當(dāng)ENA為1,DIR1為0時(也就是IN1為1,IN2為0時),P1接口上的電動機反轉(zhuǎn);當(dāng)ENA為0時,P1接口上的電動機停止。與P2口連接的電動機原理同上。

基于Zynq的移動視頻監(jiān)控系統(tǒng)的電機控制設(shè)計

2.2FPGA部分PWMIP核的設(shè)計

Xilinx嵌入式系統(tǒng)部分的設(shè)計由其公司推出的EDK(EmbeddedDevelopmentKit)開發(fā)套件實現(xiàn),EDK具有完成嵌入式系統(tǒng)設(shè)計的一整套工具,即:硬件設(shè)計工具XPS(XilinxPlatformStudio)和軟件設(shè)計工具SDK(XilinxSoftwareDevelopmentKit),硬件設(shè)計步驟如下:(1)設(shè)置新工程路徑;

(2)自定義IP配置外設(shè);

(3)建立UCF文件;

(4)bit流的生成[4]。自定義IP的部分主要實現(xiàn)電機的正轉(zhuǎn),反轉(zhuǎn)和停止控制。關(guān)鍵VerilogHDL代碼如下:

case(state)

//電機停止

′NOP:{pwm_left,pwm_right}<={7′d0,7′d0};

′GOING://電機正向旋轉(zhuǎn)

begin

if(dis_value>31)

{pwm_left,pwm_right,dir_lself,dir_rself}

<={7′d100,7′d100,1′d0,1′d0};

else

{pwm_left,pwm_right,dir_lself,dir_rself}<=

{{dis_value[4:0],2′b0},{dis_value[4:0],2′b0},1′d1,1′d1};

end

′RETURN://電機反向旋轉(zhuǎn)

begin

if(dir_value==3′b010)

{pwm_left,pwm_right,dir_lself,dir_rself}<={7′d80,7′d80,1′d1,1′d0};

else

{pwm_left,pwm_right,dir_lself,dir_rself}<={7′d80,7′d80,1′b0,1′b1};

end

endcase

在本設(shè)計中,對電機的控制,傳輸?shù)臄?shù)據(jù)量較小,只需要添加一個低速的AXI4-Lite總線設(shè)備PWM模塊來控制PMOD接口就可以實現(xiàn)硬件設(shè)備之間通信,其中AXI4-Lite的全局時ACLK設(shè)置為100MHz,PWM模塊分配的起始物理地址為0x6CA00000,空間大小為64KB,PWM配置信息如圖4所示。

基于Zynq的移動視頻監(jiān)控系統(tǒng)的電機控制設(shè)計

2.3Linux下電機驅(qū)動部分的設(shè)計

由于遠(yuǎn)端傳輸是在Linux系統(tǒng)下TCP/IP協(xié)議實現(xiàn)的,因此,編寫Linux下的IP驅(qū)動,應(yīng)用程序就可以通過Linux的標(biāo)準(zhǔn)接口訪問FPGA的PMOD接口設(shè)備。本設(shè)計編寫的是字符型設(shè)備驅(qū)動程序,包含設(shè)備加載、設(shè)備卸載以及文件操作函數(shù)。PWM模塊加載時系統(tǒng)調(diào)用module_init(pwm_init)宏實現(xiàn)模塊的初始化操作,在本系統(tǒng)中pwm_init()函數(shù)主要完成以下工作:(1)內(nèi)核注冊字符型設(shè)備驅(qū)動;(2)創(chuàng)建PWM設(shè)備類;(3)利用PWM設(shè)備類創(chuàng)建設(shè)備;(4)將PWM模塊物理地址映射到虛擬地址上[5]。部分關(guān)鍵代碼如下所示:

//XPS分配的物理地址

#definePWM_MOUDLE_PHY_ADDR0x6CA00000

//注冊驅(qū)動

pwm_driver_major=register_chrdev(0,DEVICE_NAME,&pwm_driver_fops);

pwm_driver_class=class_create(THIS_MODULE,"

pwm_driver");//創(chuàng)建設(shè)備類

pwm_driver_device=device_create(pwm_driver_class,NULL,MKDEV(pwm_driver_major,0),NULL,"pwm_device");

//利用設(shè)備類創(chuàng)建設(shè)備

//將PWMIP物理地址映射為虛擬地址

pwm_fre_addr=(unsignedlong)ioremap(PWM_MOUDLE_PHY_ADDR,sizeof(u32));

初始化工作結(jié)束,但是僅有初始化函數(shù),設(shè)備仍然無法工作,還需要有實現(xiàn)頻率和占空比的調(diào)節(jié)機制??刂芇WM的頻率函數(shù)如下所示:

staTIcssize_tsys_pwm_frequency_set(structdevice*dev,structdevice_attribute*attr,constchar*buf,size_tcount)

{

longvalue=0;

inti;

frequency=0;

//修改頻率之前,關(guān)閉PWM模塊

outl(value,pwm_fre_addr);

//將寫入pwm_frequency中的字符串轉(zhuǎn)化為整數(shù)

for(i=0;i100000000)value=100000000;

value=100000000/frequency;

//將計數(shù)值寫入到PWM模塊的pwm_fre_addr寄存器中

outl(value,pwm_fre_addr);

returncount;

}

控制PWM占空比的函數(shù)和控制PWM頻率的函數(shù)一樣。

3實驗結(jié)果及測試

系統(tǒng)的主控制板為Zedboard開發(fā)板,上電啟動后,無線路由器會發(fā)布一個SSID為Tp_Link_5C90的無線網(wǎng)絡(luò),可以通過任何可以上網(wǎng)的設(shè)備連接這個網(wǎng)絡(luò)。在瀏覽器中輸入網(wǎng)址:192.168.1.100,就會登錄到移動視頻監(jiān)控的網(wǎng)頁上,通過界面的按鈕控制視頻終端的運行。

本文設(shè)計采用XilinxAllProgrammable芯片Zynq作為主控CPU,F(xiàn)PGA部分可以實現(xiàn)邏輯擴展和功能補充。例如:自定義通信協(xié)議、IP核,同時還可以利用Xilinx的部分可重配置技術(shù)升級硬件系統(tǒng),易于后期擴展和硬件升級;ARM部分采用的是性能較高的Cortex-A9雙核,使得對高清晰視頻的處理較為流暢,而且系統(tǒng)整體功能也比較穩(wěn)定。相比于傳統(tǒng)的模擬監(jiān)控,數(shù)字視頻處理技術(shù)提高了圖像的質(zhì)量和監(jiān)控效率。

設(shè)計中采用軟硬件協(xié)同設(shè)計的方法,即:在整個系統(tǒng)及定義的基礎(chǔ)上,同時對軟硬件進(jìn)行設(shè)計和協(xié)調(diào),其中包括軟硬件的劃分(哪些功能使用軟件完成,哪些功能使用硬件完成)、軟硬件系統(tǒng)的開發(fā)與聯(lián)合調(diào)試,降低了開發(fā)風(fēng)險,縮短了開發(fā)周期。

參考文獻(xiàn)

[1]XilinxInc.UG585,Zynq-7000AllProgrammableSoCTechnicalReferenceMannual[Z].2013.

[2]XilinxInc.UG873,Zynq-7000AllProgrammableSoC:Concepts,ToolsandTechniques[Z].2013:12-35,40-53.

[3]王芳芳,張歡.基于Zynq平臺的動態(tài)智能家居系統(tǒng)的設(shè)計[J].軟件,2013,34(8):98-100.

[4]胡典榮,郭春生.基于ZedBoard的SPI和以太網(wǎng)傳輸設(shè)計[J].杭州電子科技大學(xué)學(xué)報,2013,33(5):126-129.

[5]陸佳華,江舟,馬岷.嵌入式系統(tǒng)軟硬件協(xié)同設(shè)計指南:基于XilinxZynq[M].北京:機械工業(yè)出版社,2013.

標(biāo)簽:

點贊

分享到:

上一篇:直線步進(jìn)電機在壓路機發(fā)動機...

下一篇:松下系列交流伺服電機驅(qū)動器...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

中國傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號