This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2540 SLAVE I2C: SCL pulled low upon bluetooth connection

Other Parts Discussed in Thread: CC2541, CC2640

Hi, 

I have your CC2541 Sensortag wired as a I2C slave to my system with our custom firmware ( stack 1.4.0).

BLE is advertising correctly but upon connecting to the BLE module the I2C SCL  gets weakly pulled low ( down to 0.8V ). Please note that the logic 0 driven by the CC2541 when the device is answering a read request (outside this lock up situation) is much lower ( around 0.1 V)

If i disconnect the phone from the bluetooth device the SCL line goes back to the nominal value. 

Reported below is the I2C status during the problem; I don't see anything unusual register wise. 

To manually exit this issue I have to set the OVR =1, enable pull up for both SCL and SDA, enable output, setting SCLD, SDAD to 1, setting ENS1 =0.

At this point the I2C bus recovers.

To have IC starting to work again on the CC2541 acting as a slave device I have to set back OVR =0, and  ENS1 =1.

This sounds like some sort of CC2541 internal supply issue, I need insight on how to address it.


Thanks 

Paolo 

  • Hi Paolo,

    This sounds very strange. Does the 0.8 V level match your external pull-up value if we assume the pin for some reason enables the internal 20k pull-down? Do you have an oscilloscope plot of the voltage drop you could share?

    Cheers,
    Fredrik
  • Hi Fredrik, 

    ( Please note that of course this is a CC2541, I can't find the wrong thread title).

    Check the image below. 

    The external pullup is 4.7k and we have a CC2640 in our system with pullup enable, with I think around 15 k of resistance which should give roughly a 3.5 k an equivalent pullup. The value should be much higher if considering that the "1" voltage is 3.3V.

    Please check the picture below:

    The issue disappears when the phone disconnects.

    I have a cheaper non-TI dongle where this problem is not happening.

    Also I'm currently providing the supply 3.3V directly with two wires soldered on VCC and GND pin of J1.

    Regards

    Paolo

    Paolo