Part Number: AM263P4-Q1
Other Parts Discussed in Thread: SYSCONFIG
A timeout is occurring during I2C communication with an external EEPROM (when I2C_transfer() is executed). The situation is summarized below:
* AM263Px MCU, SDK version 09.02.00 is being used.
* I2C3 is used for communication with the EEPROM.
* To enable the timeout, the SDK's EEPROM_write() and EEPROM_read() functions are not used for communication with the EEPROM. Instead, custom functions with added timeout settings are used.
* The timeout duration is set with a margin based on the estimated communication time derived from the bit rate and data transfer volume.
* A separate task is using I2C1 and I2C2 to communicate with devices other than the EEPROM.
* The bit rate is the same for all I2C1, I2C2, and I2C3 settings, and interrupts are disabled.
* We have confirmed that I2C1 and I2C2 communication (execution of I2C_transfer()) was occurring in a separate task while communication with the EEPROM was taking place.
* The timeout during communication with the EEPROM no longer occurred after making the following changes:
** Disable I2C1 and I2C2 communication, or significantly extend the timeout period during communication with the EEPROM.
Based on the above situation, we believe that simultaneous I2C communication is having an effect that prolongs the communication time.
Please tell us the cause of this phenomenon and recommended countermeasures (such as a correct method for estimating the time until communication is completed when simultaneous I2C communication occurs).
Desired response date: 2026/5/17