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 P1_1 Driving another IC

Other Parts Discussed in Thread: CC2540, TPS62730

Hi There,

In one of our projects we are using CC2540 as a main microcontroller with BLE Stack. In this project, we have another microcontroller, that we suppy Vdd from CC2540. In order to supply Vdd to 2nd microcontroller, we are using P1_1 which can drive a load up to 20 mA. Since we are not using another external voltage regulator, CC2540 is connected to battery after a diode. Therefore, we are depended on CC2540's internal voltage regulator. 

According to our measurements, 2nd microcontroller drain 14 mA max and it is active around 3 seconds. After 3 second we shut down the 2nd microcontroller by setting P1_1 to low. However, current flows from P1_! to 2nd microcontroller is not stable and varries from 5 to 14 mA during 3 seconds operation. We discover that sometimes, when 2nd microcontroller demands more current (less than 14 mA), Vdd goes lower than 2 V which is the minimum voltage for CC2540. 

1) Is there a special register that we should set to use P1_1 as high output current supplier compare to other logic iOs?

2) Is there a way to stabilize the inner voltage regulator for CC2540?

We would appreciate if you suggest any other ideas that we can try.

PS: I know TI suggest to use tps62730 for such applications but for some reason we are not using it.

Thank you so much!

Have a great day!

Deniz

  • Hi Deniz,


    There is not internal regulator in the CC2540 between the VDD pins and the GPIO module, thus the only thing between P1_1 and VDD is the output buffer (FET push-pull).

    The first thing I would try would be more decoupling on the 2nd micro to have a buffer for sudden voltage changes. You can also try to beef up the decoupling on pin 10 of Cc2540.

    For supply voltages above 2.6 V no register settings are required to ensure full current capability of the GPIOs. However when VDD goes below 2.6 V you must set PICTL.PADSC (see the User's Guide, chapter 7.2)

    Cheers,

    Fredrik