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.

trouble programming F28377D on custom board - low VDD voltage

Hello, 

I am using F28377D (HLQFP package) on a custom board but have some difficulty programming it. 

The soldering of the chip looks fine under microscope. When supply 3.3V to the board, there is no short circuit, the VDDIO pins have a stable 3.3V.  However, when I measure VDD pins, all VDD pins are at 500mV (while it is supposed to be 1.2V), and I guess because of it, I can not program the micro-controller. I get errors like 

Test 2 Word 0: scanned out 0x00000000 and scanned in 0xFFFFFFFF.

when doing a JTAG check. 

I am wondering what causes this problem. Is there any pin connection I am missing? I make sure I connect VREGENZ, VDD3VFL, VDDA, VDDOSC all to VDDIO and they are getting 3.3V. Also VSSOSC and X1 is tied to GND. Also XRSn is pulled high with 2.2k resistor, TRSTn is pulled low with 3k resistor. Each VDDIO and each VDD pin is connect to a 2.2uF cap (placed very close to each pin). All the soldering seems solid under micro-scope, and I make sure VSS pins in the center of the HLQFP package is well connected as well.  I soldered 2 boards, one with all caps and pullup/pull down resistors in place, another one with nothing but the micro-controller on. On both board VDD is only 500mV. 

Any pointer on what cause this problem or what I should look into is greatly appreciated. Thank you! 

