Announcements

Help us improve the Power & Sensing Selection Guide. Share feedback

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
User21286
Level 1
Level 1
Hello,

I designed a PCB with a TC299 on it, but the MiniWiggler doesn't see any target device so I can't flash the MCU.

I try to use JTAG as described in the MiniWiggler's user manual: Target presence pin set to low, Vref 3V3, TMS, TCK, TDI, TDO connected (connectivity checked ~100 times, from connector to MCU pad), nTRST pulled low via 10k resistor. All voltage levels in the circuit work, including 1V3 generated by the MCU itself. nRST is high as usual for normal operation. Pullup resistors activated by setting the appropriate HWCFG pin. For some reason, the voltage level of my JTAG pins is 1V3, however, it should be 3V3 according to the datasheet. The TDO/TDI pins can't be pulled high by the the MiniWiggler nor via external 10k resistors. I wonder how this is possible, since the signals have 10 MOhm resistance to 1V3, so there is no short circuit at all. Is there any configuration setting I miss? Do you have any ideas how to get the correct 3V3 levels? The MiniWiggler can't work with 1V3 levels, its minimum lies at 1V65 or so. I don't have any level converters in my circuit, do I maybe need any?

Thanks in advance.

Have a nice day,

Kristof
0 Likes
16 Replies
User20733
Level 1
Level 1
First solution authored
post schematic and layout ,

but also check VDDP3 pins net, and voltage
0 Likes
User21286
Level 1
Level 1
Here's the schematic of JTAG. I don't think there is much to see in the layout. TRST is not pulled down in schematic, but I already tried it using an external resistor. Basically, I can not say it for sure, that the MCU is properly working. There might be a chance that something's wrong intern, but I assume I couldn't measure 10 MOhms to 1V3 or ground if that part of the MCU was damaged.

5310.attach
0 Likes
MoD
Employee
Employee
10 likes given 50 likes received 500 replies posted
You have problems with your connections on JTAG connector. Pin 1 must be connected to 3,3V directly. The miniWiggler use this voltage to drive the JTAG signals. Assemble R57 with 0R.
Additional pin 10 should be connected to PORST that the debugger can control the device completely and are able to make a warm PORST.
0 Likes
User21286
Level 1
Level 1
Thank you for the reply! Shouldn't the target board itself power the MiniWiggler? I read it in the datasheet of the MiniWiggler as far as I can recall. If so, the diode is forward biased, therefore it should be be no problem. Anyway, I tried it also with a 0R resistor, without any success.
I'll try the reset connection as soon as I can.
0 Likes
User21286
Level 1
Level 1
Well, I connected the reset signal and I have this pattern on that:
4987.attach

The high level is somehow below 3V, but anywhere else (e.g. at JTAG target reference voltage pin) it's 3V3.

TDO and TDI have 1V3, no changes in signal level, TCK has 2V, TMS is constantly low.

After disconnecting the miniwiggler TCK and TMS are low, no pattern on reset, but still lower than 3V. No difference in TDO and TDI.

DAS Device Scanner recognizes that I want to work with JTAG, but that's all.

Should I start thinking of how to change the chip?
0 Likes
MoD
Employee
Employee
10 likes given 50 likes received 500 replies posted
It seems that your device is not powered. When you connect the miniWiggler than 1 green LED means that the supply from target is available. The second green LED is on when the miniWIggler drives the JTAG signals This is only the case when the UDAS server with a client (e.g. Device Scanner) is running,
0 Likes
MoD
Employee
Employee
10 likes given 50 likes received 500 replies posted
Yes, the target board power the output stage of miniWiggler. The diode is for this not forward biased. The resistor with 0R is always needed, also for other debugger which sense this pin to detect a target connected.
0 Likes
User21286
Level 1
Level 1
Oh my god, sure, it's reverse biased.

Anyway, I still have no idea what the reason could be. A green LED lights up when connecting the target board, so supply should be fine. Since it's a BGA package, I can't measure on the pin directly, but 3V3 seems to be ok anywhere else. Generally, what do I need to get the chip running (normal operation)? Supply of course (3V3 & 1V3), PORST pull-up, testmode pin pullup...do I miss anything?
0 Likes
User20733
Level 1
Level 1
First solution authored
- Check pin A1 of the device is matching your PCB pin A1
- Check settings on HWCFG [] pins
- Is xtal showing oscillation?
- Add the reset for jtag connector pin10 to device reset
- How is your design using vgate1p/vgate3p? Does that match your HWCFG setting?
- What's on VEBU?
0 Likes
User21286
Level 1
Level 1
As I mentioned before, 1V3 is generated correctly, so chip direction, HWCFG pins and gate connections are fine. Reset is connected now, but it obviously doesn't influence the signal levels when there is no miniWiggler connected. VEXT is on 3V3.

