《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > DM9000A在高清網絡相機中的應用改進
DM9000A在高清網絡相機中的應用改進
2014年微型機與應用第9期
鄭雪麗,汪 濤
重慶大學 物理學院,重慶 400040
摘要: 隨著嵌入式技術和網絡技術的發展,各種應用設備的網絡成為未來發展的一個重要方向,網絡相機就是近年來在傳統相機的基礎上結合網絡技術發展而來的。隨著人們生活水平的提高,人們對相機圖像分辨率不斷提出新的要求,傳統的基于ARM和DSP等技術的網絡相機已經無法達到實時要求。本文采用集成度高、靈活性高以及并行處理能力強的FPGA作為系統核心器件來設計一款500萬像素實時壓縮與傳輸的高清網絡相機,重點介紹在FPGA平臺上提高DM9000A發送數據帶寬的兩點應用改進。
Abstract:
Key words :

摘  要: 由于DM9000A需要復雜的初始化流程,因此多采用ARM或者內嵌CPU的FPGA驅動,而使用這兩者通常都不能充分利用DM9000A的網絡帶寬。將DM9000A應用在以FPGA器件為核心器件的網絡相機系統中。為了提高DM9000A的網絡發送帶寬,對DM9000A在FPGA平臺上的使用提出兩點改進,并在應用系統中驗證了改進的可行性。

關鍵詞DM9000A高清網絡相機FPGA

1 硬件設計

       DM9000A是Davicom公司推出的一款高速以太網接口芯片,是完全集成的符合成本效益的單芯片快速以太網MAC控制器,其功耗低,處理性能高,而其操作又非常簡單,具有通用的處理器接口,可以與多種處理器直接連接,數據總線寬度可設置為8 bit和16 bit,支持3.3 V和5 V電源模式[1]。

       EP3C55是Altera公司低成本、低功耗的CycloneⅢ系列FPGA器件,該器件具有5.5萬個IE邏輯單元,2.4 MB的嵌入式RAM資源和312個硬件乘法器[2]。

       在本設計中,EP3C55控制整個系統的運行。EP3C55首先需要完成對DM9000A的初始化。完成對CMOS攝像頭的初始化,然后啟動圖像采集,對圖像數據進行JPEG壓縮,再通過DM9000A發送至PC,同時DM9000A還接收從PC發送過來的控制數據幀,由FPGA負責對數據進行解析并進行相應的控制操作,系統的硬件設計框圖如圖1所示。

PM4A2KASGPHI{W@$TE3AV}6.png

       系統中FPGA與DM9000A的接口如圖2所示,DM9000A采用16位總線操作模式,SD0~SD15、CMD、INT、IOR、IOW均與FPGA的通用I/O口相連。

2 對FPGA操作DM9000A的改進

2.1 Nios CPU與硬件模塊切換操作DM9000A

       本設計使用DM9000A實時傳輸JPEG壓縮后的500萬像素圖片,需要達到14幀/s的實時速度。為了保證圖像質量,壓縮比選擇在25倍左右,通過計算可知DM9000A的速度需要達到55 Mb/s左右。

未標題-1.jpg

由于DM9000A操作需要一個復雜的初始化流程,因此通常在FPGA驅動DM9000A時均采用如Nios或者Microblaze等FPGA內嵌CPU的形式[3-4]。因為使用FPGA內嵌CPU,通常都是使用GPIO模擬DM9000A接口時序,對DM9000A進行讀寫操作,DM9000A的并口最大支持100 MHz的操作速度,而嵌入CPU的GPIO通常最大頻率也只能達到1 MHz~2 MHz的頻率,最終導致DM9000A的網絡速度不會大于10 Mb/s,所以采用內嵌CPU后,雖然提高了對DM9000A操作的靈活性,但卻大幅度降低了對DM9000A的操作速度。為了消除該瓶頸,使網絡速度達到要求,本文提出了如圖3所示的NiosⅡ嵌入式CPU與硬件邏輯模塊切換操作DM9000A的模式。

未標題-3.jpg

       圖3所示模塊是一個自定義的AVALON-MM設計,由NiosⅡ CPU控制該模塊的各種操作,該模塊定義了一個狀態寄存器IMAGE_STATE_REG和一個控制寄存器IMAGE_CONTROL_REG。32位狀態寄存器的[4:0]代表FIFO1深度,[5]位代表FIFO1錯誤,[6]位代表FIFO2錯誤,[7]位代表硬件邏輯一次傳輸完成標志,[8:19]代表本次傳輸包序號,[20:31]代表本次傳輸包的有效數據長度。32位的控制寄存器的[0]位控制總線切換,[1]位控制硬件邏輯的發送使能,[2]位控制讀取FIFO1,[3]位控制復位FIFO1和FIFO2。

       FPGA通過DM9000A發送出的圖像幀長度固定為1 442 B,其中42 B為包頭,1 400 B為圖像數據,而圖像數據中最開始的4個字節是從ISR讀出來的圖像幀符號和有效圖像長度,JPEG壓縮模塊按照該格式對壓縮后的數據進行打包,先往FIFO2中不斷寫入圖像數據,當圖像數據滿1 400 B時即往FIFIO1寫入一個命令數據,當每一幀圖像的最后一個包不滿1 400 B時,將向FIFO2中寫0補足1 400 B,同時在FIFO1中寫入命令數據時指示本包中的有效圖像長度。CPU初始化DM9000A以及從FIFO1、FIFO2讀出數據的具體流程如圖4所示。

