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.

DS90UB954-Q1: Clarification on AEQ and DS90UB954/953 initialization

Part Number: DS90UB954-Q1
Other Parts Discussed in Thread: ALP

Dear Shruti,

I need some clarification on the use of Automatic Equalizer (AEQ). In particular, I have a Deserializer evaluation board connected to a serializer  evaluation board. After start up I set some registers by means of the I2C interface. You find in the following the initialization procedure I use. iI is written in C code and function write_register takes as inputs (device_address, register_address, register_data). In red you will find some questions:

write_register (DESER_954, 0x01, 0x02)); //force a reset of the deserializer
write_register (DESER_954, 0x0C, 0x81)); //enable port 0
write_register (DESER_954, 0x4C, 0x01)); //access to port 0

//indirect access to register 0x08 (STROBE_SET) of port 0 to set base delay = 0
write_register (DESER_954, 0xB0, 0x06)); //access to specific registers of PORT0 with auto increment enabled
write_register (DESER_954, 0xB1, 0x08)); //indirect register address = 0x08
write_register (DESER_954, 0xB2, 0x00)); //write 0x00 into indirect register

write_register (DESER_954, 0x42, 0x71)); //Loop position + Errors checked (default values)
write_register (DESER_954, 0xD2, 0x94)); //AEQ settings left as default
write_register (DESER_954, 0xD5, 0xE0)); //Max/Min EQ Levels
write_register (DESER_954, 0x41, 0xE4)); //Max/Min STROBE positions (SFILTER level)    -->    here my intention was to put 0xE0 to give the AEQ maximum freedom to select the best strobe position between 0 and 14. Nevertheless, if I put a value between 0 and 3 as minimum strobe position I get that the system does not lock! I do not understand why this happens, since I believed that AEQ process could automatically find the correct strobe setting which ensure no communication errors. Is there any error in the way I am activating AEQ process?
write_register (DESER_954, 0xD4, 0x70)); //Enable AEQ and enable lock only if AEQ works

write_register (DESER_954, 0xD2, 0x9C)); //force a reset of Equalizer

usleep (500000); //wait 500ms

At this point I read register 0xD3 of deserializer and I read 0x00, meaning that the actual EQ level is 0. Where can I read the actual strobe position selected by the AEQ process?

write_register (DESER_954, 0x5C, 0x18); //address alias of remote serializer set to 0x0C (0x0C<<1 = 0x18)
write_register (DESER_954, 0x58, 0x5E)); //enable I2C pass-through
write_register (DESER_954, 0x33, 0x21)); //2 Lanes enabled, CSI enabled (on channel 0)
write_register (DESER_954, 0x7C, 0x00)); //discard frames on errors disabled
write_register (DESER_954, 0x20, 0x20)); //enable video stream on port 0
write_register (DESER_954, 0x6E, 0x20)); //remote GPIO1 linked to GPIO2 (that is led pwm)

write_register (SER_953, 0x0D, 0xF0)); //enable all 4 GPIO at serializer side to forward data at ser side
write_register (SER_953, 0x0E, 0xF0)); //set all 4 GPIO at serializer side as OUTPUTs
write_register (SER_953, 0x02, 0x53)); //continuous clock, 2 Lanes, CRC EN, I2C at 1.8V
write_register (SER_953, 0x03, 0x10)); //force to operate with the CSI2-SYNC MODE, even if strap on condition are different

//Configure clock frequency: Input reference clock = 25MHz, f_out = f_in*160/DIV*M/N, desired f_out = 25MHz
write_register (SER_953, 0x06, 0x81)); //set clock divider DIV=16 and M=1
write_register (SER_953, 0x07, 0x0A)); //set N=10

write_register (DESER_954, 0x5D, 0X6C)); //I2C address of remote CMOS sensor (0x36<<1 = 0x6C)
write_register (DESER_954, 0x65, 0x6C)); //I2C alias address of remote CMOS sensor (equal to real address)

write_register (SER_953, 0x49, 0x28)); //clear error flags on Serializer
write_register (DESER_954, 0x49, 0x28)); //clear error flags on Deserializer

Finally, I wanted to ask if you find any error in my initialization routine. In particular, is the AEQ correctly activated? In my configuration, if the system undergoes a loss of lock what will happen?

Please, find attached 4 txt files with a complete list of registers values at startup (after I turn on the boards and reset the deser) and after my initialization procedure.
In the txt files at startup asterisc indicate register I will write on during initialization. in addition I added comments to highlight why registers changed values.

