as part of my academy project I am writing i2c protocol in system Verilog in VIVADO on FPGA PYNQ Z2.
after completed all code and pass simulation, connected the TSL2591 device. according to ILA inside the FPGA I see the readings and the protocol working as expected. the device acknowledge. but the data from specific register (0X12 device id) is same value 0X12 and not the data in the register ,that should be 0X50 always. Same if trying to read the 0X14 register that contains the measurements - I getting back data "0X14".
of course the read is done after write done (to register 0X00 with enable command) and waited 200ms. The read protocol including restart.
does anyone encountered such issue?
tried different registers read , and read 8 bit or 16 bit. when trying 16 bit the MSB bits are 0 returned. (LSB return the register number as mentioned previously)