4 I2C Communication
4.1 Overview
The I2C bus on the Mars ZX3 SoC module is connected to the SoC device, EEPROM and RTC, and is available
on the module connector. This allows external devices to read the module type and to connect more devices
to the I2C bus.
Please note that the RTC must be configured correctly to use I2C interrupts - for details, refer to Section 2.20.
The I2C clock frequency should not exceed 400 kHz.
Warning!
Maximum I2C speed may be limited by the routing path and additional loads on the base board.
Warning!
If the I2C traces on the base board are very long, 100 Ω series resistors should be added between
module and I2C device on the base board.
4.2 Signal Description
Table 36 describes the signals of the I2C interface. All signals have on-board pull-up resistors to VCC_3V3.
All signals must be connected to open collector outputs and must not be driven high from any source.
I2C_INT# is an input to the SoC and must not be driven from the SoC device.
For Mars ZX3 SoC module revision 4 and older, the I2C_INT# signal was inverted for the SoC device. It was
an active-low signal for the entire system but active-high for the SoC. Modules of revision 5 and newer do
not have this inversion, therefore I2C_INT# is also active-low at the SoC device. Refer to Section 2.22 on how
to detect the module revision. The Mars ZX3 SoC module reference design includes the HDL code section
for the revision detection and I2C_INT# inversion.
Level shifters are used between the I2C bus and the PS/PL pins, to allow I/O voltages lower than 3.3 V. Please
make sure that all pins are configured correctly and no pull-down resistors are enabled.
Signal Name PS Pin PL Pin Connector Pin Resistor
I2C_SDA MIO53
12
H15 176 2.2 kΩ pull-up
I2C_SCL MIO52
12
R15 178 2.2 kΩ pull-up
I2C_INT# - H17 174 10 kΩ pull-up
Table 36: I2C Signal Description
12
MIO52 and MIO53 are used for MDIO by default. Please refer to Section 2.9.7 for details.
D-0000-424-004 39 / 48 Version 05, 21.08.2018