Register 0x00 = 0x60 
Register 0x01 = 0x00 
Register 0x02 = 0x1E 
Register 0x03 = 0x20 
Register 0x04 = 0xDF 
Register 0x05 = 0x01 
Register 0x06 = 0x00 
Register 0x07 = 0xFE 
Register 0x08 = 0x1C 
Register 0x09 = 0x10 
Register 0x0A = 0x7A 
Register 0x0B = 0x7A 
Register 0x0C = 0x81 //Enable PORT 0
Register 0x0D = 0x09 
Register 0x0E = 0x08 
Register 0x0F = 0x7F 
Register 0x10 = 0x00 
Register 0x11 = 0x00 
Register 0x12 = 0x00 
Register 0x13 = 0x00 
Register 0x14 = 0x00 
Register 0x15 = 0x00 
Register 0x16 = 0x00 
Register 0x17 = 0x00 
Register 0x18 = 0x00 
Register 0x19 = 0x00 
Register 0x1A = 0x00 
Register 0x1B = 0x00 
Register 0x1C = 0x00 
Register 0x1D = 0x00 
Register 0x1E = 0x04 
Register 0x1F = 0x02 
Register 0x20 = 0x20 //enable video stream on port 0
Register 0x21 = 0x01 
Register 0x22 = 0x00 
Register 0x23 = 0x00 
Register 0x24 = 0x00 
Register 0x25 = 0x00 
Register 0x26 = 0x00 
Register 0x27 = 0x00 
Register 0x28 = 0x00 
Register 0x29 = 0x00 
Register 0x2A = 0x00 
Register 0x2B = 0x00 
Register 0x2C = 0x00 
Register 0x2D = 0x00 
Register 0x2E = 0x00 
Register 0x2F = 0x00 
Register 0x30 = 0x00 
Register 0x31 = 0x00 
Register 0x32 = 0x00 
Register 0x33 = 0x21 ///2 lanes enabled, CSI enabled (on channel 0)
Register 0x34 = 0x40 
Register 0x35 = 0x00 
Register 0x36 = 0x00 
Register 0x37 = 0x00 
Register 0x38 = 0x00 
Register 0x39 = 0x00 
Register 0x3A = 0x00 
Register 0x3B = 0x01 
Register 0x3C = 0x14 
Register 0x3D = 0x6F 
Register 0x3E = 0x00 
Register 0x3F = 0x40 
Register 0x40 = 0x00 
Register 0x41 = 0xE4 //Max strobe = 14, min strobe = 4 (I would like to put min strobe = 0 to have full range, but putting min strobe < 4 the system does not lock!)
Register 0x42 = 0x71 //Loop position + Errors checked (default values)
Register 0x43 = 0x01 
Register 0x44 = 0x00 
Register 0x45 = 0x00 
Register 0x46 = 0x00 
Register 0x47 = 0x00 
Register 0x48 = 0x00 
Register 0x49 = 0x00 
Register 0x4A = 0x00 
Register 0x4B = 0x12 
Register 0x4C = 0x01 //access to port 0
Register 0x4D = 0x03 //at the end of my custom initialization of registers I see LOCK and PASS = 1 (everything OK)
Register 0x4E = 0x04 
Register 0x4F = 0x64 
Register 0x50 = 0x00 
Register 0x51 = 0x00 
Register 0x52 = 0x00 
Register 0x53 = 0x03 
Register 0x54 = 0x00 
Register 0x55 = 0x00 
Register 0x56 = 0x00 
Register 0x57 = 0x00 
Register 0x58 = 0x5E //enable I2C pass-through
Register 0x59 = 0x00 
Register 0x5A = 0x00 
Register 0x5B = 0x30 
Register 0x5C = 0x18 //I put 0x18 as serializer alias address
Register 0x5D = 0x6C //I2C address of remote CMOS sensor
Register 0x5E = 0x00 
Register 0x5F = 0x00 
Register 0x60 = 0x00 
Register 0x61 = 0x00 
Register 0x62 = 0x00 
Register 0x63 = 0x00 
Register 0x64 = 0x00 
Register 0x65 = 0x6C //I2C alias address of remote CMOS sensor
Register 0x66 = 0x00 
Register 0x67 = 0x00 
Register 0x68 = 0x00 
Register 0x69 = 0x00 
Register 0x6A = 0x00 
Register 0x6B = 0x00 
Register 0x6C = 0x00 
Register 0x6D = 0x7C 
Register 0x6E = 0x20 //remote GPIO1 linked to GPIO2
Register 0x6F = 0x88 
Register 0x70 = 0x2B 
Register 0x71 = 0x2C 
Register 0x72 = 0xE4 
Register 0x73 = 0x00 
Register 0x74 = 0x00 
Register 0x75 = 0x00 
Register 0x76 = 0x00 
Register 0x77 = 0xC5 
Register 0x78 = 0x00 
Register 0x79 = 0x01 
Register 0x7A = 0x00 
Register 0x7B = 0x00 
Register 0x7C = 0x00 //discard frames on errors disabled
Register 0x7D = 0x00 
Register 0x7E = 0x00 
Register 0x7F = 0x00 
Register 0x80 = 0x00 
Register 0x81 = 0x00 
Register 0x82 = 0x00 
Register 0x83 = 0x00 
Register 0x84 = 0x00 
Register 0x85 = 0x00 
Register 0x86 = 0x00 
Register 0x87 = 0x00 
Register 0x88 = 0x00 
Register 0x89 = 0x00 
Register 0x8A = 0x00 
Register 0x8B = 0x00 
Register 0x8C = 0x00 
Register 0x8D = 0x00 
Register 0x8E = 0x00 
Register 0x8F = 0x00 
Register 0x90 = 0x00 
Register 0x91 = 0x00 
Register 0x92 = 0x00 
Register 0x93 = 0x00 
Register 0x94 = 0x00 
Register 0x95 = 0x00 
Register 0x96 = 0x00 
Register 0x97 = 0x00 
Register 0x98 = 0x00 
Register 0x99 = 0x00 
Register 0x9A = 0x00 
Register 0x9B = 0x00 
Register 0x9C = 0x00 
Register 0x9D = 0x00 
Register 0x9E = 0x00 
Register 0x9F = 0x00 
Register 0xA0 = 0x02 
Register 0xA1 = 0x0F 
Register 0xA2 = 0x00 
Register 0xA3 = 0x00 
Register 0xA4 = 0x08 
Register 0xA5 = 0x19 
Register 0xA6 = 0x00 
Register 0xA7 = 0x00 
Register 0xA8 = 0x00 
Register 0xA9 = 0x00 
Register 0xAA = 0x00 
Register 0xAB = 0x00 
Register 0xAC = 0x00 
Register 0xAD = 0x00 
Register 0xAE = 0x00 
Register 0xAF = 0x00 
Register 0xB0 = 0x06 //access to specific registers of PORT0 with auto increment enabled
Register 0xB1 = 0x09 //I wrote 0x08 enabling auto increment, so now I see 0x09
Register 0xB2 = 0x00 //I wrote 0x00 into register 0x08
Register 0xB3 = 0x08 
Register 0xB4 = 0x25 
Register 0xB5 = 0x00 
Register 0xB6 = 0x18 
Register 0xB7 = 0x00 
Register 0xB8 = 0x8C 
Register 0xB9 = 0x33 
Register 0xBA = 0x83 
Register 0xBB = 0x74 
Register 0xBC = 0x80 
Register 0xBD = 0x00 
Register 0xBE = 0x00 
Register 0xBF = 0x00 
Register 0xC0 = 0x00 
Register 0xC1 = 0x00 
Register 0xC2 = 0x00 
Register 0xC3 = 0x00 
Register 0xC4 = 0x00 
Register 0xC5 = 0x00 
Register 0xC6 = 0x00 
Register 0xC7 = 0x00 
Register 0xC8 = 0x00 
Register 0xC9 = 0x00 
Register 0xCA = 0x00 
Register 0xCB = 0x00 
Register 0xCC = 0x00 
Register 0xCD = 0x00 
Register 0xCE = 0x00 
Register 0xCF = 0x00 
Register 0xD0 = 0x00 
Register 0xD1 = 0x43 
Register 0xD2 = 0x94 //AEQ settings left as default
Register 0xD3 = 0x00 //after enabling AEQ the system automatically puts 0x00 in this register
Register 0xD4 = 0x70 //Enable AEQ and enable lock only if AEQ works
Register 0xD5 = 0xE0 //Max EQ = 14, min EQ = 0 (full range enabled)
Register 0xD6 = 0x01 //RESERVED (?)
Register 0xD7 = 0x00 
Register 0xD8 = 0x00 
Register 0xD9 = 0x00 
Register 0xDA = 0x00 
Register 0xDB = 0x00 
Register 0xDC = 0x00 
Register 0xDD = 0x00 
Register 0xDE = 0x00 
Register 0xDF = 0x00 
Register 0xE0 = 0x00 
Register 0xE1 = 0x00 
Register 0xE2 = 0x00 
Register 0xE3 = 0x00 
Register 0xE4 = 0x00 
Register 0xE5 = 0x00 
Register 0xE6 = 0x00 
Register 0xE7 = 0x00 
Register 0xE8 = 0x00 
Register 0xE9 = 0x00 
Register 0xEA = 0x00 
Register 0xEB = 0x00 
Register 0xEC = 0x00 
Register 0xED = 0x00 
Register 0xEE = 0x00 
Register 0xEF = 0x00 
Register 0xF0 = 0x5F 
Register 0xF1 = 0x55 
Register 0xF2 = 0x42 
Register 0xF3 = 0x39 
Register 0xF4 = 0x35 
Register 0xF5 = 0x34 
Register 0xF6 = 0x00 
Register 0xF7 = 0x00 
Register 0xF8 = 0x00 
Register 0xF9 = 0x00 
Register 0xFA = 0x00 
Register 0xFB = 0x00 
Register 0x00 = 0x60 
Register 0x01 = 0x00 
Register 0x02 = 0x1E 
Register 0x03 = 0x20 
Register 0x04 = 0xDF 
Register 0x05 = 0x01 
Register 0x06 = 0x00 
Register 0x07 = 0xFE 
Register 0x08 = 0x1C 
Register 0x09 = 0x10 
Register 0x0A = 0x7A 
Register 0x0B = 0x7A 
Register 0x0C = 0x83 *
Register 0x0D = 0x09 
Register 0x0E = 0x08 
Register 0x0F = 0x7F 
Register 0x10 = 0x00 
Register 0x11 = 0x00 
Register 0x12 = 0x00 
Register 0x13 = 0x00 
Register 0x14 = 0x00 
Register 0x15 = 0x00 
Register 0x16 = 0x00 
Register 0x17 = 0x00 
Register 0x18 = 0x00 
Register 0x19 = 0x00 
Register 0x1A = 0x00 
Register 0x1B = 0x00 
Register 0x1C = 0x00 
Register 0x1D = 0x00 
Register 0x1E = 0x04 
Register 0x1F = 0x02 
Register 0x20 = 0x30 *
Register 0x21 = 0x01 
Register 0x22 = 0x00 
Register 0x23 = 0x00 
Register 0x24 = 0x00 
Register 0x25 = 0x00 
Register 0x26 = 0x00 
Register 0x27 = 0x00 
Register 0x28 = 0x00 
Register 0x29 = 0x00 
Register 0x2A = 0x00 
Register 0x2B = 0x00 
Register 0x2C = 0x00 
Register 0x2D = 0x00 
Register 0x2E = 0x00 
Register 0x2F = 0x00 
Register 0x30 = 0x00 
Register 0x31 = 0x00 
Register 0x32 = 0x00 
Register 0x33 = 0x00 *
Register 0x34 = 0x40 
Register 0x35 = 0x00 
Register 0x36 = 0x00 
Register 0x37 = 0x00 
Register 0x38 = 0x00 
Register 0x39 = 0x00 
Register 0x3A = 0x00 
Register 0x3B = 0x01 
Register 0x3C = 0x14 
Register 0x3D = 0x6F 
Register 0x3E = 0x00 
Register 0x3F = 0x40 
Register 0x40 = 0x00 
Register 0x41 = 0xA7 *
Register 0x42 = 0x71 *
Register 0x43 = 0x01 
Register 0x44 = 0x00 
Register 0x45 = 0x00 
Register 0x46 = 0x00 
Register 0x47 = 0x00 
Register 0x48 = 0x00 
Register 0x49 = 0x00 
Register 0x4A = 0x00 
Register 0x4B = 0x12 
Register 0x4C = 0x00 *
Register 0x4D = 0x13 //at startup I see lock status has changed
Register 0x4E = 0x04 
Register 0x4F = 0x64 
Register 0x50 = 0x00 
Register 0x51 = 0x00 
Register 0x52 = 0x00 
Register 0x53 = 0x03 
Register 0x54 = 0x00 
Register 0x55 = 0x00 
Register 0x56 = 0x00 
Register 0x57 = 0x00 
Register 0x58 = 0x1E *
Register 0x59 = 0x00 
Register 0x5A = 0x00 
Register 0x5B = 0x30 
Register 0x5C = 0x00 *
Register 0x5D = 0x00 *
Register 0x5E = 0x00 
Register 0x5F = 0x00 
Register 0x60 = 0x00 
Register 0x61 = 0x00 
Register 0x62 = 0x00 
Register 0x63 = 0x00 
Register 0x64 = 0x00 
Register 0x65 = 0x00 *
Register 0x66 = 0x00 
Register 0x67 = 0x00 
Register 0x68 = 0x00 
Register 0x69 = 0x00 
Register 0x6A = 0x00 
Register 0x6B = 0x00 
Register 0x6C = 0x00 
Register 0x6D = 0x7C 
Register 0x6E = 0x88 *
Register 0x6F = 0x88 
Register 0x70 = 0x2B 
Register 0x71 = 0x2C 
Register 0x72 = 0xE4 
Register 0x73 = 0x00 
Register 0x74 = 0x00 
Register 0x75 = 0x00 
Register 0x76 = 0x00 
Register 0x77 = 0xC5 
Register 0x78 = 0x00 
Register 0x79 = 0x01 
Register 0x7A = 0x00 
Register 0x7B = 0x00 
Register 0x7C = 0x20 *
Register 0x7D = 0x00 
Register 0x7E = 0x00 
Register 0x7F = 0x00 
Register 0x80 = 0x00 
Register 0x81 = 0x00 
Register 0x82 = 0x00 
Register 0x83 = 0x00 
Register 0x84 = 0x00 
Register 0x85 = 0x00 
Register 0x86 = 0x00 
Register 0x87 = 0x00 
Register 0x88 = 0x00 
Register 0x89 = 0x00 
Register 0x8A = 0x00 
Register 0x8B = 0x00 
Register 0x8C = 0x00 
Register 0x8D = 0x00 
Register 0x8E = 0x00 
Register 0x8F = 0x00 
Register 0x90 = 0x00 
Register 0x91 = 0x00 
Register 0x92 = 0x00 
Register 0x93 = 0x00 
Register 0x94 = 0x00 
Register 0x95 = 0x00 
Register 0x96 = 0x00 
Register 0x97 = 0x00 
Register 0x98 = 0x00 
Register 0x99 = 0x00 
Register 0x9A = 0x00 
Register 0x9B = 0x00 
Register 0x9C = 0x00 
Register 0x9D = 0x00 
Register 0x9E = 0x00 
Register 0x9F = 0x00 
Register 0xA0 = 0x02 
Register 0xA1 = 0x0F 
Register 0xA2 = 0x00 
Register 0xA3 = 0x00 
Register 0xA4 = 0x08 
Register 0xA5 = 0x19 
Register 0xA6 = 0x00 
Register 0xA7 = 0x00 
Register 0xA8 = 0x00 
Register 0xA9 = 0x00 
Register 0xAA = 0x00 
Register 0xAB = 0x00 
Register 0xAC = 0x00 
Register 0xAD = 0x00 
Register 0xAE = 0x00 
Register 0xAF = 0x00 
Register 0xB0 = 0x08 *
Register 0xB1 = 0x14 *
Register 0xB2 = 0x3F *
Register 0xB3 = 0x08 
Register 0xB4 = 0x25 
Register 0xB5 = 0x00 
Register 0xB6 = 0x18 
Register 0xB7 = 0x00 
Register 0xB8 = 0x8C 
Register 0xB9 = 0x33 
Register 0xBA = 0x83 
Register 0xBB = 0x74 
Register 0xBC = 0x80 
Register 0xBD = 0x00 
Register 0xBE = 0x00 
Register 0xBF = 0x00 
Register 0xC0 = 0x00 
Register 0xC1 = 0x00 
Register 0xC2 = 0x00 
Register 0xC3 = 0x00 
Register 0xC4 = 0x00 
Register 0xC5 = 0x00 
Register 0xC6 = 0x00 
Register 0xC7 = 0x00 
Register 0xC8 = 0x00 
Register 0xC9 = 0x00 
Register 0xCA = 0x00 
Register 0xCB = 0x00 
Register 0xCC = 0x00 
Register 0xCD = 0x00 
Register 0xCE = 0x00 
Register 0xCF = 0x00 
Register 0xD0 = 0x00 
Register 0xD1 = 0x43 
Register 0xD2 = 0x94 *
Register 0xD3 = 0x02 *
Register 0xD4 = 0x60 *
Register 0xD5 = 0xF2 *
Register 0xD6 = 0x00 //RESERVED, I see it changes after my custom initialization of registers (?)
Register 0xD7 = 0x00 
Register 0xD8 = 0x00 
Register 0xD9 = 0x00 
Register 0xDA = 0x00 
Register 0xDB = 0x00 
Register 0xDC = 0x00 
Register 0xDD = 0x00 
Register 0xDE = 0x00 
Register 0xDF = 0x00 
Register 0xE0 = 0x00 
Register 0xE1 = 0x00 
Register 0xE2 = 0x00 
Register 0xE3 = 0x00 
Register 0xE4 = 0x00 
Register 0xE5 = 0x00 
Register 0xE6 = 0x00 
Register 0xE7 = 0x00 
Register 0xE8 = 0x00 
Register 0xE9 = 0x00 
Register 0xEA = 0x00 
Register 0xEB = 0x00 
Register 0xEC = 0x00 
Register 0xED = 0x00 
Register 0xEE = 0x00 
Register 0xEF = 0x00 
Register 0xF0 = 0x5F 
Register 0xF1 = 0x55 
Register 0xF2 = 0x42 
Register 0xF3 = 0x39 
Register 0xF4 = 0x35 
Register 0xF5 = 0x34 
Register 0xF6 = 0x00 
Register 0xF7 = 0x00 
Register 0xF8 = 0x00 
Register 0xF9 = 0x00 
Register 0xFA = 0x00 
Register 0xFB = 0x00 
Register 0x00 = 0x30 
Register 0x01 = 0x00 
Register 0x02 = 0x53 //continuous clock, 2 Lanes, CRC EN, I2C at 1.8V
Register 0x03 = 0x58 //Register Mode overrides strapped value
Register 0x04 = 0x00 
Register 0x05 = 0x03 
Register 0x06 = 0x81 //clock divider=16, M=1
Register 0x07 = 0x0A //N=10
Register 0x08 = 0xFE 
Register 0x09 = 0x1E 
Register 0x0A = 0x10 
Register 0x0B = 0x7F 
Register 0x0C = 0x7F 
Register 0x0D = 0xF0 //enable all 4 GPIOs (default setting)
Register 0x0E = 0xF0 //set all 4 GPIOs as outputs
Register 0x0F = 0x00 
Register 0x10 = 0x00 
Register 0x11 = 0x00 
Register 0x12 = 0x00 
Register 0x13 = 0x00 
Register 0x14 = 0x00 
Register 0x15 = 0x20 
Register 0x16 = 0x18 
Register 0x17 = 0x3C 
Register 0x18 = 0x80 
Register 0x19 = 0x62 
Register 0x1A = 0x62 
Register 0x1B = 0x62 
Register 0x1C = 0x00 
Register 0x1D = 0x00 
Register 0x1E = 0x00 
Register 0x1F = 0x00 
Register 0x20 = 0x00 
Register 0x21 = 0x00 
Register 0x22 = 0x00 
Register 0x23 = 0x00 
Register 0x24 = 0x00 
Register 0x25 = 0x02 
Register 0x26 = 0x00 
Register 0x27 = 0x00 
Register 0x28 = 0x67 
Register 0x29 = 0x33 
Register 0x2A = 0x01 
Register 0x2B = 0x00 
Register 0x2C = 0x00 
Register 0x2D = 0x00 
Register 0x2E = 0x00 
Register 0x2F = 0x00 
Register 0x30 = 0x00 
Register 0x31 = 0x20 
Register 0x32 = 0x09 
Register 0x33 = 0x04 
Register 0x34 = 0x00 
Register 0x35 = 0x10 
Register 0x36 = 0x00 
Register 0x37 = 0x60 
Register 0x38 = 0x00 
Register 0x39 = 0x00 
Register 0x3A = 0x00 
Register 0x3B = 0x00 
Register 0x3C = 0x00 
Register 0x3D = 0x00 
Register 0x3E = 0x00 
Register 0x3F = 0x00 
Register 0x40 = 0x00 
Register 0x41 = 0x00 
Register 0x42 = 0x00 
Register 0x43 = 0x00 
Register 0x44 = 0x00 
Register 0x45 = 0x00 
Register 0x46 = 0x00 
Register 0x47 = 0x00 
Register 0x48 = 0x00 
Register 0x49 = 0x00 
Register 0x4A = 0x00 
Register 0x4B = 0x00 
Register 0x4C = 0x00 
Register 0x4D = 0x00 
Register 0x4E = 0x00 
Register 0x4F = 0x00 
Register 0x50 = 0x20 
Register 0x51 = 0xC0 
Register 0x52 = 0x45 //no CRC error, everything ok
Register 0x53 = 0x00 
Register 0x54 = 0x00 
Register 0x55 = 0x00 //CRC error count = 0 (OK)
Register 0x56 = 0x00 
Register 0x57 = 0x00 
Register 0x58 = 0x07 
Register 0x59 = 0x07 
Register 0x5A = 0x07 
Register 0x5B = 0x00 
Register 0x5C = 0x00 
Register 0x5D = 0x00 
Register 0x5E = 0x00 
Register 0x5F = 0x00 
Register 0x60 = 0x00 
Register 0x61 = 0x00 
Register 0x62 = 0x00 
Register 0x63 = 0x00 
Register 0x64 = 0x00 
Register 0x65 = 0x88 
Register 0x66 = 0x00 
Register 0x67 = 0x00 
Register 0x68 = 0x00 
Register 0x69 = 0x00 
Register 0x6A = 0x00 
Register 0x6B = 0x00 
Register 0x6C = 0x00 
Register 0x6D = 0x00 
Register 0x6E = 0x00 
Register 0x6F = 0x00 
Register 0x70 = 0x00 
Register 0x71 = 0x00 
Register 0x72 = 0x25 
Register 0x73 = 0x00 
Register 0x74 = 0x00 
Register 0x75 = 0x00 
Register 0x76 = 0x00 
Register 0x77 = 0x00 
Register 0x78 = 0x00 
Register 0x79 = 0x00 
Register 0x7A = 0xE4 
Register 0x7B = 0x00 
Register 0x7C = 0x00 
Register 0x7D = 0x00 
Register 0x7E = 0x00 
Register 0x7F = 0x00 
Register 0x80 = 0x00 
Register 0x81 = 0x00 
Register 0x82 = 0x00 
Register 0x83 = 0x00 
Register 0x84 = 0x00 
Register 0x85 = 0x00 
Register 0x86 = 0x90 
Register 0x87 = 0x00 
Register 0x88 = 0x00 
Register 0x89 = 0x00 
Register 0x8A = 0x00 
Register 0x8B = 0x00 
Register 0x8C = 0x05 
Register 0x8D = 0x00 
Register 0x8E = 0x00 
Register 0x8F = 0x00 
Register 0x90 = 0x32 
Register 0x91 = 0xE3 
Register 0x92 = 0x64 
Register 0x93 = 0x01 
Register 0x94 = 0x00 
Register 0x95 = 0x00 
Register 0x96 = 0x00 
Register 0x97 = 0x00 
Register 0x98 = 0x00 
Register 0x99 = 0x00 
Register 0x9A = 0x04 
Register 0x9B = 0x00 
Register 0x9C = 0x00 
Register 0x9D = 0x00 
Register 0x9E = 0x00 
Register 0x9F = 0x0E 
Register 0xA0 = 0x00 
Register 0xA1 = 0x0D 
Register 0xA2 = 0x0E 
Register 0xA3 = 0x0C 
Register 0xA4 = 0x0D 
Register 0xA5 = 0x10 
Register 0xA6 = 0x42 
Register 0xA7 = 0x10 
Register 0xA8 = 0x10 
Register 0xA9 = 0x10 
Register 0xAA = 0x03 
Register 0xAB = 0x01 
Register 0xAC = 0x00 
Register 0xAD = 0x00 
Register 0xAE = 0x00 
Register 0xAF = 0x00 
Register 0xB0 = 0x04 
Register 0xB1 = 0x4A 
Register 0xB2 = 0x3F 
Register 0xB3 = 0x00 
Register 0xB4 = 0x00 
Register 0xB5 = 0x00 
Register 0xB6 = 0x00 
Register 0xB7 = 0x00 
Register 0xB8 = 0x00 
Register 0xB9 = 0x00 
Register 0xBA = 0x00 
Register 0xBB = 0x00 
Register 0xBC = 0x00 
Register 0xBD = 0x00 
Register 0xBE = 0x00 
Register 0xBF = 0x00 
Register 0xC0 = 0x00 
Register 0xC1 = 0x00 
Register 0xC2 = 0x00 
Register 0xC3 = 0x00 
Register 0xC4 = 0x00 
Register 0xC5 = 0x00 
Register 0xC6 = 0x00 
Register 0xC7 = 0x00 
Register 0xC8 = 0x00 
Register 0xC9 = 0x00 
Register 0xCA = 0x00 
Register 0xCB = 0x00 
Register 0xCC = 0x00 
Register 0xCD = 0x00 
Register 0xCE = 0x00 
Register 0xCF = 0x00 
Register 0xD0 = 0x00 
Register 0xD1 = 0x00 
Register 0xD2 = 0x00 
Register 0xD3 = 0x00 
Register 0xD4 = 0x00 
Register 0xD5 = 0x00 
Register 0xD6 = 0x00 
Register 0xD7 = 0x00 
Register 0xD8 = 0x00 
Register 0xD9 = 0x00 
Register 0xDA = 0x00 
Register 0xDB = 0x00 
Register 0xDC = 0x00 
Register 0xDD = 0x00 
Register 0xDE = 0x00 
Register 0xDF = 0x00 
Register 0xE0 = 0x00 
Register 0xE1 = 0x00 
Register 0xE2 = 0x00 
Register 0xE3 = 0x00 
Register 0xE4 = 0x00 
Register 0xE5 = 0x00 
Register 0xE6 = 0x00 
Register 0xE7 = 0x00 
Register 0xE8 = 0x00 
Register 0xE9 = 0x00 
Register 0xEA = 0x00 
Register 0xEB = 0x00 
Register 0xEC = 0x00 
Register 0xED = 0x00 
Register 0xEE = 0x00 
Register 0xEF = 0x00 
Register 0xF0 = 0x5F 
Register 0xF1 = 0x55 
Register 0xF2 = 0x42 
Register 0xF3 = 0x39 
Register 0xF4 = 0x35 
Register 0xF5 = 0x33 
Register 0x00 = 0x30 
Register 0x01 = 0x00 
Register 0x02 = 0x33 *
Register 0x03 = 0x48 *
Register 0x04 = 0x00 
Register 0x05 = 0x03 
Register 0x06 = 0x41 *
Register 0x07 = 0x28 *
Register 0x08 = 0xFE 
Register 0x09 = 0x1E 
Register 0x0A = 0x10 
Register 0x0B = 0x7F 
Register 0x0C = 0x7F 
Register 0x0D = 0xF0 *
Register 0x0E = 0x0F *
Register 0x0F = 0x00 
Register 0x10 = 0x00 
Register 0x11 = 0x00 
Register 0x12 = 0x00 
Register 0x13 = 0x00 
Register 0x14 = 0x00 
Register 0x15 = 0x20 
Register 0x16 = 0x18 
Register 0x17 = 0x3C 
Register 0x18 = 0x80 
Register 0x19 = 0x62 
Register 0x1A = 0x62 
Register 0x1B = 0x62 
Register 0x1C = 0x00 
Register 0x1D = 0x00 
Register 0x1E = 0x00 
Register 0x1F = 0x00 
Register 0x20 = 0x00 
Register 0x21 = 0x00 
Register 0x22 = 0x00 
Register 0x23 = 0x00 
Register 0x24 = 0x00 
Register 0x25 = 0x02 
Register 0x26 = 0x00 
Register 0x27 = 0x00 
Register 0x28 = 0x67 
Register 0x29 = 0x33 
Register 0x2A = 0x01 
Register 0x2B = 0x00 
Register 0x2C = 0x00 
Register 0x2D = 0x00 
Register 0x2E = 0x00 
Register 0x2F = 0x00 
Register 0x30 = 0x00 
Register 0x31 = 0x20 
Register 0x32 = 0x09 
Register 0x33 = 0x04 
Register 0x34 = 0x00 
Register 0x35 = 0x10 
Register 0x36 = 0x00 
Register 0x37 = 0x60 
Register 0x38 = 0x00 
Register 0x39 = 0x00 
Register 0x3A = 0x00 
Register 0x3B = 0x00 
Register 0x3C = 0x00 
Register 0x3D = 0x00 
Register 0x3E = 0x00 
Register 0x3F = 0x00 
Register 0x40 = 0x00 
Register 0x41 = 0x00 
Register 0x42 = 0x00 
Register 0x43 = 0x00 
Register 0x44 = 0x00 
Register 0x45 = 0x00 
Register 0x46 = 0x00 
Register 0x47 = 0x00 
Register 0x48 = 0x00 
Register 0x49 = 0x00 
Register 0x4A = 0x00 
Register 0x4B = 0x00 
Register 0x4C = 0x00 
Register 0x4D = 0x00 
Register 0x4E = 0x00 
Register 0x4F = 0x00 
Register 0x50 = 0x20 
Register 0x51 = 0xC0 
Register 0x52 = 0x47 //initial GENERAL_STATUS (CRC error detected)
Register 0x53 = 0x00 
Register 0x54 = 0x00 
Register 0x55 = 0x21 //initial CRC error count !=0
Register 0x56 = 0x00 
Register 0x57 = 0x00 
Register 0x58 = 0x07 
Register 0x59 = 0x07 
Register 0x5A = 0x07 
Register 0x5B = 0x00 
Register 0x5C = 0x00 
Register 0x5D = 0x00 
Register 0x5E = 0x00 
Register 0x5F = 0x00 
Register 0x60 = 0x00 
Register 0x61 = 0x00 
Register 0x62 = 0x00 
Register 0x63 = 0x00 
Register 0x64 = 0x00 
Register 0x65 = 0x88 
Register 0x66 = 0x00 
Register 0x67 = 0x00 
Register 0x68 = 0x00 
Register 0x69 = 0x00 
Register 0x6A = 0x00 
Register 0x6B = 0x00 
Register 0x6C = 0x00 
Register 0x6D = 0x00 
Register 0x6E = 0x00 
Register 0x6F = 0x00 
Register 0x70 = 0x00 
Register 0x71 = 0x00 
Register 0x72 = 0x25 
Register 0x73 = 0x00 
Register 0x74 = 0x00 
Register 0x75 = 0x00 
Register 0x76 = 0x00 
Register 0x77 = 0x00 
Register 0x78 = 0x00 
Register 0x79 = 0x00 
Register 0x7A = 0xE4 
Register 0x7B = 0x00 
Register 0x7C = 0x00 
Register 0x7D = 0x00 
Register 0x7E = 0x00 
Register 0x7F = 0x00 
Register 0x80 = 0x00 
Register 0x81 = 0x00 
Register 0x82 = 0x00 
Register 0x83 = 0x00 
Register 0x84 = 0x00 
Register 0x85 = 0x00 
Register 0x86 = 0x90 
Register 0x87 = 0x00 
Register 0x88 = 0x00 
Register 0x89 = 0x00 
Register 0x8A = 0x00 
Register 0x8B = 0x00 
Register 0x8C = 0x05 
Register 0x8D = 0x00 
Register 0x8E = 0x00 
Register 0x8F = 0x00 
Register 0x90 = 0x32 
Register 0x91 = 0xE3 
Register 0x92 = 0x64 
Register 0x93 = 0x01 
Register 0x94 = 0x00 
Register 0x95 = 0x00 
Register 0x96 = 0x00 
Register 0x97 = 0x00 
Register 0x98 = 0x00 
Register 0x99 = 0x00 
Register 0x9A = 0x04 
Register 0x9B = 0x00 
Register 0x9C = 0x00 
Register 0x9D = 0x00 
Register 0x9E = 0x00 
Register 0x9F = 0x0E 
Register 0xA0 = 0x00 
Register 0xA1 = 0x0D 
Register 0xA2 = 0x0E 
Register 0xA3 = 0x0C 
Register 0xA4 = 0x0D 
Register 0xA5 = 0x10 
Register 0xA6 = 0x42 
Register 0xA7 = 0x10 
Register 0xA8 = 0x10 
Register 0xA9 = 0x10 
Register 0xAA = 0x03 
Register 0xAB = 0x01 
Register 0xAC = 0x00 
Register 0xAD = 0x00 
Register 0xAE = 0x00 
Register 0xAF = 0x00 
Register 0xB0 = 0x04 
Register 0xB1 = 0x4A 
Register 0xB2 = 0x3F 
Register 0xB3 = 0x00 
Register 0xB4 = 0x00 
Register 0xB5 = 0x00 
Register 0xB6 = 0x00 
Register 0xB7 = 0x00 
Register 0xB8 = 0x00 
Register 0xB9 = 0x00 
Register 0xBA = 0x00 
Register 0xBB = 0x00 
Register 0xBC = 0x00 
Register 0xBD = 0x00 
Register 0xBE = 0x00 
Register 0xBF = 0x00 
Register 0xC0 = 0x00 
Register 0xC1 = 0x00 
Register 0xC2 = 0x00 
Register 0xC3 = 0x00 
Register 0xC4 = 0x00 
Register 0xC5 = 0x00 
Register 0xC6 = 0x00 
Register 0xC7 = 0x00 
Register 0xC8 = 0x00 
Register 0xC9 = 0x00 
Register 0xCA = 0x00 
Register 0xCB = 0x00 
Register 0xCC = 0x00 
Register 0xCD = 0x00 
Register 0xCE = 0x00 
Register 0xCF = 0x00 
Register 0xD0 = 0x00 
Register 0xD1 = 0x00 
Register 0xD2 = 0x00 
Register 0xD3 = 0x00 
Register 0xD4 = 0x00 
Register 0xD5 = 0x00 
Register 0xD6 = 0x00 
Register 0xD7 = 0x00 
Register 0xD8 = 0x00 
Register 0xD9 = 0x00 
Register 0xDA = 0x00 
Register 0xDB = 0x00 
Register 0xDC = 0x00 
Register 0xDD = 0x00 
Register 0xDE = 0x00 
Register 0xDF = 0x00 
Register 0xE0 = 0x00 
Register 0xE1 = 0x00 
Register 0xE2 = 0x00 
Register 0xE3 = 0x00 
Register 0xE4 = 0x00 
Register 0xE5 = 0x00 
Register 0xE6 = 0x00 
Register 0xE7 = 0x00 
Register 0xE8 = 0x00 
Register 0xE9 = 0x00 
Register 0xEA = 0x00 
Register 0xEB = 0x00 
Register 0xEC = 0x00 
Register 0xED = 0x00 
Register 0xEE = 0x00 
Register 0xEF = 0x00 
Register 0xF0 = 0x5F 
Register 0xF1 = 0x55 
Register 0xF2 = 0x42 
Register 0xF3 = 0x39 
Register 0xF4 = 0x35 
Register 0xF5 = 0x33 

