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
  • Hi Ed,

         I looked over your schematic and layout and I don't have much experience with the micro-HDMI connectors, but that isn't the optimum layout with the different channels crossing over each other. That could lead to noise in the system. It appears you are taking great pains to keep the trace lengths the same - I don't think that is all that important in this, since you are very close in any case. The TMDS receivers are remarkably adept at managing unequal length (channel to channel - not within the differential pair). I would try to manage the layout with as few vias a possible and less cross-overs.

         In the schematic, I might have missed it on another page, but the HPD signal should run from the HDMI connector to the AD9889B. The idea behind HPD is that the TX supplies +5V on the connector and the RX has a 1K ohm resistor from that +5V returning on the HPD line. I see that pin 19 of the connector is not connected, and this should be the HPD return line. There is a signal on the HPD pin (DVI_HTPLG), but this ought to be from the connector HPD signal. In this same vein, the DDC lines should be connected to the HDMI connector as well. They are used to read the EDID of the monitor so that the TX only sends signals that the RX can receive - not beyond it's ability.

         Other than that, I don't see anything that is out of the ordinary in this layout and design.

         I do have question for you about the value of R0x98, in another post you indicated that it is programmed to d170 on power up - is this what you are seeing as the default value for this? Or is your driver writing this to it? It is my experience tha this defaults to 0.

    Best,

    Chris

Reply
  • Hi Ed,

         I looked over your schematic and layout and I don't have much experience with the micro-HDMI connectors, but that isn't the optimum layout with the different channels crossing over each other. That could lead to noise in the system. It appears you are taking great pains to keep the trace lengths the same - I don't think that is all that important in this, since you are very close in any case. The TMDS receivers are remarkably adept at managing unequal length (channel to channel - not within the differential pair). I would try to manage the layout with as few vias a possible and less cross-overs.

         In the schematic, I might have missed it on another page, but the HPD signal should run from the HDMI connector to the AD9889B. The idea behind HPD is that the TX supplies +5V on the connector and the RX has a 1K ohm resistor from that +5V returning on the HPD line. I see that pin 19 of the connector is not connected, and this should be the HPD return line. There is a signal on the HPD pin (DVI_HTPLG), but this ought to be from the connector HPD signal. In this same vein, the DDC lines should be connected to the HDMI connector as well. They are used to read the EDID of the monitor so that the TX only sends signals that the RX can receive - not beyond it's ability.

         Other than that, I don't see anything that is out of the ordinary in this layout and design.

         I do have question for you about the value of R0x98, in another post you indicated that it is programmed to d170 on power up - is this what you are seeing as the default value for this? Or is your driver writing this to it? It is my experience tha this defaults to 0.

    Best,

    Chris

Children
No Data