Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 12 of 12

Thread: Reset is not pulled low in response to Program

  1. #1
    Junior Member
    Join Date
    Mar 2015
    Posts
    10

    Reset is not pulled low in response to Program

    Hi All,
    We are trying to debug a DIY Teensy 3.2 problem. We are using a MKL04Z32 bootloader chip, and MK20DX256VLH7 uC. After assembling all the components, I powered on the system and put a scope probe on RESET, and observed a short positive pulse every ~60mS, as one would expect when the watch-dog timer is active. Next, I shorted the Program pin (Pin 18 of the bootloader) to ground. On a normal Teensy circuit, this results in RESET being pulled to ground. However, on our system, nothing happens; RESET continues to pulse high.

    I've replaced both the bootloader and the microcontroller on this board, with no improvement.

    Any ideas what might be mis-configured/mis-attached? Is there perhaps a BOM problem?

    Thank you in advance!!

  2. #2
    Senior Member
    Join Date
    May 2015
    Location
    USA
    Posts
    702
    There isn't much needed for the PJRC boot loader to run. You could post your schematic and PCB layout.

    Also review everything here carefully:

    https://www.pjrc.com/store/ic_mkl02.html

  3. #3
    Junior Member
    Join Date
    Mar 2015
    Posts
    10
    Here's the schematic. Layout is likely not a factor at this early stage of the game. Voltage rails are all in good shape.
    Click image for larger version. 

Name:	bootloader.jpg 
Views:	24 
Size:	109.1 KB 
ID:	21669

    One other thing I should point out -- the USB connector is on a different page; it is part of a USB hub... driven by the TUSB2046. That is probably not a factor in this issue, however.
    Last edited by Biff; 09-09-2020 at 08:57 PM.

  4. #4
    Senior Member
    Join Date
    May 2015
    Location
    USA
    Posts
    702
    Why a pull-up on reset when none of the various examples have one?

  5. #5
    Junior Member
    Join Date
    Mar 2015
    Posts
    10
    The integrated pullups in silicon are usually pretty weak, so we include an external pullup in case we use the same Reset on lots of loads.

    One other clue I discovered: the Program signal should be 3.3V when it is not pulled down by the switch/jumper. On this board, this Program measures only 0.2V.

    In summary: does anyone have any suggestions why the bootloader is not responding to pulling Program to ground?

  6. #6
    Junior Member
    Join Date
    Mar 2015
    Posts
    10
    I compared a good board (same revision) to our bad board. I measured the voltage of all the pins connected to the MK20DX256. I found bootloader pins 10 and 16 are identical, but the remaining pins have differences. Since the guts of the bootloader are still a mystery to me, I'm not sure what to make of this.

    Click image for larger version. 

Name:	compare.jpg 
Views:	12 
Size:	21.6 KB 
ID:	21687

  7. #7
    Senior Member
    Join Date
    May 2015
    Location
    USA
    Posts
    702
    You have checked pins for shorts to 3.3V and ground? There is no chance someone used some MKL04s not from PJRC? Decoupling capacitor is positioned correctly?

  8. #8
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    22,985
    Try measuring the Program pin while it's not shorted to GND. A blank or defective MKL04 will leave that pin floating. A properly running MKL04 will turn on the pullup resistor inside the MKL04, bringing the pin up to 3.3V.

  9. #9
    Junior Member
    Join Date
    Mar 2015
    Posts
    10
    I'll recheck it, but I believe the answer is in my chart above. On the bad board, I measure about 0.2V on the Program pin (and it jumps around a bit like the pin is indeed floating.).

  10. #10
    Junior Member
    Join Date
    Mar 2015
    Posts
    10
    Issue has been resolved. The batch of MKL04 bootloaders we received had not been programmed. Paul overnighted us a new batch, I reworked the board, and we are working OK now.

    Thanks Paul!

  11. #11
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    22,985
    I tested 6 of the 10 returned parts. The unused chips appear to be good. The soldered pulled chips are definitely bad. I don't know why.



    It's possible but seems unlikely that we sent you a batch of 10 chips where some were blank and the others programmed, and by a stroke of very bad luck the ones you used justed happen to be the blank ones.

    I also don't know if the used chips are good. They won't fit into a ZIF socket for programming. I'm not sure if spending more time on this is worthwhile... and it would take quite a lot of time to rig up a way to program them and then actually use them on a PCB (if they were the tiny MKL02 I might be tempted to desolder a MKL02 from a Teensy 3.2 and try to solder the chip in its place....) This is probably the end of my investigation, simply for lack of time. I want to know what went wrong here, but even a little more info would take far too much time.

    Is there any chance someone could have connected a SWD programmer to these chips which caused them to be erased?

  12. #12
    Junior Member
    Join Date
    Mar 2015
    Posts
    10
    Hi Paul,
    These chips were un-touched prior to me pulling them out of the box and soldering them to our boards. I've reworked 3 boards with parts from the latest batch you sent, and they all work.

    At this point, my best guess is static electricity. I do not use a ground strap when handling these parts, and perhaps the first batch was particularly static sensitive, so when I picked them up, I accidentally killed them. Beyond that, I've got no clue as to what zapped these MKL04s.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •