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.

Emulator Connection Error and reset XRS togging on 28377D

Hello all,

I designed a custom board, referring to the 28377d control card schematics.

Now, I met two issues and  have been struggling for several days.

The first is that JTAG connection always fails when I do the test connection, using CCS6 and BlackHawk USB200 Emulator (compatible with Texas Instruments XDS2xx USB emulator)

The test result is below:

[Start: Texas Instruments XDS2xx USB Emulator_0] 

Execute the command: 

%ccs_base%/common/uscif/dbgjtag -f %boarddatafile% -rv -o -S integrity 

[Result] 

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

C:\Users\xx\AppData\Local\TEXASI~1\CCS\

    ti\0\0\BrdDat\testBoard.dat 

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

This utility has selected a 560/2xx-class product.

This utility will load the program 'xds2xxu.out'.

The library build date was 'May 21 2014'.

The library build time was '18:02:25'.

The library package version is '5.1.507.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 '13' (0x0000000d).

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]-----------------------------

 

This emulator does not create a reset log-file.

 

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

 

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

 

The value is '-233' (0xffffff17).

The title is 'SC_ERR_PATH_BROKEN'.

 

The explanation is:

The JTAG IR and DR scan-paths cannot circulate bits, they may be broken.

An attempt to scan the JTAG scan-path has failed.

The target's JTAG scan-path appears to be broken

with a stuck-at-ones or stuck-at-zero fault.

 

[End: Texas Instruments XDS2xx USB Emulator_0]

*************************************************************************

This emulator works fine with the control card. so it is not the cause. I worried about the hardware. so I do test the JTAG signals. TCK and TDI has pulse signals, but TDO is stucked at zero. I check the connection and all connections seems fine.

Another issue is about the reset signal XRS and Error pin ERORSTS. I find XRS will toggle with 920 us high level and 40 us low level, and ERORSTS toggles with 920 us low level but 40 us high level correspondingly.

Then, I test TI control card. Its XRS also toggles but with16 ms high level and 40 us low level, and ERORSTS is zero voltage.

I am not sure why this happens and how to explain my issues and solve them.

I already re-solder two DSP chips on my board, and the same issues occur. And all the power pins VDDIO, VDD and VDDA have stable voltage 3.3v and 1.2V. so, I don't think it is because of the improper soldering.

Also, I find that there are two posts which show the similar issues, but no final solution is provided yet.

http://e2e.ti.com/support/microcontrollers/c2000/f/171/t/373383

http://e2e.ti.com/support/microcontrollers/c2000/f/171/t/385895

Could anyone point out any issues with this design or provide some suggestions or experiences?

Best Regards,

