《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 基于Zynq的移動視頻監控系統
基于Zynq的移動視頻監控系統
2014年微型機與應用第15期
陳榮濤,葛 芬
南京航空航天大學 電子信息工程學院,江蘇 南京
摘要: 針對傳統固定監控架設成本高、監控有死角且需要布置的視頻采集端個數太多的情況,提出一種基于ARM和FPGA相結合架構的移動視頻監控系統及其軟硬件實現方法,在減少視頻采集端節點的前提下,能夠全方位實時捕捉用戶所需的信息。該系統由電機控制模塊、視頻采集模塊和無線網絡控制模塊構成,實現了無線視頻監控系統;基于Linux操作系統、Web服務器和視頻編碼器,實現了用戶可以通過Internet遠程查看目標現場的狀況。
Abstract:
Key words :

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

  關鍵詞: 視頻監控;ARM;FPGA;Linux;Internet

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

1 移動視頻監控系統架構

  本設計的主控板為Digilent公司的ZedBoard開發板,主芯片Zynq7020結合高性能雙核ARM Cortex-A9 MPCore處理系統和可編程邏輯于一體[1]。視頻采集端位于移動小車之上,從而達到移動采集視頻的目的。系統的設計主要包括ARM控制部分的設計和FPGA邏輯部分的設計。ARM部分主要用來運行操作系統和系統上的應用軟件,如Web服務器Boa,視頻編碼器mjpg-streamer;FPGA部分主要用來擴展硬件資源,進行小車電機驅動部分PWM IP核的設計。系統總體結構框圖如圖1所示。各模塊功能為:攝像頭負責視頻圖像采集,Zynq主控模塊負責ARM操作系統部分和FPGA邏輯資源部分,電機控制模塊負責智能小車的運動,Boa Webserver負責網絡的交互,無線路由器負責無線網絡數據的收發。

001.jpg

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

002.jpg

  本文主要介紹電機控制部分的設計,具體包括電機控制部分硬件電路的設計,FPGA部分PWM IP核的設計,Linux操作系統PWM驅動程序的設計。

2 電機控制部分的設計

  2.1 電機控制部分硬件電路的設計

  該模塊主要由L298P雙H橋直流電機驅動芯片實現。由于一個L298P芯片可以驅動兩個直流電機,小車有4個車輪,因此需要兩塊L298P芯片[3]。同時,為了減少使用的FPGA I/O引腳數量,在原理圖設計中采用了四二輸入或非門芯片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的輸入使能。當ENA為1,DIR1為1時(也就是IN1為0,IN2為1時),P1接口上的電動機正轉;當ENA為1,DIR1為0時(也就是IN1為1,IN2為0時),P1接口上的電動機反轉;當ENA為0時,P1接口上的電動機停止。與P2口連接的電動機原理同上。

003.jpg

  2.2 FPGA部分PWM IP核的設計

  Xilinx嵌入式系統部分的設計由其公司推出的EDK(Embedded Development Kit)開發套件實現,EDK具有完成嵌入式系統設計的一整套工具,即:硬件設計工具XPS(Xilinx Platform Studio)和軟件設計工具SDK(Xilinx Software Development Kit),硬件設計步驟如下:(1)設置新工程路徑;(2)自定義IP配置外設;(3)建立UCF文件;(4)bit流的生成[4]。自定義IP的部分主要實現電機的正轉,反轉和停止控制。關鍵VerilogHDL代碼如下:

  case(state)

  //電機停止

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

  ′GOING://電機正向旋轉

  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://電機反向旋轉

  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

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

