This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
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.
Hello JQ,
My understanding is that you are enabling BIST, and then trying to read the 953 remote registers while BIST is enabled. During this, you are not able to read the 953 remote registers on the first attempt, you are able to read the registers when you try the second time. Did I understand correctly?
Are you able to read the 953 locally via I2C when BIST is active?
What is the value in register BCC_CONFIG (0x58) in the 954 DES?
I don't think you necessarily need to stop BIST and then access remote register.
Best,
Shruti
hi More
thank you replying.
for the first question, when entering BIST mode, all of the register of remote 953 are not able to access how many times attempted. furthermore, after trying to access remote 953 remote register, is not able to access 954 register at the first time, seems it is lost.. It can be accessed again when i try to access at second time as my pasted picture. BTW, after entering the BIST mode, i turn to page "remote registers", and select "RX1" and click display button, all of register value are 0x00.
for the second question, i will try to access 953 register locally.
for the last question, 0x58 is set to 0x5e at Initialization stage. although don't try to access 0x58 register in my pasted picture, i think, i will be same as other register. i will try to read it to see if it is same as other register.
thank you for supporting. i also think, it is not necessary to stop BIST.
Hello JQ,
Thank you. Please allow me a few days to get back to you. I will try BIST on my side.
Also, I want to share this app note with information on BIST in section 3.2: https://www.ti.com/lit/an/snla267a/snla267a.pdf?ts=1639600765325&ref_url=https%253A%252F%252Fwww.google.com%252F
Best Regards,
Shruti
Hello JQ,
I am running late; but thank you for being patient.
Best Regards,
Shruti
Hello JQ,
Thank you for being patient with me.
I tried this out with a 953/954 set-up. I was also not able to read remote (953) registers while I had BIST enable on the 954 side. This is expected behavior since we can't talk through the link when BIST is active because the FC and BC are being used to send a fixed pattern for the purposes of BER testing. I hope this helps. For debug purposes, I would suggest that you read all the remote registers before entering BIST mode and then once again after disabling BIST.
Best Regards,
Shruti