I am trying to communicate with a cypress MCU (at 100kHz) that has been configured as I2C slave with adress 0x48. the document says the following.
Now when I send this adress from my Sinowealth MCU, slave does not respond with ACK. here is the waveform
When I tested same with arduino, it is responding with ACK and I am able to send data packet successfully. Here is the waveform when I using arduino as master and cypress MCU as slave.
I do not have access to cypress MCU code or board schematics. I am using Open drain configration with internal push-up resistors on my board. Here is the schematics of my I2C side of board.
What I have tried so far
- Lower clock till 10Khz, still no ACK
- Programmed arduino as slave with adress 0x48, it does not ack as well
What should I do? should I put external pull-ups or try some thing else? Untill now I have not tried external pull-upp as arduino board was also using internal pull ups and working fine.
PS:- Upon more inspection I find out there is an I2C EEPROM chip connected to same I2C pins as following.
SO 2k2 external pull ups are already there. I tried disabling internal pull-ups as well but did not worked.