Post Go back to editing

Improving signal strength on AD9880

We're using the AD9880 in a design and we find that we are seeing issues on our prototypes which seem to be related to TMDS signal strength. An example setup which shows the problem particularly badly is:
Lenovo X301 DIsplayport output > DP to DVI adaptor > 2m DVI cable > AD9880
Running at 1080p60 (148.5MHz pixel clock) using a generic DVI cable.
We see two kinds of error, one is 'sparkles' - occasional pixels which are the wrong colour and the other is that we sometimes get vsync and hsync signals at the wrong times.
Switching the cable out for a high-quality, thick gauge alternative seems to make the problem much better, but with such a short run, I would hope that this isn't necessary.
Of the 20 units we've tested, the extent of the issue is very varied, the worst examples have such frequent sync signal errors that the image is unusable and the better ones show only a few sparkles per minute and are almost perfect. The same effect can be seen by replacing the AD9880 on a partcular PCB and seeing that the severity of the problem varies significantly, even over devices in the same batch.
Similarly, some video sources are better than others, in particular it seems that laptops with integrated graphics are bad, whether they have default Displayport or HDMI output. The Lenovo X301 is one such bad example, using the Intel GS45 chipset, but the Dell E6400 which uses the GM45 chipset and an extra Nvidia graphics processor is just fine.
We can see the errors on the output of the AD9880 using a scope, so we are fairly sure that the problem is not to do with reception of data later on in the system, but for reference, the 9880 is driving into a Xilinx Spartan 6 LXT using 1v8 I/O.
We have tried experimenting with the PLL registers 0x4D, 0x4E and 0x4F, but they don't seem to fix the problems. Are there any other register settings we can try to improve the reception quality before resorting to looking at hardware changes?
Thanks
James.
Parents
  • Malickis,

    We were able to set the TMDS registers in the AD9880, these are not documented in the datasheets, however we had found the following information from AD to be very helpful

    (Note that we found setting Regs 0x53 and 0x59 to 0 instead of what AD recommend, however that is in our setup, your's may be different).

    AD9880 TMDS PLL Settings 1-19-06

    The recommendations for the AD9880* TMDS PLL settings (register 0x4D - 0x50) are

    being updated. These settings will be incorporated into the next revision of the AD9880

    data sheet. These settings are a result of more data being compiled through our

    Compliance Testing Lab. These settings are outlined in Table 1 below.

    Table 1: AD9880 TMDS PLL Settings

    Register      Old Setting      New Setting           Description

    0x4D           0x36           0x3B              Bits[6:4] set the C1 loop filter values (high freq).

                                                                  Bits [3:0] set the Ch. Pump Current value (high freq)

     

    0x4E           0x36            0x6D             Bits [6:4] set the C1 loop filter values (low freq).

                                                                  Bits [3:0] set the Ch. Pump Current value (low freq)

     

    0x4F           0x33            0x54              Bits [7:5] set the C2 loop filter values.

                                                                 Bits [4:0] set the R1 loop filter values

     

    0x50           0x20            0x90              This sets the VCO gear manually.

     

    0x53           0x3F            0x3F               Phase Recovery Loop control

     

    0x59           0x20            0x20               Controls TMDS clock termination connect

     

    * These settings also apply to the AD9380, AD9381, AD9396, AD9397, and AD9398.

    * These settings also apply to the AD9380, AD9381, AD9396, AD9397, and AD9398.

    * These settings also apply to the AD9380, AD9381, AD9396, AD9397, and AD9398.

Reply
  • Malickis,

    We were able to set the TMDS registers in the AD9880, these are not documented in the datasheets, however we had found the following information from AD to be very helpful

    (Note that we found setting Regs 0x53 and 0x59 to 0 instead of what AD recommend, however that is in our setup, your's may be different).

    AD9880 TMDS PLL Settings 1-19-06

    The recommendations for the AD9880* TMDS PLL settings (register 0x4D - 0x50) are

    being updated. These settings will be incorporated into the next revision of the AD9880

    data sheet. These settings are a result of more data being compiled through our

    Compliance Testing Lab. These settings are outlined in Table 1 below.

    Table 1: AD9880 TMDS PLL Settings

    Register      Old Setting      New Setting           Description

    0x4D           0x36           0x3B              Bits[6:4] set the C1 loop filter values (high freq).

                                                                  Bits [3:0] set the Ch. Pump Current value (high freq)

     

    0x4E           0x36            0x6D             Bits [6:4] set the C1 loop filter values (low freq).

                                                                  Bits [3:0] set the Ch. Pump Current value (low freq)

     

    0x4F           0x33            0x54              Bits [7:5] set the C2 loop filter values.

                                                                 Bits [4:0] set the R1 loop filter values

     

    0x50           0x20            0x90              This sets the VCO gear manually.

     

    0x53           0x3F            0x3F               Phase Recovery Loop control

     

    0x59           0x20            0x20               Controls TMDS clock termination connect

     

    * These settings also apply to the AD9380, AD9381, AD9396, AD9397, and AD9398.

    * These settings also apply to the AD9380, AD9381, AD9396, AD9397, and AD9398.

    * These settings also apply to the AD9380, AD9381, AD9396, AD9397, and AD9398.

Children
No Data