时间:2024-07-26 来源:网络搜集 关于我们 0
调试一个sdi视频断线检测复联功能的大致过程。
1
sdi视频演示版本为sdi的行数从1开始计数,该版本运行3小时后,视频卡住,无法继续传输。重启之后正常运行。改成sdi的行数从0开始计数,此版本运行2小时,视频正常。暂时认为行数从0开始计数更稳定。多进行拷机,看系统是否还会有不稳定的情况。
2
昨天发现的传输3小时后视频卡住,无法继续传输,重启之后正常运行的问题,原因为同事调试其他项目的时候重启过电源,使我用的sdi摄像头重启过,而我的采集逻辑不能识别sdi断线。今天增加sdi摄像头采集断线检测并重新发送视频的功能,在调试中。
3
sdi摄像头采集断线检测功能调好,可以通过板卡上的led显示,也可以从串口读取。但断线重连后无法自动发送视频,串口,代码继续在查。
4
调试sdi采集项目开发断线重连后自动发送视频的功能,在采集模块中抓取ila数据,观察断线重连后逻辑的视频相关寄存器数值,修改代码,继续调试
5
sdi采集项目开发断线重连后自动发送视频的功能,发现之前的问题是断线重连后,视频传输的帧对齐没有重新做,所以改动这部分代码,视频采集重新开始,并使通信链路正常工作。Ila也发现了分辨率采集的时候,计数的错误,原因是我对视频格式的理解把sdi的部分和视频格式的部分弄混了,视频本身的格式在EIA-CEA-861-D这个文档里有详细介绍。
今天调试结果是断线重连后,软件重新发指令,视频重传OK。
6
sdi采集项目断线后自动发送默认视频的功能,编写代码中。
7
sdi采集项目断线后自动发送默认视频的功能,进行到implementation,运行速度很慢,待查原因。
8
di采集项目断线后自动发送默认视频的功能,进行到implementation,运行速度很慢,始终不完成,怀疑资源占满,把代码进行精简之后执行implementation仍有同样问题。查网上的经验,可以重新建立一个vivado项目,已经在试。另外查到可能是时序的问题,原项目增加了一些时序约束,也在试。
9
1 )sdi采集项目断线后自动发送默认视频的功能,进行到implementation运行速度很慢,查明原因是需要用constraintwizard加上约束,进行速度就快了。
2 )我写模拟的场行信号部分的代码,在板子上演示时不出图像,改写检测方式和断线时模拟的场行信号传递的方式,去掉因为断线造成的复位,改为一断线就切换到模拟的场行信号,保证通信部分连续工作,代码在开发中。
10
断线时使用的自己写的视频信号,在板子上不出图像,我进行了该部分的仿真,没有发现问题,把断线的检测从场同步信号检测,改为行同步信号检测,这样是为了一直让自己写的视频信号和实际的视频信号能够同时存在,便于计数,便于断线时快速反应,不等到下一场就可以发送自己的视频信号。修改代码之后,生成bit下载到板子上,发现通信断开登陆不上。
11
把断线的检测从场同步信号检测,改为行同步信号检测,20行左右的时间没有行信号,就判断断线,登陆和正常状态下的视频显示ok,昨天的问题解决。继续改代码,用行信号来计数场信号,目标是时刻让产生的视频信号与正常的视频信号叠加,在一场之内判断断线,下一场的场同步信号切换到产生的视频信号中,通信传输不中断。
12
sdi视频检测的代码中修改完成下一场的场同步信号切换到产生的视频信号中,生成bit文件下载到板卡,查看结果视频有闪烁和错行,ila的监视打不开,断线后没有传生成的图像,继续查问题.
13
sdi视频检测的代码查问题,通过ila查到问题在于逻辑产生的视频信号在断线后没有输出,继续换信号监测,查找原因.
14
sdi视频检测修改新生成的一版bit文件,没调对,ila监视界面没有出现可以选择的信号。
15
sdi检测项目,代码查到一个问题,RGB时钟没有给到逻辑产生的视频信号,修改后生成bit文件中。
16
sdi检测功能调试发现问题是布局布线过慢,半天不出bit文件,下午停下来改代码。原来的设计是用RGB时钟模拟产生sdi场行信号,其实没有必要,板卡上的晶振是上电就工作的,可以用晶振产生的148.5MHz的时钟,这个信号不受拔sdi线的影响,这样场行信号的检测更准确。修改完设计,生成bit文件,测试功能正常,完成断线检测复联功能开发。