004.jpg

  2.3 Linux下電機驅動部分的設計

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

  //XPS分配的物理地址

  #define PWM_MOUDLE_PHY_ADDR 0x6CA00000

  //注冊驅動

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

  pwm_driver_class=class_create(THIS_MODULE,"

  pwm_driver");//創建設備類

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

  //利用設備類創建設備

  //將PWM IP物理地址映射為虛擬地址

  pwm_fre_addr=(unsignedlong)ioremap(PWM_MOUDLE_ PHY_ADDR,sizeof(u32));

  初始化工作結束,但是僅有初始化函數,設備仍然無法工作,還需要有實現頻率和占空比的調節機制。控制PWM的頻率函數如下所示:

  static ssize_t sys_pwm_frequency_set(struct device*dev, struct device_attribute*attr,const char*buf,size_t count)

  {

  long value=0;

  int i;

  frequency=0;

  //修改頻率之前,關閉PWM模塊

  outl(value,pwm_fre_addr);

  //將寫入pwm_frequency中的字符串轉化為整數

  for(i=0;i<count-1;i++)

  {

  frequency*=10;

  frequency+=buf[i]-′0′;

  }

  //100 MHz/frequency,100 MHz在XPS中已經設定

  if(value>100000000)value=100000000;

  value=100000000/frequency;

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

  outl(value,pwm_fre_addr);

  return count;

  }

  控制PWM占空比的函數和控制PWM頻率的函數一樣。

3 實驗結果及測試

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

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

  設計中采用軟硬件協同設計的方法,即:在整個系統及定義的基礎上,同時對軟硬件進行設計和協調,其中包括軟硬件的劃分(哪些功能使用軟件完成,哪些功能使用硬件完成)、軟硬件系統的開發與聯合調試,降低了開發風險,縮短了開發周期。

參考文獻

  [1] Xilinx Inc. UG585, Zynq-7000 All Programmable SoC Technical Reference Mannual[Z]. 2013.

  [2] Xilinx Inc. UG873, Zynq-7000 All Programmable SoC: Concepts, Tools and Techniques[Z]. 2013:12-35,40-53.

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

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

  [5] 陸佳華,江舟,馬岷.嵌入式系統軟硬件協同設計指南:基于Xilinx Zynq[M].北京:機械工業出版社,2013.

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
久久在精品线影院精品国产| 欧美日本一区二区高清播放视频| 久久精品国产96久久久香蕉| 亚洲天堂免费观看| 亚洲精品久久嫩草网站秘色| 亚洲大片在线观看| 1204国产成人精品视频| 伊人成人开心激情综合网| 国产亚洲人成a一在线v站| 国产欧美日韩在线视频| 国产精自产拍久久久久久| 国产精品一区二区久久久久| 亚洲精品欧美一区二区三区| 欧美一区二区三区男人的天堂| 亚洲一级电影| 亚洲视频在线免费观看| 一本大道av伊人久久综合| 99视频一区二区| 亚洲视频在线一区| 亚洲一区二区综合| 午夜精品在线观看| 午夜国产不卡在线观看视频| 亚洲一区二区三区高清不卡| 亚洲免费在线精品一区| 亚洲欧美在线aaa| 亚久久调教视频| 欧美一区二区视频网站| 欧美中文字幕在线播放| 久久久久久久久伊人| 美女任你摸久久| 欧美激情网友自拍| 欧美日韩国产在线观看| 欧美午夜精品久久久久免费视| 国产精品激情av在线播放| 国产日产欧美a一级在线| 国产专区综合网| 亚洲国产一区在线| 日韩视频国产视频| 亚洲一二区在线| 欧美一区二区在线观看| 亚洲国产精品传媒在线观看| 亚洲精品久久久蜜桃| 亚洲无亚洲人成网站77777| 亚洲欧美综合网| 久久免费一区| 欧美另类极品videosbest最新版本| 欧美激情在线有限公司| 国产精品久久久久久久久久ktv| 国产欧美午夜| 亚洲国产国产亚洲一二三| 一本色道久久综合狠狠躁的推荐| 亚洲专区国产精品| 亚洲激情av在线| 国产精品99久久久久久有的能看| 亚洲欧美卡通另类91av| 久久久久久高潮国产精品视| 亚洲第一毛片| 亚洲网站在线观看| 欧美一区二区三区四区在线观看地址 | 久久精品亚洲一区二区三区浴池| 欧美1区2区视频| 欧美新色视频| 精品成人免费| 亚洲视频一区二区免费在线观看| 久久国产精品一区二区| 亚洲色在线视频| 久久美女艺术照精彩视频福利播放| 欧美日韩国产影片| 黑人极品videos精品欧美裸| 99精品欧美一区二区蜜桃免费| 欧美一区二区三区视频免费播放 | 亚洲精品乱码久久久久久蜜桃麻豆 | 国产亚洲一级| 日韩视频在线观看| 欧美在线亚洲在线| 亚洲综合视频1区| 欧美激情导航| 国产综合精品一区| 亚洲视频狠狠| 亚洲老板91色精品久久| 久久人人爽人人爽爽久久| 国产精品久久久久一区二区| 亚洲电影天堂av| 久久精品国产成人| 午夜精品在线| 国产精品va在线播放我和闺蜜| 在线看片欧美| 久久aⅴ国产紧身牛仔裤| 亚洲欧洲av一区二区| 欧美日韩ab片| 亚洲成人在线免费| 欧美在线亚洲| 久久成人一区| 国产精品福利影院| 99riav久久精品riav| 亚洲精品中文字幕在线| 麻豆精品精华液| 国产一区二区视频在线观看| 亚洲在线中文字幕| 亚洲午夜免费福利视频| 欧美精品一区在线| 亚洲黄色成人久久久| 亚洲电影免费观看高清完整版| 久久av资源网| 国产麻豆精品在线观看| 亚洲图片激情小说| 亚洲婷婷国产精品电影人久久| 欧美精品久久天天躁| 亚洲高清中文字幕| 亚洲国产精品久久91精品| 久久亚洲春色中文字幕久久久| 国产九九精品| 亚洲欧美福利一区二区| 亚洲一区久久久| 欧美午夜在线一二页| 99这里只有久久精品视频| 日韩手机在线导航| 欧美激情一区二区三区全黄 | 在线成人黄色| 亚洲国产视频a| 美国十次了思思久久精品导航| 激情久久久久| 久久精品国产v日韩v亚洲| 久久久99免费视频| 国产午夜精品麻豆| 欧美在线视频观看| 久久久久久久久久看片| 国产专区精品视频| 亚洲国语精品自产拍在线观看| 久久久久一区| 韩国精品一区二区三区| 亚洲第一区在线观看| 巨胸喷奶水www久久久免费动漫| 激情综合久久| 亚洲韩国精品一区| 欧美精品日韩| 日韩亚洲欧美高清| 亚洲一区亚洲二区| 国产精品美女久久久久久2018 | 国产精品拍天天在线| 亚洲欧美日韩成人高清在线一区| 欧美bbbxxxxx| 国产伦精品一区二区三区| 亚洲免费在线精品一区| 欧美制服丝袜| 国内精品免费在线观看| 91久久国产综合久久蜜月精品 | 黑人极品videos精品欧美裸| 久久精品欧美| 欧美成人性网| 亚洲作爱视频| 欧美一区二区三区精品| 国产在线精品一区二区夜色| 亚洲第一天堂av| 欧美国产日韩视频| 一本到高清视频免费精品| 午夜精品久久久久久久久| 国产香蕉97碰碰久久人人| 亚洲国产精品久久久久婷婷老年| 欧美1级日本1级| 在线亚洲欧美| 久久久久久网址| 亚洲国产小视频在线观看| 亚洲无毛电影| 国内精品久久久久久| 亚洲精品久久| 国产精品视频午夜| 亚洲国产欧美精品| 欧美日韩精品综合在线| 香蕉久久一区二区不卡无毒影院| 卡通动漫国产精品| 99精品国产福利在线观看免费 | 午夜精品网站| 欧美不卡三区| 一区二区三区精品国产| 久久久噜噜噜久久| 亚洲精品综合在线| 欧美一区二区视频97| 亚洲国产日韩一区二区| 亚洲欧美成人网| 精品粉嫩aⅴ一区二区三区四区| 9人人澡人人爽人人精品| 国产精品日韩欧美综合| 亚洲国内自拍| 国产精品一区二区在线观看网站| 亚洲国产精品一区二区久| 欧美日韩一区二区三区免费看| 欧美一区国产二区| 欧美日韩和欧美的一区二区| 午夜视频在线观看一区二区| 欧美成年人视频网站欧美| 亚洲嫩草精品久久| 欧美精品久久久久久久| 亚洲成在人线av| 国产精品久久久久久久久果冻传媒 | 亚洲国产精品久久| 国产精品区一区二区三| 日韩一区二区免费高清| 国产专区综合网| 亚洲欧美日韩爽爽影院|