Anybody here got one of these? Have you used other ICEs that compete
with it? It seems like a pretty good price ($699) if it works as
advertised, and I've used the front end software when it was just
a simulator. At least, it *looks* the same.....
Paul Greenwood wrote:
> I have a regulator on my board and a big capacitor (10uF) to keep out
> noise, spikes, etc. Well, I plug in my device, the cap. charges to 5V
> quickly.
I'm curious _why_ you have such a large capacitor on your board. A "filter"
capacitor is named such because it is configured as a low pass filter on the
input voltage. This is done in an effort to keep high frequency components
that are modulated on top of the input power from getting into the voltage
regulator. However, in some sense the regulator itself is the ultimate
low pass filter, passing only DC. The other purpose of the capacitor is
to act as a reservoir of energy when the current demands on the regulator
change suddenly and the regulator is connected to the primary source via
a network that has a limited response time. By providing the extra current
during the short period when the regulator starts demanding it and the
mains can produce it, the capacitor keeps the regulator operating in its
"normal" voltage range. Now, if all you have on the down wind side (the 5v
side) of this regulator is a PIC and a few CMOS chips, even the _worst_
case scenario could be handled by a much smaller capacitor. Easily 1uF and
probably .47uF.
> I checked this [DS1231] out but I really need something like a 5V regulator
> that will pull its output to 0V when the input falls below a threshold.
There are switching regulators with an on/off output. The other thing you
can do is to hook the Dallas part to a CMOS switch (like a 4066 or something
similar (and up to date :-)). Connect the PIC circuit in series with the
switch and have the Dallas part control the switch enable line. When the
reset delay has passed the Dallas part goes "on" and this turns on the CMOS
switch and that turns on the PIC circuit. You should probably be sure and
limit the current through the switch to under 100mA but there are other ways
to do this (with a MOSFET for example) that will work as well. In building
robots I find that good power management requires that I be able to turn
power _off_ to portions of the robot that are not being used (like the speech
synthesizer) to conserve batteries. I've started using Maxim Switching
regulators which are more efficient than 78xx linears and they have a logic
level "on/off" input. If you call Maxim ask about their evaluation board.
> I guess that, I MAY be able to ignore the line in the databook and use the
> reset pin and the DS1231.
> I'm curious _why_ you have such a large capacitor on your board. A "filter"
> capacitor is named such because it is configured as a low pass filter on the
> input voltage. This is done in an effort to keep high frequency components
> that are modulated on top of the input power from getting into the voltage
> regulator. However, in some sense the regulator itself is the ultimate
> low pass filter, passing only DC. The other purpose of the capacitor is
> to act as a reservoir of energy when the current demands on the regulator
> change suddenly and the regulator is connected to the primary source via
> a network that has a limited response time. By providing the extra current
> during the short period when the regulator starts demanding it and the
> mains can produce it, the capacitor keeps the regulator operating in its
> "normal" voltage range. Now, if all you have on the down wind side (the 5v
> side) of this regulator is a PIC and a few CMOS chips, even the _worst_
> case scenario could be handled by a much smaller capacitor. Easily 1uF and
> probably .47uF.
OK. I, however, am driving (on some of my devices), things like triacs and
LEDs. I just picked the largest that I could fit in my tiny case to be
honest with you. Maybe I should use a smaller cap. If I did, then the
voltage would run down fast and I wouldn't have a problem. {Quote hidden}
>
> There are switching regulators with an on/off output. The other thing you
> can do is to hook the Dallas part to a CMOS switch (like a 4066 or something
> similar (and up to date :-)). Connect the PIC circuit in series with the
> switch and have the Dallas part control the switch enable line. When the
> reset delay has passed the Dallas part goes "on" and this turns on the CMOS
> switch and that turns on the PIC circuit. You should probably be sure and
> limit the current through the switch to under 100mA but there are other ways
> to do this (with a MOSFET for example) that will work as well. In building
> robots I find that good power management requires that I be able to turn
> power _off_ to portions of the robot that are not being used (like the speech
> synthesizer) to conserve batteries. I've started using Maxim Switching
> regulators which are more efficient than 78xx linears and they have a logic
> level "on/off" input. If you call Maxim ask about their evaluation board.
Good idea but I was hoping this conversation might produce a simple circuit
that I hadn't thought of. I cannot possibly put even an 8-pin chip on my
board as it is. The best I could probably do is a 3-pin device like the
DS1231. Since my post, many people have said that I DON'T have to start the
PIC at 0V so I think that is my best bet.
>
> All in all, probably the best way to go.
Yep, that's seems to be the consensus here. I'll try it out.
> Good idea but I was hoping this conversation might produce a simple circuit
> that I hadn't thought of. I cannot possibly put even an 8-pin chip on my
> board as it is. The best I could probably do is a 3-pin device like the
> DS1231. Since my post, many people have said that I DON'T have to start the
> PIC at 0V so I think that is my best bet.
In case you haven't heard, Pure Unobtanium (Ed Nisley's hard-to-find parts
business) is going out of business. Checking his latest flyer (arrived today)
I see that he has marked down the price of the DS1231 to only $3.80 -
certainly cheap enough for most hobbiest applications.
To order from PU, or to ask about other items he is selling (6 page flyer)
you can contact him via voice/FAX at (919) 676-4525.
I am not getting a 'kick-back' from Ed for letting others know about his
going out of business sells - I am just doing it as a friendly gesture to
him. However, I would appreciate it if you mention my name when you order -
maybe he'll help me out on one of my 8051 projects.... ;-}
BTW, I posted a short list of some of the parts in Ed's latest flyer to
comp.robotics and sci.electronics. I hope this email (and the posts) are
not out of character with the charter for the newsgroup/mail-list - I am
only doing it to help fellow readers 'find a good deal', and at the same
time help another friend. Thanx.
-----------------------------------------------------------------------------
Rodney Radford, Senior Systems Developer, Image Technology Group sasrerKILLspamunx.sas.com SAS Institute, Inc, Cary, NC 27513 (919) 677-8000 x7703
-----------------------------------------------------------------------------
One last time from me on this subject. What you want for reset
is the Dallas DS1233 a T) 0O-92 (3-Pin) or SOT-223 for surface mount.
It works form me, is cheap, and has the right features. It will
even debounce your reset switch. Contact your local Dallas Rep./Dist.
for a data sheet.
> One last time from me on this subject. What you want for reset
> is the Dallas DS1233 a T) 0O-92 (3-Pin) or SOT-223 for surface mount.
> It works form me, is cheap, and has the right features. It will
> even debounce your reset switch. Contact your local Dallas Rep./Dist.
> for a data sheet.
>
> Brian Read
>
OK, thanks - I'll get one.
As some of you know, Some of the files referenced in the
pages of Curcuit Cellar Ink are made available on their
BBS; and can be obtained via internet email if you send
a message requesting them to their FTPMail server.
I have asked for and received permission to provide
this service. Of course, Curcuit Cellar Ink does not
assume responsibility for it since I don't work for them.
* This message contains the file 'hbridge.tif', which has been
* uuencoded. If you are using Pegasus Mail, then you can use
* the browser's eXtract function to lift the original contents
* out to a file, otherwise you will have to extract the message
* and uudecode it manually.
* This message contains the file 'capture.tif', which has been
* uuencoded. If you are using Pegasus Mail, then you can use
* the browser's eXtract function to lift the original contents
* out to a file, otherwise you will have to extract the message
* and uudecode it manually.
I used a IR LED - phototransistor pair from radio shack to provide
velocity feedback. The driven gear from the Meccano Errector set
had eight holes just the right size for the LED.
I tried 2.2 Kohms and a parallel cap 100 nF but didn't work.
The only way I got it working on two diferent PCs was with 4.7 Kohms.
I'm doing In Circuit Prpgramming with a very simple modification to the Cheap
(Or should I say inexpensive - Great value low price - ) RS-232 Prog.
I programmed (ICP) about 50 times three 16C84, read/verified and
erased them with no problem. Didn't blow any 16C84 (Yet... ;-) )
The circuit mod. is as follows:
External VCC (+5V) thru 1N4148 to VDD (P14).
External VCC (+5V) thru 1N4148 to MCLR (P4).
Join VDD (P14) to RTCC (P3).
TXd to VPP (RTCC) (P3) thru 2.2 Kohms
DTR to RB7 (P13) thru 4.7 Kohms
CTS to RB7
RTS to RB6 thru 22 Kohms.
Rest of the circuit (RS-232 Power supply) as in the original, with 5.6 V Zener.
Clock circuit is as usual.
Another intresting thing is that as I can't get 16C84-10 here in Argentina,
I'm using a 7.159090 Mhz Xtal with a 16C84-04/P.
Tried 4 and all of them work OK.
In my circuit RB6 and RB7 are dedicated to the programmer.
You can program & erase while VCC is on and see instantly what's happening.
To Read/Verify/Blank Check you have to turn of VCC.
Any idea to leave VCC on all the time and be able to Read/Verify ?
>I tried 2.2 Kohms and a parallel cap 100 nF but didn't work.
>The only way I got it working on two diferent PCs was with 4.7 Kohms.
Yes, the input impedance of DTR varies on different PC's.
>Any idea to leave VCC on all the time and be able to Read/Verify ?
Yes.
This is the schematic for my PIC16C84 Module (without oscillator circuit).
Programming can be done in circuit, if RB6/7 aren't connected to any high
load.
Otherwise I'm removing the module for programming.
Supply voltage must be turned on, if the connected circuitry draws power from
Vdd.
The 2k2 / 4k7 between DTR and RTS is placed inside the SUB-D case, therefore
removing the programming connector removes the load and RB6/7 will be free
for use.
TxD --------------------------*---------------------I
I I
--- I
I I 2k2 I
I-------I I I I
+6.5 *-I 78L05 I-----I --- I
I I-------I I I ---
I I I --- I I 10k
I I I \ / I I
I100n I I --- 47k ---
--- I I I -- I _____
--- I *---------*----------*--I I----*-------------- Reset
I I I I I -- I
I-----* I + /--- I I
I --- / / \ 5V6 I I
I --- 15u --- I I
I I I I 14 I 4
I I I I--I----------I---I
I I I I Vdd Vpp I
I I I 5 I I
GND -------*---------*---------*-------I Gnd I
I I PIC 16C84
22k I I
-- 12 I I
RTS ---I I----------------------------I RB6 I
-- I I
-- 13 I I
DTR ---I I---*------------------------I RB7 I
-- I I I
2k2/ I I-----------------I
4k7 I
CTS ----------I
> >Check out any issue over the past few months of _Nuts&Volts_, _Circuit Cellar
> >INK_, or _Microcomputer Journal (Formerly _ComputerCraft_). Parallax's adds
> >have startup PIC programmer kits for $99.00 US. Or, you could check out
> >their web page at http://www.parallaxinc.com.
> >
> >Or search old issues of _Circuit Cellar INK_. There was an article ~ a year
> >ago that had a DIY programmer for the 16C84 and 16C71
The June 1994 issue (number 47) has a article listed in the index (supplied
with my new subsription) as Programming PIC's on a Budget.
> I have not heard of that magazine before. It sounds like a UK magazine.
They are American and give great service (a recent convert), I placed an
order for a subsription to them on the WEB and they faxed me a confirmation
the same day and posted the first issue the next day. Which I received
a week later.
Due to the fact that tfnet.ils.unc.edu is currently not reachable, I have
moved my WWW interface to the Circuit Cellar Ink BBS FTPmail server to the
following URL.
I've put together a simple circuit board for use in prototyping PIC
projects. The board is constructed using wire wrapping techniques.
I've hooked the proto board up to a simple breadboard circuit
consisting of LEDs and resitors connected to each of the ports on
port A & B.
MCLR tied to +5v through a 1k resistor, with a pushbutton switch to
ground to provide a reset switch. OSC1, OSC2 to a xtal and two caps.
RA4/RTCC is tied to +5v
The problem is the circuit doesn't startup properly. Using a freq
cntr I've checked the oscillator and it is runnning. Turning off the
power supply to the circuit starts it as the power supply discharges.
By reapplying power the circuit will continue to function; however,
when I press the reset button the circuit fails to restart.
BTW, the WDT, is off
Any ideas about what is causing the problem?
------------------------------------------------------------
Walter Anderson, CCP email: RemoveMEwandrsonTakeThisOuTonramp.net
2500 Guerrero, #221 callsign: KD4KIL
Carrollton, Texas 75006 url: <in progress>
------------------------------------------------------------
At 16.57 1995-11-05 +0000, Walter Andersson wrote:
>I've put together a simple circuit board for use in prototyping PIC
>projects. The board is constructed using wire wrapping techniques.
>I've hooked the proto board up to a simple breadboard circuit
>consisting of LEDs and resitors connected to each of the ports on
>port A & B.
I hope you don't overload your PIC with all these LED:s. Normally each
LED should get 10-20mA and 10 of them should have up to 200mA, way too
much for our little friend. For the PIC16C5X series the absolute maximum
rating is 150mA out of the VSS pin and max 50mA in to VDD pin. Max output
sunk by a single I/O port is 50mA and max output current sourced by a
single I/O port is 40mA. Each port pin can take 20mA alone (sourced) and
25mA (sunk). Well, maybe it works anyway but it wont hurt to be on the
legal side ... :)
>MCLR tied to +5v through a 1k resistor, with a pushbutton switch to
>ground to provide a reset switch. OSC1, OSC2 to a xtal and two caps.
>RA4/RTCC is tied to +5v
Try to add a low pass network and some diodes to your switch. It will help
to debounce and make a slow reset. There are a few good circuits in the
uC-databook.
You might also need a smoothing capacitor say 100nF at each digital IC and
connected between VDD and VSS.
>The problem is the circuit doesn't startup properly. Using a freq
>cntr I've checked the oscillator and it is runnning. Turning off the
>power supply to the circuit starts it as the power supply discharges.
>By reapplying power the circuit will continue to function; however,
>when I press the reset button the circuit fails to restart.
Look at your power rails close to the pic via an oscilloscope, It
might help you locate the problem source.
> At 16.57 1995-11-05 +0000, Walter Andersson wrote:
>
> >I've put together a simple circuit board for use in prototyping PIC
> >projects. The board is constructed using wire wrapping techniques.
> >I've hooked the proto board up to a simple breadboard circuit
> >consisting of LEDs and resitors connected to each of the ports on
> >port A & B.
>
> I hope you don't overload your PIC with all these LED:s. Normally each
> LED should get 10-20mA and 10 of them should have up to 200mA, way too
> much for our little friend. For the PIC16C5X series the absolute maximum
> rating is 150mA out of the VSS pin and max 50mA in to VDD pin. Max output
> sunk by a single I/O port is 50mA and max output current sourced by a
> single I/O port is 40mA. Each port pin can take 20mA alone (sourced) and
> 25mA (sunk). Well, maybe it works anyway but it wont hurt to be on the
> legal side ... :)
I have some LEDs connected to a PC16C84. They are 4x7segment displays
for a game for my daughter. I have connected the LEDs directory as
a 4x8 matrix, and I multiplex 1/8. I reasoned that this was not going to
get things to hot (i.e. max 4 LEDs at any one time). Also, over driving the
LEDs a bit seems to make up for the low mux rate.
Seems to work fine.
With 13 IO lines I have 4 x 7 seg digits (plus decimal point) and 6 buttons
and a buzzer (piezo). I did have to put diodes in with the buttons !
Is it always necessary for an RC circuit on the MCLR' pin
during power up? In the PIC Microntoller book, pages 2-39,
they recommend such a circuit for slow power up conditions.
Would a circuit running off a 9V battery through a low
dropout regulator be considered a slow VDD power up? They
don't seem to give any numeric specs.
>Is it always necessary for an RC circuit on the MCLR' pin
>during power up? In the PIC Microntoller book, pages 2-39,
>they recommend such a circuit for slow power up conditions.
>Would a circuit running off a 9V battery through a low
>dropout regulator be considered a slow VDD power up? They
>don't seem to give any numeric specs.
Neil:
They DO give numeric specs; "slow" is defined as anything slower than
0.05V/ms (16C5x data sheet, section 7.4.1). However, this spec assumes
that power-up is monotonic and starts at 0V. Since you can't guarantee
these conditions when plugging in your 9V battery, you should put an RC
on the MCLR line.
Can anyone point me to an ftp/http address for a reference list of articles that
describe the files contained at the following Circuit Cellar ftp site:
ftp://ftp.circellar.com/pub/circellar/
I presume that Circuit Cellar is an electronics magazine in the US?
Can anyone point me to an ftp/http address for a reference list of articles that
describe the files contained at the following Circuit Cellar ftp site:
ftp://ftp.circellar.com/pub/circellar/
I presume that Circuit Cellar is an electronics magazine in the US?
I'm working on a project at work where I've managed to incorporate some PIC
chips (which I have been trying to do ever since I started playing with
them myself). Actually, not just some PICs, but 256 of them! I won't go
into terrible details, but basically each PIC monitors a sensor and outputs
status information onto a common bus, when instructed.
Here's my first (of probably many) questions:
I want to be able to program the PICs in circuit, so I'm using the 16C84.
That would make it very easy to modify their program in the field if bugs
are found (not that that ever happens ;-) or new features are required. It
also should make initial testing easier.
Programming speed isn't an issue. If it takes even a half an hour to
program all 256 PICs, that's OK. (but obviously faster is better) My
question is, how can I easily and economically parallel up the two inputs
(RB6 and RB7 if memory serves) used for programming? I can afford to
dedicate these two pins for programming, they aren't needed for actual
system use. Can I just tie them all together, assuming that the PICs that
aren't being programmed will tri-state their pins? (Decode circuitry is
used to place the appropriate voltages on MCLR on the selected PIC) My
concern is that the other PICs will load down the lines.
Also, the PICs seperated by about 2 meters total length, so I already know
I'll have to keep the programming speed down, and use termination, to avoid
reflections and other nasty transmission line problems.
Nothing like diving in head first on your first PIC project at work, eh?
Thanks in advance,
Chris
----------------------------------------------------------------------------
|Check out my WWW page at http://www.access.digex.net/~cps/ for ham radio |
|software for the Mac; Free Radio, Shortwave Radio, and Spy Numbers Stations |
|information. |
|Finger me (EraseMEcpsaccess.digex.net) for my PGP Public Key |
----------------------------------------------------------------------------
"Those who would gladly sacrifice liberty for security deserve neither."
-Ben Franklin
Chris Smolinski wrote:
>I'm working on a project at work where I've managed to incorporate some PIC
>chips (which I have been trying to do ever since I started playing with
>them myself). Actually, not just some PICs, but 256 of them! I won't go
>into terrible details, but basically each PIC monitors a sensor and outputs
>status information onto a common bus, when instructed.
>
>Here's my first (of probably many) questions:
>
>I want to be able to program the PICs in circuit, so I'm using the 16C84.
>That would make it very easy to modify their program in the field if bugs
>are found (not that that ever happens ;-) or new features are required. It
>also should make initial testing easier.
>
>Programming speed isn't an issue. If it takes even a half an hour to
>program all 256 PICs, that's OK.
If you use all the program locations, even under ideal conditions it will.
10 ms per location * 1024 locations * 256 chips = 43 minutes. If your
program is smaller, or provisions are made for programming all or several
PICs in parallel at once, (then verifying them seperately) than the 30
minute time may be achievable.
(but obviously faster is better) My
>question is, how can I easily and economically parallel up the two inputs
>(RB6 and RB7 if memory serves) used for programming? I can afford to
>dedicate these two pins for programming, they aren't needed for actual
>system use. Can I just tie them all together, assuming that the PICs that
>aren't being programmed will tri-state their pins? (Decode circuitry is
>used to place the appropriate voltages on MCLR on the selected PIC) My
>concern is that the other PICs will load down the lines.
Consider connecting all the MCLRs together, and mutiplexing the programming
clock (RB6) to each PIC. This pin is TTL-level and input only during
programming mode, so it might be easier to multidrive in a multiplex
arrangement than 13 V on MCLR to each one. Also the multiplexing hardware
may be useful during operation to independently address each PIC.
>Also, the PICs seperated by about 2 meters total length, so I already know
>I'll have to keep the programming speed down, and use termination, to avoid
>reflections and other nasty transmission line problems.
Maybe break the PIC array up into 'banks' of 32 or so and using a seperate
Vpp driver and RB7 driver/receiver for each bank.
-- Mike
TIME CARD SAYS YOU'RE NAME'S "JOE" / BUT WE'LL CALL YOU "6-3-0"
> Programming speed isn't an issue. If it takes even a half an hour to
> program all 256 PICs, that's OK. (but obviously faster is better) My
> question is, how can I easily and economically parallel up the two inputs
> (RB6 and RB7 if memory serves) used for programming? I can afford to
> dedicate these two pins for programming, they aren't needed for actual
> system use. Can I just tie them all together, assuming that the PICs that
> aren't being programmed will tri-state their pins? (Decode circuitry is
> used to place the appropriate voltages on MCLR on the selected PIC) My
> concern is that the other PICs will load down the lines.
The following suggestion may or may not work; I make no guarantees:
[1] Use eight drivers for D6, eight drivers for D7, and four for /MCLR.
Arrange the chips in an 8x8x4 matrix [256 total].
[2] To program an individual chip, raise its /MCLR line to 12 volts while
grounding the other three, and send out clock and data signals on its
clock and data pins while leaving the other ones alone.
[3] You can probably program several chips at once, and verify them using
a different pattern. I'd suggest programming four at once [raise all
for /MCLR's to 12 volts for programming, then use one D6/D7 pair at a
time to program the chips] and then verifying the chips either one at
a time or eight at a time [all the chips associated with a given /MCLR
/D6 pair simultaneously]. If your /MCLR +12 supplies are beefy enough
you may be able to program 32 at a time [use the same /D7 wire for all
32 and stagger the clocks to ensure they don't all switch on their VPP
supply simultaneously].
> Also, the PICs seperated by about 2 meters total length, so I already know
> I'll have to keep the programming speed down, and use termination, to avoid
> reflections and other nasty transmission line problems.
Not a bad idea...
> Nothing like diving in head first on your first PIC project at work, eh?
Hi Folks,
Recently I've been thinking to buy an In-circuit emulator for PIC,
however, I don't know much about which is good. Can anyone suggest some
brands ? Any information available such as the features, prices ?
Thanks.
Regards,
Nevin K. Ng RemoveMEkngEraseMEEraseMEhkstar.com
Recently I've been thinking of buy a PIC emulator, any suggestion
about the emulator ? Can someone list the brands, how these cost,
features, etc ? Also how to contact the dealer. Thanks a lot !!!
> Recently I've been thinking to buy an In-circuit emulator for PIC,
> however, I don't know much about which is good. Can anyone suggest
> some brands ? Any information available such as the features,
> prices ?
Kevin:
Microchip's own PIC-Master is the best, by far. Unfortunately, it
costs $2300 (or $3000 with a PRO-MATE programmer).
I'm currently evaluating a lower-end emulator called the ICEPIC, from
RF Technologies. While it's missing some of the features which I
find most useful in the PIC-Master (hardware trace, external logic
probes, etc.), it's considerably cheaper ($800 or so).
When my evaluation's complete, I'll post a message here describing my
experiences.
First, I am terribly sorry of the rude accidental posting I did.
I was NOT aware of the fact that a reply to a message on the piclist would
arrive on the pic-list.
Hereby I want to apologise myself to anyone I have offended by my 'junk' mail.
Again, sorry. I wish I could turn back the clock.
Now to the topic...
I want to be able to do some in circuit serial (re)programming of a
circuit I have. In general, I want to experiment with the fact that a '84 can
be programmed whilst in the target circuit.
The circuit consists of a 16c84, vdd is directly connected to vpp.
Now my question is, is this possible? I personally don't think so
'coz vdd needs to be 5v and vpp needs to be 13.5v.
I think I will blow it up while trying to program this circuit.
But maybe not, I don't want to throw away my picstart 16b, nor the '84.
Is it possible with extra circuitery?
Should the circuit contain an extra resistor between vdd and vpp and if yes
what value?
How long can the programmer to '84 cable be in general?
I want to be able to use quite a long cable (1 meter), are there any things
I should be aware of?
I was also wondering, has the picstart16b1 the ability to do in circuit
serial programming or do I need a special programmer?
If yes, what kits are out there with this ability? (commercial and diy)
Many questions, I hope one of you specialists can help me.
Thanks in advance.
--
****************************************************************************
* -= Dennis Velthuis =- -= RemoveMEdenvKILLspamhtsa.hva.nl =- *
* -= Raving His Way Into Tha Future ;) =- *
* -= http://htsa.htsa.hva.nl/~denv =-
* -= U Have The Right to Exchange Information, So Use This Right! =- *
****************************************************************************
>Now to the topic...
>
>I want to be able to do some in circuit serial (re)programming of a
>circuit I have. In general, I want to experiment with the fact that a '84 can
>be programmed whilst in the target circuit.
>The circuit consists of a 16c84, vdd is directly connected to vpp.
>
>Now my question is, is this possible? I personally don't think so
>'coz vdd needs to be 5v and vpp needs to be 13.5v.
>I think I will blow it up while trying to program this circuit.
>But maybe not, I don't want to throw away my picstart 16b, nor the '84.
>Is it possible with extra circuitery?
>Should the circuit contain an extra resistor between vdd and vpp and if yes
>what value?
Yes. The value can be 4K7-22K. 10K is good. Some people use a diode but a
resistor is better as it allow ESD to discharge. ESD on the Vpp pin CAN
scramble the memory!
>
>How long can the programmer to '84 cable be in general?
>I want to be able to use quite a long cable (1 meter), are there any things
>I should be aware of?
I meter long cable probably won't cause to many problems but this is a
matter I'm not expert on. There is nothing extra to consider just because
you are actually programming a chip. The usual data comms considerations
apply. I'm to uneducated to say much more.
>I was also wondering, has the picstart16b1 the ability to do in circuit
>serial programming or do I need a special programmer?
>If yes, what kits are out there with this ability? (commercial and diy)
The PICSTART 16B used the serial method of programming (I think!) BUT this
is not necessarily the same as ISP. Maybe you can experiment and get the
PICSTART to program in-system.
It should be possible. Just don't load RB6 and RB7 on the target.
I recommend you start with the 16C84 in a bare socket (and the Vdd-Vpp
resistor) and bring GND (5), Vdd (15), Vpp (4) RB6 (13) and RB7(14) across
to it. Get it working in the socket first to verify the use of the serial
program method and correct wiring THEN transpose to you target. This way you
can track where problem occur. Pin numbers in () are for the 16C84.
There are many kit programmers that will program the 16C84 in-system but I
feel you should be able get the PICSTART to do what you want.
>
>Many questions, I hope one of you specialists can help me.
Me, a "specialist?" A title at last?!
>
>Thanks in advance.
>
> >Should the circuit contain an extra resistor between vdd and vpp and if yes
> >what value?
>
> Yes. The value can be 4K7-22K. 10K is good. Some people use a diode but a
> resistor is better as it allow ESD to discharge. ESD on the Vpp pin CAN
> scramble the memory!
>
Hi,
While it will limit any current flow to a fairly harmless level, a
resistor alone will not prevent the Vpp voltage appearing on the 5 volt
Vdd supply line. I prefer to use a diode and resistor in series. The
programmer should hold Vpp to ground before applying the actual Vpp in
programming mode thus providing an ESD path.
>On Thu, 21 Mar 1996, Newfound Electronics wrote:
>
>> >Should the circuit contain an extra resistor between vdd and vpp and if yes
>> >what value?
>>
>> Yes. The value can be 4K7-22K. 10K is good. Some people use a diode but a
>> resistor is better as it allow ESD to discharge. ESD on the Vpp pin CAN
>> scramble the memory!
>>
>Hi,
>
>While it will limit any current flow to a fairly harmless level, a
>resistor alone will not prevent the Vpp voltage appearing on the 5 volt
>Vdd supply line. I prefer to use a diode and resistor in series. The
>programmer should hold Vpp to ground before applying the actual Vpp in
>programming mode thus providing an ESD path.
Dermot,
At no stage should there be Vpp applied without Vdd. It is the presence of
Vdd that stops Vpp appearing on the Vdd pin. I would be VERY concerned if
any programmer applied Vpp without Vdd.
Regarding ESD. While the programmer may hold Vpp at ground, what about when
it is not connected? This is when ESD "scrambling" can occur. I know it less
likely if the usual preventative measures are taken, BUT I know it has
happened and it appears to happen at ESD levels that ordinarily wouldn't
harm the rest of the componentry. IMHO the resistor method has no drawbacks
and does serve to prevent such occurences. I can see only positives for it
myself. However, many people do use the diode without to many problems.
BTW The "victim" in the case I know of had to reprogram 100 16C84 based
boards again. Ouch!
> At no stage should there be Vpp applied without Vdd. It is the presence of
> Vdd that stops Vpp appearing on the Vdd pin. I would be VERY concerned if
> any programmer applied Vpp without Vdd.
Hi Jim,
I think we may be at cross purposes here. The original inquiry (as I
understood it) was about a circuit that had Vpp hard-wired to Vdd,
presumably to hold MCLR* high in normal operation. Thus the Vpp voltage
level would appear on the Vdd line. However even with a large value
resistance between Vpp/MCLR* and Vdd, the programming voltage can still
appear on Vdd.
>
> Regarding ESD. While the programmer may hold Vpp at ground, what about when
> it is not connected? This is when ESD "scrambling" can occur. I know it less
> likely if the usual preventative measures are taken, BUT I know it has
> happened and it appears to happen at ESD levels that ordinarily wouldn't
> harm the rest of the componentry. IMHO the resistor method has no drawbacks
> and does serve to prevent such occurences. I can see only positives for it
> myself. However, many people do use the diode without to many problems.
Obviously if the resistor alone works well, it's a matter of choice, but
personally, I would be very wary of not using a diode/resistor combination,
with perhaps a
higher value resistor to Vss for additional ESD discharge purposes.
>
> BTW The "victim" in the case I know of had to reprogram 100 16C84 based
> boards again. Ouch!
>I want to be able to do some in circuit serial (re)programming of a
>circuit I have. In general, I want to experiment with the fact that a '84 can
>be programmed whilst in the target circuit.
While I can not answer your question, or because I can not
answer your question, I have an alternative for you.
The Basic Stamp does what you want. It is a pic programmed
with an interperter. The basic tokens are storred in serial
eeprom. To program a '84' for such a function may not be
practical because of development time and/or memory,
But the concept may be a good one to use.
The 64 bytes of eeprom data could hold I/O pin configuations
and/or data constants. Also the data eeprom could contain tokens
to control program flow. (a very high level interperter?)
So if you wish to have just a reconfiguable program or I/O, then
the only cost would be the serial interface program and its I/O pins.
I do not know for what purpose you wish to reprogram the PIC, but
the concept is interesting. I have written a program for the IBM PC
that is a platform for testing methods of solving mazes. The program
accepts commands such as "go right", "turn left", and "test foward".
The program returns a true if the command was excuited or a false if
there was an obstruction in the way. I then added a celluar automata
routine with a eight by eight matrix program to run the maze. This
became a self learning program for the "maze runner" and had good
results. Could this "self learning" feature be implimented on a PIC?
>>
>>I want to be able to do some in circuit serial (re)programming of a
>>circuit I have. In general, I want to experiment with the fact that a '84 can
>>be programmed whilst in the target circuit.
>>The circuit consists of a 16c84, vdd is directly connected to vpp.
>>
>>Now my question is, is this possible? I personally don't think so
>>'coz vdd needs to be 5v and vpp needs to be 13.5v.
>>I think I will blow it up while trying to program this circuit.
>>But maybe not, I don't want to throw away my picstart 16b, nor the '84.
>
>
>>Is it possible with extra circuitery?
>
>>Should the circuit contain an extra resistor between vdd and vpp and if yes
>>what value?
>
>Yes. The value can be 4K7-22K. 10K is good. Some people use a diode but a
>resistor is better as it allow ESD to discharge. ESD on the Vpp pin CAN
>scramble the memory!
When I tried this, I had problems getting the circuit to program correctly.
I added a jumper that connects the Vdd of the chip to the rest of the
circuit. When I need to program, I remove the jumper before attaching
the programmer. This has worked so far. I currently don't have anything
attached to the programming clock and data pins (RB6,RB7) in my circuit. I do
have the diode from circuit Vdd to the MCLR pin to protect the rest of the
circuit while programming. BTW I am using the ITU PIC-1 programmer but if
your programmer uses serial programming, the same should apply.
>
>>
>>How long can the programmer to '84 cable be in general?
>>I want to be able to use quite a long cable (1 meter), are there any things
>>I should be aware of?
The signal is serial but the voltage levels are not the same as
EIA-232 (AKA RS-232). The main concerns I would have is voltage drop for
a 1m run and cross talk from the clock and data signals. Cross talk can
be minimized by using sheilded twisted pair (STP) cable but you may not be
able to compensate for voltage drop. Try it and see.
>>I was also wondering, has the picstart16b1 the ability to do in circuit
>>serial programming or do I need a special programmer?
>>If yes, what kits are out there with this ability? (commercial and diy)
Don't know if PICSTART can do serial programming but the PIC-1 from ITU can.
If you can wirewrap the programmer, buy the plans and software package only
since the circuit is quite simple. I bought the full kit and am quite pleased
with it. ITU even responded to my sugesstions to improve the kit.
>
>I recommend you start with the 16C84 in a bare socket (and the Vdd-Vpp
>resistor) and bring GND (5), Vdd (15), Vpp (4) RB6 (13) and RB7(14) across
>to it. Get it working in the socket first to verify the use of the serial
>program method and correct wiring THEN transpose to you target. This way you
>can track where problem occur. Pin numbers in () are for the 16C84.
>
This is great advice. When my first attempts to program in circuit failed,
I had to go back and take things off until I found the problem. Would have
been much smarter to approach it this way.
BTW in circuit programming is the only way to go. I can program the chip, test
it find my bugs and reprogram it in a few mins.
>On Thu, 21 Mar 1996, Newfound Electronics wrote:
>
>> At no stage should there be Vpp applied without Vdd. It is the presence of
>> Vdd that stops Vpp appearing on the Vdd pin. I would be VERY concerned if
>> any programmer applied Vpp without Vdd.
>
>Hi Jim,
>
>I think we may be at cross purposes here. The original inquiry (as I
>understood it) was about a circuit that had Vpp hard-wired to Vdd,
Dermot,
Yes, that WAS the case but had been dealt with before we came to the diode V
resistor bit. It had to be otherwise ISP is not possible.
>presumably to hold MCLR* high in normal operation. Thus the Vpp voltage
>level would appear on the Vdd line. However even with a large value
>resistance between Vpp/MCLR* and Vdd, the programming voltage can still
>appear on Vdd.
I don't know what you mean Dermot. To my understanding we have a low
impedence source controling Vdd and a high impedence source from Vpp/MCLR.
The voltage difference is dropped across the resistor. What could I be
missing? At worst Vpp contributes a little extra current, Right??
>
>>
>> Regarding ESD. While the programmer may hold Vpp at ground, what about when
>> it is not connected? This is when ESD "scrambling" can occur. I know it less
>> likely if the usual preventative measures are taken, BUT I know it has
>> happened and it appears to happen at ESD levels that ordinarily wouldn't
>> harm the rest of the componentry. IMHO the resistor method has no drawbacks
>> and does serve to prevent such occurences. I can see only positives for it
>> myself. However, many people do use the diode without to many problems.
>
>Obviously if the resistor alone works well, it's a matter of choice, but
>personally, I would be very wary of not using a diode/resistor combination,
>with perhaps a
>higher value resistor to Vss for additional ESD discharge purposes.
I guess it is a matter of choice and just as you are wary, I too, am wary of
the diode. For 16C84 systems I tend to leave it out.
In the case I am refering to, the victim subjected his PCBs to a finishing
proceedure. Before he discovered my programmer he use to program within the
programmer and tranfer the chips. When he got my programmer with the ISP
option he modified his circuit and added the diode (I told him to). When he
used the same finishing proceedure this is when the 16C84 scrambled. (And I
coped an ear full!)
He is now using just a resistor with no further problems.
So maybe under normal circumstances, the diode is ok. But in my view the
resistor is safe and eliminates the possibility.
BTW. The ESD problem with the 16C84 occurs because it requires so little
current to enter the program mode. It doesn't tend to happen on the EPROM
based PICs which require more oumph (did I spell that right?) on the Vpp pin.
>>Yes. The value can be 4K7-22K. 10K is good. Some people use a diode but a
>>resistor is better as it allow ESD to discharge. ESD on the Vpp pin CAN
>>scramble the memory!
>
>When I tried this, I had problems getting the circuit to program correctly.
>I added a jumper that connects the Vdd of the chip to the rest of the
>circuit. When I need to program, I remove the jumper before attaching
>the programmer. This has worked so far. I currently don't have anything
>attached to the programming clock and data pins (RB6,RB7) in my circuit. I do
>have the diode from circuit Vdd to the MCLR pin to protect the rest of the
>circuit while programming. BTW I am using the ITU PIC-1 programmer but if
>your programmer uses serial programming, the same should apply.
Norm,
Have you tried reducing or eliminating the 100R resistor (R11 on my ITU
programmer) This might fix you problem and eliminate the need for the Vdd
jumper. This 100R resistor was discussed a month or two ago on the piclist.
>
>>>I was also wondering, has the picstart16b1 the ability to do in circuit
>>>serial programming or do I need a special programmer?
>>>If yes, what kits are out there with this ability? (commercial and diy)
>
>Don't know if PICSTART can do serial programming but the PIC-1 from ITU can.
>If you can wirewrap the programmer, buy the plans and software package only
>since the circuit is quite simple. I bought the full kit and am quite pleased
>with it. ITU even responded to my sugesstions to improve the kit.
Yes, the new PCB looks very impressive and the ITU programmer has been well
supported.
>>I recommend you start with the 16C84 in a bare socket (and the Vdd-Vpp
>>resistor) and bring GND (5), Vdd (15), Vpp (4) RB6 (13) and RB7(14) across
>>to it. Get it working in the socket first to verify the use of the serial
>>program method and correct wiring THEN transpose to you target. This way you
>>can track where problem occur. Pin numbers in () are for the 16C84.
>>
>
>This is great advice. When my first attempts to program in circuit failed,
>I had to go back and take things off until I found the problem. Would have
>been much smarter to approach it this way.
>
>
>Norm
>spamBeGonecramerSTOPspamEraseMEdseg.ti.com
>
>>
>>When I tried this, I had problems getting the circuit to program correctly.
>>I added a jumper that connects the Vdd of the chip to the rest of the
>>circuit. When I need to program, I remove the jumper before attaching
>>the programmer. This has worked so far. I currently don't have anything
>>attached to the programming clock and data pins (RB6,RB7) in my circuit. I do
>>have the diode from circuit Vdd to the MCLR pin to protect the rest of the
>>circuit while programming. BTW I am using the ITU PIC-1 programmer but if
>>your programmer uses serial programming, the same should apply.
>
>Norm,
>
>Have you tried reducing or eliminating the 100R resistor (R11 on my ITU
>programmer) This might fix you problem and eliminate the need for the Vdd
>jumper. This 100R resistor was discussed a month or two ago on the piclist.
I'll check, I remember that I did not install one of the resistors but don't
remember wich one. I'll see if it was R11. Thanks for the tip.
> >How long can the programmer to '84 cable be in general?
> >I want to be able to use quite a long cable (1 meter), are there any things
> >I should be aware of?
>
> I meter long cable probably won't cause to many problems but this is a
> matter I'm not expert on. There is nothing extra to consider just because
> you are actually programming a chip. The usual data comms considerations
> apply. I'm to uneducated to say much more.
The cable length is limitted primarily by:
[1] What speed do you send the data; the lower the speed the longer the cable
can be.
[2] If you want to RUN the processor with the ISP cable hooked up [often very
handy during development], what sort of protection is there on /MCLR to
prevent spontaneous glitches?
> Hello.
>
> First, I am terribly sorry of the rude accidental posting I did.
> I was NOT aware of the fact that a reply to a message on the piclist would
> arrive on the pic-list.
> Hereby I want to apologise myself to anyone I have offended by my 'junk' mail.
> Again, sorry. I wish I could turn back the clock.
I'm sure the list understands now what really took place Dennis. Yes put
it behind you. Take Andy's advice and ignore/delete all SPAMS and they will
stop.
>
> Now to the topic...
>
> I want to be able to do some in circuit serial (re)programming of a
> circuit I have. In general, I want to experiment with the fact that a '84 can
> be programmed whilst in the target circuit.
> The circuit consists of a 16c84, vdd is directly connected to vpp.
>
> Now my question is, is this possible? I personally don't think so
> 'coz vdd needs to be 5v and vpp needs to be 13.5v.
> I think I will blow it up while trying to program this circuit.
> But maybe not, I don't want to throw away my picstart 16b, nor the '84.
>
> Is it possible with extra circuitery?
> Should the circuit contain an extra resistor between vdd and vpp and if yes
> what value?
My 84 programmer uses a bulldozer approach for this task. It hardware
switches everthing. It may not suit your setup but the circuit can be
examined at http://www.labyrinth.net.au/~donmck
This may give you some ideas.
I have often thought of getting one of those cheap DB-25 two way switch
boxes and wiring it up as follows:
Connect an 18 pin socket to a DB-25 plug so it can accept the 84 device
and plug this into the common leg of the switch.
Crimp two flat ribbon cables with DIP headers one end and DB-25's the
other. One cable connects to your target, the other to your Picstart or
any programmer. You now have a load/run switch.
Cables, I keep them as short as possible. For me that means 6 inches.
With a few well place diodes you should not have any trouble with
doing an in circuit programming. You may want to make sure that
your oscillator is off while programming. I had trouble with
it incrementing the program locations. So instead of starting a
0x0000, the program would load randomly from 0x0001 to 0x0010.
Once I disabled the oscillator, everything worked great. I think
that you should still be able to use your picstart. If you can't,
you could always build David Taite's programmer.
> I don't know what you mean Dermot. To my understanding we have a low
> impedence source controling Vdd and a high impedence source from Vpp/MCLR.
> The voltage difference is dropped across the resistor. What could I be
> missing? At worst Vpp contributes a little extra current, Right??
Hi Jim,
Yes, It's my logic that's a little fuzzy. I'm thinking in terms of the
circuit I'm currently working on where the programming voltage is derived
from a different source to the PIC Vdd supply line which itself contains a
blocking diode. Your description relates to the PIC deriving Vpp and Vdd
from the programmer, clearly a better arrangement.
I'll bear this, and the potential 16C84 ESD problem, in mind in any future
designs.
I am sure this question has been asked a thousand times, but
I am having problems locating info, so.....................
I am looking for information on interfacing the Polaroid Rangefinder
to a 16C56. Are there any examples, FAQ's, etc?????
Thanks for your help - Bruce
--
-----------------------------------------------------
<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-----------------------------------------------------
Bruce A. Bowling
Staff Scientist - Instrumentation and Controls
The Continuous Electron Beam Accelerator Facility
12000 Jefferson Ave - Newport News, VA 23602
(804) 249-7240 @spam@bowling@spam@spam_OUTcebaf.gov http://devserve.cebaf.gov/~bowling
-----------------------------------------------------
<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-----------------------------------------------------
I am working on a project where I need to simulate the timing of a depletion
NMOS inverter. I don't have any information on how to use the paramters in
my Pspice .model statement. So far I have...
>.model <modelname> NMOS(LAMBDA = 0.0, ......
Wow, it's been a while for me.. I have all this at home. I've had to simulate
a CMOS inverter in SPICE to get the delays. Do you need both PMOS and NMOS, for
CMOS or are you modelling pure NMOS and using a fixed resistor pull-up?
>>>.model <modelname> NMOS(LAMBDA = 0.0, ......
>>Wow, it's been a while for me.. I have all this at home. I've had to
>simulate
>
>>a CMOS inverter in SPICE to get the delays. Do you need both PMOS and
>NMOS, for
>>CMOS or are you modelling pure NMOS and using a fixed resistor pull-up?
>>
>
>I'm using a depletion NMOS load instead of a resistor. I found a few more
>parameters, like length, width, gamma, Kp, but descriptions of any more
>would be useful.
Level 2 parameters:
Parameter Default (with units) Description
VTO 0.0 V + for enhance, - for deplete
KP 2.0E-5 A/V^2 Transconductance
LAMBDA 0.0 V^-0.5 Bulk Threshhold
PHI 0.6 V Surface Potential
GAMMA 0.0 VE-1 Channel Length Modulation
>I am working on a project where I need to simulate the timing of a depletion
>NMOS inverter. I don't have any information on how to use the paramters in
>my Pspice .model statement. So far I have...
>
>.model <modelname> NMOS(LAMBDA = 0.0, ......
>
>What other parameters are available?
>
>Thanks,
>Stuart Allman
>Studio Sound Design
>TakeThisOuTstudioKILLspamspamhalcyon.com
>
Stuart,
please send me your fax number, so I would send you three pages from a book
about the test version of the Design Center for Windows.
Ciao, Claus
===========================================================================
Dr. Claus KŸhnel Tel/Fax +41 1 785 02 75
Consulting & Distribution E-Mail .....kuehnelRemoveMEdial.eunet.ch RemoveMEckuehnelspamBeGoneaccess.ch
===========================================================================
At 08:34 PM 5/26/96 +0200, you wrote:
>>I am working on a project where I need to simulate the timing of a depletion
>>NMOS inverter. I don't have any information on how to use the paramters in
>>my Pspice .model statement. So far I have...
>>
>>.model <modelname> NMOS(LAMBDA = 0.0, ......
Thanks for the reply. They went over the parameters in my microelectronics
class. Now if only I could afford the real version of the program.
Using a PIC A/D I would like to monitor the output waveform of
an audio power amplifier. Since it is for a subwoofer, the frequency
range would be from 20-150hz. I want to detect the signal peaks. Based
on peaks, the PIC would send the digital value through a serial
port to a VU meter at a regular interval. It will also determine if the peak
was high enough to shut down the amplifier (by controlling a relay). When
the signal peaks are low, it will send a command to lower the speed of
a cooling fan. I need an idea for a circuit that would hold and track the
peaks of the waveform, so as to reduce the sampling rate required to
track the signal. A typical peak detector can be too slow to react to
the dynamic qualities of audio signals. My goal is keep to a minimium the
the processor time required to sample the signal, a peak detector and hold
circuit seems like it could help. I would appreciate any advice.
> From: NEIL GANDLER <TakeThisOuTV064MB9KspamUBVMS.CC.BUFFALO.EDU>
>
> Using a PIC A/D I would like to monitor the output waveform of
> an audio power amplifier. Since it is for a subwoofer, the frequency
> range would be from 20-150hz. I want to detect the signal peaks. Based
> on peaks, the PIC would send the digital value through a serial
> port to a VU meter at a regular interval. It will also determine if the peak
> was high enough to shut down the amplifier (by controlling a relay). When
> the signal peaks are low, it will send a command to lower the speed of
> a cooling fan. I need an idea for a circuit that would hold and track the
> peaks of the waveform, so as to reduce the sampling rate required to
> track the signal. A typical peak detector can be too slow to react to
> the dynamic qualities of audio signals. My goal is keep to a minimium the
^^^^
I wouldn't exactly call 150Hz 'dynamic'...
> the processor time required to sample the signal, a peak detector and hold
> circuit seems like it could help. I would appreciate any advice.
>
> Neil Gandler
>
How slow are you running your PIC? If the signal is so bandwidth limited
(150Hz) then the PIC will have no trouble at all keeping up with the
peaks so long as you are using a reasonable clock rate.
Also, by 'serial port to a VU meter' I presume you mean using the PWM
module to send an 'analogue' signal to the meter. Using an SPI/I2C/RS232
meter would be a bit of overkill, wouldn't it?
Anyhow, regarding a peak detector that won't bring your A/D converter to its
knees: I would use a precision full-wave rectifier (i.e. 2 op-amps and
a couple of R's and diodes) with additional reset circuitry. Basically,
a peak detector charges a capacitor quickly but discharges it much more
slowly. Assuming that you _really_ need to measure peak-by-peak, add a
capacitor reset circuit driven from a spare port pin. This would be
two R's plus an NPN (assuming the cap is referenced to ground). The PIC
would be programmed to reset the cap every few ms. This would allow the
greatest peak since the last reset to be measured.
Since your application is audio, I don't think your subwoofer will mind
even a gross overload so long as it is not sustained for more than a
few 10's of ms. Even the most sluggardly PIC will keep up with that.
With all due respect, there are heaps of circuits which do what you
want (speaker protect, fan control, VU drive) without using an expensive
and somewhat inconvenient device like a microcontroller.
It seemed so simple. I wanted a yellow LED in my PIC16C84 design, so I
connected it via a 3K3 resistor between RA4 and Vdd. So far so good.
Then I noticed something odd. With the PIC spending most of its time in
sleep mode, its quiescent supply current (with the LED off) varied from
30uA to 90uA in sympathy with the ambient light level - disconnection of
the LED removed this variation. A voltmeter (>1M impedance) showed RA4
to sit at +3.6V relative to Vss when its open-drain output was inactive.
It seems as if the photocurrent injected by the LED is entering RA4 and
affecting the operation of the PIC (maybe via the Schmitt input buffer).
Several questions spring to mind:
1. What is causing the supply current variations?
2. Is there any risk of misoperation of the PIC in this configuration?
3. Would a non open-drain port pin be a better choice to drive an LED?
>
> It seemed so simple. I wanted a yellow LED in my PIC16C84 design, so I
> connected it via a 3K3 resistor between RA4 and Vdd. So far so good.
>
> Then I noticed something odd. With the PIC spending most of its time in
> sleep mode, its quiescent supply current (with the LED off) varied from
> 30uA to 90uA in sympathy with the ambient light level - disconnection of
> the LED removed this variation. A voltmeter (>1M impedance) showed RA4
> to sit at +3.6V relative to Vss when its open-drain output was inactive.
>
> It seems as if the photocurrent injected by the LED is entering RA4 and
> affecting the operation of the PIC (maybe via the Schmitt input buffer).
>
> Several questions spring to mind:
>
> 1. What is causing the supply current variations?
> 2. Is there any risk of misoperation of the PIC in this configuration?
> 3. Would a non open-drain port pin be a better choice to drive an LED?
>
> Any thoughts?
>
> - Ian Chapman
Ian,
the inputs of CMOS circuits like the PIC don't like intermediate
input levels, because then you partially enable both of the input
amplifier transistors, making a weak rail-to-rail connection.
The more you come to the center voltage (2.5V) the more current
flows. The PIC datasheets show the input stage of the port pins,
and - as I think - also the current consumption under various
conditions.
If you would use a non open collector output, this effect should
not happen, because you short-circuit the LED
(plus-rail * LED * port-pin at Vdd).
currently i'm entering the wonderful world of PIC. For the beginning,
i just want to start with a simple '84 programmer and a proto-board.
Now ZIF sockets for 18 pins are very difficult to get and they are very
expensive. So i want to use a in circuit programmer using the serial
mode. From the archive i got some advices, to disable the oscillator (in
my case a 4Mhz crystal) and to set a resitor between Vdd and Vpp.
Now to the difficult part: To aviod an additional power supply i want to
use the design of a RS232-attached programmer. Has someone experience
with this design and in circuit programming?
Thanks in advance.
Gerrit
--
Dipl.-Ing. Gerrit Gehnen RemoveMEgehnenEraseMEspam_OUThni.uni-paderborn.de
Heinz Nixdorf Institut
Rechnerintegrierte Produktion
Uni-GH Paderborn
Tel. +49/5251/60-6262 Fax. +49/5251/60-6268 ...und das war's auch
schon
>Hello friends,
>
>currently i'm entering the wonderful world of PIC. For the beginning,
>i just want to start with a simple '84 programmer and a proto-board.
>Now ZIF sockets for 18 pins are very difficult to get and they are very
>expensive. So i want to use a in circuit programmer using the serial
>mode. From the archive i got some advices, to disable the oscillator (in
>my case a 4Mhz crystal) and to set a resitor between Vdd and Vpp.
Gerrit,
I beleive I was the person responsible for both the above recommendations.
You only need to "kill" the oscillator if there is a big >10mS delay from
the time Vdd rises to the time Vpp rises. The resistor between Vpp and Vdd
instead of a diode is only to allow for ESD that can (and has) built up on
the Vpp pin and caused the chip to scramble the EEPROM. Most people still
use the diode with good results. ESD is not allows big problem but if you
process the PCB further with spray-on lacquers and stuff, this is when
problems occur.
>
>Now to the difficult part: To aviod an additional power supply i want to
>use the design of a RS232-attached programmer. Has someone experience
>with this design and in circuit programming?
Hmmm. I have never seen a design where doing this has resulted in the 84
being programmed within the specs. No one I know of has shown how to get
both the Vpp voltage (13V) and the Vdd current (50mA) for the serial port at
the same time. Still, these programmers supposedly work even way out of
spec. But this is one thing I wont recommend.
Jim
P.S have a look at TELtronik. I thing they have a low cost '84 programmer.
P> Now to the difficult part: To aviod an additional power supply i want
P> to use the design of a RS232-attached programmer. Has someone
P> experience with this design and in circuit programming?
This is RS232-attached programmer without additional power supply, program
all serial PIC's and I2C NVRAM's (16C6X/7X/8X/14XXX/24CXX) and have
in-circuit programming capability.
Uggh...my first attempt at using a PIC isn't working. Attached is my
circuit information and program code. It's simple, all that I'm
trying to do for my first attempt is to turn on a LED.
I'm using a PIC16C84. The resonator is a 4mhz ZTT series with caps
(Digikey part number X902-ND).
BTW, did I do my math correct: that at 4mhz, the PIC does 1
million instructions per second?
Circuit:
Pin 1 of the resonator is connected to pin 16 of the PIC 16C84
Pin 2 of the resonator is connected to ground
Pin 3 of the resonator is connected to pin 15 of the PIC
Pin 5 of the PIC is connected to ground
Pin 14 of the PIC is connected to a 5vdc power source
(the output of a 7805 voltage regulator)
Pin 10 of the PIC is connected to a 1K resistor
The resistor is connected to a LED which is connected to ground
Note: applying a 5vdc to the resistor does light the LED, so I
know that I have that wired up properly.
Program code:
LIST P=16C84,R=DEC
#INCLUDE D:\mplab\p16c84.inc
__CONFIG _XT_OSC & _WDT_OFF & _CP_OFF
ERRORLEVEL 1,-302
org 0 ; start code at program memory location 0
initproc
clrf PORTA ; clear port a to zero
clrf TRISA ; set all of port A as output
clrf PORTB ; clear port b to zero
bsf STATUS, RP0 ; switch to bank 1
clrf TRISB ; set all of port B as output
bcf STATUS, RP0 ; switch to bank 0
>>
>> Pin 5 of the PIC is connected to ground
>> Pin 14 of the PIC is connected to a 5vdc power source
>> (the output of a 7805 voltage regulator)
>> Pin 10 of the PIC is connected to a 1K resistor
>
>What about pin 3, the MCLR? Are you taking this to Vdd??
Woops! I should have said Pin 4 is the MCLR. Maybe I aught to give up
on replies at 2AM. So what else did I cock-up? I'll be tossing and turning
all night now.
Richard,
Try putting pin 4 of the pic straight to +5 and move your resistor and
led to pin 13 Also if you haven't done so already, read the data sheet a
few times. Especially the 12th page, when using dirrect addressing the
RP0 bit must correspond to the bank in which the file you want to
access is located. Also once you set a bit (led) it will stay that way until
you change it (bcf). I've made an attempt to change your code but I
haven't compiled it or run it. If my math is correct the light should blink
about every 0.13 seconds ( my math usually isn't very good). Good
Luck and Welcome. Dave
Program code:
LIST P=16C84,R=DEC
#INCLUDE D:\mplab\p16c84.inc
__CONFIG _XT_OSC & _WDT_OFF & _CP_OFF
ERRORLEVEL 1,-302
org 0 ; start code at program memory location 0
initproc
clrf PORTB ; clear port b to zero
clrf PORTA ; clear port a to zero
movlw h'07' :load 07 hex into working reg.
bsf STATUS, RP0 ; switch to bank 1
movwf OPTION ;put W into option (divides tmr0 by 256)
;thus incresing execution
time.
clrf TRISA ; set all of port A as output (not needed for
this)
clrf TRISB ; set all of port B as output
bcf STATUS, RP0 ; switch to bank 0
mainloop
incf PORTB,1 ;increase the 8 bit value of PortB
goto mainloop ;for all eternity
The biggest one is that You aren't doing anything with _MCLR. There's a
bunch of different ways of doing it (ie look at the manual), but if this is
a demo circuit and your Power should be pretty good, just tie Pin 4 (_MCLR)
to Vdd. I also recommend adding "& _PWRTE_ON" in your "LIST" Statement.
This will make the PIC wait (approx) 72 msec before booting up when the
_MCLR is not asserted (This is to ensure that the Power is stable before the
PIC starts working).
Actually, I usually us a current limiting resistor between Vdd and _MCLR.
This will allow you to put a momentarily on switch between _MCLR and ground
to restart your application (somthing which can be useful in debugging
applications).
You are doing a "clrf TRISA" which, if you look at the actual code produced
and then unassemble it will actually be a "clrf PORTA". This is because the
PIC can only address 7 bits of File Registers for each Page. The TriState
Control ("TRIS") Registers and the Option Register are in the Second Page.
You do this correctly when doing your "clrf TRISB" - usually when I am
setting up the hardware for my application (usually just the TRIS and OPTION
Regs), I do them all in one spot to keep the number of times I have to
change the page to a minimum.
I'm not really comfortable with using the "ERRORLEVEL 1,-302" in my code
because it masks potential problems such as yours above. To avoid getting
messages, I add "& 0x07F", which resets bit 7 of the address to the assembler.
In terms of the LED, usually LEDs are connected to Vdd and the PIC _sinks_
the current. This is because the PIC is more comfortable with sinking,
rather than sourcing (which you are doing) current.
In addition to this, I like activating a LED with a "low for two reasons.
The first is, I try to keep all my signals "Negative Active". Many devices
are negative (low) active and when I debug, I like being able to look at
chip selects, enables, read, write, etc. lines quickly without having to
remember or look up whether or not they are postive (high) active or
negative active. The second is, driving the PIN low to turn on the LED
allows youto use PORTA bit 4 as an LED Driver and allows you to use other
bits for real logic (high/low) driving. PORTA bit 4 (RA4) is an open
collector output and cannot drive a pin high without a pull up resistor.
I think that just getting a LED to turn on is an excellent way of doing your
"first" PIC application. Once the LED is on, then go and try something like
making it flash or attatching a push-button (monentarily on) switch to an
input, poll it and turn on the LED when the switch is on.
>Return-Path: <spamBeGoneowner-piclistEraseMEMITVMA.MIT.EDU>
>Priority: normal
>Date: Sat, 20 Jul 1996 01:27:05 -0800
>Reply-To: rrosespamBeGoneaccessnv.com
>Sender: pic microcontroller discussion list <RemoveMEPICLIST@spam@spamBeGoneMITVMA.MIT.EDU>
>Comments: Authenticated sender is <.....rrose@spam@EraseMEaccessnv.com>
>From: Richard Rosenheim <.....rroseRemoveMEACCESSNV.COM>
>Subject: 1st PIC circuit doesn't work
>To: Multiple recipients of list PICLIST <.....PICLISTSTOPspam@spam@MITVMA.MIT.EDU>
>X-UIDL: 7a325635861b5b57d72e4db99722e94c
>
>Uggh...my first attempt at using a PIC isn't working. Attached is my
>circuit information and program code. It's simple, all that I'm
>trying to do for my first attempt is to turn on a LED.
>
>I'm using a PIC16C84. The resonator is a 4mhz ZTT series with caps
>(Digikey part number X902-ND).
>
>BTW, did I do my math correct: that at 4mhz, the PIC does 1
>million instructions per second?
>
>Any suggestions, comments would be appreciated.
>
>Richard Rosenheim
>rroseEraseME@spam@accessnv.com
>
>
>Circuit:
> Pin 1 of the resonator is connected to pin 16 of the PIC 16C84
> Pin 2 of the resonator is connected to ground
> Pin 3 of the resonator is connected to pin 15 of the PIC
>
> Pin 5 of the PIC is connected to ground
> Pin 14 of the PIC is connected to a 5vdc power source
> (the output of a 7805 voltage regulator)
> Pin 10 of the PIC is connected to a 1K resistor
>
> The resistor is connected to a LED which is connected to ground
>
> Note: applying a 5vdc to the resistor does light the LED, so I
> know that I have that wired up properly.
>
>
>Program code:
> LIST P=16C84,R=DEC
> #INCLUDE D:\mplab\p16c84.inc
> __CONFIG _XT_OSC & _WDT_OFF & _CP_OFF
> ERRORLEVEL 1,-302
>
> org 0 ; start code at program memory location 0
>initproc
> clrf PORTA ; clear port a to zero
> clrf TRISA ; set all of port A as output
> clrf PORTB ; clear port b to zero
> bsf STATUS, RP0 ; switch to bank 1
> clrf TRISB ; set all of port B as output
> bcf STATUS, RP0 ; switch to bank 0
>
>mainloop
> bsf PORTB,4
>loop
> goto loop
>
> END
>
>
Do you ever feel like an XT Clone caught in the Pentium Pro Zone?
>Does anyboby currently use a Rice16 In-Circuit emulator from
>Advanced Transdata Corp in Dallas Texas.
>
>I am thinking of buying one.
>
>All comments good and bad gladly accepted.
>
>Thanks,
I have been using one for the last year for both the '5X parts and larger
'XX parts.
It works well and supports all assemblers (Microchip, Parallax, ect.) and MPC.
I'm running it under DOS which may or not be a problem for some. My only
real complaint is that it will not run with any network drivers loaded on
the host PC.
All in all worth the investment.
******************************
Richard Katezansky
Tangent Electronics Ltd.
Montreal, Canada
******************************
> Does anyboby currently use a Rice16 In-Circuit emulator from
> Advanced Transdata Corp in Dallas Texas.
> We have many customers that are happily using the Rice16. The interesting
thing is that of the three most common emulators that we encounter
Transdata, Microchip and Parallax there isn't much to choose from except
price and features. All of them seem to be doing the expected job.
>Does anyboby currently use a Rice16 In-Circuit emulator from
>Advanced Transdata Corp in Dallas Texas.
>
>I am thinking of buying one.
>
>All comments good and bad gladly accepted.
I've been using the RICE16 for the 16C84, 16C64, and now the latest 16C622,
and have been very pleased with it. The prices have dropped recently and the
responsiveness is excellent. Its not unusual for things to be added or
special software versions to be made available within a day or two. They
have a web site, a BBS, and will email software in an emergency.
They have supported me in the past (as a customer) and I am pleased to
return the favour.
I have tried the recommended brownount protection circuit p. 2-415 in
the PIC microcontroller databook.
I used a 2N3906 for the pnp transistor and a 3.9v zener diode for
a cutoff at 4.6v. I tried it without the PIC and monitored the output
voltage. There was no switch in logic state on the output when I dropped the
supply voltage, only a linear drop. I even tried other pnp transistors
and even npn transistors and switching connections of the emmitter and
collector. No luck. Does anyone know of a SIMPLE circuit that will
do the same thing or indicate what I may be doing wrong?
NEIL GANDLER wrote:
>
> I have tried the recommended brownount protection circuit p. 2-415 in
> the PIC microcontroller databook.
> I used a 2N3906 for the pnp transistor and a 3.9v zener diode for
> a cutoff at 4.6v. I tried it without the PIC and monitored the output
> voltage. There was no switch in logic state on the output when I dropped the
> supply voltage, only a linear drop. I even tried other pnp transistors
> and even npn transistors and switching connections of the emmitter and
> collector. No luck. Does anyone know of a SIMPLE circuit that will
> do the same thing or indicate what I may be doing wrong?
>
> Neil Gandler
The combination of a high gain transistor with the typical 3.9V Zener
doesn't yield a crisp transfer function with this simple circuit with
no hysteresis. Zeners have worse and worse 'knees' as you get down in
the lower Voltages. Reduce the resistance of the collector load
resistor (40K in their diagram) and your circuit will behave a little
better. At 40K, only 100uA collector current will raise it to 4V! Beta
of a 2N3906 could be 200 or more, so a small Zener leakage is all it
takes.
Of course, you're wasting current in the collector load resistor, so
what else can be done? Some possibilities:
1. Use several forward biased switching diodes in series instead of the
zener.
2. Use a couple of red LEDs in series instead of the Zener. LEDs have
very sharp knees, and you get a power indicator in the bargain.
3. Use a reset IC with Schmitt input such as MAX809 or MC33164 instead.
--
In article <01I7KUQI131I8XKP1Bspam_OUT@spam@ubvms.cc.buffalo.edu>, NEIL GANDLER
<spamBeGoneV064MB9K@spam@UBVMS.CC.BUFFALO.EDU> writes
>
>I used a 2N3906 for the pnp transistor and a 3.9v zener diode for
>a cutoff at 4.6v. I tried it without the PIC and monitored the output
>voltage. There was no switch in logic state on the output when I dropped the
>supply voltage, only a linear drop. I even tried other pnp transistors
>and even npn transistors and switching connections of the emmitter and
>collector. No luck. Does anyone know of a SIMPLE circuit that will
>do the same thing or indicate what I may be doing wrong?
Not very good, is it ? If you can afford a bit more than the cost of a
transistor and a zener try a dedicated IC such as Maxim MAX700. Well
worth it if dodgy PSUs are likely. Power-on reset and brownout
protection is something Microchip ought to sort out properly on the
chip.
At 07:39 PM 7/27/96 -0500, Neil Gandler wrote:
> I have tried the recommended brownount protection circuit p. 2-415 in
>the PIC microcontroller databook.
--- snip ---
I have used and highly recommend the 3 pin voltage detectors from Seiko
S-805 and S-807 series. You can get open drain, or CMOS output.
TO-92, SOT23 or SOT89 packages
Available in voltage ranges from 1.0 to 7.7 volts.
I generally pay about $.30 to .35 in thousands.
Can't get much simpler than this.
They also have some really low quiescent current regulators.
And they now have both regualtor and detector in 1 package.
Hope this helps.
Gary Skinner, Electronic Solutions Inc
Design of custom control circuits
Denver CO 303-469-9322
> At 07:39 PM 7/27/96 -0500, Neil Gandler wrote:
> > I have tried the recommended brownount protection circuit p. 2-415 in
> >the PIC microcontroller databook.
> --- snip ---
>
> I have used and highly recommend the 3 pin voltage detectors from Seiko
> S-805 and S-807 series. You can get open drain, or CMOS output.
> TO-92, SOT23 or SOT89 packages
> Available in voltage ranges from 1.0 to 7.7 volts.
> I generally pay about $.30 to .35 in thousands.
>
Do you have a tel# for Seiko. Are they available in small quantities?
Sounds what I'm looking for. The To-92 package is perfect.
>On Sun, 28 Jul 1996, gary skinner wrote:
>
>> At 07:39 PM 7/27/96 -0500, Neil Gandler wrote:
>> > I have tried the recommended brownount protection circuit p. 2-415 in
>> >the PIC microcontroller databook.
>> --- snip ---
>>
>> I have used and highly recommend the 3 pin voltage detectors from Seiko
>> S-805 and S-807 series. You can get open drain, or CMOS output.
>> TO-92, SOT23 or SOT89 packages
>> Available in voltage ranges from 1.0 to 7.7 volts.
>> I generally pay about $.30 to .35 in thousands.
>>
>
>Do you have a tel# for Seiko. Are they available in small quantities?
>Sounds what I'm looking for. The To-92 package is perfect.
>
You might also consider the mitsubishi 51943A series, The one we use
for 5v PIC applications is 51943A this is available in TO-92 package
approx $0.40. Trips at approx 4.25v with 50 mv hysteresis.
The 51943B is an open collector version of the same thing.
>On Sun, 28 Jul 1996, gary skinner wrote:
>
>> At 07:39 PM 7/27/96 -0500, Neil Gandler wrote:
>> > I have tried the recommended brownount protection circuit p. 2-415 in
>> >the PIC microcontroller databook.
>> --- snip ---
>>
>> I have used and highly recommend the 3 pin voltage detectors from Seiko
>> S-805 and S-807 series. You can get open drain, or CMOS output.
>> TO-92, SOT23 or SOT89 packages
>> Available in voltage ranges from 1.0 to 7.7 volts.
>> I generally pay about $.30 to .35 in thousands.
>>
>
>Do you have a tel# for Seiko. Are they available in small quantities?
>Sounds what I'm looking for. The To-92 package is perfect.
>
> Neil
>
>
I have one of those protoboards from Depew engineering which I bought from
Digi-Key. The oscillation circuit on their schematic looks like this:
c2
+5 GND----| |----------osc2(pic)
| |
/ X1
R1 \ |
/ |
----------------------------osc1(pic)
|
---
C1 ---
|
GND
I am using a pic16c84. The PIC data book seems to indicate that the R1 and
+5 are not needed when using a crystal in XT mode. Is this true? If not,
what value should be used for R1? I am using a standard 4.0 Mhz ECS 40-s-4
series cut crystal. My application is not very speed dependent, but I
cannot even get an oscillation from the circuit above on a standard scope.
> I have one of those protoboards from Depew engineering which I
> bought from Digi-Key. The oscillation circuit on their schematic
> looks like this:
> c2
> +5 GND----| |----------osc2(pic)
> | |
> / X1
> R1 \ |
> / |
> ----------------------------osc1(pic)
> |
> ---
> C1 ---
> |
> GND
>
> I am using a pic16c84. The PIC data book seems to indicate that the
> R1 and +5 are not needed when using a crystal in XT mode. Is this
> true?
Yes. I'm not sure why Depew put R1 there in the first place;
when a resistor IS required, it should be between the PIC's OSC2
pin and the point where the crystal and C2 are connected.
> I am using a standard 4.0 Mhz ECS 40-s-4 series cut crystal. My
> application is not very speed dependent, but I cannot even get an
> oscillation from the circuit above on a standard scope.
Two things:
1. As was discussed ad nauseum here a couple of weeks ago, the
PIC wants a parallel crystal, not series.
2. Don't put your scope probe on the OSC1 pin; it'll load down
the oscillator. Instead, look at OSC2.
>Brad Pousland <EraseMEPICLISTRemoveMESTOPspamMITVMA.MIT.EDU> wrote:
>
>> I have one of those protoboards from Depew engineering which I
>> bought from Digi-Key. The oscillation circuit on their schematic
>> looks like this:
>> c2
>> +5 GND----| |----------osc2(pic)
>> | |
>> / X1
>> R1 \ |
>> / |
>> ----------------------------osc1(pic)
>> |
>> ---
>> C1 ---
>> |
>> GND
Perhaps R1 is used when the PIC is setup for an RC oscillator
and no xtal. They may be trying to use one board for both
possible setups.
The following message from John Payson <spamBeGonesupercat@spam@mcs.com> was
erroneously addressed to me; I'm taking the liberty of forwarding it
to the list:
> >> I have one of those protoboards from Depew engineering which I
> >> bought from Digi-Key. The oscillation circuit on their schematic
> >> looks like this:
> >> c2
> >> +5 GND----| |----------osc2(pic)
> >> | |
> >> / X1
> >> R1 \ |
> >> / |
> >> ----------------------------osc1(pic) |
> >> ---
> >> C1 ---
> >> |
> >> GND
>
> Perhaps R1 is used when the PIC is setup for an RC oscillator
> and no xtal. They may be trying to use one board for both
> possible setups.
Excellent possibility--I'd not thought of that, but I have seen such
boards. Sometimes, to make things interesting, I've seen boards in
which "mutually exclusive" components were placed such that only one
would fit in a given spot. For example, if laying out a board like
the above, I might arrange it so that R1 would use the same hole as
X1. How is this board laid out in that regard?
Took a look at Micromint PICSTIC schematic to see
how they did it, and it mostly makes sense to me.
Programmer needs access to
RB7 Data
RB6 Clock
Vdd 5V
Vss Gnd
MCLR reset/programming voltage
For MCLR, microchip recommends a diode to 5V to prevent
the programming voltage from getting onto the 5V line.
The PICSTIC has a 4.7K resistor as well as a diode
going from 5V to MCLR.
I am wondering why the 4.7K resistor.
I assume the talent at Micromint didn't just put it in
for the heck of it--i.e. there's a reason why it is there. :-)
But what is the reason?
---
~ SLMR 2.1a ~ `PENTIUM' gets teeth their whitest!!!
> From: DOM ALTAMURO <dom.altamurospam_OUTconsultant.com>
>
> Want to program a 16C84 when it is in circuit.
> [cut]
>
> The PICSTIC has a 4.7K resistor as well as a diode
> going from 5V to MCLR.
>
> I am wondering why the 4.7K resistor.
> I assume the talent at Micromint didn't just put it in
> for the heck of it--i.e. there's a reason why it is there. :-)
>
> But what is the reason?
> ---
> ~ SLMR 2.1a ~ `PENTIUM' gets teeth their whitest!!!
>
Speaking from a position of ignorance on the PICSTIC, I would guess
the resistor is there so you can implement a reset by simple switch
of MCLR to ground. Otherwise, the reset switch may try to pull VDD
to ground (or blow up the diode trying).
EASY PIC'n Beginners Guide to using PIC 16/17 MicroChip products.
Picosaurus(tm) 40 pin FED Basic with 8 channels of A-D, and real Uart.
MEL PicBasic Compiler. Programmers from 15 USD. Pic-Axe(tm) A New Tool.
Just a quick question - I'm designing a small board that will
plug into an ISA slot on a PC. It's a simple enough project except
for one minor detail - I want to be able to program the PIC while
it's in the slot...
Should be easy enough - the interfacing is trivial, but the problem
is Vpp. This has to be 12-14 volts, right? But when you use the
12V available from the ISA bus you get a problem - there will
be at least one diode drop or transistor drop (or in my design, both!)
in the circuit in order to switch the Vpp in and at the same time
not blow your 5V line. This brings the 12V below the required Vpp.
It's a pain to use an external power supply and you have to be a
lot more careful about gating...
Has anyone encountered this problem or have a simple solution to it?
Conor O'Rourke wrote:
>
> Should be easy enough - the interfacing is trivial, but the problem
> is Vpp. This has to be 12-14 volts, right? But when you use the
> 12V available from the ISA bus you get a problem - there will
> be at least one diode drop or transistor drop (or in my design, both!)
Hi Conor,
I'm not sure how much current is needed for Vpp (I think you use a
16C84?),
but perhaps you can connect the 12 V of the PC with a sufficiently large
resistor
to the Vpp line. No current - no drop.
Hope it helps a bit,
Wolfram
PS: Why don't you use MOSFETs to switch? No voltage drop.
>Just a quick question - I'm designing a small board that will
>plug into an ISA slot on a PC. It's a simple enough project except
>for one minor detail - I want to be able to program the PIC while
>it's in the slot...
>Should be easy enough - the interfacing is trivial, but the problem
>is Vpp. This has to be 12-14 volts, right? But when you use the
>12V available from the ISA bus you get a problem - there will
>be at least one diode drop or transistor drop (or in my design, both!)
>in the circuit in order to switch the Vpp in and at the same time
>not blow your 5V line. This brings the 12V below the required Vpp.
>It's a pain to use an external power supply and you have to be a
>lot more careful about gating...
>Has anyone encountered this problem or have a simple solution to it?
Some time ago I made an EPROM programmer for PC and I see this problem, you
can:
1) Use an external power supply attached to your board.
2) Use an step-up converter (DC-DC), for example a 78S40 switching chip.
3) Use a simple voltage doubler with 2 diodes and 2 capacitors, this solution
is the simplest but you'll be loosing the 70% of the power, that's isn't a
problem in a PC where the 12V supply can drain 8 A (Not to one slot!!).
bye SET.
********************************************************************************
Salvador Eduardo Tropea (SET) - salvadorspaminti.edu.ar
Work: INTI (National Institute of Industrial Technology) Sector: ICE
(Electronic Control & Instrumentation)
Post (Home): Curapaligue 2124 - Caseros (1678)- Buenos Aires - Argentina
Conor O'Rourke wrote:
>
> Should be easy enough - the interfacing is trivial, but the problem
> is Vpp. This has to be 12-14 volts, right? But when you use the
> 12V available from the ISA bus you get a problem - there will
> be at least one diode drop or transistor drop (or in my design, both!)
You could try a dc-dc converter. Even a ~+5V to +12V one will get you
the margin you need. Just use the ISA +5V as the ground on the converter,
and the ISA +12V as the input voltage. You'll get +17V relative to ground.
There are lots of those things running around at surplus places, and on old
network cards. You might also try using a MAX232 if you can't find a cheap
converter.
In-Reply-To: <KILLspam01IAG1GW2WLC8WWUQXspamBeGoneccvax.ucd.ie>
> Just a quick question - I'm designing a small board that will
> plug into an ISA slot on a PC. It's a simple enough project except
> for one minor detail - I want to be able to program the PIC while
> it's in the slot...
> Should be easy enough - the interfacing is trivial, but the problem
Conor,
Could I follow on from your question and ask you how you are interfacing
the PIC to the ISA bus. I have a need to pass a number of bytes of data
to and from a PIC over the ISA bus and am struggling about how to start
the design.
I am quite happy about buffering the bus and address decoding to the
ubiquitous 0x300 etc but am not certain how to arrange for an I/O write
to pass data to the PIC and an I/O read vice versa. Can you give me any
pointers?
At 03:04 PM 10/09/96 +0300, you wrote:
>Hi Conor, here SET:
>Some time ago I made an EPROM programmer for PC and I see this problem, you
>can:
>1) Use an external power supply attached to your board.
>2) Use an step-up converter (DC-DC), for example a 78S40 switching chip.
>3) Use a simple voltage doubler with 2 diodes and 2 capacitors, this solution
>is the simplest but you'll be loosing the 70% of the power, that's isn't a
>problem in a PC where the 12V supply can drain 8 A (Not to one slot!!).
>
>bye SET.
>
Option #3 is not an option... A voltage doubler like this works on AC, not DC!
...
Robert
>
>Has anyone encountered this problem or have a simple solution to it?
>
Wild guess. I haven't tried this.
How about using (p-channel?) FETs for switching between +12 and +5?
The 'on' resistance might be low enough. The 'on' resistance of a
4066 CMOS switch might even be ok.
Anybody care to beat this idea down?
73 de Jason
P.S. I've been using the CCS PIC C compiler for 16C74 work for the
past few days. I like it. It works. It lets me concentrate on the
task at hand without distractions from PIC assembler trivia.
The code generated looks pretty reasonable, but a bit non-obvious
a first glance of the .LST file. It compiles my C versions faster
than MPASM assembles the equivalent ASM versions. Go figure.
> How about using (p-channel?) FETs for switching between +12 and +5?
> The 'on' resistance might be low enough. The 'on' resistance of a
> 4066 CMOS switch might even be ok.
>
> Anybody care to beat this idea down?
I have seen 4066 switches used in similar applications; unfortunately, I
am not aware of anyone making a 74HCT4066--that would be a really useful
part [for those uninitiated, a 4066 or 74HC4066 is a digital switch which
may be used to switch any signal or voltage between its Vss (ground) and
VDD (supply) rails. Since the supply rail may be up to +15v, the device
may be used to conveniently switch programming voltage and other such
signals. Unfortunately, the switching threshhold for "standard" CMOS or
74HC parts is VDD/2; if VDD is 12 volts this means the switching thresh-
hold is at least 6 volts--not something a normal port can deal with. The
74HCT series of parts switches at around two volts independent of supply
and would be ideal in this application.]
Actually, this gets back to a question I was asking before: what is the
maximum allowable voltage on the RA4 pin (16C84 etc.)? The documentation
says there's no diode to VDD, but it doesn't grand permission to go above
VDD even so.
In message <spamBeGone01IAG1GW2WLC8WWUQXccvax.ucd.ie> spam_OUTPICLISTSTOPspamMITVMA.MIT.EDU writes:
> Hi guys [ok,ok and gals, and plas :-) ],
>
> Just a quick question - I'm designing a small board that will
> plug into an ISA slot on a PC. It's a simple enough project except
> for one minor detail - I want to be able to program the PIC while
> it's in the slot...
> Should be easy enough - the interfacing is trivial, but the problem
> is Vpp. This has to be 12-14 volts, right? But when you use the
> 12V available from the ISA bus you get a problem - there will
> be at least one diode drop or transistor drop (or in my design, both!)
> in the circuit in order to switch the Vpp in and at the same time
> not blow your 5V line. This brings the 12V below the required Vpp.
> It's a pain to use an external power supply and you have to be a
> lot more careful about gating...
>
Conor,
From experience, the PCs 12V rail is not very useful. The PC to PC
variation is too high.
I a previous job designing PCMCIA FLASH card readers for we derived
Vpp from the Vcc using a switcher IC. Both Maxim and LT both do
chips specific to programming flash memory which would work well
in your application.
>I'm designing a small board that will
>plug into an ISA slot on a PC. ... I want to be able to program the
>PIC while
>it's in the slot.
>Should be easy enough - the interfacing is trivial, but the problem
>is Vpp. This has to be 12-14 volts ... But ... there will
>be at least one diode drop or transistor drop (or in my design, both!)
> ... This brings the 12V below the required Vpp.
Hi Conor,
the solution is to experiment. Firstly I assume that this design is not
for a commercial device (if it is then of course you must be sure to
adhere rigidly to the spec's, and you can ignore the rest of this
message). It is important to note that the Vpp voltage is not actually
used to power the programming process, it is simply the presence of a
voltage at this level that sets the '84 into program mode. The actual
programming voltage for the EEPROM is internally generated.
Bearing this is mind just what voltage will trigger the device into
program mode? Is 11.4V enough, or is your PC's 12V line actually 12.6V?
Try it and see.
I know this thread is now two days old, and so is ancient history as far
as the original problem is concerned. However, if you like I will have
a go back at home, and try programming an '84 with different voltage
levels on the ^MCLR pin, and let you know how I get on.
As I said above however, if this is a commercial design you will want to
ensure that you meet the specifications exactly, and you must also be
able to vary Vdd to perform verification to Microchip's specification.
Andy (the other one)
--
---------------------------------------------------------------------
Andrew M Errington Tel: +44 1524 593678
Microcomputer Consultant Fax: +44 1524 844011
The Computer Centre Mobile (Orange): 0976 243931
Lancaster University RemoveMEa.erringtonspamlancaster.ac.uk
Lancaster LA1 4YW www.lancs.ac.uk/people/cpaame/cpaame.htm
---------------------------------------------------------------------
"A dog is not just for Christmas, there may be some left for
sandwiches on Boxing Day" - Vladimir Illich Ulyanov 1920
part 0 1150 bytes >I have seen 4066 switches used in similar applications; unfortunately, I
am not aware of anyone making a 74HCT4066--that would be a really useful
part [for those uninitiated, a 4066 or 74HC4066 is a digital switch which
may be used to switch any signal or voltage between its Vss (ground) and
VDD (supply) rails. Since the supply rail may be up to +15v, the device
may be used to conveniently switch programming voltage and other such
signals. Unfortunately, the switching threshhold for "standard" CMOS or
74HC parts is VDD/2; if VDD is 12 volts this means the switching thresh-
hold is at least 6 volts--not something a normal port can deal with. The
74HCT series of parts switches at around two volts independent of supply
and would be ideal in this application.]
>Actually, this gets back to a question I was asking before: what is the
maximum allowable voltage on the RA4 pin (16C84 etc.)? The documentation
says there's no diode to VDD, but it doesn't grand permission to go above
VDD even so.
As I wrote in another reply, the 'absolute maximum ratings' state 14V on RA4,
but as you write there's no 'design ratings'.
>>Hi Conor, here SET:
>>Some time ago I made an EPROM programmer for PC and I see this problem, you
>>can:
>>1) Use an external power supply attached to your board.
>>2) Use an step-up converter (DC-DC), for example a 78S40 switching chip.
>>3) Use a simple voltage doubler with 2 diodes and 2 capacitors, this solution
>>is the simplest but you'll be loosing the 70% of the power, that's isn't a
>>problem in a PC where the 12V supply can drain 8 A (Not to one slot!!).
>>
>>bye SET.
>>
>Option #3 is not an option... A voltage doubler like this works on AC, not
DC!
>...
>Robert
Robert, you don't need AC you only need an square wave, you can generate the
square wave with the PIC and amplify it with a transistor, you can generate the
square wave with 2 transistors or a 555 or a 4093 or any thing that you want.
I used this trick to handle a MOSFET in a car, for this task I needed at
least 8 V over the battery voltage, I solved this with an output of the PIC at
5KHz driving a transistor with 120mA of Ic (when satured) and 2 electrolitic
capacitor plus 2 diodes, the output is just the double of the battery and drops
4 V if you charge it with 40mA.
That's all, is cheap but ineficient in terms of transfered energy, but who
cares with a 12 V 8 A power source?
bye SET
********************************************************************************
Salvador Eduardo Tropea (SET) - TakeThisOuTsalvadorspamRemoveMEinti.edu.ar
Work: INTI (National Institute of Industrial Technology) Sector: ICE
(Electronic Control & Instrumentation)
Post (Home): Curapaligue 2124 - Caseros (1678)- Buenos Aires - Argentina
Since the supply rail may be up to +15v, the device may be used to
conveniently switch programming voltage and other such signals.
Unfortunately, the switching threshhold for "standard" CMOS or 74HC
parts is VDD/2; if VDD is 12 volts this means the switching thresh-
hold is at least 6 volts--not something a normal port can deal with.
Um, 6 to 12 volts is well within the range of an "open collector" driver
like the 7407, or have those ceased to exist?
>
> [...]
> >I have seen 4066 switches used in similar applications; unfortunately, I
> am not aware of anyone making a 74HCT4066--that would be a really useful
> part [for those uninitiated, a 4066 or 74HC4066 is a digital switch which
> may be used to switch any signal or voltage between its Vss (ground) and
> VDD (supply) rails. Since the supply rail may be up to +15v, the device
> may be used to conveniently switch programming voltage and other such
> signals. Unfortunately, the switching threshhold for "standard" CMOS or
> 74HC parts is VDD/2; if VDD is 12 volts this means the switching thresh-
> hold is at least 6 volts--not something a normal port can deal with. The
> 74HCT series of parts switches at around two volts independent of supply
> and would be ideal in this application.]
> [...]
If I remeber right than be aware of the allowed supply voltage of the
74HC(T/U) parts, because the maximum value is just 6V !
(74HC(U): 2 - 6V / 74HCT: 4.5-5.5V + TTL-compatible input levels)
So if you want to switch above 6V (like 12V) use a 40xx part. The
(absolut) maximum ratings for the 40xx are 18V (To be sure, look into a
datasheet because, as far as I know, it differs a little bit from
producer to producer ).
Here is my problem:
A little background first.
I have a 16C84 in-curcuit and need to re-program it. I have a PicStart
Plus with the latest software with firmware V1.01.
The hardware design is proven and does work, if the programming takes
hold. In the circuit is an LED and a piezo speaker, this willbe become
important later.
When programming the PIC, it always fails, unless I connect the battery
or if I connect the ground lead of my osciliscope to the negative
battery lead. Then the Picstart says success, but the program does not
work. If I program a PIC out of circuit, the program works fine,
however, it is almost impossible wo remove the SOIC version of the PIC
from the production units.
Anyway, When programming the PIC without the batter connected and my
test programing that will click the speaker and flash the LED programmed
with the battery connected, the speaker clicks and the LED flashed as it
would if the program is running.
In another unit of the same circuit, I dont have any problems, the
circuits are identical.
What is going on here, and what can I do to make this work reliably?
Is it the PicStart?
Any suggestions or help would be greatly appreciated.
--
Alan Nickerson
---------
It seems to me that the best new ideas come from
people who don't know that they "can't". -- Paul Mathews, optoengRemoveMEWHIDBEY.COM
In a project that I am quoting for, my client wants to
program the PIC serially in-circuit from the main processor
on the board. (The PIC is a small part of the whole project).
In the programming specs, Microchip recommend that Vpp and
Vcc be varied during the programming procedure for
production programming.
Are these production programming techniques necessary when
programming in-circuit? What experiences do you guys on the
list have with this?
Microchip just sent me 2 samples of a windowsed version of the PIC16C74.
I requested the 16C74 yet they sent 16C74A which have the Brown-out
detector circuit on-chip. I am currently using a PIC-1A programmer from ITU.
These new PICs seem to program properely. Upon verification by the
ITU software, the code verrifies to be correct. But when placing
them in circuit, they simply do not work at all. They seem to be
stuck in a permanent reset mode. Even disabling the watchdog timer
doesn't help. I did note that the configuration word of these two PICS
are different. I did take this into consideration. I made sure to keep the
Brown-out reset module disabled. I also did trials experimenting with PWRTE
either enabled or disabled. I made sure I was writing the proper configuration
word, by checking the actual hex word, before the itu software writes
the configuration. Still no luck.
>Microchip just sent me 2 samples of a windowsed version of the PIC16C74.
>I requested the 16C74 yet they sent 16C74A which have the Brown-out
>detector circuit on-chip. I am currently using a PIC-1A programmer from ITU.
>These new PICs seem to program properely. Upon verification by the
>ITU software, the code verrifies to be correct. But when placing
>them in circuit, they simply do not work at all. They seem to be
>stuck in a permanent reset mode. Even disabling the watchdog timer
>doesn't help. I did note that the configuration word of these two PICS
>are different. I did take this into consideration. I made sure to keep the
>Brown-out reset module disabled. I also did trials experimenting with PWRTE
>either enabled or disabled. I made sure I was writing the proper configuration
>word, by checking the actual hex word, before the itu software writes
>the configuration. Still no luck.
>
>Neil Gandler
>
>
NEIL GANDLER wrote:
>
> Microchip just sent me 2 samples of a windowsed version of the PIC16C74.
> I requested the 16C74 yet they sent 16C74A which have the Brown-out
> detector circuit on-chip. I am currently using a PIC-1A programmer from ITU.
> These new PICs seem to program properely. Upon verification by the
> ITU software, the code verrifies to be correct. But when placing
> them in circuit, they simply do not work at all. They seem to be
> stuck in a permanent reset mode. Even disabling the watchdog timer
> doesn't help. I did note that the configuration word of these two PICS
> are different. I did take this into consideration. I made sure to keep the
> Brown-out reset module disabled. I also did trials experimenting with PWRTE
> either enabled or disabled. I made sure I was writing the proper configuration
> word, by checking the actual hex word, before the itu software writes
> the configuration. Still no luck.
>
> Neil GandlerI use a PICSTART16-C and the PIC16C74A (UV version) is working
fine!
Make sure your target system hardware is correct (oscillator HS, WDT disabled)
and that porta is configured for digital signals if you need then (default is
anolog)!
I have been looking at and considering building a programer for the
pic 16c6x and all other serial programable pics. But as I have a
programmr, i have put it off. Not I am at the point I need a in-circuit
programer, so I am back to this project again. Anyway, it is not like
I am limited on choices. I wan to ask some simple question and get
some feedback as to what people think is the best rout...
I belive a derivation of the David Tait paralel port programer is the
best choice, but i have noticed many vertions. Anythink I need to
keep in mind so it will be compatable with all the software out thier
for the programers?
Also, I am not considering the RS232 port programmers, because they
seem to have some speed limitations, so are realy only good for the
EEPROM and the 16c8X parts.
Also, if I am planning on in-circuit programming, I have seen jumpers
used to seperate the VPP and the VCC, how about just a resistor?
As usual I have this problem ... I haven't seen anything written about
serial in-circuit programming of the 16LC84, aside from the little bit in
the data book on page 52. I hadn't paid much attention to it until
recently; that is, now that I know I have to use an SOIC package device in
the final product design.
I see in-circuit programming to be very advantageous, since it will allow us
to load a routine for hardware verification during manufacturing test, and
then re-program the 16LC84 with the operating code ... all without
disturbing the hardware.
Trouble is I can't find anything in my MPLAB or Picstart PLus manuals (or
the Microchip CD) about considerations for in-circuit programming: neither
how one should size the isolating resistors shown on page 52, nor the
availablilty of a commercial serial programmer. Is it one of those things
that's "left as an exercise for the reader", or is there a product already
available to do the job?
Because of time constraints, I'd rather buy than build one, but building is
still do-able. Perhaps it's nothing more than building a driver/buffer
stage between my Picstart and the application circuit? Does anyone out
there have any good pointers for in-cicuit programming?
At 04:10 AM 12/10/96 -0500, you wrote:
>Dear PIC'ers
>
>As usual I have this problem ... I haven't seen anything written about
>serial in-circuit programming of the 16LC84, aside from the little bit in
>the data book on page 52. I hadn't paid much attention to it until
>recently; that is, now that I know I have to use an SOIC package device in
>the final product design.
>Trouble is I can't find anything in my MPLAB or Picstart PLus manuals (or
>the Microchip CD) about considerations for in-circuit programming: neither
>how one should size the isolating resistors shown on page 52, nor the
>availablilty of a commercial serial programmer. Is it one of those things
>that's "left as an exercise for the reader", or is there a product already
>available to do the job?
>
>Many thanks,
>... Gregg
>
Gregg,
It is starting to be a little dated now, but you can download the
documentation for my PP1 programmer. It has a chapter on ISP and what I
know about it back then. You may find the knowledge contained of value,
then again you might not....
It is in the FTP section of my web grossly neglected web site at.
> As usual I have this problem ... I haven't seen anything written about
> serial in-circuit programming of the 16LC84, aside from the little bit in
> the data book on page 52. I hadn't paid much attention to it until
> recently; that is, now that I know I have to use an SOIC package device in
> the final product design.
In-circuit programming is wonderful, if you are aware of its constraints.
> I see in-circuit programming to be very advantageous, since it will allow us
> to load a routine for hardware verification during manufacturing test, and
> then re-program the 16LC84 with the operating code ... all without
> disturbing the hardware.
Great for debugging (before and after production) too...
> Trouble is I can't find anything in my MPLAB or Picstart PLus manuals (or
> the Microchip CD) about considerations for in-circuit programming: neither
> how one should size the isolating resistors shown on page 52, nor the
> availablilty of a commercial serial programmer. Is it one of those things
> that's "left as an exercise for the reader", or is there a product already
> available to do the job?
I don't know about commercial serial programmers; I know I've built two of
my own, and incorporated circuitry directly onto the boards for a couple
other products. As for software, I'm afraid I don't know; my good stuff I
developed for work, and I don't know if I can give it away.
As for the isolation resistors, that really depends upon your application;
if you are using RB6 and RB7 for output only, you can skip the resistors
entirely (though you need to ensure that whatever they control won't "mind"
if these mins have signals on them during programming). If they are inputs
only, the resistors can be large, subject only to the constraint that large
values may slow down the response of the port. The final caveat to consider
is that if the PC is to be left connected you may want to have it wired so
as to be able to "tri-state" itself from those two pins or else use a relay
on your programmer to disconnect those pins entirely.
> Because of time constraints, I'd rather buy than build one, but building is
> still do-able. Perhaps it's nothing more than building a driver/buffer
> stage between my Picstart and the application circuit? Does anyone out
> there have any good pointers for in-cicuit programming?
I wouldn't be surprised if the PicStart could handle ISP'ing easily; I've
never done it. One concern I'd have regarding your application, however,
is that I'd suggest if possible using RB6 and RB7 for outputs only (or else
for nothing at all) and putting moderately large (e.g. 47K) resistors in
series with the RB6 and RB7 wires. Since you're using the LC part, it sounds
as if your voltage won't always be at a nice even +5; when programming, you
should have VDD at +5, but you should also verify your part at whatever volt-
age it will be running in the "real world".
>Because of time constraints, I'd rather buy than build one, but building is
>still do-able. Perhaps it's nothing more than building a driver/buffer
>stage between my Picstart and the application circuit? Does anyone out
>there have any good pointers for in-cicuit programming?
>
>Many thanks,
>... Gregg
I'm currently developing a serial programmer. The following will be some
of its features:
* Still the power from the computer. (No damm adaptor needed).
* Connects to the serial port.
* Smallest desing posible. I'm trying to fit it into the D-sub case.
* Modularity. Have the posibility of connecting a 5 pin cable or
adaptors with ZIF sockets.
* Production quality. Verify the PIC for all ranges of voltages (this is
just a wish which probably won't be able to do, at least on the size
that I want).
* RS232 comm capabilities? I was planning on using a MAX232 chip to
handle serial communications using pins B6 and B7 (since most of my
applications use the computer for communications). This might be
implemented in a module due to size constraints.
* Free??? My design will probably be free. I will plan on selling the
kits to put it together or just sell the board (this depends on whether
there is enough interest to send it to a production place).
Anyway, the desing should be complited by mid Jan or Feb. Let me know if
you guys are interested since that would make me do it faster and also
how many of you would like to purchase at least the board (so that I
send it to a production place).
> s.carleton.ca writes:
> >Dear PIC'ers
> >
>
> [Deleted stuff]
>
> >Because of time constraints, I'd rather buy than build one, but building is
> >still do-able. Perhaps it's nothing more than building a driver/buffer
> >stage between my Picstart and the application circuit? Does anyone out
> >there have any good pointers for in-cicuit programming?
> >
> >Many thanks,
> >... Gregg
>
> I'm currently developing a serial programmer. The following will be some
> of its features:
>
> * Still the power from the computer. (No damm adaptor needed).
> * Connects to the serial port.
> * Smallest desing posible. I'm trying to fit it into the D-sub case.
> * Modularity. Have the posibility of connecting a 5 pin cable or
> adaptors with ZIF sockets.
> * Production quality. Verify the PIC for all ranges of voltages (this is
> just a wish which probably won't be able to do, at least on the size
> that I want).
> * RS232 comm capabilities? I was planning on using a MAX232 chip to
> handle serial communications using pins B6 and B7 (since most of my
> applications use the computer for communications). This might be
> implemented in a module due to size constraints.
> * Free??? My design will probably be free. I will plan on selling the
> kits to put it together or just sell the board (this depends on whether
> there is enough interest to send it to a production place).
>
> Anyway, the desing should be complited by mid Jan or Feb. Let me know if
> you guys are interested since that would make me do it faster and also
> how many of you would like to purchase at least the board (so that I
> send it to a production place).
>
> Cheers,
>
> Alberto
>
> Dear PIC'ers
>
> As usual I have this problem ... I haven't seen anything written about
> serial in-circuit programming of the 16LC84, aside from the little bit in
> the data book on page 52. I hadn't paid much attention to it until
> recently; that is, now that I know I have to use an SOIC package device in
> the final product design.
>
> I see in-circuit programming to be very advantageous, since it will allow us
> to load a routine for hardware verification during manufacturing test, and
> then re-program the 16LC84 with the operating code ... all without
> disturbing the hardware.
>
> Trouble is I can't find anything in my MPLAB or Picstart PLus manuals (or
> the Microchip CD) about considerations for in-circuit programming: neither
> how one should size the isolating resistors shown on page 52, nor the
> availablilty of a commercial serial programmer. Is it one of those things
> that's "left as an exercise for the reader", or is there a product already
> available to do the job?
>
> Because of time constraints, I'd rather buy than build one, but building is
> still do-able. Perhaps it's nothing more than building a driver/buffer
> stage between my Picstart and the application circuit? Does anyone out
> there have any good pointers for in-cicuit programming?
>
> Many thanks,
> ... Gregg
I am helping a friend build Francis Decks PIC programmer. The only source
for the LM10 opamp is Farnell (in Britian) and the prrice is over £8
excluding vat. Can anyone supply a transistor circuit for this purpose (5V
>from pic when on giving 14V programming circuit and 0V when off). The
emitter follower circuit can't be used due to the effect giving only approx
5v out so a dual transistor circuit must be used. Does anyone know a
circuit that would work?
I don't know the requirments of the circuit. If you can give them to me.
I'll see what I can do. In exchange, how about a copy ( schematic ) and
some info on the programmer.
About the circuit, it provides the programming voltage on MCLR and normally
keeps the pic in reset. The opamp is a ridiculous price so some other
circuit must be available
Thanks
Tim
At 23:23 07/01/97 -0800, you wrote:
>Hello!
>
>I don't know the requirments of the circuit. If you can give them to me.
>I'll see what I can do. In exchange, how about a copy ( schematic ) and
>some info on the programmer.
>
>Thanks,
>David
>
I have a circuit in which I can successfully in-circuit verify
a pre-programmed PIC16C73A, but when I erase and re-insert that
same processor in the same circuit, I can't program. I can
repeat the process, including programming the processor with the
same device that adapts to the board for in-circuit programming,
so I know the programmer and processor are both good.
I've done this by building a socket adapter to go from the Pro Mate II
to a header on my circuit board. This same socket adapter has all
of the pins cut except for 1, 19, 20, 27, and 28. I can coincidentally
plug a processor directly into the socket adapter and successfully
program it. However, when the header plug that is soldered onto this
same socket adapter is plugged into my circuit, I can read or verify
a pre-programmed processor but I can't program it.
On my circuit board, pins 27 and 28 go nowhere except to the processor.
Pin 1 going to the processor has a 15k pullup, however I tried
in-circuit programming with this pullup removed and it still failed,
indicating that pin 1 could also "go nowhere except to the processor"
and the problem would not be fixed.
Meanwhile, pins 19 and 20 go to the power supply of not only the
processor, but numerous other circuit components. Nevertheless,
an oscilloscope shows the Vdd properly varying between 5 volts for
programming, 3 volts for low-verifying, and 6 volts for high-verifying.
(This is what the Pro Mate II does, verified with a scope and a
processor successfully programmed directly in the Pro Mate II socket.)
I previously posted "Can In-Circuit verify PIC16C73A but can't Program".
I have done some more research and found that the real situation is that
I have to remove the crystal before in-circuit programming will work.
Previously, with the crystal in, I was actually "reading", not
"verifying",
and the result of that read turned out to not quite match the desired
program. At first glance, using a pre-programmed dip processor plugged
into a circuit and then read via in-circuit programming techniques, the
program read back out appeared to be shifted from the correct program...
as if some bytes were omitted or some address increments occured twice,
or something else just slightly off like that.
Having poked around some more, I have discovered that if I simply remove
the crystal from the circuit, I can program, verify, and I believe
everything
else works too.
Unfortunately, I don't WANT to have to remove the crystal in order to
in-circuit program. This just increases the labor cost whenever I want
to do it, and I'm considering doing it in a quantity of thousands.
Please note that I am using a Pro Mate II with firmware version
03.21.01.
I have made an adapter plug to go from the programmers ZIF socket to a
header on my own board. I did a bit of research first to make sure this
concept worked, and it does by using merely the 5 documented in-circuit
programming pins (GND, VDD, MCLR, RB6, RB7). Note that this does NOT
include the two crystal pins, so my difficulties in-circuit programming
with the crystal inserted must be related to the crystal's being
connected
to the processor while trying to program the processor, as opposed to
being related to some direct interaction between the crystal and the
Pro Mate II programmer.
Does anyone have any suggestion as to why I find I must remove the
crystal?
Does anyone have any suggestions as to what I might do in order to be
able
to simply "plug and program", without removing the crystal or performing
any other
board mods before attempting in-circuit programming?
>
> I previously posted "Can In-Circuit verify PIC16C73A but can't Program".
>
> I have done some more research and found that the real situation is that
> I have to remove the crystal before in-circuit programming will work.
> Previously, with the crystal in, I was actually "reading", not
> "verifying",
> and the result of that read turned out to not quite match the desired
> program. At first glance, using a pre-programmed dip processor plugged
> into a circuit and then read via in-circuit programming techniques, the
> program read back out appeared to be shifted from the correct program...
> as if some bytes were omitted or some address increments occured twice,
> or something else just slightly off like that.
>
> Having poked around some more, I have discovered that if I simply remove
> the crystal from the circuit, I can program, verify, and I believe
> everything
> else works too.
>
> Unfortunately, I don't WANT to have to remove the crystal in order to
> in-circuit program. This just increases the labor cost whenever I want
> to do it, and I'm considering doing it in a quantity of thousands.
>
The pic uses one of the programing pins for the clock during programing
>
> Does anyone have any suggestion as to why I find I must remove the
> crystal?
>
> Does anyone have any suggestions as to what I might do in order to be
> able
> to simply "plug and program", without removing the crystal or performing
> any other
> board mods before attempting in-circuit programming?
Just a single dip switch in series with osc. in crystal lead
should do
Or a small (4K7) resistor in series with the osc.in and short the
crystal
side of the resistor to ground, with a link on the programing plug
if you want to make it fully automatic
Either method should stop the clock for programing
--
Peter Cousens
email: spampeter.....spamcousens.her.forthnet.gr
snailmail: Peter Cousens, karteros, Heraklion, Crete, 75100, Greece,
phone: + 3081 380534, +3081 324450 voice/fax
After Bill Gates announced to the world that he was Microsoft,
his wife was asked to comment. She said that as his wife, she
had been the first to notice this problem
> program read back out appeared to be shifted from the correct program...
> as if some bytes were omitted or some address increments occured twice,
> or something else just slightly off like that.
>
> Having poked around some more, I have discovered that if I simply remove
> the crystal from the circuit, I can program, verify, and I believe
This sounds like something I've heard but not <knock wood> seen. The
problem is likely that MCLR doesn't rise quickly enough, and the PIC runs
an instruction or two - which increments the PC, which does double duty as
the programming mode address register, of course. As I recall, there was
a report of this where the effect was so repeatable that the chips
appeared to program and verify correctly because the offset was always the
same, but of course the program didn't work since it was in the wrong
location.
You need either to make the programming hardware pull MCLR up within spec
- a very small number of microseconds - or to disable the oscillator
during programming, perhaps by shorting the input pin to ground?
The company I work for urgently needs to buy an in-circuit
programmer to program PIC16C84 devices in-circuit on our production
floor. To make things a little bit more complicated.... we also
need the source code for the programmer written in C, because we need to
integrate the source code with some other test equipment that will
also measure certain non-linear parameters and program that into the
eeprom of the 16C84 automatically.
It is very important that the programmer will work reliably under a
Microsoft Windows environment. We currently use a Tait-compatible
programmer, but the Windows-Dos combination seems to give lots of
problems.
If you can suggest any programmer that we can buy off the shelve that
will fullfill these needs, I would really appreciate it.
I'm working on a project that i use a PIC to decode magnetic card's. My
question is when i use an emulator on circuit board the PIC works OK,
but when i program a PIC and put the PIC on the board we dont't work.
Why, is my question. Please help me.
Best Regards
Paulo Figueiredo
-----------------------------+-----------------------------------
Paulo Figueiredo | Idite-Minho
email: pxicoKILLspamEraseMEidite-minho.pt | Centro de Automagco e Electrsnica
tel: +351-53-619470 | Av. Dr. Francisco Pires Gongalves
fax: +351-53-612957 | 4700 - Braga (Portugal)
_________________________________________________________________
At 11:44 24/02/97 +0100, you wrote:
>Hello,
>
>I'm working on a project that i use a PIC to decode magnetic card's. My
>question is when i use an emulator on circuit board the PIC works OK,
>but when i program a PIC and put the PIC on the board we dont't work.
>Why, is my question. Please help me.
>
>Best Regards
>Paulo Figueiredo
I'm afraid nobody can answer your question if you are not a bit more
precise. But let me share an experience I had, perhaps it gives you a clue.
When I was working on a project with a 'C64 on a PC add-on card, I used the
Parallel data bus feature of the 'C64 to communicate with the PC via the ISA
bus. Everything worked very well with my emulator (Parallax ClearView).
However, the customer complained that 'sometimes', a certain command from
the PC to the PIC was ignored. After a long time of desperate search, I
discovered that the interrupt flag of the parallel port was inadvertently
cleared by any 'return' instruction! (two weeks after that, Microchip added
the errata sheets to their web page, sigh..)
The bound-out PIC used in my emulator had that bug fixed .....
Perhaps you're encountering the same kind of problem. So check the errata
sheet of the PIC you're using and check whether there are differences
between the emulator PIC (a special version of the chip with more
connections) and the 'real' one you're using
Good luck, I know how you're feeling
Jeroen
+---------------------------------------------------------------------+
| Jeroen Ommering Cordless Systems Development |
| Ericsson Business Mobile Networks BV |
| Institutenweg 25 |
| P.O. Box 645, 7500 AP Enschede Tel: +31 53 45 05 420 |
| The Netherlands Fax: +31 53 45 05 148 |
| |
| E-mail: EraseMEJeroen.Ommering@spam@@spam@emn.ericsson.se |
+---------------------------------------------------------------------+
You didn't give a lot of detail, but I take a stab at it anyway...
What sort of oscillator are using on the circuit board. If you are
using an RC oscillator, you may have timing problems, as the emulator
uses a crystal oscillator.
Did you enable the watchdog, and if so, are you updating the watchdog
in your software. The emulator probably does not have the watchdog
feature enabled, so you would miss the problem in the emulator.
Is your power supply to the PIC chip correct? Can you verify that the
oscillator is running? Is your MCLR line high?
Good Luck,
Craig
______________________________ Reply Separator _________________________________
Subject: help:Emulator versus circuit board
Author: Paulo Figueiredo <@spam@pxicospamKILLspamIDITE-MINHO.PT> at Internet
Date: 2/24/97 11:44 AM
Hello,
I'm working on a project that i use a PIC to decode magnetic card's. My
question is when i use an emulator on circuit board the PIC works OK,
but when i program a PIC and put the PIC on the board we dont't work.
Why, is my question. Please help me.
Best Regards
Paulo Figueiredo
-----------------------------+-----------------------------------
Paulo Figueiredo | Idite-Minho
email: spamBeGonepxicoRemoveMEEraseMEidite-minho.pt | Centro de Automagco e Electrsnica
tel: +351-53-619470 | Av. Dr. Francisco Pires Gongalves
fax: +351-53-612957 | 4700 - Braga (Portugal)
_________________________________________________________________
>Hello,
>
>I'm working on a project that i use a PIC to decode magnetic card's. My
>question is when i use an emulator on circuit board the PIC works OK,
>but when i program a PIC and put the PIC on the board we dont't work.
>Why, is my question. Please help me.
>
>Best Regards
>Paulo Figueiredo
>
>-----------------------------+-----------------------------------
>Paulo Figueiredo | Idite-Minho
>email: RemoveMEpxicoKILLspamRemoveMEidite-minho.pt | Centro de Automagco e Electrsnica
>tel: +351-53-619470 | Av. Dr. Francisco Pires Gongalves
>fax: +351-53-612957 | 4700 - Braga (Portugal)
>_________________________________________________________________
>
Dear Paulo Figueiredo,
besides possible problems referring to power supply and reset circuit
I suppose there might be something wrong with the PIC's configuration word?
Please verify especially whether the Watchdog Timer Enable bit and Osc.
Selection Bits are all right and the programmer did burn them properly.
>Hi Paulo,
>
>At 11:44 24/02/97 +0100, you wrote:
>>Hello,
>>
>>I'm working on a project that i use a PIC to decode magnetic card's. My
>>question is when i use an emulator on circuit board the PIC works OK,
>>but when i program a PIC and put the PIC on the board we dont't work.
>>Why, is my question. Please help me.
>>
>>Best Regards
>>Paulo Figueiredo
>
>I'm afraid nobody can answer your question if you are not a bit more
>precise. But let me share an experience I had, perhaps it gives you a clue.
>
>When I was working on a project with a 'C64 on a PC add-on card, I used the
>Parallel data bus feature of the 'C64 to communicate with the PC via the ISA
>bus. Everything worked very well with my emulator (Parallax ClearView).
>However, the customer complained that 'sometimes', a certain command from
>the PC to the PIC was ignored. After a long time of desperate search, I
>discovered that the interrupt flag of the parallel port was inadvertently
>cleared by any 'return' instruction! (two weeks after that, Microchip added
>the errata sheets to their web page, sigh..)
>
>The bound-out PIC used in my emulator had that bug fixed .....
>
>Perhaps you're encountering the same kind of problem. So check the errata
>sheet of the PIC you're using and check whether there are differences
>between the emulator PIC (a special version of the chip with more
>connections) and the 'real' one you're using
>
>Good luck, I know how you're feeling
>
>Jeroen
>+---------------------------------------------------------------------+
>| Jeroen Ommering Cordless Systems Development |
>| Ericsson Business Mobile Networks BV |
>| Institutenweg 25 |
>| P.O. Box 645, 7500 AP Enschede Tel: +31 53 45 05 420 |
>| The Netherlands Fax: +31 53 45 05 148 |
>| |
>| E-mail: spamBeGoneJeroen.OmmeringKILLspamTakeThisOuTemn.ericsson.se |
>+---------------------------------------------------------------------+
>
I have had similar problems and it is important to recognise the differences
between the two. In the case of the emulator I use(Advanced Transdata), it
does not look at either the external frequency ot the reset line. So I would
first check and ensure that the oscillator is woking and secondly that the
MCLR line is not being forced low at any time or has noise on it. I found
this to be the problem most of the time when I had this sort of problem.
Other problems may arise because of timing or some other exotic sources.
Thanks for everybody who help me to resolve my problem.
Another question. Why i receive a message that my message are be send?
Best Reagrds for all
Paulo Figueiredo
-----------------------------+-----------------------------------
Paulo Figueiredo | Idite-Minho
email: EraseMEpxico.....KILLspamidite-minho.pt | Centro de Automagco e Electrsnica
tel: +351-53-619470 | Av. Dr. Francisco Pires Gongalves
fax: +351-53-612957 | 4700 - Braga (Portugal)
_________________________________________________________________
Can anyone tell me the requirements for programming the C54 in circuit,
what do you need to do with the MCLR pin. I can't find any data in the
microchip data book. I take it that the C54 can be programmed serially
as it can be programmed with the D. Tait type of programmer.
Regards
Ken.
+-----------------------------+----------------------------------+
| ken hewitt | Email spamkenwelwyn.demon.co.uk |
+-----------------------------+----------------------------------+
At 07:42 PM 11/3/97 +0000, you wrote:
>Can anyone tell me the requirements for programming the C54 in circuit,
>what do you need to do with the MCLR pin. I can't find any data in the
>microchip data book. I take it that the C54 can be programmed serially
>as it can be programmed with the D. Tait type of programmer.
nop, you need to use 16C554 if you want to use ICP.
MCLR must have circuitry that allows to be pulled up to +12V,
In programming same applies as for 16C84
Not sure if David's original software supports 16C55X programming
our PIP02 does support, and supports amongst other programmers
David Tait's programmer too
>
> Can anyone tell me the requirements for programming the C54 in circuit,
> what do you need to do with the MCLR pin. I can't find any data in the
> microchip data book. I take it that the C54 can be programmed serially
> as it can be programmed with the D. Tait type of programmer.
No, nope, and not a chance.
The C54 has parallel programming only, cannot be programmed byt the D. Tait
type circuit and has no provisions for in circuit programming.
Think about a C55X or C62X type chip. Same footprint but is much closer to
a C84 than a C5X in terms of these issues.
> Can anyone tell me the requirements for programming the C54 in circuit,
> what do you need to do with the MCLR pin. I can't find any data in the
> microchip data book. I take it that the C54 can be programmed serially
> as it can be programmed with the D. Tait type of programmer.
The 16C54 requires that you control--literally--all of its pins during
programming (well, Vss remains grounded, but...) One person has posted
on the list that they in fact designed a circuit which would allow ISP'ing
the 54 even under those conditions, but I doubt such a thing would usually
be practical.
To program the '54, you need to power the thing up and take /MClr very
quickly from zero to VPP (about 13 volts I think). After that each pulse
of the RTCC input will either output the contents of address zero onto
pins RA3-RA0:RB7-RB0 or else try to "burn" the contents of those pins into
address zero. You should alternate between the read and write until add-
ress zero reads correctly. After that, you should hit the /OSCin pin to
advance to the next memory location; RTCC will toggle between reading and
writing that. Continue in this fashion until you have done the entire
chip.
> The 16C54 requires that you control--literally--all of its pins
> during programming (well, Vss remains grounded, but...) One person
> has posted on the list that they in fact designed a circuit which
> would allow ISP'ing the 54 even under those conditions,....
That was me.
> .... but I doubt such a thing would usually be practical.
You're correct... The method I came up with isn't suited for
general-purpose programming at all. If in-circuit programming
is required, I'd recommend staying away from the 16C5x parts.
-Andy
=== Andrew Warren - fastfwdSTOPspamKILLspamix.netcom.com
=== Fast Forward Engineering - Vista, California
===
=== Custodian of the PICLIST Fund -- For more info, see:
=== www.geocities.com/SiliconValley/2499/fund.html
> Can anyone tell me the requirements for programming the C54 in circuit,
> what do you need to do with the MCLR pin. I can't find any data in the
> microchip data book. I take it that the C54 can be programmed serially
> as it can be programmed with the D. Tait type of programmer.
However it's not intended to program the chip in-circuit as the C54
cannot be programmed in serial mode. That doesn't mean you couldn't
come up with a circuit to do that (I'm sure Andrew Warren said he once
worked with such a setup) but I doubt if that's the best way forward
nowadays with such a gamut of alternative PICs available.
I have a copy of P16PRO that was mentioned a while ago, I have check
this out and the circuit that was included in the zip file is a PC
printer port programmer, with only 5 connections to the PIC, Vss, Vdd,
RB6, RB7 and MCLR.
I have run the programming software that was with it and looked at the
device list it includes the 54 and 52, I have not tried it out yet as I
have not got around to building the hardware, should I bother or not.
Ken.
+-----------------------------+----------------------------------+
| ken hewitt | Email @spam@ken.....spamwelwyn.demon.co.uk |
+-----------------------------+----------------------------------+
I saw a circuit on the WWW once where a PICxxx? was used to make an
oscilloscope input module that essentially converted an analog oscilloscope
into a storage scope. Now I've purchased an old analog scope, but I
cant find the URL to this circuit, despite hours of searching.
Does anyone know where this is?
Thanks,
Steve Brown
--
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Stephen Brown, Ph.D.
Applied Research Associates
RR 1 Box 120A, Waterman Road
South Royalton, Vermont 05068
> I saw a circuit on the WWW once where a PICxxx? was used to make an
> oscilloscope input module that essentially converted an analog oscilloscope
> into a storage scope. Now I've purchased an old analog scope, but I
> cant find the URL to this circuit, despite hours of searching.
The Microchip data sheet says the 16C7X PIC's can be programmed
in-circuit via RB6,RB7, VDD, VSS, and MCLR.
1. Has anybody done this.
2. I have a PICSTART Plus programmer, can I hook the appropriate pins on
the PICSTART to the 16C7X and program it in-circuit. I followed the
data sheet suggestions for in-circuit programming while developing the
schematic for the board.
3. If not #2, is there any available software to read a Mplab programming
file and generate the programming waveforms using a PC parallel port.
I am using a PIC16c74 to interface with an oprex STN 40x2 character
LCD display. the display will be in an automotive environiment in
the cabin of the car and is subject to wide temperature extremes
during operation. Does anyone have a circuit that compensates
the LCD driving voltage for temperature? I considered using the PIC
for this task, but I don't have any A/D lines free. I would appreciate
any advice.
Neil, The Optrex LCD manual has example circuits for temperature
compensation. I'm working from a 1995 manual that I originally got
from DigiKey. They list their American office phone number as
(313) 416-8500. I've used a variety of their DMC displays but I have
no experience with temperature compensation.
- Tom
At 02:49 AM 4/10/97 -0400, you wrote:
>I am using a PIC16c74 to interface with an oprex STN 40x2 character
>LCD display. the display will be in an automotive environiment in
>the cabin of the car and is subject to wide temperature extremes
>during operation. Does anyone have a circuit that compensates
>the LCD driving voltage for temperature? I considered using the PIC
>for this task, but I don't have any A/D lines free. I would appreciate
>any advice.
>
>
Any ideas as to what the best programmer is for in circuit programming?
I have a design that is having trouble with in circuit programming using
the picstart 16C. I use a '73A. Rb6 and Rb7 have 20K ohm between them. They
also drive the input of a 5V logic chip. I've put a fast buffer on Vpp and
Vdd. Still the Picstart 16C errors out after a adress or two. I've tried
the picstart plus and it's worse. It won't even blank check the parts. (I
just love destroying all these OTP parts! :-)
I suspect that the long leads and parasitic effects are causing the
pic to miss data on the Rb6/7 pins. The Picstart seems to be pushing some
of the clock pulses fast to make up time, I figure those are the ones that
are not getting through.
Does anyone know what programmers would be a bit slower in the
clock and data timing? Or has anyone sucessfully slowed down a Picstart
16C? At this stage in the game I would be happy to buy any programmer that
would pull it off.
TIA
-Otmar-
-----------------------------------------------------------------------
Otmar Ebenhoech Electric Vehicle Components Ltd.
"I wish I die sleeping like my grandfather,
not screaming in terror like his passengers." Otmar.....EVCL.com (415) 494-9255
-----------------------------------------------------------------------
Does anyone know of a WWW addess that has the "Reference Documents" that
are described in the Microchip databooks? Specifically, I am looking
for the details of In-Circuit programming of a 16C62A. The manual
refers to Reference Doc. #DS30228. Any details would be appriciated
(including any hardware, schematics, download code, etc...)
--
Daniel Holt - Genetronics Inc.
______________________________ Reply Separator _________________________________
Subject: In-Circuit Programming
Author: Daniel Holt <spam_OUTdholtTakeThisOuTGENETRONICS.COM> at Internet_Exchange
Date: 4/28/97 4:30 PM
Does anyone know of a WWW addess that has the "Reference Documents" that
are described in the Microchip databooks? Specifically, I am looking
for the details of In-Circuit programming of a 16C62A. The manual
refers to Reference Doc. #DS30228. Any details would be appriciated
(including any hardware, schematics, download code, etc...)
--
Daniel Holt - Genetronics Inc.
>> article if you want.
>
>There was an RDS decoder project in Circuit Cellar May 1995 written by
>Chris Morris, it uses a 16C84 and either an SAA6579 or TDA7330, plus an
>LCD display of course. Unlike the Elektor designs, the source code can be
>downloaded from their web site (but I don't remember the URL off hand).
>
>If you can't find it, I'll find the source code and E-Mail it you, it's
>lurking on my drive somewhere :-).
>
>Nigel.
I am interested in In-Circuit Programming some parts in a future
system. Is it possible to simply take the four or so lines required to
program a part (and assuming I leave the required pins free on the
board) use my pic-start programmer to do the programming by taking the
relevant data lines from the ZIF socket to a socket on the board? This
seams like an easy way to do this by just making a jumper cable of
sorts. Any reason this wouldn't work?
--
Daniel Holt - Genetronics Inc. @spam@dholtspamgenetronics.com http://www.genetronics.com http://rohan.sdsu.edu/home/holt/index.html
Daniel Holt wrote:
>
> I am interested in In-Circuit Programming some parts in a future
> system. Is it possible to simply take the four or so lines required to
> program a part (and assuming I leave the required pins free on the
> board) use my pic-start programmer to do the programming by taking the
> relevant data lines from the ZIF socket to a socket on the board? This
> seams like an easy way to do this by just making a jumper cable of
> sorts. Any reason this wouldn't work?
> Daniel Holt - Genetronics Inc.
No, you will find a circuit of just that using a 4PDT switch to do the
job. In the case of 84's, it means target board programming on the fly.
That is, a load/go switch. http://www.dontronics.com/84.html
PICSTART and Newfound PIC Programmers Firmware Upgrades.
SLI, the serial LCD that auto detects baud rates from 100 to 125K bps.
SimmStick(tm) A PIC proto PCB the size of a 30 pin Simm Memory Module.
Send a blank message to .....helpRemoveMEdontronics.com for more info.
>>
I am interested in In-Circuit Programming some parts in a future
system. Is it possible to simply take the four or so lines required to
program a part (and assuming I leave the required pins free on the
board) use my pic-start programmer to do the programming by taking the
relevant data lines from the ZIF socket to a socket on the board? This
seams like an easy way to do this by just making a jumper cable of
sorts. Any reason this wouldn't work?
<<
There are potential problems with this approach, depending upon the design
of your programmer. Perhaps somewhat oddly, the cheaper the programmer the
more likely this approach will work. Your most likely problems will be with
programmers that use parallel programming algorithms (most of the wires won't
be available), or that do fancy things with VDD, or that monitor current
consumption, etc. I would expect any "dirtball" type programmer should work
fine.
At 18:58 30/04/97 -0500, John Payson wrote:
>>Is it possible to simply take the four or so lines required to
>>program a part (and assuming I leave the required pins free on the
>>board) use my pic-start programmer to do the programming by taking the
>>relevant data lines from the ZIF socket to a socket on the board?
>
>There are potential problems with this approach, depending upon the design
>of your programmer. Perhaps somewhat oddly, the cheaper the programmer the
>more likely this approach will work. ...
Does somebody know whether Microchip's PICStart Plus does such "fancy"
things you mentioned? Or does it work as intended in this configuration?
In message <KILLspam3367B5A3.5842TakeThisOuTgenetronics.com> TakeThisOuTPICLISTspam_OUTMITVMA.MIT.EDU writes:
> I am interested in In-Circuit Programming some parts in a future
> system. Is it possible to simply take the four or so lines required to
> program a part (and assuming I leave the required pins free on the
> board) use my pic-start programmer to do the programming by taking the
> relevant data lines from the ZIF socket to a socket on the board? This
> seams like an easy way to do this by just making a jumper cable of
> sorts. Any reason this wouldn't work?
> --
Daniel,
I am just about to embark on this route myself with surface mount
versions of the 12C508.
One gotcha that I am aware of is that the oscillator must not be
allowed to run or the program counter gets advanced before you
start the programming cycle and your code ends up in the wrong
place in memory.
>>... use my pic-start programmer to do the programming by taking the
>>relevant data lines from the ZIF socket to a socket on the board?
>
>Does somebody know whether Microchip's PICStart Plus does such "fancy"
>things you mentioned? Or does it work as intended in this configuration?
Having just designed a product implementing In-Circuit Programming, I can
offer some help. First as long as your target PIC supports serial
programming (like the 16C84), then yes, the PICstart Plus will work .... as
will the PRO MATE. The PROMATE has the advantage that it will margin-test
the intergrity of the part, but oddly does not have the drive capacity of
its cheaper cousin.
You must be careful to take adequate precautions in the target system. The
Embedded Control Handbook has a *very* short section on this topic, but
their application circuit can't work as printed ... the suggested approach
to insert a diode to "isolate" the reset circuit cannot function as required.
The primary objective is to design your target system in such a way as to
make the PIC's pins available externally, without loading the programmer.
Microchip's Document number ICP001 describes the considerations, and
suggests a driver board that will buffer the MCLR and Vdd pins. However,
you are still left to deal with RB6 & 7.
Microchip neglects to mention it, but the issue is complicated by the fact
that RB7 must be a bi-directional data path, since it must both read and
write the PIC. Thus, hanging a buffer on that line will do yo no good at
all... (bet you can guess how I know that little tid-bit). And, depending
on your programmer's algorithm, if it programs a block od code, and then
verifies it before proceeding, then you're really stuck... it will give up
without programming more than the first block.
In my product, I brought the required signals (Vdd, Vss, MCLR, RB6, anb RB7)
to a 7 pin header. The outer-most 4 pins normally have shunts across them,
so that when they are removed, you break the connections to Vdd and MCLR to
the rest of the board. The cable to the PICstart is a short (6") cable that
connects the appropriate header pins in the target board to an 18 pin plug
that goes into the ZIF socket. The thing to watch is that RB6 & 7 must not
be loaded too much by the application circuit, so it's best if they are used
as inputs by your application. That being the case, you can safely use 4K7
ohm resistors to isolate the PIC's pins from the rest of the cirucuit.
For the production version, I use the PROMATE, with an interface box that
includes buffers on the unidirectional signals, and a short, shielded cable
to drive RB7.
Using the ICP programmer is simple:
1. you remove the two shunts on the target board,
2. plug in theprogramming cable,
3. program the PIC as usual,
4. remove the cable, and
5. re-install the shunts.
> In my product, I brought the required signals (Vdd, Vss, MCLR, RB6, anb RB7)
> to a 7 pin header. The outer-most 4 pins normally have shunts across them,
> so that when they are removed, you break the connections to Vdd and MCLR to
> the rest of the board. The cable to the PICstart is a short (6") cable that
> connects the appropriate header pins in the target board to an 18 pin plug
> that goes into the ZIF socket. The thing to watch is that RB6 & 7 must not
> be loaded too much by the application circuit, so it's best if they are used
> as inputs by your application. That being the case, you can safely use 4K7
> ohm resistors to isolate the PIC's pins from the rest of the cirucuit.
>
> For the production version, I use the PROMATE, with an interface box that
> includes buffers on the unidirectional signals, and a short, shielded cable
> to drive RB7.
>
> Using the ICP programmer is simple:
>
> 1. you remove the two shunts on the target board,
> 2. plug in theprogramming cable,
> 3. program the PIC as usual,
> 4. remove the cable, and
> 5. re-install the shunts.
>
> Hope this helps.
>
> ... Gregg
WOW... It is no wonder with people like Gregg giving away such important
details as he does, that this list is so popular, and the people using
the microchip products are so productive!!! Thanks so much, everyone
for all your help. Dan
--
Daniel Holt - Genetronics Inc.
I also have just gotten over a pile of problems with in circuit
programming.
Gregg writes.
>Having just designed a product implementing In-Circuit Programming, I can
>offer some help. First as long as your target PIC supports serial
>programming (like the 16C84), then yes, the PICstart Plus will work .... as
>will the PRO MATE. The PROMATE has the advantage that it will margin-test
>the intergrity of the part, but oddly does not have the drive capacity of
>its cheaper cousin.
Thank you for this bit of wisdom. Maybe I won't bother trying the
promate. I found that my Picstart plus is worse than my Picstart 16C in
drive capability. Niether one would program a 16C73A in my circuit.
I also tried the buffers that microchip recommends for VPP and VDD,
only to find that the programmer didn't have the power (or maybe the timing
was too fast) to drive RB6 and RB7.
In the end I managed to get new hardare for my Microburner 512
(made by Baradine Products Ltd.) and it has the capability to in circuit
program with no shunts, no buffers, even with a 100 uf cap on VDD. The only
thing it doesn't do is margin-test the intergrity of the part.
If anyone knows of a programmer as good at in circuit prugramming
as the Microburner, that also verifies over the whole voltage range, please
let me know.
-Otmar-
-----------------------------------------------------------------------
Otmar Ebenhoech Electric Vehicle Components Ltd.
"I wish I die sleeping like my grandfather,
not screaming in terror like his passengers." .....OtmarEraseMEEVCL.com (415) 494-9255
-----------------------------------------------------------------------
>You can download a free Easytrax PC Board design program, lay out a double
>sided plated through board, FTP your gerber file and drill files to
>apcircuits, then get the completed boards about a week later. I got 6
>3.5"x3.5" boards for around $100US. A double sided plated-through board is a
I just finished bringing up some boards I had done by apcircutis and I was
VERY dissatified with the results. Over 60% of my vias were not thru
connected and about 20-30% of my pads as well. My jumper per inch ratio for
this board is very high and it was very, very frustating.
In defense of ap however I don't know if it was something that I did wrong
with my board specifications that caused it or if it was just apcircuits
quality. Has any one else experienced this?
One thing that really chapped me was that I had a part that the pad size and
the hole size were equal and ended up a big via from my power plane to my
ground plane. I would have thought that they would have caught such a
glaring error when doing the film.
--
Richard A. Smith Always remember to pillage
Contract Monkey & BEFORE you burn.
Head Pryo Technician .....ras2EraseMEtant.com
>>Use apcircuits at
>
>>E-Mail: spamstaffspam_OUT@spam@apcircuits.com
>>WEB Page: http://www.apcircuits.com
>
>I just finished bringing up some boards I had done by apcircutis and I was
>VERY dissatified with the results. Over 60% of my vias were not thru
>connected and about 20-30% of my pads as well. My jumper per inch ratio for
>this board is very high and it was very, very frustating.
>
>In defense of ap however I don't know if it was something that I did wrong
>with my board specifications that caused it or if it was just apcircuits
>quality. Has any one else experienced this?
>
>One thing that really chapped me was that I had a part that the pad size and
>the hole size were equal and ended up a big via from my power plane to my
>ground plane. I would have thought that they would have caught such a
>glaring error when doing the film.
>
>--
>Richard A. Smith Always remember to pillage
>Contract Monkey & BEFORE you burn.
>Head Pryo Technician
>spamras2@spam@STOPspamtant.com
>
Did you leave enough annular pad width around the holes (10 mil minimum)?
Failing to do that can cause damage to the pads when the holes are drilled.
We have done a number of fairly complicated PCBs with AP Circuits and
have never had a problem -- their boards have always been high quality. We
have even used them for small production runs when time was short.
I don't think it's feasible for APC to check every pad on a PCB and guess
what the designer had in mind. You can download GC Prevue from their web
site and use it to check the Gerber files for errors yourself before you
send them.
>>Use apcircuits at
>
>>E-Mail: spamBeGonestaffspamBeGone@spam@apcircuits.com
>>WEB Page: http://www.apcircuits.com
>
>>You can download a free Easytrax PC Board design program, lay out a double
>>sided plated through board, FTP your gerber file and drill files to
>>apcircuits, then get the completed boards about a week later. I got 6
>>3.5"x3.5" boards for around $100US. A double sided plated-through board is a
>
>I just finished bringing up some boards I had done by apcircutis and I was
>VERY dissatified with the results. Over 60% of my vias were not thru
>connected and about 20-30% of my pads as well. My jumper per inch ratio for
>this board is very high and it was very, very frustating.
>
>In defense of ap however I don't know if it was something that I did wrong
>with my board specifications that caused it or if it was just apcircuits
>quality. Has any one else experienced this?
>
>One thing that really chapped me was that I had a part that the pad size and
>the hole size were equal and ended up a big via from my power plane to my
>ground plane. I would have thought that they would have caught such a
>glaring error when doing the film.
>
>--
>Richard A. Smith Always remember to pillage
>Contract Monkey & BEFORE you burn.
>Head Pryo Technician
>RemoveMEras2RemoveMERemoveMEtant.com
I have used APC for some 12 to 15 boards. Only once, did they make screw up.
They drilled a couple of holes at random points on the board. Additionally,
they put in two extra vias. The Gerbers given to them were fine. They agreed
and gave a new set of boards. Yes, it is a little frustrating to spend a
couple of
hours debugging only to find out it is Fab problem. But, for the price and the
quick turn, it is VERY difficult to beat.
Any other problems I have had with APC boards are of my own doing! For the
price, you get basic service; if you want full service, you have to pay for it!
There are two other companies that I use for multi-layer or two-layer legended
boards. They are both quick turn and have good prices.
300 square inches/2 layer/legend/solder mask/3 day/$300
Ask for AJ at OnTime Electronics in Illinois
+1.847.299.9900
300 square inches/2 layer/legend/solder mask/1 day/$500
Ask Zulki at NexLogic in Santa Clara, California
(local for me, so it is a great price for 24 hour/same day jobs)
+1.408.727.3500
>I just finished bringing up some boards I had done by apcircutis and I was
>VERY dissatified with the results. Over 60% of my vias were not thru
>connected and about 20-30% of my pads as well. My jumper per inch ratio for
>this board is very high and it was very, very frustating.
>
>In defense of ap however I don't know if it was something that I did wrong
>with my board specifications that caused it or if it was just apcircuits
>quality. Has any one else experienced this?
My results have been 180 degrees opposite this. I have only used them
twice, but every time they were perfectly done.
I used SuperPCB from Mental Automation (http://www.mentala.com) and got
exactly what my screen showed, no more, no less.
All vias, thru-holes, etc. were connected well, even traces which did not
meet their .008/.008 guidelines came through perfectly as well.
The only thing which is different than a $2000 board-house is that, for
"Proto-1" service, boards are sheared rather than routed. Fine with me for
that price differential, I'll use my X-acto with a carbide bit and do my
own routing.
>One thing that really chapped me was that I had a part that the pad size and
>the hole size were equal and ended up a big via from my power plane to my
>ground plane. I would have thought that they would have caught such a
>glaring error when doing the film.
Remember, they do not proof your boards for you. That's YOUR job. Hand it
to one of the others in your office to verify, don't expect ANY board house
to do it.
Also, learn a little about the process. Holes are drilled and plated
through BEFORE they etch them, opposite of most do-it-yourself kits.
Perhaps you need to read in detail their HTML about the process again. It
sounds like you are expecting something that they do not promise to provide.
Andy
==================================================================
Andy Kunz - Montana Design - 409 S 6th St - Phillipsburg, NJ 08865
Hardware & Software for Industry & R/C Hobbies
"Go fast, turn right, and keep the wet side down!"
==================================================================
> I just finished bringing up some boards I had done by apcircutis and I was
> VERY dissatified with the results. Over 60% of my vias were not thru
> connected and about 20-30% of my pads as well. My jumper per inch ratio for
> this board is very high and it was very, very frustating.
I've used APCIRCUITS twice now and have been generally happy with the
results. The first design returned with unplated holes undrilled, and
both designs seem to have had undersized holes for the 35t drill (which
meant that all the headers were either difficult or impossible to
stuff). They delivered the second design one day late, but called me to
let me know about it.
I'll be using them again: With a thoroughly checked design, all holes
plated, and oversized holes/pads for headers, etc.
The convenience of low cost and fast delivery is highly valued!
BTW I havn't been very active on the PICLIST since I changed to DIGEST
mode. To reply I had to edit the entire digest message and insert the
subject manually. Anyone know of an easier way (with Netscape V3.0)?
>
> >I just finished bringing up some boards I had done by apcircutis and I was
> >VERY dissatified with the results. Over 60% of my vias were not thru
> >connected and about 20-30% of my pads as well. My jumper per inch ratio for
> >this board is very high and it was very, very frustating.
> >
> >In defense of ap however I don't know if it was something that I did wrong
> >with my board specifications that caused it or if it was just apcircuits
> >quality. Has any one else experienced this?
>
> My results have been 180 degrees opposite this. I have only used them
> twice, but every time they were perfectly done.
I'll chime in an say my results were exactly the same-- perfect.
This was with a LOT of very small holes (20 mil).
>
> I used SuperPCB from Mental Automation (http://www.mentala.com) and got
> exactly what my screen showed, no more, no less.
>
I use Eagle PCB and although I sent them some data that was flawed the
first time, they picked up on it and called me back without just blindly
making the board-- Nice.
<snip>
I would definitely reccomend them to anyone trying to make small
quantities of double-sided boards. I've heard there's another company
with a similar name in Canada (can't remember which) that is a little
cheaper, but in comparison to larger quickturn houses, A.P. Circuits is
considerably less expensive.
I have used AP Circuits about a dozen times now and only finding one problem
(some improperly etched cu that left a "blob" on a trace, although it did
not affect the operation of the board). Actually, my experiences have been
nothing but good - send the gerbers, aperture and Drill files and three days
later FedEx delivers the boards by 10:30 AM.
Andy Kunz summarized quite well what AP will and won't do for you, but here
are my two cents.
- Understand why you are doing this. I find that spending $80 Canadian
(what two small boards always seem to end up costing me) to be worth not
having to prototype the cards either as vector boards or wire wrapping. I
have really only gone into production quantities on one board. As a
hobbyist/author, using AP circuits to try out my designs works well for me.
- AP Circuits is a prototype shop. They are not a production house. As
such, their board tolerances are quite poor when compared to what's possible
if you're willing to wait 2 to 10 weeks.
- read through all the online stuff (not just the AP circuits stuff).
There's a lot of good information out there.
- AP Circuits are not there to critique your designs or point out potential
problems. If you are doing this for the first time, then learn from the
experience. Before going with AP, I used to make my own boards with fair
success, but if there was a problem, I didn't have anybody to blame but
myself. I've learned a *lot* from having my own boards built.
- Ask questions. While the guys at AP circuits are not there to critique
your designs, they will give you some good pointers. And, you can probably
get answers to general questions from the various people on this list.
- Follow their design rules. The proto1 boards are guaranteed to 10 mil
spacing/minimum traces, don't violate it. The same goes with specifying
drill sizes - I found the best results when only using the proto1
"Standards" (marked with a splat on the web page).
- Use the GCPREVUE program to make sure your board looks good before you
send it out. This includes creating a correct .APR file for it. I go
through the design three ways. First, each side of the board individually
with and without the .APR file (without the .APR file will give you line
drawings and I find I can identify problems (such as unconnected nets)
easier this way) and then with both sides together (and the .APR file) to
make sure everything lines up correctly. I also print out oversize images
of the boards onto overhead plastic to help with this checkout.
- Use the right tool. I have done boards with up to four connectors (IDC
and D-Shell) and six active components. With using Easytrax, this is about
as complex as I would want to go. For anything else, I'll use an integrated
package like Ulti-Board for schematic capture and board layout.
- I find it good practice to spend a lot of time up front figuring out the
best component placement before wiring the card. The measure of success is
not having any vias. Actually, my first few boards only had two drill sizes
(0.0420" for chips and connectors (although, I use 0.0350" now for chips)
and 0.125" for tooling holes). Now, I'm comfortable having four (0.0280"
for vias, 0.0350" for chip pins, 0.0420" for Connectors, and 0.125" for
Tooling Holes).
The more time you spend figuring out the best layout of the card, the easier
time you'll have wiring it. The easier time you have wiring the board, the
higher the probability it will work without any problems. In the course of
wiring a board, I will ditch a design several times if I see a better way of
putting the components. Oh, one word on this, I always keep the chips
orientated the same way, if I have a choice between orientating the chips
the same way or simplifying the wiring, I will always keep the chips
orientated the same way. These boards are not silkscreened and I don't want
to have an issue where I can't visually check the orientation before
soldering the boards.
You probably feel incented to keep the boards as small as possible (lower
cost), but note that AP Circuits has an extra cost for very dense boards, so
you may want to stretch things out and make things easier on your self. As
part of this, always try to make all your traces accessible to EC (cut and
add wires).
- Last note. As the designer, you are the ultimate authority, don't expect
an "Expert" to know what you want to do better than you do. For one of the
designs in my book, I had a couple of hundred boards built by another
company, using the same Gerbers that I gave to AP Circuits. This other
company decided that they could improve on the design by tweaking some
traces and changing drill sizes. Not having a lot of experience with
designing boards (although lots of experience critiquing others), I let them
go ahead and the end result was 200 unusable boards (which the company did
take back and rebuilt using the original design).
Sorry, lots of pontificating here and probably a basic tutorial on designing
cards the myke predko way. But, I guess the basic message is, don't whip up
a design and expect it to come out perfectly without truly understanding
what you have done.
Getting your homework done will guarantee no problems when you get your
boards back from AP Circuits.
>>Use apcircuits at
>
>>E-Mail: spam_OUTstaff@spam@apcircuits.com
>>WEB Page: http://www.apcircuits.com
>
>>You can download a free Easytrax PC Board design program, lay out a double
>>sided plated through board, FTP your gerber file and drill files to
>>apcircuits, then get the completed boards about a week later. I got 6
>>3.5"x3.5" boards for around $100US. A double sided plated-through board is a
>
>I just finished bringing up some boards I had done by apcircutis and I was
>VERY dissatified with the results. Over 60% of my vias were not thru
>connected and about 20-30% of my pads as well. My jumper per inch ratio for
>this board is very high and it was very, very frustating.
>
>In defense of ap however I don't know if it was something that I did wrong
>with my board specifications that caused it or if it was just apcircuits
>quality. Has any one else experienced this?
>
>One thing that really chapped me was that I had a part that the pad size and
>the hole size were equal and ended up a big via from my power plane to my
>ground plane. I would have thought that they would have caught such a
>glaring error when doing the film.
>
>--
>Richard A. Smith Always remember to pillage
>Contract Monkey & BEFORE you burn.
>Head Pryo Technician
>TakeThisOuTras2spam_OUTtant.com
>
>
"My ancestors didn't spend millions of years clawing their way to the top of
the food chain, just so I could become a vegetarian"
I just got a call from Wayne Bamber, the president of AP Circuits who had
heard about the complaints about his company on the list. He seemed to get
a copy of my note and wanted to talk to me about the situation.
Wayne asked me to have Richard to contact him directly to talk about the
problems Richard had with his cards (he's concerned about the 60% missing
plating on vias).
AP Circuits wants everyone on the list to know that they do care about the
quality of the product they make and will refund the cost of boards if there
are any problems with their workmanship.
myke
"My ancestors didn't spend millions of years clawing their way to the top of
the food chain, just so I could become a vegetarian"
Dana Raymond writes:
> BTW I havn't been very active on the PICLIST since I changed to DIGEST
> mode. To reply I had to edit the entire digest message and insert the
> subject manually. Anyone know of an easier way (with Netscape V3.0)?
I use an emacs major mode called vm to read and write e-mail. It will
burst a digest into the individual messages at the press of a
key. There are probably utilities that will do the same thing from a
shell or command prompt, too.
>I just finished bringing up some boards I had done by apcircutis and I was
>VERY dissatified with the results. Over 60% of my vias were not thru
Ooops....
Turns out I made a error with my name. The company I had to my proto boards
done at was EP Circuits not AP Circuits. A different Candiaian proto shop.
My apologies to anyone at AP who reads this list. Kudos to all those who
were very quick to contest my post and show that AP Circuits indeed does
quality work. Again I am sorry.. I was not out to slander AP. In fact, I
will have to make sure I try them next time based on everyones good experiences.
Thanks to everyone who responded and gave me some suggestions for future
designs. I am going to go back and re-examine my PCB design to see if I may
have hosed myself.
So has anyone else besides me used EP Circuits before? If so what was your
experience?
--
Richard A. Smith Always remember to pillage
Contract Monkey & BEFORE you burn.
Head Pryo Technician KILLspamras2.....TakeThisOuTtant.com
>Turns out I made a error with my name. The company I had to my proto boards
>done at was EP Circuits not AP Circuits. A different Candiaian proto shop.
>
>My apologies to anyone at AP who reads this list. Kudos to all those who
>were very quick to contest my post and show that AP Circuits indeed does
>quality work. Again I am sorry.. I was not out to slander AP. In fact, I
>will have to make sure I try them next time based on everyones good
experiences.
Could someone please provide an address/phone number/e-mail address/ect for
AP Circuits ... The discussions has my interest up an would like get more
info about them for future use.
Thanks
Larry
-----------------------------------------------------------------------
Larry P. Thomas wa0gwa voice : 1 913 888-0282
Krell Technologies fax : 1 913 782-9359
8960 Bond pager : 1 816 989-HELP
Overland Park, KS 66214-1764 e-mail : TakeThisOuTlpthomasEraseMERemoveMEwinning-edge.com
www : http://www.krell.com
-----------------------------------------------------------------------
www.apc.com is there web address, I was there yesterday and it is very
informative!! {Quote hidden}
> ----------
> From: pic microcontroller discussion
> list[SMTP:spam_OUTPICLISTRemoveME.....MITVMA.MIT.EDU] on behalf of Larry P. Thomas
> WA0GWA[SMTP:spamlpthomasKILLspamKILLspamWINNING-EDGE.COM]
> Sent: Wednesday, May 07, 1997 8:46 AM
> To: spamPICLISTspam_OUTMITVMA.MIT.EDU
> Subject: How to contact AP Circuits ??
>
> >Turns out I made a error with my name. The company I had to my proto
> boards
> >done at was EP Circuits not AP Circuits. A different Candiaian proto
> shop.
> >
> >My apologies to anyone at AP who reads this list. Kudos to all those
> who
> >were very quick to contest my post and show that AP Circuits indeed
> does
> >quality work. Again I am sorry.. I was not out to slander AP. In
> fact, I
> >will have to make sure I try them next time based on everyones good
> experiences.
>
> Could someone please provide an address/phone number/e-mail
> address/ect for
> AP Circuits ... The discussions has my interest up an would like get
> more
> info about them for future use.
>
> Thanks
> Larry
> ----------------------------------------------------------------------
> -
> Larry P. Thomas wa0gwa voice : 1 913 888-0282
> Krell Technologies fax : 1 913 782-9359
> 8960 Bond pager : 1 816 989-HELP
> Overland Park, KS 66214-1764 e-mail : STOPspamlpthomasspam_OUTspamBeGonewinning-edge.com
> www : http://www.krell.com
> ----------------------------------------------------------------------
> -
>
>Could someone please provide an address/phone number/e-mail address/ect for
>AP Circuits ... The discussions has my interest up an would like get more
>info about them for future use.
======================================================================
Andy Kunz - Montana Design - 409 S 6th St - Phillipsburg, NJ 08865 USA
Electronics for Industry & R/C Hobbyists
"Go fast, turn right, and keep the wet side down!"
======================================================================
>I just got a call from Wayne Bamber, the president of AP Circuits who had
>heard about the complaints about his company on the list. He seemed to get
>a copy of my note and wanted to talk to me about the situation.
Wow... I am truly amazed at how even though several people piped up and
contested my results with much more positive evidence my (mistaken) comments
went all the way to the top.
Once again... I was mistaken on my Canadian proto PCB company. The company
I used was EP Circuits not AP Circuits.
--
Richard A. Smith Always remember to pillage
Contract Monkey & BEFORE you burn.
Head Pryo Technician spam_OUTras2spamBeGonetant.com
I use AP Circuits a lot, and have never had any real trouble.
I have used them several time for runs of 50 boards for small
production of a device.
EP circuits on the other hand is a little cheaper, but much less
quality. Hole plating was OK on the one double side board I had
done, but several of the units had the solder mask skewed so far as
to be off the pad. Some units were OK.
I tried them again for a single sided board. The copper was really
plated heavy. This tends to close up the holes.
Not worth the little money I saved.
Gary Skinner EraseMEgskinnerKILLspamcsd.net
Electronic Solutions, Inc.
design of custom electronic controls
Hello to all,
I need to program a 16c84 part soldered to the PCB, and I've built two
homemade programmers: a "ludipipo" for the serial port and a "topic" for
the parallel port.
None of them are able to program the pic in the circuit, but they work
fine with a "off-circuit" PIC. I've read in this List some things to try:
- Stop the PIC oscillator grounding the OSC1 pin.
- Shield the cables to the PIC.
- Cables as short as possible.
My questions is: It's really needed to stop the PIC oscillator? What else
can I try?
Thanks in advance.
-----------------------------------------------------------------------
| Adolfo Cobo Garcia - UNIVERSIDAD DE CANTABRIA |
| E.T.S.I.I. y Telecomunicacion, Grupo de Ingenieria Fotonica |
| Avda. Los Castros s/n E-39005 Santander SPAIN |
| Tfno. +34-42-201539 Fax +34-42-201873 Email: EraseMEacoboRemoveMEteisa.unican.es |
-----------------------------------------------------------------------
> I need to program a 16c84 part soldered to the PCB, and I've built two
> homemade programmers: a "ludipipo" for the serial port and a "topic" for
> the parallel port.
> None of them are able to program the pic in the circuit, but they work
> fine with a "off-circuit" PIC.
What circuitry is connected to RB6 and RB7? As explained in the
hardware.txt file that came with the TOPIC info this programmer can
only drive a load of around 20-30kohms when the PIC is in-circuit
(based on the assumption that the parallel port uses open-collector
drivers). Also how do you ensure /MCLR is raised to VPP? With both
LUDIPIPO and TOPIC you will have problems if you don't isolate the
normal connection to VDD using a diode (the TOPIC schematic shows
the sort of thing). You asked whether it is really necessary to stop the
oscillator while programming in-circuit. Using the TOPIC software
I've not found this to be necessary using either an RC (4k7, 22pF) or
an XT (4MHz) oscillator (which are the only configurations I've
actually tested). My guess is your problems are due to lack of drive
to RB6/RB7, poor control of /MCLR or using a excessively long cable to
connect the programmer to your board. Have you looked at the programmer
described in Microchip Application note AN589 (or one of the clones)
as this has active drive of RB6/RB7?
Sincerely,
Dennis Kegley
*******************************************************************************
A foolish constinecy is the hobgoblin of little minds.
Ralph Waldo Emerson
*******************************************************************************
On Fri, 9 May 1997, William Chops Westfield wrote:
> Does anyone have recomendations for a board shop for "small production"
> lots of pc boards with a longer lead time? Say, 100 3x5 boards in 3-6 weeks?
>
> BillW
>
Adolfo Cobo (Ingenieria Fotonica) wrote:
>
> Hello to all,
> I need to program a 16c84 part soldered to the PCB, and I've built two
> homemade programmers: a "ludipipo" for the serial port and a "topic" for
> the parallel port.
> None of them are able to program the pic in the circuit, but they work
> fine with a "off-circuit" PIC. I've read in this List some things to try:
>
> - Stop the PIC oscillator grounding the OSC1 pin.
> - Shield the cables to the PIC.
> - Cables as short as possible.
>
> My questions is: It's really needed to stop the PIC oscillator? What else
> can I try?
> Thanks in advance.
>
I had to isolate the programming pins with a switch even though the
circuits the pins were connected to were relatively high in impedance I
suspect rise time problems due to capacitive loading.Afterwords it
occured to me that I probably could have built a cmos buffer into a dip
clip and succeded but I did'nt try it.There's no doubt others on the
list with more usable advice but I just could'nt help myself..Tony M.
>
> Adolfo Cobo (Ingenieria Fotonica) wrote:
> > Hello to all,
> > I need to program a 16c84 part soldered to the PCB, and I've built two
> > homemade programmers: a "ludipipo" for the serial port and a "topic" for
> > the parallel port.
> > None of them are able to program the pic in the circuit, but they work
> > fine with a "off-circuit" PIC. I've read in this List some things to try:
> >
> > - Stop the PIC oscillator grounding the OSC1 pin.
> > - Shield the cables to the PIC.
> > - Cables as short as possible.
> >
> > My questions is: It's really needed to stop the PIC oscillator? What else
> > can I try?
> > Thanks in advance.
> >
> I had to isolate the programming pins with a switch even though the
> circuits the pins were connected to were relatively high in impedance I
> suspect rise time problems due to capacitive loading.Afterwords it
> occured to me that I probably could have built a cmos buffer into a dip
> clip and succeded but I did'nt try it.There's no doubt others on the
> list with more usable advice but I just could'nt help myself..Tony M.
I used what I call a bulldozer approach. This requires a 4PDT switch and
target board that is suitably designed to accept a programming cable.
I/We also are programming SimmSticks with 84's in circuit. Again the
target SimmStick
is isolated from other hardware with the 4PDT switch, and a suitably
designed programmer.
If you can design your target board to suit, this principle works a
treat.
There are many piclisters using this method. Isn't that right guys?
PICSTART and Newfound PIC Programmers Firmware Upgrades.
SLI, the serial LCD that auto detects baud rates from 100 to 125K bps.
SimmStick(tm) A PIC proto PCB the size of a 30 pin Simm Memory Module.
Send a blank message to helpTakeThisOuTKILLspamdontronics.com for more info.
I think the app notes say something about some isolation resistors which
would take care of capacitive loading.
Sincerely,
Dennis Kegley
*******************************************************************************
A foolish constinecy is the hobgoblin of little minds.
Ralph Waldo Emerson
*******************************************************************************
Hi
Try looking in almost any issue of Everyday Practical Electronics. They
use ISP in all their pic projects (18c84 but it should be pretty standard).
The software is available from their ftp site at
ftp://ftp.epemag.wimborne.co.uk/pub/pics/
I can look out the circuit details if you want. Hope it helps.
Tim
------------------------------------------------------------------
Personal Web Pages: http://web.ukonline.co.uk/members/tim.kerby/
PIC Site: web.ukonline.co.uk/members/tim.kerby/pic/
The PIC Pages are under construction and I am looking for projects
------------------------------------------------------------------
> I need to program a 16c84 part soldered to the PCB, and I've built two
> homemade programmers: a "ludipipo" for the serial port and a "topic" for
> the parallel port.
> None of them are able to program the pic in the circuit, but they work
> fine with a "off-circuit" PIC. I've read in this List some things to try:
>
> - Stop the PIC oscillator grounding the OSC1 pin.
> - Shield the cables to the PIC.
> - Cables as short as possible.
>
> My questions is: It's really needed to stop the PIC oscillator? What else
> can I try?
> Thanks in advance.
I have used my Tait programmer to program 16F84s in-circuit (well,
in bread/pref board) without modification. I DID NOT stop the
ceramic resonator, and I am using a short non-shielded cable. I even
use the switched programmer power to power the device. However, my
circuit does not yet use RB6 and RB7, so I can dedicate them to
programming. If there is interest, I can share information on my
setup further. I am very happy with my Tait programmer, it let me
start experimenting with PICs for very little cost!
Is it possible to program and reprogram a PIC16c84 in circuit I have
13 volts & 5 Volts on board for vpp / vss for mclear & diode to
protect circuit from mclr when going to 13V .?
(clk & datapins) What resistors are required on the circuit?
Using the ludipipo RS232 interface to program this device. Are there
any modifications that are required
This must have been done some where?
I have this interface connected to a chipclip with ov + data + clk
pins
Any solutions would be great relief thanks for now.
If you send me you schematic i'll have a look at it. i've been fumbling with
programmers
for a few weeks now and made some
alterations. maybe i can be of any help to you.
----------
| From: Michael Warwick <WARWICK_MICHAEL/TakeThisOuTGBTakeThisOuTRemoveMERENISHAW.CO.UK>
| To: spam_OUTPICLISTspam.....MITVMA.MIT.EDU
| Subject: in circuit programming help required pip02/com84 ludipipo
| Date: donderdag 29 mei 1997 15:21
|
| Item Subject: cc:Mail Text
| Hi all
|
| Is it possible to program and reprogram a PIC16c84 in circuit I have
| 13 volts & 5 Volts on board for vpp / vss for mclear & diode to
| protect circuit from mclr when going to 13V .?
|
| (clk & datapins) What resistors are required on the circuit?
|
|
| Using the ludipipo RS232 interface to program this device. Are there
| any modifications that are required
|
|
| This must have been done some where?
|
| I have this interface connected to a chipclip with ov + data + clk
| pins
|
| Any solutions would be great relief thanks for now.
|
| Michael
Hi,
For those of you interested in, or using
circuit simulator tools, I've posted the
new MOSFET BSIM3v3 level 8 mosfet docs to
my web site below (In PDF format)
I am building a project using the 16C84 and want to be able to use 'in circuit
programming' with pins PB6 and PB7.
Is it still possible then to use PB6 and PB7 as I/O pins?
Mark Langezaal wrote:
>
> Hello,
>
> I am building a project using the 16C84 and want to be able to use 'in circuit
> programming' with pins PB6 and PB7.
> Is it still possible then to use PB6 and PB7 as I/O pins?
>
> Thanks,
>
> Mark Langezaal
> EraseMEmlangezaal.....klm.nl
Yes. Just don't put decoupling caps on them - the programming pulses
are shorted to ground in that case.
--
Friendly Regards
Tjaart van der Walt spamtjaartKILLspam@spam@wasp.co.za
________________________________________________________
| WASP International http://wasp.co.za |
| R&D Engineer : GSM peripheral services development |
|Vehicle tracking | Telemetry systems | GSM data transfer|
|Voice : +27-(0)11-622-8686 | Fax : +27-(0)11-622-8973 |
| WGS-84 : 26010.52'S 28006.19'E |
|________________________________________________________|
I'm new to using the PIC uProc and am trying to setup a target circuit.
I am working with a PIC16c74. I have a 4M Hz, 8M Hz, and 20M Hz crystal
(CYL XTAL CA-301 Type). All should be compatible provided I'm not
running
at low power. My problem is I didn't receive any spec sheets on the
crystals,
and do not know the proper circuit configuration for them. Any
information on
how to use the crystals I have to provide the oscillator input to the PIC
would
be appreciated.
Thanks,
-Aaron Buchanan
***------------------------------------------------------------------***
* Aaron Buchanan axb9910spamTakeThisOuTrit.edu *
* Dept. of Computer Engineering Rochester Institute of Technology *
***------------------------------------------------------------------***
>Hi,
>
>I'm new to using the PIC uProc and am trying to setup a target circuit.
>I am working with a PIC16c74. I have a 4M Hz, 8M Hz, and 20M Hz crystal
>(CYL XTAL CA-301 Type). All should be compatible provided I'm not
>running
>at low power. My problem is I didn't receive any spec sheets on the
>crystals,
>and do not know the proper circuit configuration for them. Any
>information on
>how to use the crystals I have to provide the oscillator input to the PIC
>would
>be appreciated.
>
>Thanks,
>-Aaron Buchanan
Hi everyone,
This is probably the second time I have sent a question to the list, but read
all e-mail of interest from the list and it covers a large variety of
interesting pic subjects.
I have a project I am working on which uses a pic, which is initally sleeping
and powered up by an interrupt at RB0. It then is awake for 2 minutes and
looks for an interrupt on RB7 ( RB0 is used to wake up from sleep). When this
occurs a different timing cycle starts and then output RB1 turns on. The
timing and interrupts work great. Now my question. I want to initiate the RB7
input from an RF source at very short range (10 ft max) . Most of the RX-TX
modules I have seen are for .100 ft.(Linx or Ming for example) I want the
circuit to function when the circuit (battery operated) comes near the
transmitter.) The transmitter will be line powered.
I can sure used some suggestions-ideas. I have thought about frequencies as
low as one khz but alot of power is required.
Thanks in advance.
Bill Merson RemoveMEMersonbillRemoveMEaol.com
Merson Control Systems
I WISH, really really wish Microchip or any third party co. would come
up with something like electronics workbench simulator. It's easy -
external Interrupt inputs can be assigned to any keyboard key/button to
trigger, can be Word generator or any clock source, etc. Then the
outputs can be displayed on virtual instruments like LCDs(Graphic type
would be nice), LEDs, 7X,logic analyser, buzzer, etc. And of course the
WATCH should be still there to monitor all the internal registers, etc
activities.
If you have tried both EW and MPLab-Sim you'll know how easy and how
simple it is to design both the hardware & the program without the
hassles of stimulus files! Double click on the PIC chip icon will
execute the source code editor with an option to choose the PIC type.
This would be a lot easier and faster for both beginners and experts
alike, without even getting near to the real PIC!
Maybe it's not a bad idea for both Microchip and Interactive Image
Technologies to work together on this. I really hope they will SOON!
Have you used Electronics Workbench(EW)? If you have then probably you'd
wish a PIC simulator works like that. This is where you can design both
the project circuit diagram,edit source code and simulate it at the
same time. At the end of a successful simulation, a netlist file, with
format option, will be produced for PCB artwork and the intergrated
programmer will blast a chosen PIC.
Features:
External interrupts can be triggered using any assigned key(s) or
button(s) on the keyboard, which is also definable as nXm keypad. Word
generator or any clock source can also be used. The outputs then can be
used to drive virtual LED's, 7X, LCD (graphic dot matrix type is very
exciting!), buzzers, relays, logic analyzer, oscilloscope, etc. It can
also handle multiple and different PIC devices in one design!
Just point, click and drag the components on the tools bar into the
workspace and wire them up. Double click on any PIC chip icon on the
circuit diagram will execute source code editor and assembler for that
PIC with options like choosing PIC type, clock, fuses etc. Then you're
ready to go!
This is quite easy, both encouraging and time saving for beginners and
experts alike without the hassles of stimulus file or any other stuffs
that you are NOT dealing with in the real world! The best thing is you
don't even have to go near to the real thing! You can forget about the
real emulator.
Multiple WATCH as in MPLab-SIM is good. It monitors the activities of
all chosen registers.
MP-Driveway and UMPS are good but lack of circuit diagram design
facility like VICE. They have a lot of unneccessary files, resources
etc. that you don't have to know about as in the real world. And they
are not straight forward and not as easy to use as VICE. Especially if
you're just spending half an hour or so evaluating it.
BUT hey folks! Don't be so excited yet! It's just my wish to have this
sort of software. I think it's not a bad idea for Interactive Image
Technologies (the maker of Electronic Workbench) and Microchip to work
together on this idea. Perhaps I'll make a suggestion to both.
NOT neccessarily these two companies. Any other third parties why not?
Let me know the exciting news i.e ready for market.
part 0 528 bytes A decent tool of this nature would dramatically reduce development time, especially if it catered for the whole PIC range, no more waiting for eraser to do it's bit :-) The present simulator is a pain, and an emulator capable of emulating external circuitry as well, would be magic - you could push your input button(s) and see the display change.
A real bonus would be an export facility (circuit description) to some of the pcb design tools out there.
dallas semi has a reset chip that resets at 3.3 vdc. nothing could be
easier to use only 3 pins. i will also say that any time you want to
make something cheaper the reliability goes down faster than the price.
if you are making a million parts the price is important but if you are
making a hundred parts the reliability is important.
> Guys,
>
> I have a problem. My micro is running in a battery operated
> environment where the battery pack is a part of the product.
>
> When the battery is completely dead ie around 2.4V the micro has
> stopped and so has the resonator. We then begin to charge the battery.
>
> The volatge starts to rise, at 3.2V we want the micro to startup.
>
> Do I need to go for a full blown Reset Controller? Or is there a
> simpler (cheaper) method.
>
> TIA
> Scott.
>
>
Seems like the watchdog timer would take care of this situation.
It would keep resetting the processor, which continues to die until it is
finally brought back to life once the battery voltage is high enough. Am
I missing something?
> Guys,
>
> I have a problem. My micro is running in a battery operated
> environment where the battery pack is a part of the product.
>
> When the battery is completely dead ie around 2.4V the micro has
> stopped and so has the resonator. We then begin to charge the
>battery.
>
> The volatge starts to rise, at 3.2V we want the micro to startup.
>
> Do I need to go for a full blown Reset Controller? Or is there a
> simpler (cheaper) method.
>
> TIA
> Scott.
>
I know of two generic methods to solve the problem. One is a transistor and
resistors or a zener as shown in the data sheet. This is the least
expensive (from component cost point of view) method. The other is to use a
power supply supervisor. Check out Maxim and Dallas. This is a more
expensive solution (US$1 to US$2), but they have features that might be
worth the cost: Low power, smaller footprint, more precise, and turn-on
delay. I believe that you will find that you will need to handle reset in
some way. I have a product that I am recalling because of this. Believe me,
it's better to do it right the first time.
The watchdog does _NOT_ work reliable after broun-out. I have no
explaination for this, only experience with 16F84s. The 'F84s will wake up
"sort of" working, and the watchdog will not do a proper reset. Ports wake
up in a funny mode (not documented) and there is a good possibility that
the EEPROM is corrupted.
> Guys,
>
> I have a problem. My micro is running in a battery operated
> environment where the battery pack is a part of the product.
>
> When the battery is completely dead ie around 2.4V the micro has
> stopped and so has the resonator. We then begin to charge the battery.
>
> The volatge starts to rise, at 3.2V we want the micro to startup.
>
> Do I need to go for a full blown Reset Controller? Or is there a
> simpler (cheaper) method.
>
> TIA
> Scott.
>
>
> I have a problem. My micro is running in a battery operated
> environment where the battery pack is a part of the product.
> When the battery is completely dead ie around 2.4V the micro has
> stopped and so has the resonator. We then begin to charge the battery.
> The volatge starts to rise, at 3.2V we want the micro to startup.
> Do I need to go for a full blown Reset Controller? Or is there a
> simpler (cheaper) method.
> TIA
> Scott.
I use the Seiko S8054 reset devices. (from Avnet in OZ) Around $0.53+ each.
Different cut-off voltages are available. I normally use the S8054HN.
It's in a TO-92 package with open-drain output. (use 1K pull-up resistor)
Just hook to +5,0v & reset input. I found that they solved all my dramas
with PIC's not resetting after brownout,etc. Cheap insurance !
> I know of two generic methods to solve the problem. One is a
> transistor and resistors or a zener as shown in the data sheet. This
> is the least expensive (from component cost point of view) method.
> The other is to use a power supply supervisor. Check out Maxim and
> Dallas. This is a more expensive solution (US$1 to US$2), but they
> have features that might be worth the cost: Low power, smaller
> footprint, more precise, and turn-on delay. I believe that you will
> find that you will need to handle reset in some way. I have a
> product that I am recalling because of this. Believe me, it's better
> to do it right the first time.
>
> The watchdog does _NOT_ work reliable after broun-out. I have no
> explaination for this, only experience with 16F84s. The 'F84s will
> wake up "sort of" working, and the watchdog will not do a proper
> reset. Ports wake up in a funny mode (not documented) and there is a
> good possibility that the EEPROM is corrupted.
Reset doesn't always seem to remedy some of the problems, either.
How about a 'snap' action on the Vdd pin? (so any voltage below, say
4 volts give 0 v output, then turns on quickly at above 4 volts)
MikeS
<KILLspammikesmith_ozKILLspamspamBeGonerelaymail.net>
=== For PICLIST help (including "unsubscribe" instructions),
=== send an e-mail containing the single phrase "help piclist"
=== to: spamBeGonelistservKILLspammitvma.mit.edu
What I think you are eluding to here is the behaviour of the crystal
or resonator that you are using. They like to be applied with a rapid
rising voltage rather than a slow rising voltage.
I know what you mean though, and believe that this is also a part of
my orignal problem.
regards,
SW.
______________________________ Reply Separator _________________________________
Subject: Re: Cheap Reset Circuit -- With slowly rising Vcc (Battery)
Author: mikesmith_oz@spam@KILLspamrelaymail.net at INTERNET
Date: 21/08/97 20:44
> I know of two generic methods to solve the problem. One is a
> transistor and resistors or a zener as shown in the data sheet. This
> is the least expensive (from component cost point of view) method.
> The other is to use a power supply supervisor. Check out Maxim and
> Dallas. This is a more expensive solution (US$1 to US$2), but they
> have features that might be worth the cost: Low power, smaller
> footprint, more precise, and turn-on delay. I believe that you will
> find that you will need to handle reset in some way. I have a
> product that I am recalling because of this. Believe me, it's better
> to do it right the first time.
>
> The watchdog does _NOT_ work reliable after broun-out. I have no
> explaination for this, only experience with 16F84s. The 'F84s will
> wake up "sort of" working, and the watchdog will not do a proper
> reset. Ports wake up in a funny mode (not documented) and there is a
> good possibility that the EEPROM is corrupted.
Reset doesn't always seem to remedy some of the problems, either.
How about a 'snap' action on the Vdd pin? (so any voltage below, say
4 volts give 0 v output, then turns on quickly at above 4 volts)
MikeS
<EraseMEmikesmith_ozRemoveME@spam@relaymail.net>
=== For PICLIST help (including "unsubscribe" instructions),
=== send an e-mail containing the single phrase "help piclist"
=== to: RemoveMElistservspamEraseMEmitvma.mit.edu
> I saw your post today about your success with using the PNP
> transistor-based brownout circuit from Microchip. I haven't used a
> brownout cicuit in my new design, and though I haven't seen any
> problems, I need to play it safe.
>
> I'm running an LF84, from 3 AAA cells. The cells are expected to
> run down to about 3 volts during use, but there;s nothing to prevent
> a careless user from running them to zero... hence my concern for a
> brownout cicuit.
>
> I was hoping you could share some of your experiences in this area
> ... my main concern with the PNP circuit is the constant battery
> drain from transistor's bleeder path. Since I'm completely battery
> powered, that could be a real killer. Did you find a clever way to
> reduce the drain?
Unfortunately my application was in a 120 volt appliance where I can
waste megawatts if I want to. <slight exaggeration> I also need to
be very low cost. I doubt the PNP transistor trick is the right
thing for your application, unless you're building toys.
Also, what is the danger in a brownout? In my application, a stuck
program could mean a heating element turns on, resulting in a melted
appliance and a mad customer. In a toy, who cares? In a cell phone,
you might care. I doubt a battery powered application has enough
power available to go into a self-destuctive mode, maybe it just
wouldn't work right, and the customer would say "Hmm - low battery".
>The watchdog does _NOT_ work reliable after broun-out. I have no
>explaination for this, only experience with 16F84s. The 'F84s will
>wake up
>"sort of" working, and the watchdog will not do a proper reset. Ports
>wake
>up in a funny mode (not documented) and there is a good possibility
>that
>the EEPROM is corrupted.
Wow! Major problem! I'd hoped that the watchdog timer would
recover from ANYTHING once the power was back up to where the processor
could function. In another couple products (one using a 68B02, the other
using a PC motherboard), I built a watchdog timer out of a 74HC14 and
several resistors, diodes, and capacitors. It generates a power-up reset
and works as a watchdog, requiring a pulse to its input every now and
then to prevent it from timing out. The input is AC coupled so if the
system crashes during a reset it doesn't get stuck.
As far as eeprom getting corrupted... that seems to be a way of
life. In that 68B02 project, I used an MK48T02 "TimeKeeper RAM" (a neat
part, by the way). It has a real time clock and a little under 2 Kbytes
of battery backed static RAM. I added gating to the write strobe so the
processor had to enable writing prior to doing a write. I'm sure it
helps, but every now and then I get a call from a customer with corrupted
set-up data. I haven't used a PIC with an eeprom in it, so I have no
experience with its protection...
My guess is that VCC is dropping far enough to stop the oscillator. If VCC
slowly increases back to a normal level, the crystal or resonator oscillator may
not restart. (RC circuits are supposed to be guaranteed to restart.) The
crystal or resonator schemes need a sharp VCC rise to kick start them. The
circuit is really just an amplifier with a frequency selective feedback loop.
The sharp VCC rise generates an initial output transient that get filtered and
fed back for regenerative feedback. Without the frequency rich initial impulse
to drive the filter, there is no signal to filter.
If the oscillator does not restart, no code is being executed and the watchdog
does you no good. An external reset circuit will not save you here, because
reset only restarts the code. The oscillator circuit is independent of reset.
The ultimate fix, is to cycle VCC along with reset as has already been
described.
> My guess is that VCC is dropping far enough to stop the oscillator. If VCC
> slowly increases back to a normal level, the crystal or resonator oscillator
may
> not restart. (RC circuits are supposed to be guaranteed to restart.)
RC circuits "always" work because they are always in one of two states:
[1] Charging the cap, and waiting for it to reach a level near VDD
[2] Discharging the cap, and waiting for it to reach a level near VSS
Unlike a crystal or LC oscillator where DV/DT is an important part of the
oscillator's state, an RC oscillator simply has the two states above.
> The
> crystal or resonator schemes need a sharp VCC rise to kick start them. The
> circuit is really just an amplifier with a frequency selective feedback loop.
> The sharp VCC rise generates an initial output transient that get filtered and
> fed back for regenerative feedback. Without the frequency rich initial impulse
> to drive the filter, there is no signal to filter.
True, but...
> If the oscillator does not restart, no code is being executed and the watchdog
> does you no good. An external reset circuit will not save you here, because
> reset only restarts the code. The oscillator circuit is independent of reset.
> The ultimate fix, is to cycle VCC along with reset as has already been
> described.
When the /MClr line is held low, the oscillator is inhibitted; OSCOUT is low,
and OSCIN is weakly pulled low. When /MClr is released, OSCOUT will swing
high quickly; this will start the oscillator.
I don't know whether the PIC hammers the oscillator on a watchdog timeout; if
it doesn't, it would probably be a good idea for future models to do so.
John Payson wrote:
When the /MClr line is held low, the oscillator is inhibitted; OSCOUT is low,
and OSCIN is weakly pulled low. When /MClr is released, OSCOUT will swing
high quickly; this will start the oscillator.
I don't know whether the PIC hammers the oscillator on a watchdog timeout; if
it doesn't, it would probably be a good idea for future models to do so.
I don't think MCLR stops the oscillator. Although I don't program PICs, a
design
I specified recently depended on the oscillator running during a MCLR reset.
> When the /MClr line is held low, the oscillator is inhibitted; OSCOUT is low,
> and OSCIN is weakly pulled low. When /MClr is released, OSCOUT will swing
> high quickly; this will start the oscillator.
>
> I don't know whether the PIC hammers the oscillator on a watchdog timeout; if
> it doesn't, it would probably be a good idea for future models to do so.
>
> I don't think MCLR stops the oscillator. Although I don't program PICs, a
> design
> I specified recently depended on the oscillator running during a MCLR reset.
Hmm... that differs from my recollection, though the cases where it's been
a problem to me were the times when /MClr was accidentally left unconnected
(it sinks groundward if it is). It may be that if /MClr is never raised,
that the oscillator won't start until it is (this may improve startup behav-
ior). So we may both be right... though in different ways.
Perhaps the best behavior would be to have a fuse-settable option for
whether the oscillator should be stopped on reset since there are definite
pros and cons to such an approach (if the oscillator stops on reset, then
power consumption will be minimized; a simple battery-backup approach would
be to connect /MClr to the external VDD and use diodes to power the PIC from
battery or external VDD as appropriate). Unfortunately, such an approach
would cause the PIC to run continously when VDD went away--even if the PIC
tried to SLEEP.
On the other hand, letting the oscillator run while /MClr is low allows it
to get started faster, and allows the chip to start running code sooner,
than waiting until /MClr rises. It also helps in applications where the
clock is used for other purposes as well.
I don't think it matters whether it is a PIC or some other
controller. The Motorola 68HC11 definitely will corrupt it's Eprom
in a brownout and there have been several cases of wireless telephones
using an unknown type of processor that have started dialing preprogrammed
numbers such as 911 or equivalent numbers when their batteries began to fade.
We used to have a large RS-232-based data communications network
on campus consisting of several nodes, many terminal servers, and muxes.
The nodes were built around the Motorola 68000 and each had a battery soldered
to the main board that held the node's configuration. One day, we took the
power hit from Hell. The mains voltage dropped to about half what it normally
should be and stayed there for a sickening two or three minutes. I remember
standing in the room containing the serial data net and hearing a sound like
a million crickets as switch-mode power supplies tried unsuccessfully to
sustain oscillation and their frequencies dropped in to the audible range.
When I hit the emergency shut-down button which is supposed
to kill all power to the room, absolutely nothing happen. The
voltage was too low to operate the relay. GRRR
When the power came back up to full value, some of the nodes came
up. Others seemed to, but pieces of their configuration were changed. The
batteries did an excellent job of holding the mangled configurations so
the only fix was to physically go all over campus and manually short out
the two reset pins that were available on each board to do a cold reset.
I believe it was two weeks before we found all the pranks that the
bronout had plaid on us.
Basically, one should assume that this might happen regardless of
the source of power. I would think it very important to have some secondary
method for preventing dangerous conditions such as would happen if heaters,
motors, or transmitters came on at the wrong time or refused to shut off.
Remember that this is not a programming issue. The system is no longer under
the control of the original program, but is totally randomized. Anything
can happen.
Martin McCormick WB5AGZ Stillwater, OK 36.7N97.4W
OSU Center for Computing and Information Services Data Communications Group
Can anyone tell me what is the minimum thickness for a 1/2 ounce
copper trace on FR4 would be to carry 1 amp continuous? FWIW, the
trace would be about 1/2" long. I would also be interested in the
souce of such information.
According to the IPC-D-275 specs. for a 0.5 oz copper trace to carry an amp
of current you need a thickness of at least 0.030 inches. The data was
obtained from figure 3-4 from said spec.
10C temp rise= 35 mils width
30C temp rise= 18 mils width
source: Bishop Graphics reference book (now out of print, I believe)
James
PS: won't a 1/2"trace have some possible heat sinking to whatever
it is connected to?
> From: Tim Crist <spam_OUTtjcristspamCCGATE.HAC.COM>
> To: spamPICLISTspamspamMITVMA.MIT.EDU
> Subject: Circuit Board Trace thickness
> Date: Tuesday, August 26, 1997 2:51 AM
>
> Can anyone tell me what is the minimum thickness for a 1/2 ounce
> copper trace on FR4 would be to carry 1 amp continuous? FWIW, the
> trace would be about 1/2" long. I would also be interested in the
> souce of such information.
>
> TIA,
>
> Tim