逻辑分析仪抓取:老视频数字化采集的排障实战
上周帮客户整理90年代的数码摄像机拍摄的原始素材,采集卡一直认不到HDMI输出,折腾了三天。什么驱动换了七八版,换了三根线,换了两台采集卡都没用。最后还是靠逻辑分析仪抓了一遍DDC通道的信号才找到问题,惊出一身汗。
什么时候你需要做逻辑分析仪抓取?
很多做老视频数字化的朋友,碰到采集卡没信号、EDID读不出来、HDMI握手失败,第一反应就是换设备换线,很少有人想到抓信号看握手包对不对。
说实话,百分之七十的老设备采集问题,都是握手阶段的信号异常,不是硬件真的坏了。尤其是那种十几年前的专业摄像机,HDMI口氧化,DDC通道的I2C信号电平不对,逻辑分析仪一抓就看出来哪里不对。💡
举个例子,我上次碰到的索尼PD150的底座输出,DDC的SCL线一直拉不到高电平,普通示波器只能看电平高低,逻辑分析仪能直接抓出完整的通信时序,你能直接看到哪一步EDID读取失败了。
https://obgeo.oss-cn-beijing.aliyuncs.com/pvc-articles/60e048dd-13cd-47b0-94fa-7bd1579e060f.jpg
视频采集HDMI信号逻辑分析仪抓取实拍
几十块钱的USB逻辑分析仪,就能解决大部分采集握手问题,比你瞎买一堆转接线接头划算多了❗真不是只有硬件工程师才能玩,做非编做老片修复的,备一个没坏处。
新手做逻辑分析仪抓取必踩的三个坑
第一个坑,通道针脚接错了。HDMI的DDC通道是SDA在A19针,SCL在A18针,很多人接反了,抓出来一堆乱码,还说设备坏了。我第一次抓就接反了,对着一堆乱码看了俩小时,才发现针脚对应错了...
第二个坑,采样率开得太高。很多新手觉得采样率越高越好,上来就开100M采样,结果没两分钟缓存就存满了,握手过程就几毫秒,你开那么高完全没必要,I2C信号1M采样都足够,留足够的缓存存触发前的数据才是重点。
第三个坑,不共地。真的有人不接采集卡的地就直接抓,干扰大到根本看不清信号边沿,我一开始也嫌麻烦不接,结果抓出来的信号上下跳,根本看不出哪里错了,接了共地之后,波形瞬间干净了。
说实话,这三个坑我全踩过,懊恼了快一天才摸清楚规律。
https://obgeo.oss-cn-beijing.aliyuncs.com/pvc-articles/ea80ac99-974b-4b5b-8780-ddab61637dd4.jpg
逻辑分析仪抓取HDMI DDC信号时序图
💡给大家留个实用技巧:用边沿触发,设置SCL线的上升沿触发,提前开启预缓存,一插HDMI线就能自动抓住握手全过程,不用你手忙脚乱按触发键✅。
抓完信号之后怎么分析结果
https://obgeo.oss-cn-beijing.aliyuncs.com/pvc-articles/14b059c2-45de-4faa-8220-2e9b18932513.jpg
抓完信号之后怎么分析结果
现在主流的逻辑分析仪软件都自带I2C协议解析,不用你自己对着时序一位一位算地址,直接就能帮你把EDID的十六进制数据解析出来,非常省心。
拿到抓完的结果,第一步先看起始位和停止位对不对。I2C通信的规则是,起始位是SDA拉低的时候SCL跳变升高,如果一开始起始位就不对,那肯定是线接触不良或者电平不够,先查线和接口。
然后看从设备有没有应答,EDID读取是主设备(采集卡)发读取地址,从设备(摄像机)回ACK,如果回的是NACK,那就是源设备根本没收到读取请求,大概率就是DDC通道的电平不够。
我上次碰到的问题,就是老摄像机用了二十年,DDC通道的板载上拉电阻脱焊了,源设备拉不动SCL线,所以一直回不了ACK,我并了一个1K的上拉电阻到3.3V,再抓一遍,ACK正常,EDID顺利读出来,采集卡直接出信号了。
就这么简单。花几毛钱的电阻解决了几千块换采集卡的冤枉钱。
不过话说回来,也不是所有问题抓了就能解决,比如源端的HDMI编码芯片彻底坏了,抓出来的TMDS信号全错,那还是得换硬件,但至少你不用瞎猜问题在哪了,对吧?很多人修设备最喜欢猜,换这个换那个,最后花一堆冤枉钱,不如花二十分钟抓一遍信号,问题直接摆在你脸上。
我现在碰到采集不出信号的问题,第一步不是换线换卡,是先接逻辑分析仪抓一遍DDC信号,十分钟就能排除握手问题,比瞎折腾效率高太多。玩老片数字化这么久,这个小技巧真的救了我好多次。
页:
[1]