Other Parts Discussed in Thread: DS90UB953-Q1,
hi,
i use DS90UB954-Q1 EVM and DS90UB953-Q1 EVM to evaluate the FPDlink configuration.
here is my link mode, 954(RX1)->coax cable -> 953
because my previous customer meet a problem which when entering BIST mode, i2c cannot be responded.
i try to find the root cause.
here is my Initialization code in "Scripting" page
#********************************
board.WriteI2C(0x60,0x01,0x07) #reset all
board.WriteI2C(0x60,0x0c,0x96) #enable port1,linke port1
board.WriteI2C(0x60,0x33,0x01) #enable CSI output
board.WriteI2C(0x60,0x34,0x01) #enable CSI Calibration
board.WriteI2C(0x60,0x21,0x14) #enable basic FWD
board.WriteI2C(0x60,0x20,0x10) #enable forward rx port1
board.WriteI2C(0x60,0x4A,0x10) #enable crc
board.WriteI2C(0x60,0x4C,0x12) #enable write rx port1
board.WriteI2C(0x60,0x58,0x5e) #enable i2c pass through
board.WriteI2C(0x60,0x5c,0x1a) #set remote i2c addresss
board.WriteI2C(0x60,0x6d,0x7c) #set cable mode
#**************************
then i check the "registers" page, display, value is same as code setting.
start BIST
#****************
board.WriteI2C(0x60,0xb3,0x01)
#***************
check status
#***************
hex(board.ReadI2C(0x60,0xb3))
'0x8'
board.WriteI2C(0x60,0xb3,0x01)
hex(board.ReadI2C(0x60,0xb3))
'0x1'
hex(board.ReadI2C(0x60,0x04))
'0xdf'
hex(board.ReadI2C(0x60,0x4d))
'0x53'
hex(board.ReadI2C(0x60,0xd0))
'0x20'
hex(board.ReadI2C(0x60,0x57))
'0x0'
hex(board.ReadI2C(0x60,0x5c))
'0x1a'
hex(board.ReadI2C(0x60,0x00))
'0x60'
hex(board.ReadI2C(0x1a,0x00))
'0x0'
hex(board.ReadI2C(0x60,0x5c))
'0x0'
hex(board.ReadI2C(0x60,0x5c))
'0x1a'
hex(board.ReadI2C(0x60,0x4d))
'0x43'
hex(board.ReadI2C(0x1a,0x00))
'0x0'
hex(board.ReadI2C(0x60,0x4d))
'0x0'
hex(board.ReadI2C(0x60,0x4d))
'0x43'
board.WriteI2C(0x60,0xb3,0x00)
hex(board.ReadI2C(0x1a,0x00))
'0x30'
#***************
from previous cmd line
when intend to access remote 0x00 reg (hex(board.ReadI2C(0x1a,0x00))), it is blocked, and the local 0x5c value become 0x00(others are same). and confirm other local reg, the value is 0x00. but retype cmd, it restore value.
the BIST is ok in this testing process. the pass/lock LED is always on.
and i have confirmed the cable quality via margin analysis tool.
after restart AEQ, it is similar.
#***************
board.WriteI2C(0x60,0xd2,0x9c)
#***************
from 954's SPEC, it shows "After completion of BIST, the BIST Error Counter... ", does it mean that stop BIST and access register?
or is there something which i miss in code?
please help, thanks.
Zhu JQ.