invalid signature byte

Go To Last Post
10 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

i tried to change the fuse bits of my atmega 8535 i used avrdude for this and before writing the fuse byte everthing was fine but after setting the fuse bit i am not able to get the correct signature byte and my avr is also not working properly now how can i check whether my avr is ok and if somethhign is wrong then how can i resolve this problem. please help mee....

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You probably changed the CKSEL fuses so it now requires an external clock. Find some way to generate a square wave clock pulse (another AVR toggling a pin is one way to do this) and temporarily play this into the XTAL1 pin of the AVR you have "lost" for just long enough to be able to reprogram it with avrdude.

I think the thing that get's most people with fuses is that the bits are "the wrong way up". 1 means option not selected and 0 means option selected. So your fuse values may need to be the binary inverse of what you just used in fact!

Cliff

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

thnx clawson thats what i had done. i had changed the fuse bit to FE d9 which mean that i need high freq crystal oscilator....ok. can u tell me one more thing - is there any other method without using the external oscillator for resetting these fuse bits to default value.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Well there's an even MORE complicated mechanism which is to use high voltage programming. But, believe me, a pulse into the XT1 pin is most definitely the lesser of two evils here!

(if you have a function generator it would do too)

Cliff

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

u mean i just need to give a single pulse at xtl1 and then i can change the fuse bit again with avrdude. i m getting confuse now can u explain this to me some more detail... or are you trying to say that i need to put 8Mhz square wave between xtal2 and xtal1 and then use my programmer again with avrdude to reset fuse bits.. i confused help mee plz.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

well i have solve this i used a 8 mhz crystal oscillator between xtal1 and xtal2 with 2 22pf capacitors and now it is working fine with avrdude thnx clawson

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

When an AVR arrives from the factory they almost all have fuse settings which say "operate off the internal RC oscillator" and more often than not this is at 1MHz. So you are therefore able to contact the chip via ISP at anything up to 250KHz (as it operates at 1/4 or less speed than the system clock). If, however you use the ISP opportunity to say "change the CKSEL fuse bits" then if you've actually set them to say "use an external crystal or an external oscillator" then when you apply power to the AVR nothing will happen. The internal clock will not be used and it'll just sit there waiting to get clock pulses through it's external clock pins. Only when that happens can the ISP "state machine" be clocked through the motions to do other ISP functions - such as then programming the fuses back to the factory default and hence switching back to the internal oscillator.

Assuming it has been changed to look for and use an external crystal then a further option IS to add any crystal (0..16MHz) you happen to have lying about along with a couple of capacitors (maybe 22pF?) across the XTAL1/XTAL2 pins and that would be another way to get the chip operational again.

Cliff

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

clwason can i have you give me your yahoo id or gmail id actually i have to complete my project before 16 apr and i m sure that i will have to face similar problems in future. i will not buzz or disturb u

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Ah! - our posts crossed - glad the Xtal+ 2x22pF worked for you!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

yaaa our post crossed but thnx for helping me otherwise i was thinking that my avr is damaged and i have to buy a new one. you save my 250Rs (~5 US dollar in india)+ 2 days.