Searching \ for 'Cheaper pic's' 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/devices.htm?key=pic
Search entire site for: 'Cheaper pic's'.

Truncated match.
PICList Thread
'Cheaper pic's'
1999\04\23@213108 by Mark E'Silva

flavicon
face
part 0 9432 bytes
<META content=text/html;charset=iso-8859-1 http-equiv=Content-Type>
<META content='"MSHTML 4.72.3110.7"' name=GENERATOR>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT size=2></FONT><FONT color=#000000 size=2>Mark E'silva
Wrote</FONT></DIV>
<DIV><FONT color=#000000 size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>To all the piclisters that are still unsure what the problem
is with the pic12c509A is</FONT></DIV>
<DIV><FONT size=2>I am going to send for the last time what I have
found...</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>Any Code written for a 12c509 pic running on the internal RC
osc with a Oscal trim value set</FONT></DIV>
<DIV><FONT size=2>more or less MID WAY runs 100% ok</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>Taking the exact same code and using it on a 12c509A&nbsp;
,The code runs a LOT slower</FONT></DIV>
<DIV><FONT size=2>even if the Oscal trim value is changed for MAXIMUM
speed</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>To demonstrate this problem ,I wrote a simple program to
compare the two pic's both on OTP's</FONT></DIV>
<DIV><FONT size=2>and Window 12c509 ,12c509A pic's</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="" size=2>&nbsp;I am 100% aware of the increase in resolution
of&nbsp; the OSCAL trim value<BR>on the 12c509A version as there are 5 bits in
the oscal or 32 trim levels<BR>assuming<BR>that the Microchip Data sheet 1998 is
correct and the sheet 1997 is<BR>incorrect. as shown below<BR><BR>And on the
12c509 there are only 4 bits or 16 trim levels in the oscal reg<BR>my setting on
the 12c509 was&nbsp; B'01100000' , This value is setting the
oscal<BR>trim<BR>approx mid way as it ranges from B'0000xxxx' min value to
B'1111xxxx'<BR>maximum where x are unimplemented bits ,The reson for me using
B'0110xxxx'<BR>on the 12c509 as<BR>it runs the code very close to same speed as
if I were using an external XT<BR>resonator<BR>of 4 mhz , leaving enough
RESOLUTION left to increase the speed at will.<BR><BR>Now if the same code is
moved to a 12c509A with the Oscal setting MAXIMUM<BR>B'11111xxx' then the
12c509A still doesn't run as fast as the 12c509 Which<BR>to my<BR>opinion is
running as close as possible to a&nbsp; 4 Mhz resonator on the
12c509<BR>but<BR>on the 12c509A even with the oscal setting maximum it still
runs well below<BR>4 mhz&nbsp; as shown in the test I did below.<BR><BR>Any
Suggestions ?&nbsp; Rewriting the code is NOT an option, only setting
the<BR>oscal<BR>value is, As the 12c509 and 12c509A&nbsp; ARE 100% equivalent
???????? Not to<BR>mention<BR>the higher resolution of OSCAL on the
12C509A?<BR></FONT></DIV>
<DIV><FONT face="" size=2><BR>&nbsp;;Our tests show that the Code writen bellow
generates a 3.937 Khz tone<BR>&nbsp;;on porta Ra5 with a 12c509 with oscal value
B'01100000'<BR>&nbsp;;And on a 12c509A it generates 3.827 Khz tone with oscal
value B'11111100'<BR>&nbsp;;which is the maximum speed setting.<BR>&nbsp;;For a
12c509A I would write the Oscal value the same way but<BR>&nbsp;;with differnt
value B'11111100' &quot;max speed&quot;</FONT></DIV>
<DIV><FONT face=""
size=2>&nbsp;;-------------------------------------------------------------------------------------------------------------<BR></FONT></DIV>
<DIV><FONT face="" size=2>&nbsp;;(Ocacal register 8Fh) pin definitions as per
data sheet 1997 for
12c509A<BR>&nbsp;;-------------------------------------------------------------------------------------------------------------<BR>&nbsp;;7=cal3&nbsp;&nbsp;&nbsp;&nbsp;
*<BR>&nbsp;;6=cal2&nbsp;&nbsp;&nbsp;&nbsp;
*<BR>&nbsp;;5=cal1&nbsp;&nbsp;&nbsp;&nbsp;
*<BR>&nbsp;;4=cal0&nbsp;&nbsp;&nbsp;&nbsp; *</FONT></DIV>
<DIV><FONT face="" size=2>&nbsp;;3=calfst&nbsp;&nbsp; fast course
trim<BR>&nbsp;;2=calslw&nbsp;&nbsp; slow course trim<BR>&nbsp;;1=not
implemented<BR>&nbsp;;0=not
implemented<BR>&nbsp;;-------------------------------------------------------------------------------------------------------------<BR>&nbsp;;(Ocacal
register 8Fh) pin definitions as per data sheet 1998 for
12c509A<BR>&nbsp;;-------------------------------------------------------------------------------------------------------------<BR>&nbsp;;7=cal5&nbsp;&nbsp;&nbsp;&nbsp;
*<BR>&nbsp;;6=cal4&nbsp;&nbsp;&nbsp;&nbsp;
*<BR>&nbsp;;5=cal3&nbsp;&nbsp;&nbsp;&nbsp;
*<BR>&nbsp;;4=cal2&nbsp;&nbsp;&nbsp;&nbsp;
*<BR>&nbsp;;3=cal1&nbsp;&nbsp;&nbsp;&nbsp;
*<BR>&nbsp;;2=cal0&nbsp;&nbsp;&nbsp;&nbsp; *<BR>&nbsp;;1=not
implemented<BR>&nbsp;;0=not
implemented<BR>&nbsp;;------------------------------------------------------------------------------------------------------------<BR>&nbsp;;(Ocacal
register 5h) pin definitions as per data sheet 1998 for
12c509<BR>&nbsp;;------------------------------------------------------------------------------------------------------------<BR>&nbsp;;7=cal3&nbsp;&nbsp;&nbsp;&nbsp;
*<BR>&nbsp;;6=cal2&nbsp;&nbsp;&nbsp;&nbsp;
*<BR>&nbsp;;5=cal1&nbsp;&nbsp;&nbsp;&nbsp;
*<BR>&nbsp;;4=cal0&nbsp;&nbsp;&nbsp;&nbsp; *<BR>&nbsp;;3=not
implemented<BR>&nbsp;;2=not implemented<BR>&nbsp;;1=not implemented<BR>;0=not
implemented<BR><BR>;---------------------------------------------------------------------------------------------------------------<BR></FONT></DIV>
<DIV><FONT size=2>If your code was originaly written for a 12c509 and then moved
over to a 12c509A you will</FONT></DIV>
<DIV><FONT size=2>notice a BIG difference in execution speed if your code is
related to serial communications.</FONT></DIV>
<DIV><FONT size=2>talking to an EEPROM ,recieving and sending at resonable high
speed , If your merely switching</FONT></DIV>
<DIV><FONT size=2>an led or a relay on or off at 1 sec intervals your problably
would'nt notice a difference....</FONT></DIV>
<DIV><FONT size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>This problem was Addressed to &quot;Microchip Support &quot; ,
The pic list .</FONT></DIV>
<DIV><FONT color=#000000 size=2>Anyone interested in that test code that I wrote
to compare the 12c509 to 12c509A ,I will send it</FONT></DIV>
<DIV><FONT color=#000000 size=2>gladly.</FONT></DIV>
<DIV><FONT color=#000000 size=2></FONT>&nbsp;</DIV>
<DIV><FONT color=#000000 size=2>All the Pics with the &quot;A&quot; as in
12c509&quot;A&quot; are the later versions ,or the &quot;DIE SHRINK&quot;
versions</FONT></DIV>
<DIV><FONT color=#000000 size=2>to Reduce production costs...And we Cannot get a
12c509A to replace a 12c509 WITHOUT REWRITING THE CODE TO ACCOMMODATE A SLOWER
RUNNING PIC....</FONT></DIV>
<DIV><FONT color=#000000 size=2></FONT>&nbsp;</DIV>
<DIV><FONT size=2>Why Should that be nessesary as the pic 12c509 and the 12c509A
are Equivalent ???????????</FONT></DIV>
<DIV><FONT size=2>NOT TO MENSION THE INCREASED RESOLUTION ON THE NEW
12C509A....</FONT></DIV>
<DIV><FONT color=#000000 size=2></FONT>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT color=#000000 size=2>Regards Mark E'silva</FONT></DIV>
<DIV><FONT color=#000000 size=2></FONT><FONT size=2><A
href="spam_OUTmarkTakeThisOuTspamfine.co.za">.....markKILLspamspam@spam@fine.co.za</A></FONT></DIV>> <DIV><FONT size=2></FONT><FONT color=#000000 size=2><A
href="
saverspamKILLspampta.lia.net">.....saverKILLspamspam.....pta.lia.net</A></FONT></DIV>> <DIV><FONT color=#000000 size=2></FONT>&nbsp;</DIV>
<DIV><FONT color=#000000 size=2></FONT>&nbsp;</DIV></BODY></HTML>

