Voting resources, early voting, and poll worker information - VOTE. ... Adafruit is open and shipping.
0

What would make a microchip run slowly?
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

What would make a microchip run slowly?

by magician13134 on Fri Feb 12, 2010 7:02 pm

I've been really busy with college lately, but just recently found my old "Minty MP3 v3" project and decided to see where I left off... The status is currently... SLOW. I have an ATMega328 running, it's attached to an LCD screen. It used to work fine. Then one day it started running SLOWLY. As in, you can see each update on the LCD screen as it happens, whereas it should be way to fast for the human eye to see. I have a 16MHz resonator attached, and like I said, this setup used to work, I haven't modified the fuse bits or the hardware, it just started running slowly. Has anyone ever experienced this?
magician13134
 
Posts: 1119
Joined: Wed Jun 13, 2007 9:17 am
Location: Ann Arbor

Re: What would make a microchip run slowly?

by franklin97355 on Fri Feb 12, 2010 7:23 pm

Could be a bad resonator or some how the fuses got changed and it's not running on the resonator.

franklin97355
 
Posts: 21582
Joined: Mon Apr 21, 2008 2:33 pm
Location: Lacomb, OR.

Re: What would make a microchip run slowly?

by magician13134 on Fri Feb 12, 2010 7:30 pm

Thanks for the advice, I'll look into those later. Thanks
magician13134
 
Posts: 1119
Joined: Wed Jun 13, 2007 9:17 am
Location: Ann Arbor

Re: What would make a microchip run slowly?

by zener on Fri Feb 12, 2010 8:32 pm

Yes, maybe it is running off of an internal oscillator. Maybe a backup mode if those work that way. Verify the 16Mhz is running.

zener
 
Posts: 4567
Joined: Sat Feb 21, 2009 2:38 am

Re: What would make a microchip run slowly?

by magician13134 on Fri Feb 12, 2010 10:57 pm

What's the best way to verify it's running? I think my multimeter has a frequency mode on it, would that tell me?
magician13134
 
Posts: 1119
Joined: Wed Jun 13, 2007 9:17 am
Location: Ann Arbor

Re: What would make a microchip run slowly?

by franklin97355 on Fri Feb 12, 2010 11:25 pm

Probably won't read 16 mhz. No scope or logic probe?

franklin97355
 
Posts: 21582
Joined: Mon Apr 21, 2008 2:33 pm
Location: Lacomb, OR.

Re: What would make a microchip run slowly?

by magician13134 on Fri Feb 12, 2010 11:58 pm

Oh that's right! I have a Saleae USB Logic Analyzer, would that work?

Can anyone tell me where to put the logic probes to measure that? I tired one on each pin of the resonator, but it's not reading anything, I assume because they're each tied to ground.

Ok, so I was trying to burn the fuses on the ATMega328 I'm using (it looks like they were never set to be an external oscillator, since I could program the chip without any oscillator attached, which would solve the original issue). I was following along a YouTube video on how to do it, just so I didn't accidentally mess up, and I seem to have fried the chip... I'm going to paste in everything that I typed, would any of these commands make a chip unprogrammable? I first simply burned the hex file to it, which worked. And by the end, that same command always gave me "initialization failed" and my chip will not work in the circuit which it previously did...
Code: Select all | TOGGLE FULL SIZE
bursley-180254:applet magician13134$ avrdude -c usbtiny -p m328p -U flash:w:MP3_Test.cpp.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e950f
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
         To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "MP3_Test.cpp.hex"
avrdude: input file MP3_Test.cpp.hex auto detected as Intel Hex
avrdude: writing flash (12732 bytes):

Writing | ################################################## | 100% 7.49s



avrdude: 12732 bytes of flash written
avrdude: verifying flash memory against MP3_Test.cpp.hex:
avrdude: load data flash data from input file MP3_Test.cpp.hex:
avrdude: input file MP3_Test.cpp.hex auto detected as Intel Hex
avrdude: input file MP3_Test.cpp.hex contains 12732 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 6.67s



avrdude: verifying ...
avrdude: 12732 bytes of flash verified

avrdude: safemode: Fuses OK

avrdude done.  Thank you.

bursley-180254:applet magician13134$ dump lfuse
dump: option requires an argument -- f
usage: dump [-0123456789cnu] [-B records] [-b blocksize] [-d density] [-f file]
            [-h level] [-s feet] [-T date] filesystem
       dump -W | -w
bursley-180254:applet magician13134$ dump hfuse
dump: option requires an argument -- h
usage: dump [-0123456789cnu] [-B records] [-b blocksize] [-d density] [-f file]
            [-h level] [-s feet] [-T date] filesystem
       dump -W | -w
bursley-180254:applet magician13134$ avrdude -B 25 -c usbtiny -t
avrdude: No AVR part has been specified, use "-p Part"

