?

FPGA和以太網的實時視頻圖像傳輸系統

2022-07-23 06:35福州大學物理與信息工程學院徐志輝
電子世界 2022年1期
關鍵詞:數據格式校驗以太網

福州大學物理與信息工程學院 徐志輝

為了實現對高清視頻圖像的實時穩定的傳輸,基于當前成熟高速可靠穩定的以太網,結合具有強大并行處理能力的FPGA設計了一種基于FPGA和以太網的實時視頻傳輸系統。該系統主要采用了Altera公司的Cyclone IV系列FPGA開發板,OV5640攝像頭作為視頻圖像數據采集口,數據通過SDRAM讀寫FIFO,寫入讀出SDRAM,以太網數據通信模塊讀出數據后進行數據格式封裝,經過RJ45以太網接口,最終視頻圖像在顯示器上顯示。系統具有傳輸距離遠,延時低,速率高的特點。

近年來,隨著電子技術,信息技術,計算機網絡技術的高速發展,網絡信息數據的傳輸量級指數級增長,特別是視頻圖像這類大容量數據的傳輸對于傳輸技術提出了越來越高的求。以太網(Ethernet)是誕生于20世紀70年代的一種局域網技術,具有成本低,傳輸速率快,抗干擾性強的特點。其數據傳輸速率從早期10MBPS,快速發展到如今最高可達100GBPS的超高傳輸能力,以太網已經可以滿足目前大容量超清視頻圖像數據傳輸的用途,在普通消費級與工業領域主要以百兆,千兆以太網為主。以太網在視頻監控領域相比于傳統的USB傳輸方案傳輸距離可達20倍,優勢非常明顯。而FPGA具備非常強大的數據并行處理能力,結合千兆以太網可以實現實時傳輸大量的高清圖像數據,具有效率高低延時的特點。通過使用FPGA與以太網能夠實時高速視頻圖像數據傳輸。

1 系統的總體硬件架構

本系統總體上來看需要用到三大主要模塊,分別是CMOS圖像傳感器OV5640模塊,DDR2-sdram讀寫控制模塊,以太網數據格式封裝模塊,以太網UDP協議發送模塊,以太網CRC32校驗模塊。在數據經過三大模塊的處理以后,最終圖像顯示在顯示器上。CMOS圖像傳感器OV5640主要用于實時采集所要傳輸的視頻圖像數據,采集到的圖像數據通過OV5640內置的一些基礎的圖像處理步驟后,數據將在SDRAM讀寫控制模塊的控制下寫入到SDRAM存儲器中,之后以太網數據格式封裝模塊將經過SDRAM讀寫控制模塊從SDRAM中讀取數據,經過UDP,IP,MAC層協議層層封裝后發送給PHY芯片,以太網CRC32校驗模塊計算經由MAC層發送的數據的CRC值并附加在MAC結尾發送。系統的總體架構圖如圖1所示。

圖1 系統的總體架構圖

2 CMOS視頻圖像采集傳感器模塊

系統的CMOS視頻圖像采集傳感器采用了OV5640傳感器,支持標準的SCCB接口以及I2C接口,支持RGB,YUV格式,支持數字視頻接口。OV5640 CMOS傳感器外部是一個10x2共20針的引腳。除了基礎電源引腳以外,重要的的引腳包括OV_SCL引腳,這是用于SCCB通信的時鐘信號,其效果等價于I2C總線的SCLK時鐘信號。OV-SDA引腳,這是用于SCCB通信的數據信號引腳,其效果等價于I2C總線的時鐘SDAT信號。XCLK引腳是OV5640的基本工作時鐘引腳,默認24MHZ,可以利用片上PLL將該時鐘倍頻到一定頻率后供片上其他功能電路使用。

OV_VSYNV,OV_HREF分別是幀同步信號與行同步信號,前者用于每一幅新圖像輸出前產生一個高脈沖,后者用于輸出一行圖像數據的過程中保持高電平。在場同步信號VSYNC期間,傳輸完成一幅圖像所有行的數據。之后就可以開始下一幀圖像數據的傳輸,不斷重復就可以傳輸視頻圖像數據。圖2為RAW圖像格式下分辨率設置為640*480的圖像采集時序示意圖。

圖2 RAW圖像格式分辨率設置為640*480的圖像采集時序示意圖

圖3 UDP層,IP層,MAC層數據之間的關系