Just a curiosity, do you know why RESERVED register 0xD6 in deserializer changed its value from 0x00 to 0x01 after initialization?

Thank you in advance.

Best regards,

Alessandro

  • Hi Alessandro,

    You are using the EVMs correct.  Have you tried to use the MAP tool that is part of ALP?  It may help to provide AEQ settings that would work best for you. 

    Check out the link here https://www.ti.com/lit/ug/snlu243/snlu243.pdf? and see if it helps setting the AEQ appropriately.

    Regards,

    Nick

  • Dear Nicholas,

    Thank you for your answer. I tried doing the map test and I got the following result:

    So, I expect that automatic AEQ procedure will drive the system into the green area. 

    Is there a way to read back from a register the values of EQ LEVEL and STROBE POSITION where the system is working?

    I see that EQ level is register 0xD3, but I do not find in the datasheet which register contains the actual strobe position value.

    Thank you in advance.

    Best regards,

    Alessandro

  • Hi Alessandro,

    There is a register that has this information but it is not publicly available and really shouldn't help too much in this scenario.  You want the EQ and strobe settings to be able to update freely as needed by the system.  What you should do is change the limits so that the EQ/Strobe should be in a 4x2 green rectangle.  The MAP tool should provide these register settings for you.

    Regards,

    Nick