View previous topic :: View next topic |
Author |
Message |
Will Reeve
Joined: 30 Oct 2003 Posts: 209 Location: Norfolk, England
|
PIC24F compiler good enough for 4 UARTs |
Posted: Mon Nov 15, 2010 5:31 am |
|
|
Hi, I am a PIC18F and PIC16F developer, pretty happy with the CCS compiler with these parts. I have a job which requires 4 hardware UARTS, instead of linking two 18's with SPI I thought I would go with a PIC24F part and expand my knowledge!
$100 PCWHD upgrade was a no brainer but it appears that CCS won't let you add it without a current maintenance.
All the talk about how buggy the 24 compiler was and the now $350 cost is making me think about the Microchip C compiler.
All my project needs is 4 hardware UARTs, some flashing LEDs and the registers to go integer math. Most of the CCS compiler bugs seem to be pointer related, am I safe if I program around these? |
|
![](templates/subSilver/images/spacer.gif) |
FvM
Joined: 27 Aug 2008 Posts: 2337 Location: Germany
|
|
Posted: Mon Nov 15, 2010 7:43 am |
|
|
Early PCD version had some problems with UART assignment and programmable #PIN_SELECT, but it's working correctly now. Even if there would be still an issue, you have always the option to access the special function registers directly to perform a particular action. In so far, PCD is surely "good enough". |
|
![](templates/subSilver/images/spacer.gif) |
temtronic
Joined: 01 Jul 2010 Posts: 9170 Location: Greensville,Ontario
|
|
Posted: Mon Nov 15, 2010 8:17 am |
|
|
Since you're already happy with the hardware and software you're currently using, consider staying with what you have.
By using common PICs in your projects,you save a bit on inventory,perhaps boards as well. From the software side, the new series could cost you a LOT of development time($$$) as well as frustration if the code 'just doesn't work'...
'Upgrading' to the newest chip and/or software doesn't mean it's actually better.
Just somethings to consider. |
|
![](templates/subSilver/images/spacer.gif) |
Will Reeve
Joined: 30 Oct 2003 Posts: 209 Location: Norfolk, England
|
|
Posted: Mon Nov 15, 2010 8:45 am |
|
|
indeed. Still rolling it around in my head.
I need 4 hardware UARTS, so 2 x 16F or 18F look good. They need to share memory, so a I2C or SPI between them which doesn't interfere with the UART comms...
On the 24F side, only one PIC to code for and program (although I would design the 2 x 18F's to have the same code)
Cost wise about the same 2 x low end 18F = 1 x low end 24F
Development time, big(ish) learning curve to move to C30, less so CCS. Less hardware/software debug with 24F (assuming the compiler can be trusted!).
Decisions.... |
|
![](templates/subSilver/images/spacer.gif) |
MikeW
Joined: 15 Sep 2003 Posts: 184 Location: Warrington UK
|
|
Posted: Mon Nov 15, 2010 8:45 am |
|
|
I would personally go the safer route, dependent upon the volumes you require.
there is an NXP I2C(SPI) to uart bridge chip, which contains 2 uarts, each with 64 byte tx and Rx FIFO.
it just takes away all of the pain of having a single pic trying to handle multiple uart data.
I have used them on both pic16, and pic 18, and there is a driver posted in the ccs code library forum.
NXP SC16IS752IPW
http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name=568-4016-5-ND
I would steer clear of pcd, I wouldn't use it for a production product |
|
![](templates/subSilver/images/spacer.gif) |
Will Reeve
Joined: 30 Oct 2003 Posts: 209 Location: Norfolk, England
|
|
Posted: Mon Nov 15, 2010 10:40 am |
|
|
Mike, that's a result. Project is mission critical for an instrument about 10,000 times the cost of this part! I think the CCS 18F compiler is pretty much there now (although I do still keep versions with projects just in case!).
That NXP part does what I was going to do myself with the 2nd PIC! Has interrupts on 4 bytes received as well!
90% of me is relieved, 10% disappointed, the 24F looks like a nice family but I would rather develop on it for a less time and mission critical job!
Thanks for all your posts guys. |
|
![](templates/subSilver/images/spacer.gif) |
|