一、网络视频传输系统
网络视频传输系统使用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发送的以太网视频数据帧,并实现视频显示。
