999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于SOPC的圖像采集及傳輸系統設計

2014-09-06 10:51:08孫佳帝
電子器件 2014年6期
關鍵詞:信號系統設計

孫佳帝

(長春職業技術學院信息分院,長春 130033)

?

基于SOPC的圖像采集及傳輸系統設計

孫佳帝*

(長春職業技術學院信息分院,長春 130033)

基于SOPC技術設計了一種軟硬件結合的圖像采集及傳輸系統,針對以往緩存在SDRAM中的圖像數據對Nios Ⅱ的不可見性,提出在FPGA上采用SOPC技術實現圖像采集、格式轉換、圖像緩存,通過設計基于DMA的高速緩存IP核,實現Nios Ⅱ對圖像數據的實時、準確讀取及傳輸。實驗結果表明,該系統克服了以往緩存在SDRAM中的圖像數據對Nios Ⅱ的不可見性,實現了對任意位置的圖像數據準確、高效地讀取,有利于擴充各種軟件算法。

FPGA;圖像傳輸設計;SOPC;Nios Ⅱ;WinPcap

隨著半導體市場的迅猛發展,產品面市的時間壓力及市場對產品設計的快捷性和靈活性要求的提升,這使得基于片上系統(System On Chip)設計的產品面臨一些亟待解決的問題:比如生產成本高,開發周期長,設計不靈活以及芯片出廠后很難再加以修改等[1]。這樣,SOPC(System On Programmable Chip)可編程片上系統概念應運而生[2-3]。

隨著第3代視頻監控技術的發展,要求視頻監控系統的前端具備預處理、網絡化以及在線升級等功能,而基于SOPC技術設計的系統,可以靈活根據實際需要添減其系統內部的各種模塊,外設以及部件等,而且能很好的繼承前代產品的特性,在當前,能夠非常好的為視頻監控系統提供嵌入式設計方案[4]。

SOPC技術作為嵌入式設計的熱門領域,已經做了很多研究。邵應昭[4]、劉向[5]利用Verilog硬件描述語言在FPGA內部實現SDRAM存儲器作為緩存采集的視頻數據,自定義一個視頻壓縮模塊隔行隔列讀取數據到SRAM中以供Nios Ⅱ讀取,實現網絡傳輸功能;張磊等[6-8]也是在FPGA內部實現SDRAM控制器緩存采集的視頻數據,Nios Ⅱ通過自定義一個數據通道讀取圖像數據。

上面所采用的方法由于Nios Ⅱ對視頻數據不可見,都是通過間接方法進行讀取,這些方法不僅在讀取速度上實時性不高,而且復雜度高,不利于擴展軟件算法。本文通過將采集到的視頻數據通過基于DMA自定義IP核緩存到Nios Ⅱ可見的SDRAM中,實現了Nios Ⅱ對任意位置的視頻數據準確、高效讀取,并設計了基于該結構的圖像傳輸系統,驗證了該結構具有準確性、易擴展性、實時性等特點。

1 系統總體結構和工作原理

本系統采用友晶公司的DE2開發板為開發原型,選用Altera公司CycloneⅡ系列的EP2C35FPGA芯片[1]。FPGA芯片外面連接美光公司MT9M011型號130萬像素的CMOS圖像傳感器、海力士公司的HY57V641620HG型號的SDRAM等。

本系統主要包括5大模塊:功能分別為圖像采集、格式轉換、圖像緩存、圖像存儲以及網絡發送,詳細的系統硬件架構請參考圖1。其工作流程大致為:(1)系統上電啟動以后,FPGA芯片經由I2C總線配置CMOS圖像傳感器;(2)通過圖像采集功能和格式轉換功能的模塊,得到有效的RGB三色圖像數據;(3)使用帶有FIFO的緩存IP核(自定義),將圖像數據緩存在FIFO,同時,DMA一旦檢測到FIFO里面有數據進入,在沒有CPU的協助下,將數據傳輸至幀存儲器SDRAM中。Nios Ⅱ CPU讀取幀存在SDRAM中的數據,并將RGB圖像數據封裝成UDP格式的數據包,通過DM9000A網絡芯片,發送到網絡中,接收端通過基于WinPcap的C++編程技術,獲取發送的數據包,將數據重組成一幀圖像,完成真正意義上的基于SOPC圖像傳輸。

圖1 系統硬件構架圖

2 系統硬件設計

2.1 圖像采集和格式轉換模塊