Valid parts are:
  x256a3 = ATXMEGA256A3    [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:13596]
  x128a1 = ATXMEGA128A1    [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:13522]
  x128a1d = ATXMEGA128A1REVD [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:13448]
  m6450 = ATMEGA6450      [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:13259]
  m3250 = ATMEGA3250      [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:13070]
  m645 = ATMEGA645       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:12881]
  m325 = ATMEGA325       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:12692]
  usb82 = AT90USB82       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:12512]
  usb162 = AT90USB162      [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:12328]
  usb1287 = AT90USB1287     [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:12139]
  usb1286 = AT90USB1286     [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:11950]
  usb647 = AT90USB647      [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:11762]
  usb646 = AT90USB646      [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:11573]
  t84  = ATtiny84        [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:11390]
  t44  = ATtiny44        [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:11208]
  t24  = ATtiny24        [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:11026]
  m128rfa1 = ATMEGA128RFA1   [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:10838]
  m2561 = ATMEGA2561      [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:10644]
  m2560 = ATMEGA2560      [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:10451]
  m1281 = ATMEGA1281      [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:10263]
  m1280 = ATMEGA1280      [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:10074]
  m640 = ATMEGA640       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:9886]
  t85  = ATtiny85        [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:9705]
  t45  = ATtiny45        [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:9526]
  t25  = ATtiny25        [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:9346]
  pwm3b = AT90PWM3B       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:9165]
  pwm2b = AT90PWM2B       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:8982]
  pwm3 = AT90PWM3        [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:8799]
  pwm2 = AT90PWM2        [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:8615]
  t2313 = ATtiny2313      [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:8428]
  m328p = ATMEGA328P      [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:8240]
  t88  = attiny88        [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:8054]
  m168 = ATMEGA168       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:7866]
  m88  = ATMEGA88        [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:7680]
  m48  = ATMEGA48        [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:7493]
  t861 = ATTINY861       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:7305]
  t461 = ATTINY461       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:7116]
  t261 = ATTINY261       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:6927]
  t26  = ATTINY26        [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:6770]
  m8535 = ATMEGA8535      [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:6612]
  m8515 = ATMEGA8515      [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:6454]
  m8   = ATMEGA8         [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:6294]
  m161 = ATMEGA161       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:6154]
  m32  = ATMEGA32        [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:5979]
  m6490 = ATMEGA6490      [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:5786]
  m649 = ATMEGA649       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:5601]
  m3290p = ATMEGA3290P     [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:5418]
  m3290 = ATMEGA3290      [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:5233]
  m329p = ATMEGA329P      [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:5048]
  m329 = ATMEGA329       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:4864]
  m169 = ATMEGA169       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:4684]
  m163 = ATMEGA163       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:4541]
  m162 = ATMEGA162       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:4345]
  m1284p = ATMEGA1284P     [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:4155]
  m644p = ATMEGA644P      [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:3963]
  m644 = ATMEGA644       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:3773]
  m324p = ATMEGA324P      [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:3582]
  m164p = ATMEGA164P      [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:3391]
  m16  = ATMEGA16        [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:3213]
  c32  = AT90CAN32       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:3022]
  c64  = AT90CAN64       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:2832]
  c128 = AT90CAN128      [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:2642]
  m128 = ATMEGA128       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:2464]
  m64  = ATMEGA64        [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:2283]
  m103 = ATMEGA103       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:2143]
  8535 = AT90S8535       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:2022]
  8515 = AT90S8515       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:1908]
  4434 = AT90S4434       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:1825]
  4433 = AT90S4433       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:1701]
  2343 = AT90S2343       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:1577]
  2333 = AT90S2333       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:1492]
  2313 = AT90S2313       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:1379]
  4414 = AT90S4414       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:1266]
  1200 = AT90S1200       [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:1151]
  t15  = ATtiny15        [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:1018]
  t13  = ATtiny13        [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:845]
  t12  = ATtiny12        [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:712]
  t11  = ATtiny11        [/usr/local/CrossPack-AVR-20090415/etc/avrdude.conf:648]

bursley-180254:applet magician13134$ avrdude -B 25 -c usbtiny -p m328p

avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.

bursley-180254:applet magician13134$ avrdude -c usbtiny -p m328p -U flash:w:MP3_Test.hex

avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.

bursley-180254:applet magician13134$ avrdude -c usbtiny -p m328p -U flash:w:MP3_Test.hex

avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.
magician13134
 
Posts: 1119
Joined: Wed Jun 13, 2007 9:17 am
Location: Ann Arbor

Re: What would make a microchip run slowly?

by adafruit on Sun Feb 14, 2010 4:01 pm

only the middle pin should be tied to ground. the outer pins should have a very small oscillation. but a logic analyzer probably cant pick em up, its maybe 1Vpp

adafruit
 
Posts: 12151
Joined: Thu Apr 06, 2006 4:21 pm
Location: nyc

Re: What would make a microchip run slowly?

by magician13134 on Sun Feb 14, 2010 6:44 pm

My oscillator is only two pins, they're both attached to capacitors and then to ground.
magician13134
 
Posts: 1119
Joined: Wed Jun 13, 2007 9:17 am
Location: Ann Arbor

Re: What would make a microchip run slowly?

by zener on Sun Feb 14, 2010 6:55 pm

If integral caps then 3 pins. If not then 2 pins. All else the same, so yeah you are looking for a low voltage signal, and some times putting a scope on it can make it cra* out... But usually you will see something. Have you tried loading the led blinker program to see if it runs normal or super slow?

zener
 
Posts: 4567
Joined: Sat Feb 21, 2009 2:38 am

Re: What would make a microchip run slowly?

by SiliconFarmer on Sat Feb 20, 2010 5:37 am

Mysteriously switching to the internal oscillator would only change the frequency from 16MHz to 8MHz. Not a big enough change to make the LCD go from "instantaneous" updates to "slowly crawls". And that change is not likely to happen spontaneously. Not likely as in its not likely Jessica Alba is going to call you up for a date.

More likely, it is ESD damage.

Another possibility is a bad connection - cold solder joint that failed. Thus, your MCU oscillator inputs might be picking up 60Hz noise and using it for a clock. Running at 60Hz instead of 16,000,000 Hz will make the LCD draw very slowly indeed. Slower than an old 110 baud teletype.
SiliconFarmer
 
Posts: 33
Joined: Sun May 31, 2009 2:07 pm

Please be positive and constructive with your questions and comments.