AnsweredAssumed Answered

Monitor on AD9388A rx indicates “NO INPUT” throughout, anything wrong?

Question asked by CarlosM Employee on May 31, 2014
Latest reply on Jun 2, 2014 by mattp

My basic script is shown below.

As recommended, the script shown powers up the tx with the clock off, initializes everything, reads pll status (which always returns 0x12 at this point indicating locked), then turns on the clock output.

 

Results:

As before,  the monitor with the AD9388A rx indicates “NO INPUT” throughout.

Also as before, after running the script, the monitor starts to work after briefly shorting the data0 diff pair.  Curiously, turning data0 off and back on via I2C does not make it work.

Even more curiously, this sequence also makes it work: run script, turn off data0, briefly short data0, turn on data0.  In other words, the trick of shorting data0 even works while data0 is off.  My shorting tool is a plastic adjusting tool with a tiny metal blade at the end, so quite low stray C.

Could this indicate a problem with equalization at the receiver?

 

Next steps:

Try to monitor I2C traffic at the receiver?

 

For reference, the script:

DBG I2C invokes the debugger I2C interface.  The parameters for write are I2C address (always 0x7a here), register address, register value.  For I2C read, the reg value is replaced by “read 1”.  “sleep 1” is a 1 second pause.

 

#!/bin/bash

echo DVI initialization

 

# power down chip

DBG I2C 0x7a 0x41 0x50

# turn off clock TMDS output

DBG I2C 0x7a 0xa1 0x04

sleep 1

 

# power on chip

DBG I2C 0x7a 0x41 0x10

#read pll status:

DBG I2C 0x7a 0x9e read 1  # always returns 0x12 indicating locked

 

# set DVI mode

# DVI is default (./DBG I2C 0x7a 0xaf 0x..)

 

# Set min set of reserved regs

DBG I2C 0x7a 0x0a 0x00

DBG I2C 0x7a 0x98 0x07

DBG I2C 0x7a 0x9c 0x38

DBG I2C 0x7a 0x9d 0x61

DBG I2C 0x7a 0xa2 0x84

DBG I2C 0x7a 0xa3 0x84

DBG I2C 0x7a 0xbb 0xff

 

# set clock delay to none

DBG I2C 0x7a 0xba 0x60

 

# set input format

DBG I2C 0x7a 0x15 0x2a

DBG I2C 0x7a 0x16 0x00

 

# set output format

DBG I2C 0x7a 0x45 0x00

 

# Check TX pll for lock 0x9E, bit 4 1:locked, 0:not locked

DBG I2C 0x7a 0x9e read 1  # always returns 0x12 indicating locked

 

# enable all TMDS outputs (including clock)

DBG I2C 0x7a 0xa1 0x00   …”

 

 

Outcomes