圖4 以太網模塊數據發送狀態機

3 SDRAM控制模塊

SDRAM結構實際上可以看成是由多個存儲單元構成的矩陣陣列,每一個存儲單元包含了,行地址線,列地址線,電容,刷新放大器,數據線。確定了行地址線與列地址線就可以確定存儲位置。每一個存儲陣列是1個BANK,通常1個SDRAM有4個BANK.由于CMOS傳感器采集的是視頻圖像數據,數據的輸入輸出具有順序性。對于這種類型的數據,只用SDRAM控制器模塊控制數據的寫入與讀出時可能會出現在一些特殊時刻,讀寫會被忽略掉,從而導致數據的寫入或者存儲出現丟失,無法順利完成連續性數據的存儲。FIFO(先入先出)存儲器可以作為一種短暫緩沖型數據存儲器,可以在CMOS圖像數據寫入到SDRAM之前加入一個SDRAM寫FIFO,數據經過這個FIFO作為緩沖輸入SDRAM,在以太網模塊從SDRAM中讀出數據中間加入一個SDRAM讀FIFO,該FIFO作為數據讀出緩沖。當SDRAM寫FIFO模塊中的存儲數據量大于一次突發寫長度時則將SDRAM控制器模塊的寫使能信號WR拉高,將從OV5640傳感器采集寫入FIFO中緩存的數據寫入進SDRAM。當SDRAM讀FIFO模塊中的存儲數據量小于整個FIFO能存放的數據量的一半時則將SDRAM的讀使能信號RD拉高,從SDRAM中讀數據。當以太網數據格式封裝模塊發出讀請求時,則將從此讀數據。

4 以太網通信模塊

該以太網傳輸系統基于UDP協議。UDP協議的主要功能是將待傳輸數據封裝成特定格式。每個UDP數據包的報頭信息前8個字節包含了端口,數據包長度等信息,其他的字節則是待傳輸數據。待傳輸數據經過UDP協議打包,UDP協議又是一個基于IP協議的,因此在UDP數據基礎上加上IP報頭信息,即可得到IP層的數據內容。IP層經MAC層發送,因此加其基礎上加上MAC幀頭以及校驗字段,即可得到MAC層數據內容。UDP層數據,IP層數據,MAC層數據之間的關系如圖3所示。

實現以太網的通信除了需要以太網接口(RJ45接口)以外,還需要專用的轉換芯片PHY,實現TTL電平和高速串行數據收發模式的轉換,并行以太網數據到符合以太網物理層鏈路數據傳輸格式的電平信號之間的轉換。PHY芯片與MAC層連接有3種方式:百兆速率采用MII接口,千兆速率采用GMII接口,以及GMII的簡化版RGMII接口。以太網數據格式封裝模塊從SDRAM讀FIFO中提取出16位的數據并轉換成32位的數據,添加數據幀頭避免丟包,之后按行發送數據。數據發送狀態機應該為以下幾個狀態的轉換遷移:1)空閑狀態IDLE;2)送前導碼和幀首定界符的狀態;3)發送MAC幀的目的網卡地址字段;4)發送MAC幀的本機網卡地址字段;5)MAC幀的長度類型字段;6)IP報文報頭部數據字段;7)UDP報文報頭部數據字段及UDP數據字段;8)發送FCS校驗數據字段。發送的數據將經過CRC校驗模塊的校驗,校驗結果值放在以太網幀的FCS段,校驗錯誤將不會接收該幀數據。圖4所示為發送狀態機示意圖。

結語:本系統主要由OV5640攝像頭初始化及數據采集模塊,SDRAM讀寫FIFO及SDRAM太網的視頻數據傳輸,距離遠,速率高,穩定性強,可以在復雜環境下實現穩定高速的傳輸高清視頻圖像數據,具有一定的實際意義。

猜你喜歡
數據格式校驗以太網
使用Excel朗讀功能校驗工作表中的數據
MIT—BIH心率失常數據庫的識讀
智能電能表的現場快速校驗方法探討
電子式互感器校驗方式研究
基于RFID的戶外廣告監管系統的設計與實現
三大因素驅動創新提速以太網快步邁入“靈活”時代
三大因素驅動創新提速 以太網快步邁入“靈活”時代
談實時以太網EtherCAT技術在變電站自動化中的應用
一種融合多業務的信息化系統框架研究
淺談微電子故障校驗
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合