- Sat Apr 16, 2016 1:29 am
#189408
Hi there!
I'm working on a SAMD21E16B product that will be rolled out in China, India and Africa in huge quantities. We use the STANDBY sleep mode (with RTC running) and under rare circumstances, the cpu locked up and would not wake up from an external interrupt. The only way to recover was to power cycle the micro, but then it lost it's RTC time, which is game over for us. It turns out that there was a conflicting error in the datasheet (electrical checklist section) that Atmel has fixed in January (see attached PNG). This has bitten me BIG time and the sage advice applies: RTFM... if in doubt, RTFM again.
Make sure that you use a 1uF cap on VDDCORE (not 100nF), otherwise a voltage dip on the core supply can cause the cpu to lock up. Also make sure that you have a 1k pull-up on SWCK, otherwise an EMI event could look like a cold-plugging debug event to the cpu and it can also lock up.
This revision of the SAMD21 has a 100nF cap on VDDCORE:
https://cdn.sparkfun.com/datasheets/Dev ... ut-v10.pdf
This revision of the SAMD21 has a 100nF cap on VDDCORE:
https://www.arduino.cc/en/uploads/Main/ ... ematic.pdf
This revision of the SAMD21 has a 1uF cap on VDDCORE:
https://cdn-shop.adafruit.com/product-f ... 7schem.pdf
But I don't see a 1k pull-up on SWCK.
Regards,
Pieter
http://piconomic.co.za
Share and enjoy! (a reference to H2G2)
I'm working on a SAMD21E16B product that will be rolled out in China, India and Africa in huge quantities. We use the STANDBY sleep mode (with RTC running) and under rare circumstances, the cpu locked up and would not wake up from an external interrupt. The only way to recover was to power cycle the micro, but then it lost it's RTC time, which is game over for us. It turns out that there was a conflicting error in the datasheet (electrical checklist section) that Atmel has fixed in January (see attached PNG). This has bitten me BIG time and the sage advice applies: RTFM... if in doubt, RTFM again.
Make sure that you use a 1uF cap on VDDCORE (not 100nF), otherwise a voltage dip on the core supply can cause the cpu to lock up. Also make sure that you have a 1k pull-up on SWCK, otherwise an EMI event could look like a cold-plugging debug event to the cpu and it can also lock up.
This revision of the SAMD21 has a 100nF cap on VDDCORE:
https://cdn.sparkfun.com/datasheets/Dev ... ut-v10.pdf
This revision of the SAMD21 has a 100nF cap on VDDCORE:
https://www.arduino.cc/en/uploads/Main/ ... ematic.pdf
This revision of the SAMD21 has a 1uF cap on VDDCORE:
https://cdn-shop.adafruit.com/product-f ... 7schem.pdf
But I don't see a 1k pull-up on SWCK.
Regards,
Pieter
http://piconomic.co.za
Share and enjoy! (a reference to H2G2)
You do not have the required permissions to view the files attached to this post.