目前嵌入式系統大部分還是采用CCD攝像頭,CCD作為比較成熟的成像器件,成像質量比較高,然而其價格昂貴。相比較CCD是以行為單位的電流信號,CMOS攝像頭以點為單位的電荷信號,后者更為敏感,速度更快,更為省電[9]。本設計采用130萬像素MT9M011的CMOS圖像傳感器芯片,其輸出品質非常好,幾乎與CCD傳感器無異。其結構簡單、內部集成度高,僅需要很少的外部控制信號即可完成視頻圖像的采集輸出。MT9M011具備I2C接口,其初始化非常方便,可以通過Verilog語言來模擬I2C總線,進而配置內部各個寄存器。在像素時鐘信號(Pixclk)的驅動下,每一個幀有效信號(Frame_valid)上升沿后開始新一幀數據的傳輸,每一個行有效信號(Line_valid)上升沿后開始傳輸新一行數據。輸出有效圖像數據的條件是—幀有效信號和行有效信號同時有效。表1為本設計所配置的寄存器,如下。

表1 寄存器設置值

MT9M011輸出的圖像數據格式為Bayer,偶數行只有紅色和綠色兩種像素,奇數行只有綠色和藍色兩種像素。為了得到每個像素點的RGB圖像,在此設計中采用雙線性差值算法[10]。

2.2 自定義緩存IP核設計

本系統采用了Altera公司目前最為成熟Avalon-MM bus總線,該總線將SOPC系統的外設地址映射到存儲器上,通過對存儲器空間的訪問進而訪問和控制外設。根據這種訪問方式,Avalon-MM總線將總線上的設備端口分為主端口和從端口—Master和Slave端口,主端口用來發出控制信號,控制其他外設;從端口處于被控制地位,接受主端口發來的控制信號。

本IP核的設計是由Nios Ⅱ CPU來控制完成對圖像數據的緩存和傳輸,需要有Avalon總線所有從端口信號,才可以集成在SOPC系統中,達到圖像數據緩存的目的。該設計的IP核主要實現以下功能:控制圖像傳感器采集的開始和停止,緩存固定大小的圖像數據,方便于DMA傳輸至SDRAM中。

控制圖像傳感器采集的開啟或停止的工作原理如圖2所示。當軟件中要求寫入開始或停止信號時,本模塊根據軟件傳入的偏移地址,判定是開始或停止信號。如果偏移地址為2′h0時,則寫入開始信號,如果偏移地址為2′h1時,則寫入停止信號。

圖2 開啟和停止采集結構原理圖

圖3 自定義緩存IP核結構圖

緩存有效數據工作原理如圖3所示,在該IP核中定義了一個大小為16×1024的先入先出FIFO,如果有效圖像數據到來而且FIFO沒滿,也就是當Dval&&wrfull有效的時候,RGB三色數據在像素時鐘的驅動只下,便會寫入到緩存FIFO內;而當FIFO不為空時,DMA不需要CPU的協助,開啟Avalon總線的讀傳輸。

圖4 SOPC硬件搭建圖

為了匹配讀寫時鐘不一致,采用了兩個控制信號。在寫FIFO時,當wrfull有效時,停止寫FIFO;當rdempty有效時,即FIFO為空時,立即置Avalon接口的等待信號有效,掛起Avalon總線,停止所有的Avalon總線傳輸。通過上面兩種方法,不僅解決了采集時鐘和緩存時鐘的匹配問題,而且保證了數據的完整性。

2.3 SOPC系統搭建

通過Altera提供的SOPC Builder可以很方便、高效地搭建整個系統[11],圖4為SOPC系統硬件搭建圖。其中組件包括Nios Ⅱ CPU、JTAG_UART、PIO接口、PLL(鎖相環)、CMOS_Capture(自定義IP核包含其中)、DMA控制器、SDRAM控制器、DM9000A網卡芯片控制器等。

3 系統軟件設計

3.1 發送端Nios Ⅱ軟件設計

軟件運行環境選用Nios Ⅱ軟件開發工具(SBT),它是下一代的Nios Ⅱ集成開發環境。此開發環境具有功能強大的命令工具和腳本等,有效的利用可以高效管理各種應用程序、軟件庫的編譯選項以及電路板支持包等[12]。

在建立SBT工程時,不需要知道SOPC系統的底層驅動是如何工作,只需要編寫C語言代碼就可以。

編寫的C語言流程圖如圖5所示。

圖5 發送端軟件流程圖