</x-html>

1999\04\24@091547 by wwl

picon face
On Sat, 24 Apr 1999 03:29:23 +0200, you wrote:

{Quote hidden}

.. er am I missing something here - the WHOLE POINT of the osccal trim
is that you use the value that MCT burn in at the factory. The ONLY
think that matters is whether or not the part runs at the correct
speed when the factory value is used.
The actual definitions of the osccal bits, and the number of bits,
should be totally irrelevant unless you're doing tricky stuff like
software clock-tweaking for phase-locking etc.

1999\04\24@104159 by Mike Keitz

picon face
On Sat, 24 Apr 1999 03:29:23 +0200 Mark E'Silva <EraseMEsaverspam_OUTspamTakeThisOuTPTA.LIA.NET>
writes:

>Any Suggestions ?  Rewriting the code is NOT an option, only setting
>the
>oscal
>value is, As the 12c509 and 12c509A  ARE 100% equivalent ???????? Not
>to
>mention
>the higher resolution of OSCAL on the 12C509A?

If you copy the value left in the EPROM at the factory to OSCCAL, either
chip does operate close to 4 MHz, right?  That's the way Microchip
intended them to be used.  For programs that simply copy the factory
value into OSCCAL, the "A" version would work the same as the old one.

If you're trying to change the OSCCAL setting to operate the oscillator
at a speed different from 4 MHz, the process would obviously be different
with the "A" version.  Very few applications do that, but if yours does,
then the two chips aren't equivalent.  There may also be some mistakes in
the documentation so what you think is a 'maximum' setting isn't.

