View previous topic :: View next topic |
Author |
Message |
gpsmikey
Joined: 16 Nov 2010 Posts: 588 Location: Kirkland, WA
|
Sharing ICSP and data pins using an ICD-U64 ... |
Posted: Wed Feb 19, 2014 12:39 pm |
|
|
I thought I had seen a discussion here some time ago about various thoughts on sharing pins between the ICSP function as well as using them for their other functions (blinking LEDs or whatever). For the life of me I can't find that discussion now. Obviously with a 40 pin chip, it is usually easy to dedicate the two clock/data pins to the ICSP, but with an 8 pin chip, this becomes more difficult. I am kind of leaning in the direction of a dual inline 6 pin header where the ICSP connector plugs on when you want to program the chip and in normal mode, you just put jumpers across the data and clock pins to their intended function. I have my new ICD-U64 that I have yet to use with my new project and was trying to figure the best way to handle the ICSP (either with a 12F1822 or the 12F1501 chip).
Comments/suggestions?
mikey _________________ mikey
-- you can't have too many gadgets or too much disk space !
old engineering saying: 1+1 = 3 for sufficiently large values of 1 or small values of 3 |
|
|
stinky
Joined: 05 Mar 2012 Posts: 99 Location: Central Illinois
|
|
Posted: Wed Feb 19, 2014 12:59 pm |
|
|
I've been burned on this before when I had an indicator LED on one of those pins.
Don't remember the exact conflict but it sunk enough current through the LED that it wasn't getting to logic level "HI."
Would also be mindful of any capacitance on those lines that could slow down the transition from LO to HI. |
|
|
ezflyr
Joined: 25 Oct 2010 Posts: 1019 Location: Tewksbury, MA
|
|
Posted: Wed Feb 19, 2014 4:59 pm |
|
|
Hi,
I think this is an 'it depends' situation. I have a design that was seriously I/O limited, so I ended up sharing 'PGD' with another function, a beeper. The beeper is driven with an NPN transistor whose base has a 10K resistor to PGD. No issues, but the beeper does 'sing' a bit during program upload!
John |
|
|
gpsmikey
Joined: 16 Nov 2010 Posts: 588 Location: Kirkland, WA
|
|
Posted: Wed Feb 19, 2014 5:57 pm |
|
|
I had been trying to find a schematic of the U64 - in their FAQ, they discuss briefly sharing those lines, but their only comment (which would never fly in a requirements document!! ) is "ensure the circuit has high impedance during the programming process" with no clue as to what "high impedance" really means - open circuit? More than 5k? More than 10k?. I did find references to other people who had issues (one guy in particular was driving FETS with the thought they were no load, not realizing that the gates were spec'd at 1000pf and that much capacitance killed the programming.) I did find one writeup that discussed the driver impedance issue that was helpful, but wanted to see what others were using here. If anyone is interested, I did find this helpful - http://www.embedinc.com/picprg/icsp.htm
There does indeed seem to be a somewhat less than clear definition of the interfaces (I have also seen the Microchip Appnote on ICSP).
mikey _________________ mikey
-- you can't have too many gadgets or too much disk space !
old engineering saying: 1+1 = 3 for sufficiently large values of 1 or small values of 3 |
|
|
jgschmidt
Joined: 03 Dec 2008 Posts: 184 Location: Gresham, OR USA
|
|
Posted: Thu Feb 20, 2014 11:48 am |
|
|
Yup! I've run into that since I use a lot of 8 and 14 pin devices. LEDs connected to PGD/PGC are generally OK as long as I have 1K or greater series resistor. These are also the pins I use for pushbuttons. I use a PicKit2 for programming and if I run into trouble, I can change the programming voltage. I have a production device where I goofed and didn't test programming a fully populated board. Programming fails at 5V but works fine at 4V. _________________ Jürgen
www.jgscraft.com |
|
|
gpsmikey
Joined: 16 Nov 2010 Posts: 588 Location: Kirkland, WA
|
|
Posted: Thu Feb 20, 2014 12:01 pm |
|
|
OK, I did hear back from CCS Support (I had asked them to clarify what "high impedance" meant in their connection information for the U-64). They say that 5k should be fine and also indicated that the drive lines for the data and clock have the same 33 ohm resistor in series with them that the PicKit2 uses. Sounds like 5k or above should be fine, but watch any capacitive loading (no FET gates etc.) connected directly to the lines. Does seem to be a bit of a gray area, but 5k should be OK. If I run into any issues, I'll post back with additional information.
Thanks to the others that posted their experiences and comments!
mikey _________________ mikey
-- you can't have too many gadgets or too much disk space !
old engineering saying: 1+1 = 3 for sufficiently large values of 1 or small values of 3 |
|
|
|