《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 解決方案 > 基于安路FPGA的雙端口千兆以太網視頻傳輸卡

基于安路FPGA的雙端口千兆以太網視頻傳輸卡

2015-07-27
關鍵詞: ANLOGIC AL3 視頻傳輸 FPGA

摘要

       本文介紹了一種使用ANLOGIC(上海安路信息科技有限公司) AL3 FPGA實現的基于千兆以太網的實時視頻傳輸系統。本文首先對AL3 FPGA的特點,KSZ9031RNX千兆PHY芯片和視頻傳輸帶寬計算等進行了簡要介紹,然后詳細描述了系統硬件架構和FPGA程序架構,通過采用乒乓式的頁模式訪問SDRAM解決視頻緩存帶寬瓶頸,實現了1080P 30幀/秒的實時視頻傳輸。

正文

       AL3LA10是上海安路科技最新推出的FPGA器件。該器件采用自主獨創LUT4/LUT5混合邏輯單元結構,包含10K等效邏輯單元,總共500Kbits RAM塊,擁有豐富的高性能LVDS差分接口。該芯片封裝可以兼容ALTERA CYCLONE4和XILINX SPARTAN6等多種芯片,同時比國外同等芯片提供更多的RAM塊和差分IO資源,非常適合于大容量視頻數據的采集,傳輸和顯示等方面應用。

       KSZ9031RNX是一款三速自適應PHY芯片,該芯片使用RGMII接口與FPGA(MAC)連接。該芯片的突出特點是可以通過MDIO接口設置RGMII接口每一個引腳的延時,降低FPGA端對延時調整的復雜度。TFP401A是TI的一款DVI視頻解碼芯片,最大支持1080P分辨率。該芯片接收顯卡輸出的LVDS信號,解碼后輸出LVTTL電平的并行場同步數據。

       一個千兆以太網端口的最大帶寬為1Gb/s,本設計使用雙端口千兆以太網,因此本設計支持的最大視頻傳輸帶寬為2Gb/s。對于1080P 60幀/秒的視頻的帶寬為1920*1080*60*24,大約為3Gb/s,超過了本系統的最大網絡傳輸帶寬。而1080P 30幀/秒的視頻帶寬為1920*1080*30*24,大約為1.5Gb/s,小于本系統的最大網絡傳輸帶寬,因為本系統支持1080P 30幀的視頻實時傳輸。由于本系統使用兩個千兆以太網端口,因此每個端口的帶寬大約為750Mb/s,有效帶寬大概為75%。

       如圖1所示為本系統的硬件結構框圖。DVI視頻從顯卡輸出后通過TFP401A解碼后,輸出R8G8B8的場同步點陣數據,包括HSYNC,VSYNC,DE,ODCK,DATA等信號,FPGA根據HSYNC,VSYNC,DE等場同步信號從視頻源接收以及截取有效視頻數據。視頻數據進入FPGA后,將通過兩片SDRAM乒乓式的存入與讀出,每次以DVI視頻源的幀同步為切換信號,使得每次在SDRAM中存入一幀,然后切換至另外一塊SDRAM。從SDRAM讀出時會根據控制信號確定哪些數據發至第一塊PHY,剩下的數據發送至第二塊PHY。PC機軟件可以通過UART口設置FPGA的某些參數,同時還能回讀發送卡當前的工作狀態信息。

圖片1.png

圖1 雙端口千兆以太網視頻傳輸卡硬件

       圖2為本系統的軟件架構圖,FPGA通過VSYNC信號來判斷每一幀的起點,并以此信號控制SDRAM的切換,以及內部各級FIFO的清空。FPGA根據HSYNC和DE信號獲取一幀中點數據的坐標,根據控制從中截取有效的視頻圖像數據向后一級傳至異步緩存FIFO1。該異步緩存FIFO1主要用于DVI數據輸入和SDRAM讀寫的異步時鐘域轉換。SDRAM讀寫控制模塊根據FIFO1深度指示信息從FIFO1中讀出數據寫入SDRAM1或者SDRAM2, 同時SDRAM讀寫控制模塊判斷FIFO2和FIFO3的深度,當深度小于某個值時則從SDRAM1或者SDRAM2中讀出寫入FIFO2或者FIFO3。以太網打包模塊則負責對數據進行按照UDP格式打包,包括添加UDP包頭,從FIFO2或者FIFO3中讀出數據填入包中,同時計算FCS校驗并添加到包尾。同時該模塊還有一個工作就是將數據轉換為滿足RGMII時序的雙沿數據寫入PHY芯片KSZ9031RNX。

圖片2.png

