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.

CCS/TMS320F280049C: RealTime debug XDS110 bounces

Guru 55723 points
Part Number: TMS320F280049C
Other Parts Discussed in Thread: INA240, BOOSTXL-DRV8320RS

Tool/software: Code Composer Studio

It seems the real time debug is not being protected by the USB isolation boundary JP1, JP2, JP3 removed.

Question asked previous thread about x49c launch pad hardware configuration (U3) being suspect. It would seem XDS110 TM4C129x remains 3v3 powered via target side of isolation when USB isolation straps JP1,JP2,JP3 are removed. It would seem Proper USB isolation also involves +3v3 source for XDS110 being +VBUS powered via U101 and target via Booster pack headers +3v3.

1. How do we make XDS110 +3v3 fully isolated from target +3v3 booster pack power source or this some other CCS 9.1 issue with XDS110? 

2. How to stop XDS110 from CCS debug disconnection when motor SDK run time GUI remains connected but produced odd offset wave shape.

3. Where is reset cause register located in TMS320F280049c or why was it omitted? And confirmed register S1 bit 1 = 0.

Error that occurs after disconnect: 

C28xx_CPU1: Trouble Writing Memory Block at 0x402 on Page 1 of Length 0x1: (Error -1041 @ 0xFFFFFEFB) The debug probe reported an error. Confirm debug probe configuration and connections, reset the debug probe, and retry the operation. (Emulation package 8.4.0.00006) 28xx_CPU1: Trouble Halting Target CPU: (Error -1044 @ 0x0) The debug probe reported an error. Confirm debug probe configuration and connections, reset the debug probe, and retry the operation. (Emulation package 8.4.0.00006) C28xx_CPU1: Error: (Error -1044 @ 0x0) The debug probe reported an error. Confirm debug probe configuration and connections, reset the debug probe, and retry the operation. (Emulation package 8.4.0.00006)
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.

Scope probes during disconnect INA240 (CH2) and Phase A (CH1). 

  • Seemingly ADC offset calculation and Clarke_run transform via motor SDK is not using the correct sample positions. That offset calculation and mainISR() pull down the DC supply (CH2) as the inverse bus voltage may actually be using +1.65v mid supply of INA240 values. Who would be the wiser if the SDK was never tested with external current sensor/s versus using the internal PGA amplifiers? Should the PGA outputs threshold be mid supply by the DAC +1.65v configuration of motor SDK, was that confirmed or assumed?

    No matter the ADC analog input configured for INA240 (40mV/A), disabling 3x PGA's the XDC110 bounced every time +3v3 (1A) LDO pulled down -6.2Amps (CH2 -240/-280mV). Seemingly INA240 outputs should not be pulled below +1.65v threshold but for single transient 50% dutycycle (25µs). CH2 reveals it was dragged below +1.65v for over 200µs. The 3 ADC inputs A,B,C replaced x49c PGA's disabled current monitors.

    Note how CH1 never recovers to even mid supply as CH2 drags +3v3 LDO below +1.65v threshold (INA240). Each with 4K7 series into analog channel,  filters PGA_2OF, PGA_4OF, PGA6_OF C32,C33,C34 respectively are low pass input filters of disabled PGA amps passed into ADC (TRM: Fig.12-4). Again even analog C3, C5, A3 and lastly B0 were used for INA240 inputs rendering the very same results shown below. Of course the respective ADC base address and analog input pin source was selected for each SOC that had belonged to PGA-A,B,C. Also tested the GxADCAB, Gx_ADCCC inputs had the same bad results. 

  • The DRV8320RS kit current sense PGA threshold set input bias via x49c DAC configured +1.65v. Perhaps the resistor network into the 3x PGA's does not set PGA outputs at mid supply +1.65v into the ADC as expected it should.  

    Biased inputs 3x PGA amplifiers +IN via x49c DAC, should set ADC threshold (+1.68v). BoostXL-DRV8320RS resistor network sets PGA +IN (140mV) x12 gain, should set amplifiers output (+1.68v). Seemingly the PGA gain (x12) was not setting outputs 1.68v for ADC divide 2048 counts. Otherwise the INA240 bidirectional current output set mid supply (+1.65v) would not rapidly pull down VDD +3v3 rail or reset MCU via xRSn U4.

     Can anyone please confirm how motor SDK is not compatible with INA240 current sensor versus x49c PGA? I never did like splitting the ADC mid supply believing phase current has slope and magnitude. The INA240 forum gurus challenge such notion standing by mid supply ADC split being the holy grail. Yet the linear current approach <1.65v reference seems to produce better SAR ADC digital results. 

  • GI,

    Answers to initial questions below.

    (1) Answered in latest reply in previous thread: https://e2e.ti.com/support/microcontrollers/c2000/f/171/p/885802/3280133#3280133

    (2) Are you using an isolated power supply for the XDS110 / DuT side of the board? Thinking the isolation may be getting compromised somehow.

    (3) Reset sources are documented in section 3.4 Resets of the device TRM. Should look into power / isolation issues of (1) and (2) first

    Best,

    Kevin

  • Kevin Allen18 said:
    (2) Are you using an isolated power supply for the XDS110 / DuT side of the board? Thinking the isolation may be getting compromised somehow.

    Yes but it seems the XDS110 should be powered via U101 (+3v3) when JP2 is removed as to isolate it from the target (DUT) +3v3 LDO. I'm not sure what is gained by removing JP2 but only to isolate U101 from nothing!

    The idea is to isolate XDS110 USB connection completely from the target DUT, not the USB port +VBUS power source from XDS110 as it now does. The reason for having 3v3 isolation for target DUT seems obvious how CCS debug gets all snooty.  

    Kevin Allen18 said:
    (3) Reset sources are documented in section 3.4 Resets of the device TRM.

    Was referring to CCS register view reset cause bits being set. So is there any expected bug in CCS9.1 or XDS110 that causes a rapid reset?

  • It required to make a +3v3 LDO on tiny sub PCB to power INA240's from a separate +5vdc source. LaunchXLF280049c powered via USB port JP1, JP2, JP3 strapped. Now CCS debug stays connected during motor ID of SDK.