Post Go back to editing

AD9889 video noise on the display

I got the AD9889 HDMI transmitter working, but I see noise on the display. I generate a color bar as a source image, I see a couple of verticle noise striped on some of the colors. If I wiggle the HDMI cable the noise changes.

I started playing with the register settings and first I noticed that the set provided on the web doesn't work. It also does not match the programming guide documentation. One example is register 0x98. The documentation says must write a 7 to this register. The example code says write 178. But I only got a display working by writing a 170. Registet 0xAF also affects the noise on the display. A value of 6 works best, while a value of 4 makes the video break up once in a while. And last but not lease, I had to increase the drive strength registers 0xA2 and 0xA3 to 255 to minimize the noise on the display.

My resolution is 1280x1024, 108MHz clock, 60Hz frame.

Can someone provide me a register settings that work for this resolution that is different than the one available from the web?

I'm attaching the register setting programming that gives me the best results. This is a read back from all registers.

Thanks,
Ed.

best_settings.txt.zip
Parents
  • Hello Ed,

         I have looked over the register settings you provided and have a couple of suggestions. However, before that I would support Matt's opinion that there is either a layout or assembly issue at the base of this. There should not be any reason for moving the cable to alter any noise unless the connector is not securely attached or if the cable is intermittent.

         As to register suggestions:

              I notice in R0x42 that there is no bit 5 present. This is the MSEN or monitor sense, and the Tx is expecting to see termination via the Rx on the TMDS lines. If this is '0', I would suspect an issue in either the cable or the sink itself.

              R0x98 should be 0x07 - this affects the TMDS PLL, and setting the MSB places this into a manual frequency range mode that should not be necessary for you.

              R0xA2 and R0xA3 should both be 0x87, not the 0xFF in your register dump. There may have been a typo in our presets file that listed this as d87, but hex 87 is what belongs there.

              R0xAF - you have this set for DVI, not HDMI - if HDMI is what you want, then change this to 6.

              R0xBA - with 0xE0 programmed in this, you have selected the negative edge for data capture. If you continue to have issues, you might try setting this to 0x60 for the positive edge.

              R0xC9 - I didn't see this in your dump, but you would want this to be 3 for trying to read the EDID 3 times.

    Best,

    Chris

Reply
  • Hello Ed,

         I have looked over the register settings you provided and have a couple of suggestions. However, before that I would support Matt's opinion that there is either a layout or assembly issue at the base of this. There should not be any reason for moving the cable to alter any noise unless the connector is not securely attached or if the cable is intermittent.

         As to register suggestions:

              I notice in R0x42 that there is no bit 5 present. This is the MSEN or monitor sense, and the Tx is expecting to see termination via the Rx on the TMDS lines. If this is '0', I would suspect an issue in either the cable or the sink itself.

              R0x98 should be 0x07 - this affects the TMDS PLL, and setting the MSB places this into a manual frequency range mode that should not be necessary for you.

              R0xA2 and R0xA3 should both be 0x87, not the 0xFF in your register dump. There may have been a typo in our presets file that listed this as d87, but hex 87 is what belongs there.

              R0xAF - you have this set for DVI, not HDMI - if HDMI is what you want, then change this to 6.

              R0xBA - with 0xE0 programmed in this, you have selected the negative edge for data capture. If you continue to have issues, you might try setting this to 0x60 for the positive edge.

              R0xC9 - I didn't see this in your dump, but you would want this to be 3 for trying to read the EDID 3 times.

    Best,

    Chris

Children
No Data