Shibin

  • Hi Shibin,

    You didn't mention the debugger you're using? External XDS100v2?

    Regards,
    Gautam
  • Hi Gautam,

    Thank you so much for your quick reply. 

    I take the JTAG signal from a Piccolo experimenter's kit. I used that Piccolo experimenter's kit to program a F28377D control card on a seperate experimenter's kit, works fine. JTAG integrity check pass, and I can load the program to F28377D control card. When I move to the F28377D on my board, then I got the aformentioned problem. 

  • The Piccolo experimenter's kit has no control card on it, so effectively I am only using its XDS100v2.

    Since I get error like
    Test 2 Word 0: scanned out 0x00000000 and scanned in 0xFFFFFFFF.

    This is as if the JTAG wire are left unconnected. So I guess the chip is not properly powered and is not on.
    VDD is 500mV even when I only turn on the 3.3V power supply, no JTAG signal connected yet.
  • when I measure VDD pins, all VDD pins are at 500mV (while it is supposed to be 1.2V), and I guess because of it, I can not program the micro-controller.

    This is fishy... btw is your TPS part number generating proper 1.2 V ?

    Regards,

    Gautam

  • Hi Gautam,
    I am not sure I understand your question, could you please clarify this question a little bit?
    In fact, I do not have all these circuit on board (is this going to be a problem?) . On my board, I just pull up XRSn will a resistor, and a 10p cap between XRSn and GND. I did probe a 3.3V on XRSn pin....
  • Shibin... here's the flow of 1.2V for VDD

    1. This is the above figure to generate 1.2V using voltage divider.

    2. Generate VDD_MCU_1V2

    3.

    Regards,

    Gautam

  • Hi Gautam,
    I think I see my problem. F28377D does not have internal regulator, so I am suppose to supply that 1.2V.... I connected as if it has one like in F28069, etc.
    Sorry for taking up your time with such a question. Thank you very much for your help.

    Shibin
  • Shibin do keep us informed and also one suggestion while designing any board do follow the controlcard or launchpad schematics. It eases a designers life :)
  • Hi Gautam,
    Thank you for your suggestion. Indeed I should have study the control card more carefully.. Now I see why these TPS are used.
    As a remedy for my current board, if I just jump a wire from a 1.2V LDO output to one of the VDD pin, is that enough? or it should be jumped to each VDD pin? Also if my application does not care about glitch during start up, it is OK without TPS chips?
    Thank you!
  • As a remedy for my current board, if I just jump a wire from a 1.2V LDO output to one of the VDD pin, is that enough? or it should be jumped to each VDD pin?

    All VDD pins need to be connected to 1.2V as per the above figure.

    Also if my application does not care about glitch during start up, it is OK without TPS chips?

    Yes, why not.

    Regards,
    Gautam
  • Hi Shibin,

    There is one additional consideration: please note that the F2837xD datasheet recommends that VDDIO always be held greater than (VDD - 0.3V). 

    Not following this guidance will likely result in the device having a shorter lifetime than expected.


    Thank you,
    Brett

  • Hello Gautam, Brett,
    Thank you for your help. I made a new board following the control card schematic and it can get programmed this time.
    Thank you!
  • Hello Gautam, Brett,
    I do have one more question about programming F28377D on my custom board. How I program it now is that I take a Piccolo docking station (with no control card on it), and connect the JTAG signal to my custom board. The programming function is working, I can program, debug, etc. When I program my custom board, it is taking very long time (like 2 min for RAM and more than 5min for flash). I have a Delfino control card and docking station. When I try to using the aforementioned method to program the Delfino control card using JTAG signal taken from Piccolo docking station, it is the same slow. When I program the exact same code to the Delfino control card directly, it is much faster (like 20s for RAM and less than 2min for flash). I tried multiple Piccolo control card and it is the same.
    I think the emulator should be the same on Delfino control card and Piccolo docking station (XDS100) , so I am wondering why would this happen? and any suggestions on how I can speed things up?
    Thank you!
  • It seems that it is just hardware difference. The FTDI chip on Delfino controlcard is like 40 times faster than the one on Piccolo docking station...
  • Does your piccolo docking station have a XDS100v1 or v2?
  • Hi Shibin,

    As Gautam suggests, my guess is that this has something to do with the speed differences between the xds100v1 emulator (which is on the DIMM100 style docking station) vs the xds100v2 (which is what is on the F28377D cCARD).

    FYI: several companies, such as Spectrum Digital, sell standalone xds100v2 emulators (or the even faster xds200).


    Thank you,
    Brett

  • Hello Gautam, Brett,
    Thank you for your reply.
    Indeed, as you pointed out, the Piccolo docking stations I have only have xds100v1, while F28377D control card has xds100v2 on it. In CCS, I selected xds100v2 as v1 does not support F28377D. Now as you pointed out the difference, I am surprised the Piccolo docking station even manages to program F28377D. I am going to get the standalone emulator you suggested.
    Thank you!
  • Hello Brett, Gautam,

    Thank you for your suggestions. I got the standalone xds100v2 and xds200, and they indeed program much faster. I do want to mention though, xds200 requires a license upgrade on CCS. With the free version you can program with xds200 but won't be able to debug.

    With the solution of a problem comes a new problem :-). I do have anther question. I wrote some code to implement current hysteresis control for a power converter. It works fine in debug mode when I program to RAM, and it also works fine in debug mode when I program to FLASH. However, when I turn off micro-controller power and turn it back on, I supposed it should boot from flash and work as before. I do have boot mode selection pin (GPIO72 and GPIO84 pin in F28377D) pulled high with 56k Ohm resistor as in control card reference. However, it does not behave the same as before. I can tell the program is running since I toggle a GPIO pin in the endless loop, and I can see that on the scope. However, current hysteresis control is not happening any more. I go back to program to FLASH and in debug mode, it works fine. I exit and reset the controller power, it doesn't work...... So is there some high level setting that I am doing wrong, or it has to get down to the specific code?

    Thank you!
  • Hi Shibin,

    What you mention about the xds200 is correct.  I'm very sorry that I forgot about that.  Hopefully you will still find some value in your new xds200 though.

    For your new issue, I would recommend taking a look at the below link.
    http://processors.wiki.ti.com/index.php/C2000_Flash_Common_Issues/FAQs#Code_Does_Not_Run_Standalone

    FYI: with a new question you should probably make a new post.  This will help ensure that your question is seen by more people.


    Thank you,
    Brett

  • Hi Brett,

    Thank you for your reply! 

    Can I as another question? I get a full license for CCS, but when I enter debug mode using XDS200, it programs fine but just freeze there after programming. I cannot click resume button to start the program, etc. (please see attached figure). Using XDSv100 seems to be no problem. 

    Any directions would be appreciated. Thank you.   

  • Hi Shibin,

    I would recommend that you post this new question on the CCS forum.


    Thank you,
    Brett