Bo

  • Sorry. I want to correct my description on ERRORSTS. ERRORSTS toggles with 0 V for 920 us and 600 mV (not high logic level)for 40 us .
  • Hi Bo,

    If I were in your shoes, I'd be looking at the XRSn circuitry (if you've used the same SVS as in the controlCARD it may be worth seeing if removing the SVS fixes anything). 

    Could you attach the relevant portions of your schematic (just the section with the chip and the support circuitry)?  Perhaps we will see something wrong on it.


    Thank you,
    Brett

  • Hi Brett,

    I did remove the second SVS chip and even removed XRS’s pullup resistor. Still the same results.

    And I noticed that the controCARD file has an error, cycled in the red curve below.

    My reset circuit is shown below:

    I also configured boot mode to “wait boot mode” and other modes, still the same. (from the datasheet, it is said if you are in get mode with a new device, then dsp will reset itself in an certain rate)

    I probed the XCLKOUT pin, and it is zero voltage. Some posts said that this pin usually will output an fclk/N clk signal after power on, even the device is not programmed. I am not sure if this is correct for 28377d. from “spruhm8c” reference, it is said we need configure some registers.

    “It is sometimes necessary to observe a clock directly for debug and testing purposes. The external clock
    output (XCLKOUT) feature supports this by connecting a clock to an external pin, GPIO73. The available
    clock sources are PLLSYSCLK, PLLRAWCLK, CPU1.SYSCLK, CPU2.SYSCLK, AUXPLLRAWCLK,
    INTOSC1, and INTOSC2.
    To use XCLKOUT, first select the clock source via the CLKSRCCTL3 register. Next, select the desired
    output divider via the XCLKOUTDIVSEL register. Finally, connect GPIO73 to mux channel 3 using the
    GPIO configuration registers.”

    The power pin part, clk part and JTAG part:

     

     

    Hope you have some suggestions.

    Thank you,

    Bo

  • Also, some IO pin and ground. I am using 176 PTP package ().

    also, I just find that the peak of external clk MCU_X1 is 2.8V around not 3.3V. and MCU_X2 is not so sinusoidal have a bit distortion. Does this matter? or is this due to too larger ESR of these two resonant caps 15uF?

  • Hi Bo,

    1) The issue on the first SVS chip (that you circled) is known.  We are looking to fix it in a future release of the controlCARD.
    2) On the F28377D device, XCLKOUT won't come out of the chip by default.  As you mentioned, you'd need to change some register settings in order to make it come out.  As a result, I don't think this will help us.
    3) On the F28377D, the device boots up with the internal oscillator and then moves over to an external crystal if the code changes some registers.  As a result, I believe the signal here is irrelevant (although I don't think its wrong anyway)
    4) A look at your schematics doesn't reveal anything obviously wrong.
    5) I'm not sure how much it will help, but I might recommend taking a look at the F2807x controlCARD and comparing the MCU pin numbers in that design with the ones in yours.  The F2807x was designed to be similar to the F28377D and both are pin compatible - especially with regard to the support pins.  Its controlCARD has the 176pin F28075 on in.

    Perhaps this at least gives you something (or maybe removes some things that you're worrying about).


    Thank you,
    Brett

  • Hi Brett, 

    Thank you for your kind suggestions. This clears my puzzles a lot. I checked the schematics of F2807x controlCARD. Most of the my design for MCU part are quite similar to this design.

    I find two differences:

    1). boot_mode PIN GPIO72 has 39 Ohm serial resistor.

    2). VDDIO pin 3 and 11 have 0 Ohm resistors.

      

    Another difference in terms of pins for both devices is: (irrelevant to my case)

    28377d: PIN 35 pin is VREFHIC.

    28075: PIN 35 is VAA. 

    28377d: PIN 32 is VREFLOC

    28075:  32 pin is VSS.

    and 28075 doesn't have ADC C core.

    I guess these two differences shouldn't matter much?

    I just notice that these MCU chips are TMX type not TMS type (not available yet). Is it possible that these devices need very careful reflow temperature, since I just use hand-soldering with an air gun (the max temperature is around 240 degree C)? I am now worried if there chips fail when I solder them. I will dig into this further.

    Thank you,

    Bo

  • Hi Bo,

    The differences you stated in your last post appear to be minor to me as well.

    I am not aware of any specific temperature concerns with these TMX devices.

    One thing I would recommend checking is the power rails, gnds on your schematic  -  I see a VDD_3V3 as well as a VDD_MCU_3V3 net.

    Another thought:  Are the power rails clean?  Can you edit your board such that you can try sourcing them from a bench supply?


    Thank you,
    Brett

  • Hi Brett,

    For dsp power pins, I use VDD_MCU_3V3 net. the difference between these two nets are an 220 OHM bead. Actually, right now, I am using a Lambda power supply to supply 5 V for that buck chip, instead of an 12/24-5 dc-dc module. I probed these power nets, and they are clean. VDDA, VDDIO and VDDOSC are 3.34V. VDD is 1.22V.

    Thank you,

    Bo

  • Hi Bo,

    A few other thoughts:
    1) Can you hold XRSn low and see if you can connect under this circumstance?
    2) Can you specifically check the rail that goes to VDD3VFL to see that it is powered with a clean 3.3V?
    3) I believe the answer is no, but have you ever been able to connect to the chips on either of these boards?
    4) Did you get the parts from a reputable source?

    If you aren't able to connect, VDD3VFL looks good, you've never been able to connect to the board and you got the parts from a good source:  I suspect the parts may have been damaged in the process of getting them onto the board...perhaps something in the soldering process or ESD damage.


    Thank you,
    Brett

  • Hi Brett,

    I followed your suggestion and did a test just now.

    1). When I pulled XRSn down to low, the JTAG DR Integrity scan-test has succeeded. It is amazing. what does this could mean?

    2). VDD3VFL is 3.3V clean voltage.

    3). Right now I only soldered this board. It never be connected to CCS.

    4). I ordered parts from Mouser. 

    Thank you,

    Bo

  • Hi Bo,

    Thank you for your patience.  I think we are getting closer to the issue.

    The next steps will be to try and figure out what is causing the device to reset.  I have asked a colleague to help us figure out what to look at.

    In the mean-time, what is physically silkscreened onto your F28377D chip (for example: "TMX320F28377DPTP  YFB-...")?


    Thank you,
    Brett

  • Hi Brett,
    Great! Thank you for your and your colleague's help.
    The serial number is "TMX320F28377DPTP YFB-46AQ3GW" and G4.

    Thank you,
    Bo
  • Hi BO,

    Now that you are able to connect to CCS, please check the value of RESC register (addr 0x5D380), NMISHDFLG register (addr : 0x7066)  and address 0x0000002C in memory watch window and let us know the value.

    Regards,

    Vivek Singh

  • Hi Vivek and Brett,

    I have checked the value of these register when I held XRSn low level. The value at these address are all 0BAD. I can't load program now due to the reset.

    Thank you,

    Bo

  • Hi BO,

    After CCS connection, please release the XRSn then click on "RUN" (no need to load your code) and when CPU halts, read the value of these registers.

    Regards,

    Vivek Singh

  • Hi Vivek,
    After I click "connect target" and CCS is connected, there is a warning
    "Memory Map Initialization Complete
    C28xx_CPU1: Failed CPU Reset: (Error -1137 @ 0x0) Device is held in reset. Take the device out of reset, and retry the operation. (Emulation package 5.1.507.0)
    C28xx_CPU1: Trouble Reading Register PC: (Error -1137 @ 0x0) Device is held in reset. Take the device out of reset, and retry the operation. (Emulation package 5.1.507.0)
    C28xx_CPU1: Trouble Writing Register XAR0: (Error -1137 @ 0x7) Device is held in reset. Take the device out of reset, and retry the operation. (Emulation package 5.1.507.0)
    C28xx_CPU1: GEL: Error while executing OnReset(1): Target failed to write register XAR0 at XAR0=*((unsigned long *) 0x703F0) [f28377d_cpu1.gel:351] at SetupDCSM() [f28377d_cpu1.gel:32] at OnReset(1) .".

    Then I release XRSn and click "RUN", there is an another warning
    "C28xx_CPU1: Error: (Error -1135 @ 0x3FF16A) The emulator reported an error. Confirm emulator configuration and connections, reset the emulator, and retry the operation. (Emulation package 5.1.507.0)
    C28xx_CPU1: Trouble Halting Target CPU: (Error -1044 @ 0x0) The emulator reported an error. Confirm emulator configuration and connections, reset the emulator, and retry the operation. (Emulation package 5.1.507.0)
    C28xx_CPU1: Unable to determine target status after 20 attempts
    C28xx_CPU1: Failed to remove the debug state from the target before disconnecting. There may still be breakpoint op-codes embedded in program memory. It is recommended that you reset the emulator before you connect and reload your program before you continue debugging
    ".
    the value in these address is "????" .

    Am I making some mistakes?

    Thank you,
    Bo
  • I repeated several tests and found sometimes the values were:

    0x5D380:0003
    0x7066: 0000
    0x0000002C: 0000

    Bo
  • Hi Vivek,
    I find that I can get these values
    "
    0x5D380:0003
    0x7066: 0000
    0x0000002C: 0000
    "
    often when I go through such process:
    First, hold XRSn low, and click "RUN", get "OBAD".
    Then, release XRSn,
    Then hold XRSn low again and click "RUN" again, then cpu can't stop and I click 'suspend' and get the results above.


    Thanks,
    Bo
  • Hi BO,

    These values are default values. Let's try following sequence.

    1) Power up the device (without holding the XRSn low)

    2) Now drive XRSn low

    3) Connect to CCS

    4) Release XRSn

    5) Issue debug "Reset" via CCS (you may need to do it few times till error message stops coming in console window)

    6) Now hit "RUN".

    7) CPU should halt. If not then halt CPU manually

    Now check the value in the register/addr locations.

    Regards,

    Vivek Singh

  • Vivek,
    Thank you! I will try these steps tomorrow. And let you know the result.

    Regards,
    Bo
  • Hi Vivek,

    I got the values after going through the sequence:

    0x5D380:0000
    0x7066: 0000
    0x0000002C: 0D00

    there is no error message this time.

    Thanks,

    Bo

  • Hi Vivek,

    I find that if I reset the cpu via CCS for the first time, and hit RUN, I get

    0x0000002C: CD00.

    if I reset cpu again, and hit RUN, I get

    0x0000002C: 0D00.

    Thanks,

    Bo

  • Hi BO,

    Looking at the value in these registers, everything looks ok. No error during system initialization which can cause reset to device and toggle XRSn pin.

    You may want to re-look at the power supply on your board. Also do you have more than one boards and see issue on other boards as well?

    Regards,

    Vivek Singh

  • Hi Vivek,

    I soldered another board yesterday and tested it today. The XRSn now is normal (high level) and ERRORSTS pin is low. Things get better. Then, I connect the Emulator and now the chip can be connected to CCS! 

     I am not quite sure what caused the resetting issue for the first board. But it is likely that part of the chip may be damaged by the soldering. Or, the chip on the first board is still OK, since I can still connect it with holding XRSn low. I am not sure. The power supply circuits for two boards looks the same, with similar voltage waveforms. Do you have some comments on this?

    Again, thank you and Brett a lot for helping solving the annoyed issue!

    Best,

    Bo