第1步完成圖像完整采集一幀工作。首先調用DM9000A的初始化函數DM9000_init()初始化網卡芯片;初始化成功之后,開啟DMA接收通道,如果開始失敗,則返回錯誤;配置開啟的DMA接收通道,由于我們使用的RGB數據為565的16 bit數據寬度,這里我們配置DMA的傳輸數據寬度為16 bit,并指定接收的數據源為之前自定義的IP核(CMOS_Capture);通過寫入開始信號,控制CMOS圖像傳感器開始采集數據,同時,DMA接收通道開始接收數據;如果沒有接受完一幀圖像,則繼續接收,接受完一幀圖像之后,關閉圖像采集,防止圖像覆蓋,同時關閉DMA通道,這樣保證緩存在SDRAM中的數據是完整的一幀圖像。

第2步完成網絡發送部分的工作。這里由于需要發送出去,就需要封裝數據包,這里我們采用基于無連接的UDP協議的數據封裝格式,這種數據包封裝格式簡單并且傳輸速度快。首先填寫數據包頭信息,具體填寫內容如表2所示,包頭信息的順序為:傳輸目的地的MAC地址、源MAC地址、協議類型、Ip版本號、包頭長度、一個數據包長度、數據包的分組信息、IP校驗、源IP、目標IP、發送端端口號、目的端口號等;由于UDP協議最大一個數據包長度為1514 byte,去掉包頭的46 byte,只有1468 byte,所以這里我們每一個數據包只傳輸一行數據640×2=1280 byte,這樣便于調試和復原圖像;進入while循環,判斷是否傳輸完一幀數據,如果沒有,則繼續傳輸,如果傳輸完一幀,則程序結束。

表2 UDP包頭信息設置值

3.2 接收端PC機軟件設計

作為接收端的PC機,我們選用基于WinPcap的應用程序,WinPcap(Windows Packet capture)是window是平臺下一個免費的、公共的網絡訪問庫,能夠使應用程序捕獲和發送數據包。本文采用的就基于C++和WinPcap的應用程序設計。工作流程圖如圖6所示,在應用程序打開時,打開網卡適配器,設置適配器捕獲屬性;設置子網掩碼,只考慮C類子網;設置和編譯過濾器,只接受IP和UDP協議的數據,之后就開啟一個新線程捕獲之前打開的適配器上的數據。接收到一包數據之后,解析數據包,直到接收到一幀圖像時,給主線程發送一個繪圖的消息,主線程繪制bmp位圖,并顯示出來,接受完成。

圖6 接收端軟件流程圖

圖7 接收客戶端截圖

4 測試結果

在實驗室環境下,用文中設計的傳輸系統,成功進行了圖像傳輸實驗。在傳輸640×480×2B的數據圖像時,傳輸速率為5.9 Mbit/s。而在接收端,利用C++編寫的客戶端,進行數據重組顯示時,圖像清晰并完整,如圖7所示。

5 結論

本文所設計的基于SOPC的圖像傳輸系統,采用DMA的高速緩存IP核技術,實現視頻數據的采集緩存,使得Nios Ⅱ能夠便捷、準確的讀取視頻數據,并能穩定傳輸數據,為嵌入式視頻采集前端提供了一個很好的解決方案。在滿足通信實時性要求的前提下,擴展任意基于C語言的軟件算法,完成特定功能,適用于智能視頻監控、嵌入式系統設計等領域。

[1]張志剛. 基于FPGA與SOPC設計教程——DE2實踐[M]. 西安:西安電子科技大學出版社,2007:4-17.

[2]Liu Limin. A Reconfigurable SoPC Based on HW-SW Co-design[C]//IEEE International Conference on Industrial Technology. 2008:1-4.

[3]邵應昭,任愛峰,初秀琴. 基于FPGA的視頻監控系統[J]. 電子技術應用,2008(5):20-22.

[4]劉向. 基于SOPC的智能視頻監控技術研究[D]. 大連:大連理工大學,2010.

[5]Zhang Weijun,Dun Yujie,Shi Weixiang. The Design and Implementation of a Networked Real-Time Video Surveillance System Based on FPGA[C]//5th International Conference on Visual Information Engineering,2008:508-512.

[6]李瑞林. 在FPGA中實現基于Nios Ⅱ的遠程目標的控制[D]. 哈爾濱:哈爾濱工業大學,2008.

[7]張磊. 基于FPGA的輕量化網絡監控系統設計[D]. 昆明:昆明理工大學,2010.

[8]康厚俊. CMOS圖像傳感器與CCD的比較及發展現狀[J]. 才智,2008(9):323-325.