___________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com/getjuno.html
or call Juno at (800) 654-JUNO [654-5866]

1999\04\24@200902 by Mark E'Silva

flavicon
face
Mark E'silva Wrote

Hi Mike Have you tried useing code written for a 12c509 on a 12c509A ?
and what setting would you use on the 12c509A if you were to sellect the
maximum
value

I dont agree with you that the 12c509A runs at 4mhz regardless of the oscal
setting

{Original Message removed}

1999\04\25@095323 by wwl

picon face
>Mark E'silva Wrote
>
>The Whole Point of the oscal trim value is that YOU have the Option to Use
>your
>Value of YOUR choice ,Else Microchip Could have left out that option all
>together
>and said Well the chip runs at 4Mhz with the internal rc and you dont have
>the option
>to change it....I
>
Absolutely wrong - MCT clearly only intend the osccal to be used to
set a nominal 4MHz.
The only reason for having an OSCCAL register is that it makes the
test/calibrate process at the factory simpler (hence cheaper), as
having the user write the value to osccal means MCT only have to
program one normal OTP location at test time, as opposed to having
some 'special' trim eprom cell.
Anything else you do with OSCCAL is entirely an 'added bonus' and you
are at the mercy of whatever MCT do to suit their process.
Tweaking osccal in production products comes into the same catagory as
overclocking  - it may work but you must understand the risks of
relying on parameters that the chip maker neither specifies accurately
nor guarantees. You must be prepared to test and pre-select devices if
neccesary, and check that any new die revisions don't mess you up. At
least MCT has the decency to let people know when the die changes by
adding a new suffix to the part number, and are unusually helful  in
that when they introduce a new part, they keep the old ones in
production for a long time - Even the first rev 16C54XT's are still
available, despite the fact they're currently on die rev 'C'.

MCT don't specify the OSCCAL time increment (other than 'approximately
4ns' in the '508 data), or the range of values that typically give
4MHz, so they can sell any chip that _can_ be trimmed to 4MHz, whether
the trim is the min, max, or anywhere inbetween.
Increasing the number of bits on the 'A' parts was probably done so
they can cope with an even wider process variation and still achieve
4MHz nominal somewhere (anywhere) within the trim range. When they
changed the 'a' version, they decided that lower part cost was more
important than keeping consistancy for the tiny minority of users who
do non-standard things with OSCCAL.

1999\04\25@103938 by Mike Keitz

picon face
On Sun, 25 Apr 1999 01:56:55 +0200 Mark E'Silva <saverspamspam_OUTPTA.LIA.NET>
writes:

>Hi Mike Have you tried useing code written for a 12c509 on a 12c509A

I haven't but I gather that others have and had no problem.

>and what setting would you use on the 12c509A if you were to sellect
>the
>maximum
>value