圖2 雙端口千兆以太網視頻傳輸卡軟件架構圖

       UART是PC軟件與傳輸卡的接口,用于PC機控制傳輸卡的視頻截取分辨率,通常不會將DVI接收的視頻全部通過千兆以太網發送出去,而是截取其中一部分。另外PC機還可以控制千兆以太網端口1和千兆以太網端口2分別發送的分辨率,例如從DVI輸出視頻截取1920*768的圖像,則端口1和端口2可以分別發送1920*384。兩個端口分別發送的行數可以任意調整,但總數保持與截取的高度一致。

       整個系統的時鐘域如圖3所示,DVI視頻輸入部分使用TFP401A輸入的像素數據伴隨時鐘ODCK,該時鐘頻率會隨著輸入視頻分辨率變化而變化,視頻分辨為1080P,該時鐘頻率最高,約為157MHz。SDRAM讀寫控制部分,使用PLL輸出時鐘,頻率為150MHz,在該時鐘頻率下實現SDRAM的讀寫,以及將數據寫入到異步FIFO2和FIFO3。以太網打包和發送部分使用固定時鐘125MHz,這是因為千兆以太網的發送時鐘為固定的125MHz。

圖片3.png

圖3 雙端口千兆以太網視頻傳輸卡軟件時鐘域

       SDRAM控制模塊負責數據寫入和讀出SDRAM的控制,由于該模塊工作時鐘為150MHz,所以SDRAM的工作時鐘也為150MHz。SDRAM的地址使用行列地址復用,同時還需要有預充電和刷新時間,因此SDRAM頁訪問一次有效讀寫數據為256個,而寫入實際花費時鐘數為285個,讀出實際花費時鐘數為300個,由此計算出SDRAM的實際寫入有效帶寬為256/285*150MHz,SDRAM的實際讀出有效帶寬為256/300*150MHz。1080P,30幀/秒的圖像數據帶寬為1920*1080*30,大約為62.5MHz,由于使用乒乓存儲方式,在每一幀圖像的存入與讀出過程中只要滿足SDRAM寫入帶寬265/285*150>62.5和讀出帶寬256/300*150>62.5即可。通過該處可以看出實際SDRAM的讀寫帶寬相對數據帶寬裕量很大,但實際上SDRAM的工作時鐘并不能降低。因為DVI圖像數據每一行數據是連續輸入, 1080P每行連續輸入1920*1.2點,其中前1920點為有效像素,剩下的為行消隱。要保證下一行數據來之前,將FIFO1中的數據寫入SDRAM,而使得FIFO1不至于寫滿,就必須滿足F_SDRAM*1920>F_ODCK*1920*1.2 , F_ODCK最大時鐘為157MHz,因此F_SDRAM的時鐘最小為131MHz,因此本設計最終選用了150MHz的SDRAM工作時鐘。

總結

       本文設計了一種雙端口千兆以太網傳輸卡,他可以最大支持1080P 30幀/秒的視頻發送,而且發送的圖像分辨率大小,圖像區域均可由PC軟件靈活控制。本設計通過SDRAM的乒乓式頁模式訪問提高了SDRAM的讀寫帶寬。最終根據設計做出了如圖4的硬件板,并編寫了相應的FPGA程序,在硬件板上進行測試,系統性能和穩定性均滿足要求。

       實踐證明,安路AL3 FPGA芯片性能穩定,邏輯效率、IP模塊和時序性能方面不輸與國外芯片,本設計中涉及幾個高速時鐘時序余量充足,部分性能指標甚至超過國外芯片。另外,配套TD編譯軟件,功能較為齊全、編譯速度快、時序準確、上手容易、能夠滿足一般開發需求。 

圖片4.png

圖4 雙端口千兆以太網視頻傳輸卡


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 国产成人永久在线播放 | 亚洲成人一区 | 羞羞视频网站在线观看 | 欧美视频中文字幕 | 亚洲图片在线欧美专区图片 | 欧美日韩国产欧美 | 最近中文字幕2019免费版日本 | 无码一区二区三区视频 | 免费高清在线观看a网站 | 老司机精品影院一区二区三区 | 最好看免费中文字幕2019 | 九九99久麻豆精品视传媒 | 在线亚洲精品国产波多野结衣 | 日韩黄色视屏 | 色欧美色图 | 羞羞影院在线观看 | 黄网站免费观看 | 天堂资源在线中文 | 五月深爱婷婷 | 在线免费观看亚洲视频 | 日本一道本高清免费 | 国产操操操 | a级毛片黄片 | 波多野结衣视频在线 | 日韩欧美一区二区三区久久 | 亚洲精品午夜视频 | 噜噜噜色噜噜噜久久 | 国产三级日本三级在线播放 | 在线 你懂的 | 人人玩人人添人人澡免费 | 两性色午夜视频免费老司机 | 欧美一区二区视频三区 | 成 人 黄 色 大片 | 麻豆视频一区二区三区 | av毛片在线看 | 日本高清免费h色视频在线观看 | 天天做天天爱夜夜想毛片 | 一个人在线看的免费视频 | 欧美综合第一页 | 欧美日韩综合高清一区二区 | 日日噜噜噜夜夜爽爽狠狠69 |