Does anybody have experiences to share about overclocking
40MHz-rated PIC18F parts to about 44.5MHz?
I need the PIC to be perfectly in sync with some peripherals
which must run at an integer fraction of the mentioned MHz.
Is there an ~official test somewhere to test the core for
reliability? (e.g. there are lotsa x86 utilities of this kind)
What is the best voltage to achieve most stable overclocking?
My guess is 5.5V but maybe I'm applying too much x86 physics
here.
On Mon, 2005-05-16 at 16:12 +0100, Electron wrote:
> I think the subject says it all.. anyway:
>
> Does anybody have experiences to share about overclocking
> 40MHz-rated PIC18F parts to about 44.5MHz?
> I need the PIC to be perfectly in sync with some peripherals
> which must run at an integer fraction of the mentioned MHz.
Save yourself a LARGE amount of headaches and switch to the dsPIC line,
which can run at those speeds without going out of spec. TTYL
On Monday 16 May 2005 04:12 pm, Electron wrote:
> I think the subject says it all.. anyway:
>
> Does anybody have experiences to share about overclocking
> 40MHz-rated PIC18F parts to about 44.5MHz?
I don't have experience at overclocking PICs, but maybe you might be better
served with an alternative stable solution??
First, a 40MHz PIC only runs at 10MIPS, which isn't too fast.. So, maybe use
an external data buffer between the two devices might help?? Or using a
custom FPGA in place of a PIC?? It all depends on how you're interfacing with
this 44.5MHz device..
At 15.53 2005.05.16 +0100, you wrote:
>On Monday 16 May 2005 04:12 pm, Electron wrote:
>> I think the subject says it all.. anyway:
>>
>> Does anybody have experiences to share about overclocking
>> 40MHz-rated PIC18F parts to about 44.5MHz?
>
>I don't have experience at overclocking PICs, but maybe you might be better
>served with an alternative stable solution??
>
>First, a 40MHz PIC only runs at 10MIPS, which isn't too fast.. So, maybe use
>an external data buffer between the two devices might help?? Or using a
>custom FPGA in place of a PIC?? It all depends on how you're interfacing with
>this 44.5MHz device..
No, the problem is economy: there are millions elegant
solutions to a problem, but when you want the best bang
for the buck, there's at most one solution..
IMHO engineering is not about nice but expensive chips
(e.g. Maxim): it is getting the best from the least.
>I think the subject says it all.. anyway:
>
>Does anybody have experiences to share about overclocking
>40MHz-rated PIC18F parts to about 44.5MHz?
>I need the PIC to be perfectly in sync with some peripherals
>which must run at an integer fraction of the mentioned MHz.
>
>Is there an ~official test somewhere to test the core for
>reliability? (e.g. there are lotsa x86 utilities of this kind)
>
>What is the best voltage to achieve most stable overclocking?
>My guess is 5.5V but maybe I'm applying too much x86 physics
>here.
Yes, I think that's correct. It might be reasonable to infer
probable correct operation at 10% higher frequency with 5.5V
supply, especially over a limited temperature range. Whether you'd want
to put it into a product is another matter, and it's doubtful that
you can find a way to thoroughly test this at a reasonable cost. You could
do a half-ass check by seeing where your application visibly fails at 4.5V
and then at 5.5V to see what VISIBLE improvement in margin there has been,
but there's no guarantee that there isn't some unforseen process going on
that will cause you grief.
You should also consider using the USB 18F PICs which are
guaranteed to operate at 48MHz and are not particularly expensive.
> Does anybody have experiences to share about overclocking
> 40MHz-rated PIC18F parts to about 44.5MHz?
> I need the PIC to be perfectly in sync with some peripherals
> which must run at an integer fraction of the mentioned MHz.
>
> Is there an ~official test somewhere to test the core for
> reliability? (e.g. there are lotsa x86 utilities of this kind)
>
> What is the best voltage to achieve most stable overclocking?
> My guess is 5.5V but maybe I'm applying too much x86 physics
> here.
You'll have to write your own tests, I'm afraid.
Connectix made thousands of Quickcams with 20MHz PICs overclocked to
24MHz, so don't let anyone tell you it is something serious people would
never do.
You might want to test PLL oscillator, eeprom read and write, and A/D
first, those would be the things I would guess to be the biggest problem.
Test at different temperatures, compare startup times, etc.
On Monday 16 May 2005 05:44 pm, Electron wrote:
> >First, a 40MHz PIC only runs at 10MIPS, which isn't too fast.. So, maybe
> > use an external data buffer between the two devices might help?? Or using
> > a custom FPGA in place of a PIC?? It all depends on how you're
> > interfacing with this 44.5MHz device..
>
> No, the problem is economy: there are millions elegant
> solutions to a problem, but when you want the best bang
> for the buck, there's at most one solution..
>
> IMHO engineering is not about nice but expensive chips
> (e.g. Maxim): it is getting the best from the least.
Hehe... I agree, but engineering is also about getting something to work,
within spec... but something always seems to crop up out of no where... then,
the cost to fix the problem, may end up more than the alternative solution...
but you know your application/client best...
And hope nothing changes on the next date code, die shrink, or
different fab facility, or that the oscillator duty cycle isn't a bit
more asymmetrical than the last bunch, due to crystal changes, cap
value, pcb layout, or the processor itself..
I have heard of companies getting selected parts, and "waivers" form
the chip vendors to exceed specs like this.
Rare, but it happens. When you get one, you are assured that you can
safely do exactly what they issued the waiver on.
I have one on Sanyo NIMH batteries, to charge 10C hotter than the
spec indicates, in one application.
They needed to know a lot about the system before approving it though.
I've also seen people push a part outside it's design limits without
factory guidance, with varying levels of success.
Far more on the negative side though.
We all know that there's a little bit of extra margin in the clock
speeds, on any device.
But, the manufacturer is guaranteeing that the device will meet all
it's specs, all the time, if you operate within the limits.
Once you cross the line, you're on your own, and the failures may or
may not be obvious.
It comes down to risk management, what's your downside risk, and
what's the benefit if it works?
I would look hard for other solutions first.
Depending on the task, an AVR or other processor might do better than
a pic, even through their clock speeds are not all that impressive at
first glance.
>> Does anybody have experiences to share about overclocking
>> 40MHz-rated PIC18F parts to about 44.5MHz?
>> I need the PIC to be perfectly in sync with some peripherals
>> which must run at an integer fraction of the mentioned MHz.
>>
>> Is there an ~official test somewhere to test the core for
>> reliability? (e.g. there are lotsa x86 utilities of this kind)
>>
>> What is the best voltage to achieve most stable overclocking?
>> My guess is 5.5V but maybe I'm applying too much x86 physics
>> here.
>
> You'll have to write your own tests, I'm afraid.
>
> Connectix made thousands of Quickcams with 20MHz PICs overclocked to
> 24MHz, so don't let anyone tell you it is something serious people would
> never do.
>
> You might want to test PLL oscillator, eeprom read and write, and A/D
> first, those would be the things I would guess to be the biggest problem.
>
> Test at different temperatures, compare startup times, etc.
>
> Then make a web page with your results!
>
> Cheerful regards,
>
> Bob
> >First, a 40MHz PIC only runs at 10MIPS, which isn't too
> fast.. So, maybe use
> >an external data buffer between the two devices might help??
> Or using a
> >custom FPGA in place of a PIC?? It all depends on how you're
> interfacing with
> >this 44.5MHz device..
>
> No, the problem is economy: there are millions elegant
> solutions to a problem, but when you want the best bang
> for the buck, there's at most one solution..
Just be carefull to calculate your bang and buck appropriately. For
instance: don't forget
- engineering cost
- all costs of product failures (replacement, customer goodwill lost)
In this case I would say: Why not select something (dsPIC, ARM, ...)
than is guaranteed to run at 44.5 MHz?
Wouter van Ooijen
-- -------------------------------------------
Van Ooijen Technische Informatica: http://www.voti.nl
consultancy, development, PICmicro products
docent Hogeschool van Utrecht: http://www.voti.nl/hvu
At 20.56 2005.05.16 +0200, you wrote:
>> >First, a 40MHz PIC only runs at 10MIPS, which isn't too
>> fast.. So, maybe use
>> >an external data buffer between the two devices might help??
>> Or using a
>> >custom FPGA in place of a PIC?? It all depends on how you're
>> interfacing with
>> >this 44.5MHz device..
>>
>> No, the problem is economy: there are millions elegant
>> solutions to a problem, but when you want the best bang
>> for the buck, there's at most one solution..
>
>Just be carefull to calculate your bang and buck appropriately. For
>instance: don't forget
>- engineering cost
>- all costs of product failures (replacement, customer goodwill lost)
>
>In this case I would say: Why not select something (dsPIC, ARM, ...)
>than is guaranteed to run at 44.5 MHz?
Yes, but I already have these hundreds 40MHz parts and hundreds
11.059200 MHz XTALs. ;P Also, the application has a RS232 interface,
so I like this XTAL frequency a lot (it is 115200*96..).
I have also hundreds dsPICs and I would use them, the /3 prescaler
on their PLL is a wonderful thing.. I could get 29.4912 MHz core
speed (i.e. very near to the specced 30MHz) if the PLL could do x32
instead of being limited to a max x16. I guess I'm not too lucky..
The datasheet already left no hope, anyway: is there a way to make
run the dsPIC core at more than Fosc/4?
Of course I could use an external PLL, but that would probably cost
more than the MPU itself.. so what's the point? as I said above "the
problem is economy: there are millions elegant solutions to a problem,
but when you want the best bang for the buck, there's at most one
solution..".
Should be worse, right? LF parts are meant for low power
and thus low speed usage.
-----Original Message-----
From: Electron [.....electron2k4KILLspam@spam@infinito.it]
Sent: Tuesday, May 17, 2005 3:58 PM
To: Microcontroller discussion list - Public.
Subject: Re: [PIC]: PIC18F at 44.5MHz. Anybody has experiences to share?
By the way, do you think that a LF part could perform
better in this regard than a F part?
At 16.50 2005.05.17 +0800, you wrote:
>Should be worse, right? LF parts are meant for low power
>and thus low speed usage.
They are simply guaranteed to run ALSO at a lower voltage.
>
>-----Original Message-----
>From: Electron [electron2k4KILLspaminfinito.it]
>Sent: Tuesday, May 17, 2005 3:58 PM
>To: Microcontroller discussion list - Public.
>Subject: Re: [PIC]: PIC18F at 44.5MHz. Anybody has experiences to share?
>
>By the way, do you think that a LF part could perform
>better in this regard than a F part?
>
>-
At 11:59 AM 5/17/2005 +0100, you wrote:
> >>Should be worse, right? LF parts are meant for low power
> >>and thus low speed usage.
> >
> >They are simply guaranteed to run ALSO at a lower voltage.
>
>But LF does not stand for "Larger Frequency"
At least the curve gives you something to extrapolate, as it has more
than one point. ;-)
> > Does anybody have experiences to share about overclocking
> > 40MHz-rated PIC18F parts to about 44.5MHz?
Some time last year I posted about an 18F452 that I accidentally
connected an 18.432MHz xtal to and then turned the PLL on. It
did appear to run OK with some very simple timing tests at
73.728MHz but I would never expect to try that in production
nd without a complete battery of tests on all the modules it's
impossible to say whether it was a fully functional device at that
speed
Although you've been advised that 44.5MHz is out of spec, that
doesn't necessarily mean it won't work reliably. Just that if it
doesn't you've no one to blame but yourself. I don't know what
Microchip's actual criteria are for specifications at the higher
frequencies, but at the bottom end you probably can overclock
parts. For example, a -04 part is guaranteed to run at 4MHz,
but came from the same batch as -10 parts, and failed the 10MHz
test. So it could run alright at 6MHz or 8MHz
It might very well be the case that some 40MHz parts will run
at 44.5MHz. You would have to sort out which ones will, and
with the functions you're using
Hmmm... I have a prototype 18F6585 based device on my desk. Just for grins I
tried changing the 10MHz xtal to 16MHz (Bumps clock from 40MHz to 64MHz) -
it didn't work for me :-( If I can find an 11MHz xtal lying around I'll try
it at 44MHz.
At 11.59 2005.05.17 +0100, you wrote:
>>>Should be worse, right? LF parts are meant for low power
>>>and thus low speed usage.
>>
>>They are simply guaranteed to run ALSO at a lower voltage.
>
>But LF does not stand for "Larger Frequency"
At 11.09 2005.05.17 -0400, you wrote:
>Hmmm... I have a prototype 18F6585 based device on my desk. Just for grins I
>tried changing the 10MHz xtal to 16MHz (Bumps clock from 40MHz to 64MHz) -
>it didn't work for me :-( If I can find an 11MHz xtal lying around I'll try
>it at 44MHz.
>
>-- Mark
>
>> {Original Message removed}
I tried at 3.70V and it looks like it IS running. It seems to be running a
little faster. It really is running a little faster - I checked my SPI clock
line with a scope... however... It does not appear to be running at 64MHz.
Maybe 41.8MHz... I'm not sure how reliable it is - but it is running. On
this particular chip it looks like maybe the PLL can't phase lock much above
40MHz? The OSCCON lock bit indicates that the PLL is locked - but it doesn't
look like it to me.
Interesting stuff... but I would never try this in production.
I've noticed that the smaller 18F parts are rated at 40 MHz, but the
larger ones are not. My guess is that the larger ones have more
peripherals hanging on the internal bus, making it hard to move the bus
that fast. Does my guess sound reasonable? When I first started with one
of the big 18F chips, the datasheet said 40 MHz. My prototype worked, but
production didn't. A piclist member pointed out an erratta dropping the
clock speed to something like 25MHz.
My advice would be, "if it ain't broke make it run faster until it breaks"
On 5/17/05, Mark Scoville <EraseMEmscovillespam_OUTTakeThisOuTunicontrolinc.com> wrote:
>
> My 64MHz test failed at 5.00V
>
> I tried at 3.70V and it looks like it IS running. It seems to be running a
> little faster. It really is running a little faster - I checked my SPI
> clock
> line with a scope... however... It does not appear to be running at 64MHz.
> Maybe 41.8MHz... I'm not sure how reliable it is - but it is running. On
> this particular chip it looks like maybe the PLL can't phase lock much
> above
> 40MHz? The OSCCON lock bit indicates that the PLL is locked - but it
> doesn't
> look like it to me.
>
> Interesting stuff... but I would never try this in production.
>
> -- Mark
>
> > {Original Message removed}
> My advice would be, "if it ain't broke make it run faster until it breaks"
>
> On 5/17/05, Mark Scoville <@spam@mscovilleKILLspamunicontrolinc.com> wrote:
> >
> > My 64MHz test failed at 5.00V
> >
> > I tried at 3.70V and it looks like it IS running. It seems to be running a
> > little faster. It really is running a little faster - I checked my SPI
> > clock
> > line with a scope... however... It does not appear to be running at 64MHz.
> > Maybe 41.8MHz... I'm not sure how reliable it is - but it is running. On
> > this particular chip it looks like maybe the PLL can't phase lock much
> > above
> > 40MHz? The OSCCON lock bit indicates that the PLL is locked - but it
> > doesn't
> > look like it to me.
> >
> > Interesting stuff... but I would never try this in production.
> >
> > -- Mark
> >
Note: Nothing in this email is to be construed as a recommendation on the
part of the author to operate any integrated circuit outside its
vendor-specified parameters ;-)
Very, very early in the PIC18 days I built up a project using a PIC18C252
that was very timing dependent. I was rather irritated that all my timing
seemed to be off by about 10% (fast). After a lot of head scratching,
probing and puzzling I finally noticed that the 10MHz crystal sold to me by
Digikey was really something like 11.09MHz (it said so on the crystal, but
the bag it came in said 10MHz). Except for the timing issues, the chip did
seem to work perfectly, at least at room temperature with a 5V nominal power
supply.
>
> At what voltage were you running it? :)
>
>
> At 11.09 2005.05.17 -0400, you wrote:
>>Hmmm... I have a prototype 18F6585 based device on my desk. Just for grins
>>I
>>tried changing the 10MHz xtal to 16MHz (Bumps clock from 40MHz to 64MHz) -
>>it didn't work for me :-( If I can find an 11MHz xtal lying around I'll
>>try
>>it at 44MHz.
>>
>>-- Mark
>>
At 14.33 2005.05.17 -0400, you wrote:
>Note: Nothing in this email is to be construed as a recommendation on the part of the author to operate any integrated circuit outside its vendor-specified parameters ;-)
I promise, I'll behave. O;^)
>Very, very early in the PIC18 days I built up a project using a PIC18C252 that was very timing dependent. I was rather irritated that all my timing seemed to be off by about 10% (fast). After a lot of head scratching, probing and puzzling I finally noticed that the 10MHz crystal sold to me by Digikey was really something like 11.09MHz (it said so on the crystal, but the bag it came in said 10MHz). Except for the timing issues, the chip did seem to work perfectly, at least at room temperature with a 5V nominal power supply.
Thanks :)
You know, the best discovers in history have been made by mistake. ;)
At 11.45 2005.05.17 -0700, you wrote:
>I've noticed that the smaller 18F parts are rated at 40 MHz, but the
>larger ones are not. My guess is that the larger ones have more
>peripherals hanging on the internal bus, making it hard to move the bus
>that fast.
I think you are right but ONLY about quantity of Flash memory. Not about
peripherals. Look, for example, at 18F8520 vs 18F8720. 40 MHz vs 25 MHz,
all the rest is 100% the same.
>Does my guess sound reasonable? When I first started with one
>of the big 18F chips, the datasheet said 40 MHz. My prototype worked, but
>production didn't. A piclist member pointed out an erratta dropping the
>clock speed to something like 25MHz.
The errata of the 18F8x20 says 4MHz, but that's another story. =:-0
>-----Original Message-----
>From: spamBeGonepiclist-bouncesspamBeGonemit.edu [TakeThisOuTpiclist-bouncesEraseMEspam_OUTmit.edu]
>Sent: 17 May 2005 19:45
>To: Microcontroller discussion list - Public.
>Subject: RE: [PIC]: PIC18F at 44.5MHz. Anybody has experiences
>to share?
>
>
>I've noticed that the smaller 18F parts are rated at 40 MHz,
>but the larger ones are not. My guess is that the larger ones
>have more peripherals hanging on the internal bus, making it
>hard to move the bus that fast. Does my guess sound
>reasonable? When I first started with one of the big 18F
>chips, the datasheet said 40 MHz. My prototype worked, but
>production didn't. A piclist member pointed out an erratta
>dropping the clock speed to something like 25MHz.
The problem was in the larger memory parts. Apparently the larger
arrays were prone to reflections/ringing on the busses causing data
corruption.
Regards
Mike
=======================================================================
This e-mail is intended for the person it is addressed to only. The
information contained in it may be confidential and/or protected by
law. If you are not the intended recipient of this message, you must
not make any use of this information, or copy or show it to any
person. Please contact us immediately to tell us that you have
received this e-mail, and return the original to us. Any use,
forwarding, printing or copying of this message is strictly prohibited.
No part of this message can be considered a request for goods or
services.
=======================================================================