未標題-2.jpg

       使用該方法可以完全清楚因為讀寫DM9000A接口引起的網絡速度瓶頸,然而使用該方法后,DM9000A最大速度還只能達到50 Mb/s左右,因此又提出如下的改進。

2.2 發送數據包程序的優化

通常控制DM9000A發送一包網絡數據的流程是首先向DM9000A緩沖區寫入數據,然后寫入本次需要發送數據的長度至DM9000A寄存器,再啟動發送使能,發送下一幀數據之前首先不斷讀取DM9000A的發送完成狀態寄存器。通過分析這種流程發現,向DM9000A緩沖區寫入數據需要大量時間,另外DM9000A發送一包數據又需要大量時間,而這兩部分時間又是完全不重疊的,由此才導致DM9000A速度最大只能達到50 Mb/s。如何進一步提高DM9000A的網絡速度?通過仔細查看DM9000A的數據手冊發現,DM9000A支持最多在發送緩沖區存放兩幀數據,DM9000A會自動根據寫入的先后順序對數據幀編號,同時又針對不同幀的狀態寄存器。本文發送的一個數據包長度為1 400 B,發送緩沖區大小為3 KB,因此緩沖區大小滿足同時存在兩個幀的需求,本應用中可以采用DM9000A發送數據的同時寫入數據,優化后的數據發送流程如圖5所示。

       使用該優化方法后,DM9000A的數據發送帶寬可以穩定達到75 Mb/s,滿足了本設計對網絡帶寬的需求。

未標題-4.jpg

系統采用Altera FPGA EP3C55控制DM9000A以太網控制器實現壓縮圖像的以太網傳輸,創新性地提出了采用FPGA內嵌CPU與硬件邏輯交替控制DM9000A的方式來提高DM9000A的網絡帶寬,另外還通過優化DM9000A的軟件程序,使得FPGA使用DM9000A發送網絡數據的帶寬穩定達到75 Mb/s。本系統最終使得DM9000A網絡部分滿足高清圖像壓縮后實時傳輸的需求,同時有力地拓寬了FPGA在嵌入式網絡設計方面的應用范圍。

參考文獻

[1] DAVICOM Semiconductor Inc. DM9000A技術手冊[Z].DVICOM半導體有限公司,2006.

[2] Altera Corporation. CYCLONE III.技術手冊[Z].Altera Corporation,2008.

[3] 薛吳,佘勇,姚振東,等,基于MicroBlaze和DM9000A的以太網接口設計[J].通信技術,2013,46(2):32-34.

[4] 徐洪建.基于DM9000A的網絡接口設計[J].現代電子技術,2012,35(12):19-21

[5] 徐晶晶.基于FPGA的交通監控視頻采集系統研究[D].大連:大連海事大學,2009.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 精品在线观看免费 | 亚洲偷偷自拍 | 中文字幕日韩精品在线 | 日本三级成人午夜视频网 | 久久久久毛片免费观看 | 99国产福利视频区 | 日本道色 | 久草网视频| 中文字幕无线精品乱码一区 | 男人透女人超爽视频免费 | 国产做a爰片久久毛片a | 久久精品久久精品国产大片 | 亚洲男人的天堂在线观看 | 日本精品高清一区二区2021 | 在线观看黄网 | 手机看片精品国产福利盒子 | 亚洲成人在线视频 | 亚洲视频一区二区在线观看 | 国产成人系列 | 成人亚洲综合 | 欧美成人看片一区二区三区 | 亚洲成a人片在线观看 欧美 | 欧美一区综合 | 呦女亚洲一区精品 | 亚洲三级视频在线观看 | 日韩毛片在线免费观看 | 毛片在线视频在线播放 | 国产一级特黄全黄毛片 | 久久综合婷婷香五月 | 久久国产精品久久国产精品 | 亚洲精品中文字幕一区在线 | 精品视频一区二区 | 成人三级精品视频在线观看 | 青青草国产免费一区二区 | 亚洲人成亚洲人成在线观看 | 亚洲欧美精品国产一区色综合 | 狠狠久久综合 | 久久三级毛片 | 成人中文在线 | 免费看一级欧美激情毛片 | 日韩一区二区三区四区不卡 |