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.

CC2640R2F Custom board current drawn

Other Parts Discussed in Thread: CC2640R2F, CC2640

I have designed a custom board, my board design is intended for a single layer PCB so  I have routed all the unused pins to the exposed ground pad, as shown in the attached layout picture. I have measured the current consumption of the board while running the pinstandby example, a current consumption of >16mA is measured while the device is supposed to be in sleep mode. Do I need to have to initialize the pins in a certain way to prevent the current from leaking through the grounded GPIO pins? 

I am currently trying to design a new antenna for the flexible circuit I am designing, the antenna in the layout is tested using a VNA and has a similar gain to the reference design, I couldn't however receive the bluetooth advertisement on a smartphone app? I couldn't confirm that the device is transmitting using an oscilloscope to measure the current drawn, as it is constantly >30mA when running the simple broadcaster example.

Thanks

Mahmoud

  • Mahmoud,

    Can you please post your schematic so I can take a look at it. Grounding unused pins is ok as long as you make sure they are never used, please review your code one more time to make sure all ports that are grounded are in fact not used by your software and that they are tied to ground.

    /TA
  • I have tested the chip without any programs after erasing the flash and it records a current consumption of 7mA while the launchpad consumes 6mA, when I tried driving one of the shorted pins the current increased by 10mA. I have attached a copy of the schematic, I am currently only driving DIO0 and DIO1

  • Your schematic looks ok, you have added some 0Ohm resistors in places not normally done and I cannot predict the exact performance of doing that (I am speaking of the 0Ohm resistor on the XTAL net). However this is not going to add any current draw.

    Can I ask you to try a more simple software example, this one is specifically designed to put the device into sleep and take it back out with a pin interrupts.

    dev.ti.com/.../

    Here you should be able to see low power, the reason is that 7mA is about the current of the RF core and the CM3 combined if they are running 100% duty cycle (like stuck waiting for something). The thing they could be waiting for is the XTAL to start, it that does not turn on the devices will get stuck.

    Regards,
    /TA
  • The DCDC layout will not work well. The 10 uF cap must be placed close to the inductor and with a short ground return path to the IC. Can you try to disable the DCDC in CCFG?

    Generally performance will be affected (negatively) by not having good ground connections between decopling caps, RF components, the antenna and the CC2640R2F. I would highly recommend going to a 2-layer design (you seem to have 2 copper layers already) with a solid ground plane on the bottom side.

    For more layout guidance, take a look at the "Design Resources" section of the BLE wiki: ti.com/ble-wiki .

    Cheers,
    Fredrik
  • I tried the pin shut down example as well as the pin standby example, the current drawn with a 4V supply was constantly between 16mA and 18mA, lowering the supply voltage to 1.8V I got it to be around 1mA with the device in sleep mode using task_sleep() loop, does that mean I have a problem with the DCDC regulator?
  • I cannot use a double layer board in my final design, the bottom layer here is used for an optional connection, when I supply the current board with 1.8V the current drawn is around 1mA. If I use an external DCDC regulator would that improve performance? would all the decoupling capacitors be required, or can I remove C5, C6 and C7 as well as L1?

    Thanks
    Mahmoud
  • Hi Mahmoud,

    Did you try disabling the DCDC?

    You would most likely get better performance by placing the 10 uF cap correctly. If not using the DCDC you can only remove L1, not the other decoupling caps.

    Cheers,
    Fredrik
  • Hi Fredrik,

    I tried disabling the DCDC using the following code:

    #define SET_CCFG_MODE_CONF_DCDC_RECHARGE 0x1

    #define SET_CCFG_MODE_CONF_DCDC_ACTIVE 0x1

    I supply the board using 1.8V but based on the current consumption the device wasn't starting, I couldn't however ground DCDCSW pin as it's currently hardwired to my VDD. The cc2640r2f only starts at VDD=2.27v, the picture attached shows the voltage across a 10ohm resistor for measuring the current during toggling an LED using the code bellow. However, before running the code on the target from CCS debugger the current drawn is 2mA, opposed to 13mA when the code s running while the LED is off. The startup current is shown in the second picture.

      while(1) {
            /* Sleep, to let the power policy transition the device to standby */
            sleep(standbyDuration);
    
            /* Read current output value for all pins */
            currentOutputVal =  PIN_getPortOutputValue(hPin);
    
            /* Toggle the LEDs, configuring all LEDs at once */
            PIN_setPortOutputValue(hPin, ~currentOutputVal);
        }


  • Can you post a photo of your board?
  • The VDD terminal is connected to a bench PSU output and the GND is connected to a 10ohm resistor connected to an oscilloscope probe.

  • Hi Fredrik,

    Would the updated layout bellow fix the problem?

    Thanks for your support

    regards

    Mahmoud

  • Hi Mahmoud,

    I don't think we can know for sure since you have not been able to determine the problem with your original design. The ground connection from C5 to the CC2640 ground pad is also still very poor.

    In general I would also not recommend using jumpers for ground, but rather putting jumpers on other signals to allow the ground plane to pass underneath.

    Cheers,
    Fredrik