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.

Prototyping a new CC26XX chip, how to program?

Other Parts Discussed in Thread: CC2650

Hello,

I may have a trivial problem that I hope the community and experts can aid and put me on the right track with: How do I program a new CC26XX chip?

I have breadboarded a sample CC2650 using a 48QFN to DIP breakout. I have then set the breadboard to match the CC2650EM-7ID EM schematic, minus the RF component, using DIP counterparts of the SMD components as listed in the EM BOM.

Initially I thought I could connect the RESET, JTAG and UART connections from my breadboard to the SmartRF06 board and hit debug on a program I wrote, which works on the supplied CC2650EM-7ID. However, I am getting this error message:

"(Error -275 @ 0x0) The attempt to poll a target device exceeded its timeout limit. The utility or debugger has requested that a target device be repeatedly accessed for a specific data or status value. This has failed because the built-in limit for the maximum number of attempts when polling the JTAG scan-path has been exceeded."

I believe the above error is either due to (correct me if I'm wrong):

  1. JTAG not being setup on the new chip.
  2. Timing on the new chip and my breadboard solution is not working. I think the chip does not know to use the 32.768kHz crystal.

Irregularities, I have noticed:

  1. When supplied by external PSU: PIN 23 DCOUPL voltage is at 2.3V, not 1.27V as expected in the datasheet. (VDDS is 3V, VDDR is 2.6V) - the chip may be damaged?
  2. When connected to SmartRF06: LED signaling-wise, I see that LED 1 & 2 flash three times before staying lit, on power-on, when compared to the EM board that does not do that. I am using DIO6&7 for I2C, so LEDs 3&4 are disconnected on the SmartRF06 board when I connect my breadboard.

My next steps:

  • Try to communicate with the serial boot-loader interface as described in swra466a.

Any help appreciated.

Cheers,

Thilina

Picture of breadboard solution, VDDS pins are connected under the breadboard, left hand side +ve rail is VDDS, right hand side +ve rail is VDDR, common earth:

  • I think you have to make sure CC2650 is well powered and crystal is working.
  • Thanks for the reply, I was powering the breadboard VDDS via the SmartRF06 'VDD TO EM' header, which supplied 3.3V. It may be a crystal problem. Do you know if the CC2650 has an internal setup bit to enable the external 32kHz oscillator?

    Should I remove the external oscillator and use the internal one instead? I assume it is on by default?

    -Thilina

  • I tested with crystals removed and the same error message is reported.

    I also tried to connect to the boot loader via UART (RX on PIN7, TX on PIN8), no ACK is sent after the two bytes of 0x55 for synchronization.

    I am stumped at this stage!
  • Hi Thilina,

    If you are measuring 2.3 V on VDDR and DCOUPL the chip is probably damaged, or you have an incorrect wiring somewhere. I would highly recommend getting a proper evaluation board instead of using a breadboard.

    How is the ground pad connected on your break-out PCB?

    Cheers,
    Fredrik
  • Thanks for the reply, Fredrik. The ground pad is connected to the breakout board's ground plane - soldered underneath the chip. I have tapped into that and distributed it via the 3-pin header.

    Yes, it looks like its damaged -- when connected to the SmartRF06 board the DCOUPL is ~1.9V. This is the 2nd chip, so I thought it could have been something else. I've mapped and double checked the connections prior to applying power, its very surprising that both failed.

    I would like to prototype on the BB and go on to develop my own PCB circuit, I have been using the eval board in the mean time.
  • This might work but internal regulators can become unstable since there will be significant inductance between the on-chip regulator outputs and the load/decoupling capacitors.

    A few debugging hints (without applying power):
    - Check impedance between DCDC_SW/VDDR/VDDR_RF (should be 0)
    - Check impedance betwwen all 3 VDDS pins and board supply (should be 0)
    - Check impedance between DCOUPL and VDDR/VDDS/GND (should be in the mega-ohm range)
    - Check capacitance values from VDDR->GND (10uF) and DCOUPL->GND(1uF).
    - Check current draw (when applying power). An empty device should go into boot loader mode and draw 6-7mA.

    VDDR should be 1.68V and DCOUPL 1.28V. Only internal oscillators are used until the device is programmed.

    Regards,
    Svend
  • Thanks for the hints, Svend. Is this while in the chip is in circuit or alone?

    In both cases, nothing out of the ordinary - unless you can spot something :

    1. Chip only:

    - Check impedance between DCDC_SW/VDDR/VDDR_RF (should be 0)
    Basically open-circuit, my handheld is at its limit and states > 20M Ohm

    - Check impedance betwwen all 3 VDDS pins and board supply (should be 0)
    VDDS-VDDS2 = 4-5M Ohm, VDDS-VDDS3 = 8-9M Ohm, VDDS2-VDDS3 = 3-4M Ohm

    - Check impedance between DCOUPL and VDDR/VDDS/GND (should be in the mega-ohm range)
    VDDR-VDDS = 2.3K Ohm, VDDS-GND = 5-9M Ohm, VDDR-GND = 5-9M Ohm

    DCOUPL-VDDR = 10M Ohm, DCOUPL-VDDS = 10M Ohm, DCOUPL-GND = 10M Ohm,

    2. In circuit:

    - Check impedance between DCDC_SW/VDDR/VDDR_RF (should be 0)
    Yes all connected, so 0.

    - Check impedance betwwen all 3 VDDS pins and board supply (should be 0)
    Yes all connected, so 0.

    - Check impedance between DCOUPL and VDDR/VDDS/GND (should be in the mega-ohm range)
    VDDR-VDDS = 2.2K Ohm, VDDS-GND = 4-5M Ohm, VDDR-GND = 3-4M Ohm

    DCOUPL-VDDR = 10M Ohm, DCOUPL-VDDS = 10M Ohm, DCOUPL-GND = 10M Ohm, (the resistance reported keeps climbing and slows down near the 10M Ohm range) 

    - Check capacitance values from VDDR->GND (10uF) and DCOUPL->GND(1uF).
    Yes, as per circuit

    - Check current draw (when applying power). An empty device should go into boot loader mode and draw 6-7mA.
    Will check later.

    -Thilina

  • SOLVED:

    So I re-soldered a new CC2650 chip and connected it to the BB cct and I am now getting the expected voltage on DCOUPLE and VDDR.

    The only indicator between the faulty and working chip is the impedance between VDDR-VDDS which was 2.2K Ohm when faulty and in the mega-ohm range when working.

    I'm putting this down to BB randomness, maybe a loose earth, as I did not change the cct.
  • Hi, now I soldered a CC2650 chip , and I get the expected voltage on DCOUPLE and VDDR. I think the chip is working ,but I can`t get the Crystal 32.768KHz, do you have some advices?

    thanks!

    and also the debug log is:

    [Start: Texas Instruments XDS100v3 USB Debug Probe]

    Execute the command:

    %ccs_base%/common/uscif/dbgjtag -f %boarddatafile% -rv -o -F inform,logfile=yes -S pathlength -S integrity

    [Result]


    -----[Print the board config pathname(s)]------------------------------------

    C:\Users\Aaron\AppData\Local\TEXASI~1\CCS\
    ti\0\0\BrdDat\testBoard.dat

    -----[Print the reset-command software log-file]-----------------------------

    This utility has selected a 100- or 510-class product.
    This utility will load the adapter 'jioserdesusbv3.dll'.
    The library build date was 'Feb 18 2015'.
    The library build time was '23:56:50'.
    The library package version is '5.1.641.0'.
    The library component version is '35.34.40.0'.
    The controller does not use a programmable FPGA.
    The controller has a version number of '4' (0x00000004).
    The controller has an insertion length of '0' (0x00000000).
    This utility will attempt to reset the controller.
    This utility has successfully reset the controller.

    -----[Print the reset-command hardware log-file]-----------------------------

    The scan-path will be reset by toggling the JTAG TRST signal.
    The controller is the FTDI FT2232 with USB interface.
    The link from controller to target is direct (without cable).
    The software is configured for FTDI FT2232 features.
    The controller cannot monitor the value on the EMU[0] pin.
    The controller cannot monitor the value on the EMU[1] pin.
    The controller cannot control the timing on output pins.
    The controller cannot control the timing on input pins.
    The scan-path link-delay has been set to exactly '0' (0x0000).

    An error occurred while hard opening the controller.

    -----[An error has occurred and this utility has aborted]--------------------

    This error is generated by TI's USCIF driver or utilities.

    The value is '-275' (0xfffffeed).
    The title is 'SC_ERR_SCAN_POLL_BUSY'.

    The explanation is:
    The attempt to poll a target device exceeded its timeout limit.
    The utility or debugger has requested that a target device be
    repeatedly accessed for a specific data or status value.
    This has failed because the built-in limit for the maximum number
    of attempts when polling the JTAG scan-path has been exceeded.

    [End: Texas Instruments XDS100v3 USB Debug Probe]

  • Haizhou, I do not understand how your question is related to this thread. Please specify or start a new thread with some more information on your HW.