调试ADV7842的点滴 之 hdmi
参照bt656-ADV7842_7511-hdmi.txt配置hdmi.(http://ez.analog.com/message/43148#43148)
1.其中仅仅把40 03 00 ; 8-bit SDR ITU-656 mode (本方案所需要的)
2.;40 00 00 //明明规格书上说VID_STD[5:0]和PRIM_MODE[3:0]配合使用,但不知道为啥上面官方文档也不是用该寄存器, 该寄存器的作用是:Sets the expected video standard and desired oversampling mode.(see H/W UG.pdf p46)
3.40 01 05 //初始模式,PRIM_MODE[3:0] 0101 - HDMI-Comp, 但为什么不能配制成HDMI-GR,暂时不知道(see H/W UG.pdf p40).
另外, 上电,downcode是有时序要求的:DownFpgaCode -> 示波器观察LLC引脚出现54Mhz(53.9833MHz,应该是进入freerun模式了) ->插上HDMI信源(当然提前切换好信源resolution,如480p,这要和adv7842寄存器写入的一致) ->观察出现27.0002MHz ->启动上位机采集.
这儿要注意两点:
1.PCLK27.0002MHz是不能出现跳动的,如果跳动那么成像后绝对”画图“, 因为fpga是按照PCLK Rising来读数据的,每行来的数据数量不一样,不花才怪;
2.如上480p下FPGA采集跑动的很正常,此时切HDMIresolution到其他如576p,然后再插到adv7842 hdmi input端,会发现出现的图像”花图“,即使再切回480p,也是花的,且观察时钟LLC,发现偏离了27mhz很多并且在26.5195~26.5148MHz跳动,呵呵,所以PC上一定是花图了。---解决这个问题的办法,让信源reset(DVD reset,怀疑是DVD端TDMS跑偏了),然后切到480p,再按照上面时序down代码,一切OK。
3.H/W UG.pdf page37 :3.3.12 Pixel Clock Generation for Analog CP Control,写到可以手动设置频率,但是同时也有一句:Note: In digital input mode, the pixel and audio master clocks are generated from the digital encoder synthesizer provided with theincoming TMDS clock. PLL_DIV_RATIO is not used in this mode.(即hdmi模式不适用)