Hello everyone,
I am using the re-timer board DS110DF410EVM to generate high-frequency PRBS signals (10Gbps) on all four output channels.
Unfortunately, when I try to set up register 0xFF for writing on the channels register sets (setting bit [2] of 0xFF high, according to the datasheet), the value of the register 0xFF immediately change to 0xA5 and I lose the possibility of changing the value of any other bit. If I set bit [2] to low, the other bits becomes accessible once again. I am pretty sure that the I2C interface is working properly because I can easily read and write the other registers and the results is the expected one.
The procedure I am following is:
- I power up the board (3.3V, current limit at 1500mA to avoid issues with current spikes at start-up, even if the board does not seems to requires more than 400mA)
- I check the connection of the through the I2C
- I read the register 0xFF and check that its value is indeed 0x00 (as it should be by default)
- I write the value 0x04 in register 0xFF to allow read/write operations on ch0 register set.
- I read register 0xFF again and observe that instead of 0x04 the register read 0xA5
The interesting part is that while register 0xFF is in this state, which according to the datasheet should allow the write/read operation of ch1 register set, the register set of ch0 is instead accessible for write/read. I made some tests and indeed while register 0xFF has the value 0xA5, I can generate the PRBS signal on ch0, set its output voltage and the de-emphasis (thus confirming once again that the I2C interface should be working fine).
Unfortunately I do not have the USBtoI2C tool to test the board with its GUI, but I still hope that what I am missing is just a small detail in my procedure.
Thanks for your help,
Leo