Hello.
I have an odd issue with the SC16IS740 IC.
I am trying to operate it in I2C mode controlled by a Raspberry Pi CM4 module.
When i use this command : (sudo i2cdetect -y 1) to detect the devices on the I2C bus i get a very odd response.
The response lists all possible I2C IDs.
It should only list 0x48 since i have A0 and A1 attached to VDD.
I am using a 1.84MHz oscillator as clock source.
Any ideas what might be the issue here ?
Please see attached schematics
已解决! 转到解答。
Well , for the ones coming here in the future. Take this post as a cautionary tale of not trusting anybody ever doing anything right.
After looking closer at the PCB we noticed that U20 and U19 were swapped on the PCB.
Thanks for your support. Solution found.
Well , for the ones coming here in the future. Take this post as a cautionary tale of not trusting anybody ever doing anything right.
After looking closer at the PCB we noticed that U20 and U19 were swapped on the PCB.
Thanks for your support. Solution found.
Hello Antonh,
I am missing pull-up resistors on the SCL, SDA and IRQ pins. For the IRQ pin, the required pull-up resistor is 1kOhm to VDD, for VDD=3.3V.
The SCL and SDA pull-up resistors, they should be calculated from the I2C communication speed (maximum allowed for the SC16IS740 is 400kHz). Please let me know your I2C communication speed and approximate length of the SDA and SCL PCB traces and/or cables, so I can estimate the bus capacitance for the pull-up resistors calculation.
Also please remove the 10k pull-up resistor from the I2C/SPI pin and connect it directly to VDD=3V3.
With Best Regards,
Jozef