一、網絡視頻傳輸系統
網絡視頻傳輸系統使用ov5640攝像頭采集數據,通過組件UDP幀將視頻數據實時傳輸給上位機。
ov5640視頻傳輸帶寬
像素分辨率設為640x480,幀率設為60幀,像素格式為RGB565,傳輸帶寬為 640 x 480 x 16bit x 60 fps = 281 Mbps,因此,以太網帶寬1000 Mbps可以滿足視頻傳輸所需帶寬。
視頻傳輸控制模塊
該模塊解析以太網頂層模塊接收到的數據,如果收到1 個字節的ASCII 碼“1”,則表示以太網開始傳輸圖像數據,transfer_flag輸出1;如果收到1 個字節的ASCII 碼“0”,則表示以太網停止傳輸圖像數據,transfer_flag輸出0。
圖像數據封裝模塊
圖像數據封裝模塊負責傳輸輸入的8位圖像數據,以及添加圖像數據的幀頭和行場分辨率。
該模塊控制著以太網發送模塊發送的字節數,單次發送一行圖像數據的字節數, 模塊內部例化了一個異步FIFO模塊,用于緩存待發送的圖像數據。
- 當fifo 緩存的個數滿足udp_tx_byte_num 的個數之后,udp_tx_start_en 會拉高,開始發送一包數據,而udp_tx_data 會通過異步fifo 將img_data 緩存的數據發送到上位機。
- 在發送一幀圖像的第一行數據時,在一行數據的開頭添加圖像的幀頭和圖像的行場分辨率,共8 個字節,圖像的幀頭是32’hf0_5a_a5_0f,共占用4 個字節;而圖像的行場分辨率占用4 個字節,本次實驗傳輸的圖像分辨率為640*480。
以太網頂層模塊
以太網頂層模塊通過例化UDP通信模塊,將封裝好的圖像數據組建成以太網幀發送出去。
二、FPGA實現
上位機網絡視頻顯示
使用正點原子開發的視頻傳輸上位機,解析FPGA發送的以太網視頻數據幀,并實現視頻顯示。