|
|
View previous topic :: View next topic |
Author |
Message |
asmboy
Joined: 20 Nov 2007 Posts: 2128 Location: albany ny
|
from 16f887 --to--18f4620 and the winner is ? |
Posted: Sat Nov 29, 2008 4:02 pm |
|
|
About to start a rather rush upgrade to a project done 6 months ago, adding more features of the floating point kind - originally MIGRATED from an '887 and converted to 16F887, with a few hardware external improvements at that time.
Of course the new FP code I added, overflows the '887 program space of the original part.
to avoid circuit board / hardware change - pin compatibility is critical
SO-
??
An 18f4620 looks like it has enough extra space, but has anybody worked with a part that has more prog mem or is in any other way a better part, that still is a perfect pin for pin swap Up for the 16f887 ?
?? anybody had issues with CCS compiler with that part ?
I am using 8 MHz Intosc , basic 1 channel CCP/PWM, EUSART, timers, SPI, Flash user RAM, and standard I/O etc.
BUT not using A/D features or comparators and sure have no need to add LIN/CAN /LCD/USB support and so on ever. |
|
|
PCM programmer
Joined: 06 Sep 2003 Posts: 21708
|
|
|
FvM
Joined: 27 Aug 2008 Posts: 2337 Location: Germany
|
|
Posted: Sun Nov 30, 2008 2:14 am |
|
|
PIC18F4620 is basically a good and frequently used part. I would expect no serious issues with most recent CCS C versions, but I can't say for sure, cause I'm using it in a project with a two years old V3 compiler version from original project development. I found some minor incompatibilities that needs an adaption, if the project should be ported to V4, but there is no reason anyway.
In new PIC18 projects, V4 (V4.079 .. 4.083) seemed to be almost bug- free (PCD is another story). Generally, when porting a design to another processor family, you should expect some issues, even if the compiler would be perfectly bug-free. |
|
|
Ttelmah Guest
|
|
Posted: Sun Nov 30, 2008 3:29 am |
|
|
OK.
There were quite a few posts basically answering the same question a few years ago, when the newer 18 chips were a lot younger. It too a while for the V3 compiler at that time to get working well, but once it did, the basic answers were:
1) It depends on how your code is written. If you use CCS functions only, then porting most of the time is very easy indeed. Just update the header, and fuses, add any extra initialisation lines for extra peripherals, and "Robert is your auntie's brother"...
2) If however you use any of: assembler, direct port accesses, #ORG, or #ROM statements, then you will need to update all of these.
3) For some things (interrupt calls), the 18, can be fractionally _slower_ at the same clock rate. Unfortunately, there are more registers to save for these. However for just about everything else, the chips are faster. The much better table pointer operation, speeds array accesses, the internal multiplier speeds arithmetic, the better memory handling speeds general execution. You also lose the limits on things like array sizes.
4) You also gained the much faster operation, with the PLL operations. :-)
Now, when the 18 chips were older, some models had a _lot_ of errata. The 4620, did, in it's first couple of commercial releases. However the last couple of releases, are generally very good indeed. The errata are to specific 'parts', such as the MSSP in particular. Any chip from the last couple of years, should now be 99% bug free.
For what you seem to want, the 4620, should be a pretty easy upgrade. I'd suggest you build a tiny project, with the Wizard, then look at what extra device configuration lines it generates (turning off the PSP and comparator in particular), and the fuses. Update these, as your 'starting point'.
Best Wishes |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|