[9]胡志海,王德君,朱巧智. 基于SoPC的自感知運動圖像采集系統設計[J]. 現代電子技術,2009(18):153-157.

[10]陳春寧,王延杰. 利用信號相關對BAYER格式圖像色彩復原[J]. 電子器件,2007,30(4):1417-1419.

[11]陳東明,葉玉堂. 基于SOPC可重構的圖像采集與處理系統設計[J]. 電子器件,2011,34(2):232-236.

[12]The WinPcap Team[R]. WinPcap中文技術文檔. 4.0.1. July 23,2007:437-439.

孫佳帝(1981-),男,漢族,吉林長春人,碩士,講師,主要研究方向為基于FPGA的嵌入式數字視頻監控系統設計。

DesignofAnImageAcquisitionandTransmissionSystemBasedonSOPC

SUNJiadi*

(Changchun Vocational Institute of Technology Information Branch,Changchun 130033,China)

An image acquisition and transmission system based on SOPC(System On Programmable Chip),which is a combination of hardware and software,is designed in this paper. Adopting SOPC technology,realize image acquisition,format conversion,and image cache on the FPGA,through the design of cache IP core based on DMA(Direct Memory Access),realize image data real-time accurate reading and transmission by Nios Ⅱ. The system proposed overcomes the previous cache image data in SDRAM is not visible for Nios Ⅱ,realizes reading the image data at any position accurately and effectively,is available to expand various software algorithms.

FPGA;image transmission design;SOPC;Nios Ⅱ;WinPcap

2014-04-14修改日期:2014-05-08

TN919.8

:A

:1005-9490(2014)06-1116-05

10.3969/j.issn.1005-9490.2014.06.022

猜你喜歡
信號系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
完形填空二則
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
基于FPGA的多功能信號發生器的設計
電子制作(2018年11期)2018-08-04 03:25:42
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
主站蜘蛛池模板: 国产精品xxx| 欧美一级黄色影院| 亚洲手机在线| 九色在线视频导航91| 国产福利拍拍拍| 亚洲欧美日韩成人高清在线一区| 国产偷倩视频| 国产在线观看一区精品| 国产精品欧美日本韩免费一区二区三区不卡 | 中文字幕免费在线视频| 91综合色区亚洲熟妇p| 欧美视频在线第一页| 免费jjzz在在线播放国产| 热久久综合这里只有精品电影| 欧美一区二区三区欧美日韩亚洲| 蜜桃臀无码内射一区二区三区 | 国内熟女少妇一线天| 成人午夜免费观看| 欧美性久久久久| 久久婷婷六月| 亚洲第一中文字幕| 国产成人AV男人的天堂| 午夜无码一区二区三区在线app| 国产在线观看一区二区三区| 久久99蜜桃精品久久久久小说| 亚洲精品无码抽插日韩| 99在线视频免费| 任我操在线视频| 日本国产一区在线观看| 久久久久国产一区二区| 亚洲乱码在线视频| 日韩成人午夜| 免费国产黄线在线观看| 国产另类视频| av在线无码浏览| 国产亚洲美日韩AV中文字幕无码成人| 波多野结衣一区二区三区四区视频| 成年人免费国产视频| 欧美日韩国产精品va| 日韩精品高清自在线| 亚洲无码视频图片| 国产欧美自拍视频| 日韩无码视频专区| 91丝袜在线观看| 免费a在线观看播放| 国产欧美日韩18| 久久久久国产精品免费免费不卡| 呦女亚洲一区精品| 蜜桃视频一区二区| 国产网站在线看| 97国产在线视频| 久久永久精品免费视频| 精品福利视频导航| 成人福利在线免费观看| 一本大道香蕉久中文在线播放 | 在线va视频| 日韩AV无码一区| 国产黑丝视频在线观看| 在线欧美一区| 女同久久精品国产99国| 极品国产一区二区三区| 国产内射在线观看| 国产欧美日韩精品综合在线| 日韩欧美在线观看| 午夜精品一区二区蜜桃| 女人爽到高潮免费视频大全| 久久不卡精品| 国产丝袜91| 欧美第一页在线| 99热线精品大全在线观看| 亚洲性视频网站| 五月婷婷丁香综合| 色悠久久综合| 国产第一页亚洲| 日本午夜视频在线观看| 国产成人综合久久精品下载| 国产亚洲视频中文字幕视频| A级毛片高清免费视频就| 日韩精品少妇无码受不了| 精品无码国产自产野外拍在线| 99精品免费在线| 亚洲人妖在线|