Searching \ for '[PIC]: Overclock f87x and other questions' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/microchip/time.htm?key=clock
Search entire site for: 'Overclock f87x and other questions'.

Exact match. Not showing close matches.
PICList Thread
'[PIC]: Overclock f87x and other questions'
2001\10\24@235416 by Josh Koffman

flavicon
face
Hi all. I know there have been discussions about overclocking the
f84-04, but has anyone overclocked the f87x? Specifically the 16f877-04?
I want to take it up to 20Mhz, and I'm wondering if it will work. Also,
at those speeds, will I run into problems if I try to breadboard? Now my
final question, can I receive a 250kps data stream using the UART if my
clock is at 4Mhz? Will the buffer overflow if I'm not exceedingly quick
in my processing of the data? I also don't want to spend 90% of my time
in the ISR actually receiving the data.

Thanks,

Josh Koffman

--
http://www.piclist.com hint: PICList Posts must start with ONE topic:
[PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads


2001\10\25@021307 by Wade Carpenter

picon face
Hi Josh,

My guess would be that you can't overclock the -04 to 20MHz. It should have
been factory tested (at least one from it's fab run) and binned based on
speed.  so maybe you can get away with 8-10MHz, but 20 - I'd wager not.

Breadboarding is not really an issue here - Just make sure you're using a
crystal as the RC oscillator will not run that fast.

As for the 250kbps, i'd say no way.  Simply speaking, you have 4MHz so
that's 1 MIPS, so that gives you 4 instructions per data, right?! 2
instructions cycles / branch instruction (maybe only 1 to go to the isr, but
i guess 1 to save states, 1 to restore states and 1 to retfie) so you're
already done without having processed anything!

If you want 20MHz, I'd say you'd have to buy the 20MHz chip. Even then
you'll be in for some trouble.  It seems like a scenix communications
controller running 50MIPS may more be what you're looking for? The price is
quite similar, I guess it depends on your application!

Regards,

Wade
{Original Message removed}

2001\10\25@025054 by Vasile Surducan

flavicon
face
Josh,
with 4MHz, 19200 is the greatest reliable value for usart in
asynchronous mode. ( maybe it works, but I can't obtain more )
at 10MHz you may get 115200 )
As a game, you could overclock, some chips are working up to 10 MHz
But no one from this list will encourage to do this.
Vasile

On Thu, 25 Oct 2001, Josh Koffman wrote:

{Quote hidden}

--
http://www.piclist.com hint: The list server can filter out subtopics
(like ads or off topics) for you. See http://www.piclist.com/#topics


2001\10\25@035809 by Bob Ammerman

picon face
Re: Overclocking -- JUST SAY NO

Re: 250 Kbit / Sec async I/O via UART ....

As mentioned each BIT is 4 instruction times. But each BYTE would be 40
instruction times. This is perhaps enough to get something useful done, but
I probably wouldn't try to do it with an interrupt handler if I didn't have
to.

You will need to use BRGH == 1 and SPBRG == 4 to get your 250 Kbit rate (if
I have figured it out correctly).

Bob Ammerman
RAm Systems


{Original Message removed}

2001\10\25@223618 by Josh Koffman

flavicon
face
Thanks for the reply Wade.


> My guess would be that you can't overclock the -04 to 20MHz. It should > I kinda figured...was just trying to save some money on buying a new part when I have some -04s already.

Breadboarding is not really an issue here - Just make sure you're using
a
> crystal as the RC oscillator will not run that fast.

I plan on using a metal can oscillator...the 4 pin DIP kind. Do I have
to worry about capacitance on the breadboard or anything?

> As for the 250kbps, i'd say no way.  Simply speaking, you have 4MHz so
> that's 1 MIPS, so that gives you 4 instructions per data, right?! 2
> instructions cycles / branch instruction (maybe only 1 to go to the isr, but
> i guess 1 to save states, 1 to restore states and 1 to retfie) so you're
> already done without having processed anything!

Well, in theory, but I believe it's kilo-BITs per second, so I'd have
more time. Am I right?

> If you want 20MHz, I'd say you'd have to buy the 20MHz chip. Even then
> you'll be in for some trouble.  It seems like a scenix communications
> controller running 50MIPS may more be what you're looking for? The price is
> quite similar, I guess it depends on your application!

Well, my application isn't too processor intensive, so I should be fine.
In fact, I know that even more is being done on a PIC at 16Mhz. I was
just wondering if I could do it in even less, and then save on the parts
costs.

> {Original Message removed}

2001\10\25@224124 by Josh Koffman

flavicon
face
Thanks for the reply Bob

> Re: Overclocking -- JUST SAY NO

Ok, I was just curious. I promise I won't :) BTW, didn't we have a
discussion about people overclocking the f84? Didn't we figure out that
Microchip derated some of the chips to meet quotas? That's the only
reason I was really asking.

> Re: 250 Kbit / Sec async I/O via UART ....
>
> As mentioned each BIT is 4 instruction times. But each BYTE would be 40
> instruction times. This is perhaps enough to get something useful done, but
> I probably wouldn't try to do it with an interrupt handler if I didn't have
> to.

How would you do it? I base most of my code of this type on the ideas of
Kelly Khols, who is in my mind a pretty smart guy. I've never seen
anyone else using PICs to receive data like this (it's DMX, in case you
haven't figured it out. It's a lighting control protocol). Well, I know
Harold has done precisely what I want to do, but can't share because of
copyright. I would be interested in any other approaches.

Thanks again,

Josh

--
http://www.piclist.com hint: The list server can filter out subtopics
(like ads or off topics) for you. See http://www.piclist.com/#topics


2001\10\25@230442 by Bob Ammerman

picon face
----- Original Message -----
From: "Josh Koffman" <spam_OUTlistsjoshTakeThisOuTspam3MTMP.COM>
To: <.....PICLISTKILLspamspam@spam@MITVMA.MIT.EDU>
Sent: Thursday, October 25, 2001 7:55 PM
Subject: Re: [PIC]: Overclock f87x and other questions


> Thanks for the reply Bob
> > Re: 250 Kbit / Sec async I/O via UART ....
> >
>
> How would you do it? I base most of my code of this type on the ideas of
> Kelly Khols, who is in my mind a pretty smart guy. I've never seen
> anyone else using PICs to receive data like this (it's DMX, in case you
> haven't figured it out. It's a lighting control protocol).

Yeah, I know all about DMX. What I'm saying is that with only 40
instructions per byte your going to have to do some sort of pseudo multitask
using polling at task level with no interrupts enabled. Something like this:

1: create a macro that handles getting a character from the UART. For
purpose of discussion, assume the macro uses 20 instructions.

2: make sure you call the macro after every 20 or fewer instructions of your
task code.

Its a pain in the neck, but you can get some pretty complex stuff to work
that way.

Bob Ammerman
RAm Systems

--
http://www.piclist.com hint: The list server can filter out subtopics
(like ads or off topics) for you. See http://www.piclist.com/#topics


2001\10\25@230619 by Jeff DeMaagd

flavicon
face
----- Original Message -----
From: Josh Koffman <listsjoshspamKILLspam3MTMP.COM>

> Thanks for the reply Bob
>
> > Re: Overclocking -- JUST SAY NO
>
> Ok, I was just curious. I promise I won't :) BTW, didn't we have a
> discussion about people overclocking the f84? Didn't we figure out that
> Microchip derated some of the chips to meet quotas? That's the only
> reason I was really asking.

It is something of a big issue to some people.  As for the derating thing,
IIRC it is that they simply don't test the batch samples as rigourously.  I
really don't see the point in uChip marking chips lower than what they
could, but then, most 20MHz chips only cost pennies more than the 4MHz
versions.

You would be exceeding the manufacterer rating by 5x, which is quite a lot.
As long as you are doing it only for your projects and not selling them I
don't see a problem, just don't complain to us if it doesn't work.
Basically the datasheet is giving you what the manufacturer is willing to
guarantee.  The general idea is if you go outside of the specs of the maker
you can't blame them for squat, but it just might work reliably, but then if
a new bach of chips were made you might be out of luck.

Jeff

--
http://www.piclist.com hint: The list server can filter out subtopics
(like ads or off topics) for you. See http://www.piclist.com/#topics


2001\10\26@012312 by Josh Koffman

flavicon
face
I was thinking about doing something like this. Two questions thought.
Does it have to be a macro? Could it be a subroutine? I've never really
used macros and I'm a little bit worried I'd somehow screw it up. Also,
do I have to worry about somehow syncing to the incoming stream so that
my macro call falls at the proper position in relation to the incoming
data?

Thanks,

Josh

Bob Ammerman wrote:
>
> {Original Message removed}

2001\10\26@045655 by Paul Harris

flavicon
face
I have done the same but written the DMX recieve routien completely
under interupts.
this alllows the programme to do what it wants to do while the DMX
recieve part is being done automatically when required.
If you are interested I can email you an example.

Paul Harris

{Original Message removed}

2001\10\26@202944 by Bob Ammerman

picon face
----- Original Message -----
From: "Josh Koffman" <.....listsjoshKILLspamspam.....3MTMP.COM>
To: <EraseMEPICLISTspam_OUTspamTakeThisOuTMITVMA.MIT.EDU>
Sent: Thursday, October 25, 2001 10:14 PM
Subject: Re: [PIC]: Overclock f87x and other questions


> I was thinking about doing something like this. Two questions thought.
> Does it have to be a macro? Could it be a subroutine? I've never really
> used macros and I'm a little bit worried I'd somehow screw it up.

Yeah, it could be a subroutine, or a macro that calls a subroutine. There is
really nothing magic about macros. A macro will take more code space because
it is repeated on each 'call', but will save 4 cycles (two for the call and
two for the return) that a subroutine would need.

> Also,
> do I have to worry about somehow syncing to the incoming stream so that
> my macro call falls at the proper position in relation to the incoming
> data?

The macro could look like this:

   btfsc    RCVRDY        ; do we have a byte?
   call      handle_byte

Now as long as you hit one of these before the next byte comes along you'll
be ok.

Just do a careful analysis that no code path from getting one character to
getting the next can be more than 40 instructions long.

Bob Ammerman
RAm Systems



{Quote hidden}

your
> > task code.

--
http://www.piclist.com hint: The PICList is archived three different
ways.  See http://www.piclist.com/#archives for details.


More... (looser matching)
- Last day of these posts
- In 2001 , 2002 only
- Today
- New search...