FPGA接收串口指令切换视频输入源,2路输入视频选择1路输出,高度贴近现实项目,提供工程源码
这个项目高度贴近现实项目,即FPGA接受串口协议帧,解析出有效数据,然后根据有效数据选择2路输入视频中的1路输出,框图如下:
原视频1:
OV5640摄像头720P输入,RGB888格式;
原视频2:
HDMI视频720P输入,RGB888格式,it6802采集;可以参考我之前的文章it6802采集HDMI视频
外部串口输入及解析:
切换逻辑如下:
板子上电后默认为OV5640输入;
FPGA收到4个字节十六进制数据01020304时切换为OV5640输入;
FPGA收到4个字节十六进制数据04030201时切换为HDMI输入;
外部串口按照自定义的串口协议帧格式发送控制指令给FPGA,并去掉帧头、帧尾、和校验,提取出控制指令,这部分请参考我之前写的文章FPGA解析串口协议帧
视频选择切换逻辑:
FPGA根据解析出的串口控制指令选择1路视频给到FDMA缓存做三帧缓存,关于FDMA缓存请参考我之前写得文章FDMA图像三帧缓存方案
输出HDMI:
720P输出屏幕显示;
工程介绍:
开发板:Kintex7开发板;
输入视频源1:OV5640摄像头720P;
输入视频源1:HDMI输入720P,it6802解码;
输出:HDMI输出720P;
工程BD如下:
工程代码架构如下:
视频切换部分核心代码如下:
上板调试:
上板连接如下:HDMI输入连接笔记本电脑;
打开串口调试工具,提前准备好串口指令如下:
点击指令发送后即可切换视频了,看看演示效果吧:
点击直接查看输出结果
福利:工程代码的获取
代码太大,无法邮箱发送,以百度网盘链接方式发送,
通过微信获取资料:
网盘资料如下: