Forums

Changing clock source in AVR?

Started by Lord Vain April 10, 2006
I have a Olimex devboard AVR-P28B with a ATMEGA8 on it. I programmed and
used it just fine when it was running on the internal RC oscillator. But I
wanted to try to get it working on the 4Mhz crystal so I set the fuse bits
and wrote those. Problem is, now it doesn't work anymore and I can't get it
to respond and change the fuse bits.

How can I program the fuse bits in this situation? I assumed that the
programming interface always runs off the RC-clock otherwise a wrong write
could render the device useless but I think that's not the case.

LV



*** Free account sponsored by SecureIX.com ***
*** Encrypt your Internet usage with a free VPN account from http://www.SecureIX.com ***
"Lord Vain" <die@vain.com> wrote in message
news:443a72cf$0$14523$6d36acad@titian.nntpserver.com...
> I have a Olimex devboard AVR-P28B with a ATMEGA8 on it. I programmed and > used it just fine when it was running on the internal RC oscillator. But I > wanted to try to get it working on the 4Mhz crystal so I set the fuse bits > and wrote those. Problem is, now it doesn't work anymore and I can't get
it
> to respond and change the fuse bits. > > How can I program the fuse bits in this situation? I assumed that the > programming interface always runs off the RC-clock otherwise a wrong write > could render the device useless but I think that's not the case.
It IS the case. the only way to get the AVR talking to the programmer is to apply a clock from an external source to the AVR. Meindert
Meindert Sprang wrote:

> "Lord Vain" <die@vain.com> wrote in message > news:443a72cf$0$14523$6d36acad@titian.nntpserver.com... > >>I have a Olimex devboard AVR-P28B with a ATMEGA8 on it. I programmed and >>used it just fine when it was running on the internal RC oscillator. But I >>wanted to try to get it working on the 4Mhz crystal so I set the fuse bits >>and wrote those. Problem is, now it doesn't work anymore and I can't get > > it > >>to respond and change the fuse bits. >> >>How can I program the fuse bits in this situation? I assumed that the >>programming interface always runs off the RC-clock otherwise a wrong write >>could render the device useless but I think that's not the case. > > > It IS the case. the only way to get the AVR talking to the programmer is to > apply a clock from an external source to the AVR.
external clock means a HCMOS signal, not a crystal. The fuses are written as zeroes, not as ones. Rene -- Ing.Buero R.Tschaggelar - http://www.ibrtses.com & commercial newsgroups - http://www.talkto.net
On Mon, 10 Apr 2006 17:56:17 +0200, "Lord Vain" <die@vain.com> wrote:

>I have a Olimex devboard AVR-P28B with a ATMEGA8 on it. I programmed and >used it just fine when it was running on the internal RC oscillator. But I >wanted to try to get it working on the 4Mhz crystal so I set the fuse bits >and wrote those. Problem is, now it doesn't work anymore and I can't get it >to respond and change the fuse bits. > >How can I program the fuse bits in this situation? I assumed that the >programming interface always runs off the RC-clock otherwise a wrong write >could render the device useless but I think that's not the case.
High Voltage Parallel Programming with an STK500 always works. Mit freundlichen Gr&#2013266172;&#2013265951;en Frank-Christian Kr&#2013266172;gel
"Frank-Christian Kruegel" <dontmailme@news.invalid> wrote in message
news:4mel329qgl4trns3tl5i219bt9cnq5n519@4ax.com...
> On Mon, 10 Apr 2006 17:56:17 +0200, "Lord Vain" <die@vain.com> wrote: > > >I have a Olimex devboard AVR-P28B with a ATMEGA8 on it. I programmed and > >used it just fine when it was running on the internal RC oscillator. But
I
> >wanted to try to get it working on the 4Mhz crystal so I set the fuse
bits
> >and wrote those. Problem is, now it doesn't work anymore and I can't get
it
> >to respond and change the fuse bits. > > > >How can I program the fuse bits in this situation? I assumed that the > >programming interface always runs off the RC-clock otherwise a wrong
write
> >could render the device useless but I think that's not the case. > > High Voltage Parallel Programming with an STK500 always works. >
I'm using STK200. Does that mean I'm fried or should that work too? *** Free account sponsored by SecureIX.com *** *** Encrypt your Internet usage with a free VPN account from http://www.SecureIX.com ***
"Meindert Sprang" <ms@NOJUNKcustomORSPAMware.nl> wrote in message
news:123l0jdrlsi3g48@corp.supernews.com...
> "Lord Vain" <die@vain.com> wrote in message > news:443a72cf$0$14523$6d36acad@titian.nntpserver.com... > > I have a Olimex devboard AVR-P28B with a ATMEGA8 on it. I programmed and > > used it just fine when it was running on the internal RC oscillator. But
I
> > wanted to try to get it working on the 4Mhz crystal so I set the fuse
bits
> > and wrote those. Problem is, now it doesn't work anymore and I can't get > it > > to respond and change the fuse bits. > > > > How can I program the fuse bits in this situation? I assumed that the > > programming interface always runs off the RC-clock otherwise a wrong
write
> > could render the device useless but I think that's not the case. > > It IS the case. the only way to get the AVR talking to the programmer is
to
> apply a clock from an external source to the AVR.
Weird. Any ideas why it isn't working then? I'm using YAAP and an Olimex parallel port programmer. I also tried programming it using AVRDUDE but that didn't work either. *** Free account sponsored by SecureIX.com *** *** Encrypt your Internet usage with a free VPN account from http://www.SecureIX.com ***
On Mon, 10 Apr 2006 17:56:17 +0200, "Lord Vain" <die@vain.com> wrote:

