View previous topic :: View next topic |
Author |
Message |
Tom Jetland
Joined: 23 Jun 2011 Posts: 31 Location: UK
|
Programming Multiple PICs |
Posted: Fri Dec 05, 2014 6:19 am |
|
|
Hi Guys,
I've a project which requires the use of multiple PICs (18F46k22 and PIC16F688) on the same PCB. I need the PCB to be as small as possible, but don't want to have to provide a programming header for each PIC as this takes up too much board space.
I also need the ability to program in circuit for future firmware upgrades.
Has anyone else come up with a solution to this problem as PICs don't have a JTAG programming interface do they?
Thanks,
Tom |
|
|
temtronic
Joined: 01 Jul 2010 Posts: 9246 Location: Greensville,Ontario
|
|
Posted: Fri Dec 05, 2014 6:36 am |
|
|
Off the top of my head...
Add a 'programming director PIC' to the board.
This PIC connects to the outside world,either via serial (aka bootloader) or ICSP. It's program decides which PIC on the board gets the 'update'.
I've only had 1/2 a coffee but it seems possible, similar to a 'router' or PBX, in essence this PIC is nothing more than a digital switch connecting a PIC to the 'outside' world.
food for thought
Jay |
|
|
Tom Jetland
Joined: 23 Jun 2011 Posts: 31 Location: UK
|
|
Posted: Fri Dec 05, 2014 6:40 am |
|
|
Interesting solution temtronic - thanks.
Hope the weather isn't too bad where you are? It's just cold and wet in old Blighty where I am.
Tom |
|
|
temtronic
Joined: 01 Jul 2010 Posts: 9246 Location: Greensville,Ontario
|
|
Posted: Fri Dec 05, 2014 7:56 am |
|
|
It's about the same here, 0*C and freezing rain later(when you're sleeping), lousy to drive in , so great excuse to get some PICs and nRF2401s 'up and running' !
Depending on the number of PICs you have onboard, even a modest size PIC should work as the 'download director', perhaps another 688 ?
cheers
Jay |
|
|
Tom Jetland
Joined: 23 Jun 2011 Posts: 31 Location: UK
|
|
Posted: Fri Dec 05, 2014 9:39 am |
|
|
Thanks Jay,
Don't get too cold.
Tom |
|
|
Gabriel
Joined: 03 Aug 2009 Posts: 1067 Location: Panama
|
|
Posted: Fri Dec 05, 2014 9:42 am |
|
|
If its a one off project, why not just put Chip Sockets and program each of the smaller PICs off board manually and include a programing header for the main pic... Since the smaller PICs I assume will have simpler tasks, they should (IMO) require less updates thus the manual programming would be less of a hassle.
Kind regards,
G. _________________ CCS PCM 5.078 & CCS PCH 5.093 |
|
|
jgschmidt
Joined: 03 Dec 2008 Posts: 184 Location: Gresham, OR USA
|
|
Posted: Sat Dec 06, 2014 9:11 am |
|
|
For situations where I couldn't socket the chip or absolutely didn't have room for an ICSP header ( I use a 5-pin 2mm ), I have used a programming test clip. Here is a link to an example if you don't know what that is:
http://www.pomonaelectronics.com/pdf/d5250-54_5437_1_01.pdf
You can find a lot of them on eBay. _________________ Jürgen
www.jgscraft.com |
|
|
Ttelmah
Joined: 11 Mar 2010 Posts: 19551
|
|
Posted: Sat Dec 06, 2014 1:21 pm |
|
|
As a comment, why not use a bootloader on the PIC's. Easy to modify a version with an 'address' , then only a serial connection needed on the board. |
|
|
asmboy
Joined: 20 Nov 2007 Posts: 2128 Location: albany ny
|
|
Posted: Sun Dec 07, 2014 8:13 am |
|
|
you do not mention is if you have experience in designing for ICSP.
if not - some key points:
http://ww1.microchip.com/downloads/en/DeviceDoc/30277d.pdf
1- be sure you have effective isolation for the PIC program data and clock pins from your application circuit - or the ability to isolate them during the PGM operation.
2- isolation for the Vdd connection from the rest of your circuitry during the program operation.
3- a clean diode isolated way to apply the Vprog to the MCLR pin.
having multiple interconnected pics on one board only makes it more complicated. Not knowing your circuitry - i would be afraid of unwanted activation problems with the pics NOT being programmed -when using
such a common connection for Vdd in particular .
I am in the process right now of re-engineering an incrementally enhanced design that used an 18f4620 + 16F877a + 16f886 on a single board
with common logically combined serial communication - to add more features and use a single 18f8722 -- .....
have you thought of using a single much larger scale PIC of the 80 pin, dual EUSART type? |
|
|
Tom Jetland
Joined: 23 Jun 2011 Posts: 31 Location: UK
|
|
Posted: Mon Dec 08, 2014 3:11 am |
|
|
As usual, some excellent advice guys. Thank you all. I will go away and look into it all... some bed time reading coming up :-)
Tom |
|
|
|