My measurements show, that the substrate diodes between the JTAG signals and 1V3 conduct in both directions. It seems that something is damaged. Thank you for the replies, I'm afraid I have to change the MCU.
0 Likes
TBencher
Level 6
Level 6
25 solutions authored 25 likes received 5 questions asked
Hi KristofK.

from external it is quite hard to see whether you made any mistake with the schematic.
Another IDEA would be just doing the HWCFGs first and then connect your controller via serial connection and level shifter to your PC.
This assumes to have the right pins available.

Then you could connect the MEMTOOL over a serial port to your controller to flash it.
Of course that would not solve your JTAG problem in the first place, but you can do some intermediate tests instead.
If this is also not working you might have not the problem directly on the JTAG pins.

The serial version always work, if you make the dedicated TX/RX pins accessible and do the HWCFG first.

If you are interested, we could also do a review of your design on a special agreement.


Regards,

Jens
0 Likes
User21286
Level 1
Level 1
Hi Jens,
thank you for your reply! I checked my pins and found out, that the Generic Bootstrap Loader mode could be available, the pins 14.0 and 14.1 are connected to a USB/UART converter on the PCB. HWCFG pins are all accessible, except the one that controls internal pullup resistors (pullups are enabled). Unfortunately I had no connection with any HWCFG settings to my PCB via MemTool and MiniMonitor setup. (Changes always made when PCB unpowered.) Could maybe ESR0 and ESR1 pins make a difference? As far as I see they trigger on falling edge. In my design they're both unconnected, I use only PORST (pulled high).
0 Likes
TBencher
Level 6
Level 6
25 solutions authored 25 likes received 5 questions asked
Hi KristofK,

the left open ESRs should not cause any problems.

1. ESR inputs can trigger a reset
2. ESR outputs can provide a reset indication
3. ESR inputs can trigger a trap (NMI)
4. ESR pins can be used as general data I/O pins
5. ESR inputs can trigger a wake-up from standby mode

If you chose the first option, this would cause a reset without any potential on the pin, but just at runtime.
This would be just a configuration issue and does not cause any flashing problems.

P10.5, P10.6 and P14.3 should be high to enter Generic Bootstrap Loader.
Yes changes on the HWCFG always apply during reset.

This means that you need to connect your 14.0 and 14.1 pins via level shifter to the PC, then start Memtool, configure the right port and baud rate, click "connect" and do a PORST
on your board right after that. If you fail to catch the right moment, your controller would just jump to program execution, if there is one.

Please don't mix up RX and TX from the AURIX with RX and TX from the PC. TX from the PC goes always with RX from the AURIX, and TX from the AURIX goes always with RX from the PC.
Maybe you have already mixed it up. Please check this also.

In your case you are using an USB/UART converter. This is hopefully done by level shifters as well. If not, please do a bypass to only use the pure serial channels instead and put them on the level shifter.
But if your USB/UART connection is proper configured, you should only take care of the required USB-Driver for it.

As I mentioned before, the serial option works always if HWCFG is done before.


Regards,

Jens
0 Likes
User21286
Level 1
Level 1
I think the not running crystal, the damaged substrate diode and no success via generic bootstrap loader (bootstrap loader not responding) are a good indication for a damaged chip. Thank you for the idea with serial flashing, I didn't think of that option. I'll let you know if the circuit works after resoldering the chip.
0 Likes
TBencher
Level 6
Level 6
25 solutions authored 25 likes received 5 questions asked
Yes, those parts should work... especially the crystal. Just tell me if you have exchanged the controller.
0 Likes
User21286
Level 1
Level 1
Hi JensM,

in the meantime some experiments were made, but I didn't come closer to the solution. The chip has been replaced, the behaviour is still identical. The external crystal should not work, it has to be activated by the user, so this is not an indicator. I scoped the JTAG signals, the miniWiggler tries to communicate with the MCU but on a false voltage level (all signals' shape are fine but the level is 1.3V-1.8V) and the MCU answers with a single pulse after each message. As it would know that data is coming, but can't understand it.

Do you maybe have some further ideas?
0 Likes