K64 /Reset problem

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

K64 /Reset problem

936 Views
gdgross
Contributor II

Hi all -

I have a new PCB with a MK64FN1M0CAJ12R micro that we cannot program via JTAG.  

I believe I have traced the problem down to the /RESET line.  On this PCB, the reset pin onthe K64 connects to an external connector, a 100k pullup resistor, and an NFET that shorts reset to GND for about 400ms upon power up.  

Simplified schematic drawing below:

pastedImage_3.png

After power on, it appears that the reset pin is being pulled low inside the micro itself.  Every 50us or so it looks like the micro attempts to release the pin and allow it to be pulled high through the external pullup for about 1.5us, then it clamps back down and yanks it low again.  

See the attached plots. (blue is Vcc, yellow is /RESET)  Also note that these pictures are with the NFET removed, so as to get a better view of both the power supply rise and the reset behavior in the same picture - with the NFET installed, there is a ~400ms period where reset is shorted to ground through the FET.

pastedImage_1.png

pastedImage_2.png

I've tried a few things:

1. Changing the (external) pullup to 1k (no change)

2. Adding anywhere from 2200pF to 0.47uF of bypass capacitance on the /reset line, both to ground and Vcc. (It probably doesn't matter much whether it's ground or Vcc, but I tried both.)  This changes the character of the pulses; the RC has a clear effect, and makes it look like more of a charge/discharge RC oscillator, but the micro still does not seem to release reset.  This does seem to change the ~50usec interval that the micro appears to release on as well, looks more like ~250-300us with a 1k/0.47u combo on the /reset line.  

3. Forcing /reset low with tweezers (comes back up in the weird oscillating state when released, similar to after the FET releases upon power up)

4. Removed the NFET and connector entirely, just to be sure they weren't doing anything. (no change in behavior)

My coworker discovered the same issue on the k64 processor on another design.  However, this is the first time I've seen it myself, and this is the fourth iteration of this same reset circuit.  (previous three PCBs worked fine.)

So my questions are:

1. is this something that is known to happen with this micro, or have you seen it before due to some external cause I don't understand?

2. How can I address it?

Thanks,

Geoff Gross

geoff.gross@dtsweb.com

(562) 493-0158

4 Replies

706 Views
mjbcswitzerland
Specialist V

Hi

Reset toggling is normal for an un-programmed device: see explanation at  https://community.nxp.com/thread/487494#comment-1072401 

Regards

Mark

Complete Kinetis solutions for professional needs, training and support: http://www.utasker.com/kinetis.html
Kinetis K64:
- http://www.utasker.com/kinetis/FRDM-K64F.html
- http://www.utasker.com/kinetis/TWR-K64F120M.html
- http://www.utasker.com/kinetis/TEENSY_3.5.html
- http://www.utasker.com/kinetis/Hexiwear-K64F.html


uTasker: supporting >1'000 registered Kinetis users get products faster and cheaper to market
Request Free emergency remote desk-top consulting at http://www.utasker.com/services.html

Open Source version at https://github.com/uTasker/uTasker-Kinetis

706 Views
gdgross
Contributor II

Thanks Mark, that's great info!  Now I just need to figure out why I can't program the MCU.

Geoff

0 Kudos

706 Views
Robin_Shen
NXP TechSupport
NXP TechSupport

Hi Geoff Gross,

Please refer: How To Sucessfully Program a Custom made Kinetis Microcontroller Board.

Notice the circuit of NMI_b and JTAG port.
NMI_b: make sure to connect 10K pullup resistor
JTAG_TMS: make sure to connect 10K pullup resistor
JTAG_TCLK: floating or connect 10K pulldown resistor

If you are using the MCUXpresso IDE, step8 can be replaced by resurrect locked Kinetis device in GUI Flash Tool.

GUI Flash Tool extended for P&E and SEGGER

The GUI Flash Tool previously was only for the LinkServer (or LPC-Link2) connections.

GUI Flash Tool

GUI Flash Tool

Now it supports all debug probe connections, including P&E and SEGGER, and I can program, erase or even resurrect a ‘bricked’ Kinetis device:

LinkServer GUI Flash Tool

LinkServer GUI Flash Tool


PEMicro GUI Flash Tool

PEMicro GUI Flash Tool


Segger GUI Flash Tool

Segger GUI Flash Tool

Using the toolbar icon is probably the most convenient way to use the GUI Flash Programmer, it is possible to run it from the debugger launch configuration too:

Running GUI Flash Programmer from Launch Configuration

Running GUI Flash Programmer from Launch Configuration

The operation executed is logged in the Console View:

GUI Flash Tool Console Output

GUI Flash Tool Console Output

Best Regards,

Robin

 

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

706 Views
gdgross
Contributor II

Thanks Robin - we do not have the pullup/downs on TMS and TCK - I'll add them and see if anything changes.  (Although we've used this same pullup/down-less design on several other boards, and this is the first I've been unable to program.)

Geoff

0 Kudos