I2C Contention -> 2 Masters

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hey Guys,

  We have developed a 9-Axis Sensor Fusion Demo using our upcoming Wireless Sensor Platform(WSP).  The Sensor Fusion is performed on a SiLabs EFM32 Cortex M3/M4F depending on the Starter Kit plugged into the WSP.  The EFM32 is configured as an I2C Master to communicate with the 9-Axis Motion Sensor.  The BCM2073xS which is also connected to the kit and we are using this to send the Sensor Fusion data to a PC and soon Mobile Apps is also connected to the Sensor board and also has the I2C lines running to the sensor although there is ZERO I2C firmware running on the BCM2073xS outside of the typical default Boot I2C scenario to the EEPROM.  Being that the internal EEPROM address is different than the Motion Sensor this should be fine.

  We have seen that when the BCM2073xS SDA/SCL lines are also tied into the Sensor(but should have zero effect) that there appears to be contention for some reason.  Upon starting code execution on the EFM32 the I2C comms is corrupted slightly to where the Motion Sensor does not initialize correctly?  We have clipped the SDA/SCL lines coming into the Sensor Board and everything works fine.  This contention is occurring after the BCM2073xS has been paried/bonded with a Client and there is no where else in the BCM firmware where NVRAM Read/Write functions are being used outside of when Host ID, Bonding info is stored so there should be no activity from the I2C module after BOOT and after pairing.

Question: 

1) If there is no I2C configuration on the BCM2076xS is it safe to operate with the I2C lines connected into a system with another I2C

      master in the system?  I can add a SCL/SDA disconnect switch but it seems unnecessary.

2) After the initial EEPROM boot upon a RESET/POR is there ANY I2C activity that occurs if the I2C module has not been configured

     outside of potential NVRAM Read/Writes?

Regards,

Frank

0 Likes
1 Solution
Anonymous
Not applicable

Hey Frank,

1.  We don't support multi-Master I2C

2.  Any pairing, calling NVRAM, OTA Upgrade, etc, there will be activity on the I2C bus

Thanks

JT

View solution in original post

0 Likes
5 Replies