All I've done is use the factory value.  I'm not sure what would give the
maximum speed.  Realize that the maximum speed will be different on every
chip, but the factory value should always give you 4 MHz.  If you want to
guarantee that the PIC runs at a particular speed that is higher than 4
MHz, it would be necessary to use an external oscillator.

>I dont agree with you that the 12c509A runs at 4mhz regardless of the
>oscal
>setting

I didn't say that.  I said if you used the value that was programmed into
the EPROM  (address 3FF) at the factory, it would run as close to 4 MHz
as possible.  The calibratable oscillator is needed because when they
make the chips they don't all run at the same speed.  So they test them
and determine a recommended setting for each particular chip.

If your program ignores the factory value and just loads OSCCAL with the
same constant for every chip, it's just plain wrong.  Every chip may run
at a different speed.  You are lucky that all the 12C509's you had
operated at an acceptable speed.


___________________________________________________________________
You don't need to buy Internet access to use free Internet e-mail.
Get completely free e-mail from Juno at http://www.juno.com/getjuno.html
or call Juno at (800) 654-JUNO [654-5866]

1999\04\25@160257 by Mark E'Silva

flavicon
face
-----Original Message-----
From: Mike Keitz <@spam@mkeitzKILLspamspamJUNO.COM>
To: KILLspamPICLISTKILLspamspamMITVMA.MIT.EDU <RemoveMEPICLISTTakeThisOuTspamMITVMA.MIT.EDU>
Date: Sunday, April 25, 1999 4:55 PM
Subject: Re: Cheaper pic's


{Quote hidden}

Mark E'silva wrote

Well I suppose you have a valid point there and for the record all the
12c509's
that we have programed and used with our Oscal value set to our needs
have worked 100% ok , In fact not a single chip let us down.
It was only when we tried to change to the 12c509A that our problems
started , none of the 12c509A's worked regardless of the oscal setting.
To cut a long story short ,We have decided to stick with the pic that works
and waste no more time with the new 12c509A.

The reson why I trimed  the oscal value is :
The code was written with a 4 mhz external xtal to start with and then moved
over to a 12c509 and then the internal rc was tweeked to be as close as
possible to the 4 mhz xtal using the internal rc option set mid way . This
worked ok on
1000's of pic's "12c509's" ,Then we tried the same code on the 12c509A
and Immediatly found the 12c509A  running way too slow and tried every thing
possible to get the 12c509A up to speed with no succsess.

I am not saying that a 12c509A is totaly useless all I am saying is be
warned
that if you'r using the internal rc option ,And have written code for that
pic
your may have problems like we have to move that code to a different pic
also using  the internal rc option... That is my personal opinion.

Regards Mark E'silva
TakeThisOuTsaverEraseMEspamspam_OUTpta.lia.net
RemoveMEmarkspamTakeThisOuTfine.co.za

1999\04\26@105353 by wwl
picon face
<snip>
>Well I suppose you have a valid point there and for the record all the
>12c509's
>that we have programed and used with our Oscal value set to our needs
>have worked 100% ok , In fact not a single chip let us down.
>It was only when we tried to change to the 12c509A that our problems
>started , none of the 12c509A's worked regardless of the oscal setting.
>To cut a long story short ,We have decided to stick with the pic that works
>and waste no more time with the new 12c509A.
>
>The reson why I trimed  the oscal value is :
>The code was written with a 4 mhz external xtal to start with and then moved
>over to a 12c509 and then the internal rc was tweeked to be as close as
>possible to the 4 mhz xtal using the internal rc option set mid way . This
>worked ok on
>1000's of pic's "12c509's" ,

.. but why don't you use the factory programmed value - that's what
it's there for!

1999\04\26@130627 by William Chops Westfield

face picon face
It sound very much like the bits added to osccal are not in the same "real"
positions as their bit positions would seem to indicate.  Is there any
documentation anywhere describing the operation of the oscal value?  You
should be able to write a program that fiddles with osccal and figures out
which bits are REALLY the most and least significant when it comes to
changing the oscillator frequency...

BillW

1999\04\26@165633 by FVoelzke

picon face
> You should be able to write a program that fiddles with osccal and figures
out
>  which bits are REALLY the most and least significant when it comes to
>  changing the oscillator frequency...

If anybody does this, I would be very pleased to get the results.

Or I'll have to rewrite quite a bit of Code.... (In my very last project I
use the OSCCAL
value to synchronise several 12C509A (wasn't able to get any 12C509/JW not A)
to a PIC16F84 Master).

Florian

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