>I have a Olimex devboard AVR-P28B with a ATMEGA8 on it. I programmed and >used it just fine when it was running on the internal RC oscillator. But I >wanted to try to get it working on the 4Mhz crystal so I set the fuse bits >and wrote those. Problem is, now it doesn't work anymore and I can't get it >to respond and change the fuse bits. > >How can I program the fuse bits in this situation? I assumed that the >programming interface always runs off the RC-clock otherwise a wrong write >could render the device useless but I think that's not the case. >
The ATMEGA8 reset pin can be programmed to be a normal I/O pin. Once you have done that, I do not think there is any way to program it again. (Ponyprog used to have a bug where if one read the ATMEGA8 fuses, and wrote the same values back, the reset pin was set to I/O. I lost a couple of devices before realising it) Regards Anton Erasmus
"Anton Erasmus" <nobody@spam.prevent.net> wrote in message
news:032o321sbbiiiq0ef47klbeqrr4gfvndb7@4ax.com...
> On Mon, 10 Apr 2006 17:56:17 +0200, "Lord Vain" <die@vain.com> wrote: > > >I have a Olimex devboard AVR-P28B with a ATMEGA8 on it. I programmed and > >used it just fine when it was running on the internal RC oscillator. But
I
> >wanted to try to get it working on the 4Mhz crystal so I set the fuse
bits
> >and wrote those. Problem is, now it doesn't work anymore and I can't get
it
> >to respond and change the fuse bits. > > > >How can I program the fuse bits in this situation? I assumed that the > >programming interface always runs off the RC-clock otherwise a wrong
write
> >could render the device useless but I think that's not the case. > > > > The ATMEGA8 reset pin can be programmed to be a normal I/O pin. Once > you have done that, I do not think there is any way to program it > again. (Ponyprog used to have a bug where if one read the ATMEGA8 > fuses, and wrote the same values back, the reset pin was set to I/O. I > lost a couple of devices before realising it) >
I just messed around with the fuses. I'm pretty sure I didn't set the reset pin to a I/O. BTW I can see data going over the MOSI and MISO lines on my scope yet the programming software (YAAP en AVRDUDE) says there's no device at the other end! *** Free account sponsored by SecureIX.com *** *** Encrypt your Internet usage with a free VPN account from http://www.SecureIX.com ***
On Tue, 11 Apr 2006 05:53:48 +0200, "Lord Vain" <die@vain.com> wrote:


>> High Voltage Parallel Programming with an STK500 always works. >> >I'm using STK200. Does that mean I'm fried or should that work too?
You're fried. Only the STK500 can do HVPP. This doesn't work through SPI, but through the regular port pins, which change functions when pulling /RST to +12V. The STK500 has sockets for this. Mit freundlichen Gr&#2013266172;&#2013265951;en Frank-Christian Kr&#2013266172;gel
"Frank-Christian Kruegel" <dontmailme@news.invalid> wrote in message
news:vb6p325i7caq8ku99mt6fp81l7gvr7m6o7@4ax.com...
> On Tue, 11 Apr 2006 05:53:48 +0200, "Lord Vain" <die@vain.com> wrote: > > > >> High Voltage Parallel Programming with an STK500 always works. > >> > >I'm using STK200. Does that mean I'm fried or should that work too? > > You're fried. Only the STK500 can do HVPP. This doesn't work through SPI, > but through the regular port pins, which change functions when pulling
/RST
> to +12V. The STK500 has sockets for this. >
On the Olimex forum I read that I need to apply a clock (or square wave) to the XTAL1 input to get the thing going. Otherwise I'll need a HVPP programmer (such as Atmel's STK500 Starter Kit) to program the device. However, I also remember that setting the 'Startup time' to 'fast' and I wonder if that could be the problem since I can't understand that me setting the oscillator to external crystal will hang the device that's not logical. Why didn't Atmel just let the ISP interface *always* run off the internal oscillilator, thereby elliminating these problems? *** Free account sponsored by SecureIX.com *** *** Encrypt your Internet usage with a free VPN account from http://www.SecureIX.com ***