海思3516A bt1120 视频输入相关总结
海思3516A bt1120 视频输入相关总结
原创蓝小胥 最后发布于2018-07-19 16:54:20 阅读数 5365 收藏
展开
因为实验室项目需要将FPGA里的模拟视频数据通过bt1120输入给海思3516A,因此我这个刚进实验室的项目小白硬着头皮开始了3516A的学习之旅。
所使用的开发板是在某宝上买的开发好的3516A+OV4689成品,所带的代码都是和OV4689配套,所以除了编译环境的搭建之外最重要的工作就是修改代码以及板子的ko加载,使其变成我们所希望的BT1120输入就ok了!
我们以rtsp-h264代码为例,该代码实现将获取的视频数据进行h264压缩后通过rtsp码流在播放器上实时播出,包括以下头文件,库,以及.c文件:
在sample_comm.h中可以看到3516A所支持的全部输入类型,可以看到支持bt1120 720p和 1080p类型输入。
接下来就是我们改的地方,在代码这里总共需要修改三个部分,首先需要把Makefile里的sensor类型改为SAMPLE_VI_MODE_BT1120_720P(或者1080P)
接下来需要修改的是sample_venc.c,在函数*SAMPLE_VENC_1080P_CLASSIC(HI_VOID *arg)中修改分辨率以及sensor type:
接下来一个需要修改的地方也是花费我时间最久的,在sample_comm_vi.c中,需要将UV时序修改的和你FPGA中的时序一致,否则会一直报错获取数据错误。
最后一个需要修改的地方是在板子的启动脚本里加载ko的命令,当然你也可以不在启动脚本里改,每次开机后都重新输入加载命令。
到此为止,需要重点修改的地方已经介绍完了,至于编译环境的搭建,nfs挂载文件目录,ip的设置等其他博客都有及其详细的介绍,这里不再赘述。另外在调试过程中可以通过 cat /proc/umap/vi 命令来查看VI模块的状态信息 以帮助你判断是哪里的问题。
由于在做这个3516A bt1120输入的时候我只负责代码的修改,其余工作由师兄师姐负责,一开始只是傻乎乎的看代码,乱改一通。对整个bt1120协议,引脚,以及原理图等一无所知,导致开始出了问题都不知道怎样去解决,耽误了很多工夫。另外硬件的连接也是及其重要的,BT1120总共17个引脚,包括高8位数据,低8位数据以及一个时钟引脚,引进的定义以及连线的正确与否都至关重要。因此大家在学习这一块内容的时候一定要注意整体的学习,做到融汇贯通。作为一个小白深感自己要学的东西真是太多了。希望大家以后在相关内容可以多交流。
————————————————
版权声明:本文为CSDN博主「蓝小胥」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41235515/article/details/81116466