Help with circuit(programming pics)

Not so. This one supports the 24F for starters:

formatting link
and I'm sure there are many others. And of course there is the ICD2 which supports everything and you get a valuable in-circuit debugger too. There are cheaper clones of the ICD2 as well.

Sorry I can't help you with the rest of it. But I really do think you are going through all this pain for no gain.

Dave.

Reply to
David L. Jones
Loading thread data ...

formatting link

I mean all basic ones that you can build yourself. Just because you give one example doesn't mean much...

Well, I see it different... If I ever want to use ICSP in some design then I'll be much more likely to get something working if I have done it before. I'll also learn other things in the process. If my only goal was to program a pic then there would be no purpose of doing what I'm doing... luckily that is not the case.

Reply to
Jon Slaughter

Understood.

Did you forget to 'dot' the Q3 source to R5 and R6 and ground? If so, does this imply in any way that you may not have actually connected them in practice? (Netlist sent to board house, who doesn't know any better, for example?)

Also, I would have used BJTs throughout. I'd take the comments from others on your use of MOSFETs seriously, too. Particularly regarding your high valued resistors present. I seem to recall that VPP needs to be fairly precise, some +/- 0.25V, memory serving on older parts. And it is NOT allowed to vary below a threshold during programming. I believe the worst case programming type for a word is something like

100us, also memory serving. So it needs to hold within the right range for the time required, under the current draw required.

Would you be interested in a BJT version that can be fully explained and works? Or are you focused on mixing FETs and BJTs?

In other words, you want to use the parallel port and do NOT want to use an intelligent device on the other end of it. You want discretes, only. Yes?

What does your 13V source look like? It's not shown.

Jon

Reply to
Jonathan Kirwan

On a sunny day (Mon, 29 Oct 2007 14:48:33 -0600) it happened "Jon Slaughter" wrote in :

That made me look, there are rise and fall times, for a start the clock input: External clock in rise max 50nS External clock in fall max 25nS or 15 nS. And that is even with a 37 kHz clock on a 12f629 I think it would be good to keep within those specs too for the other pins.

Well, if you want to limit power, you could perhaps drive it from some CMOS

74HCXX series gate (hard pull up and pull down)?

Some par ports have 3.3V as max out, some 5V. I see the 2N7000 can have a treshold of max 3V (worst case), it should still work on a 3.3V parport.

The proof of the pudding is in the eating. I just hope the soft really waits long enough between bit flips.

Reply to
Jan Panteltje

There is an other problem, sorry I did not mention it earlier: Q2, Q4, and Q6 are source followers. Imagine what happens with a 3.3V output from a par port on Q4: What do you think the source voltage will be? The Q4 will turn on at 2.1, if you are lucky (else at +3V). That leaves 3.3 - 2.1 = 1.2 V to drive the PIC input high, BUT: you already had the same drop at Q2, so the supply to Q4 and Q6 is not +5V, but also a lot lower. So it all sucks, it may or may not work a bit better at 5V parports... Did you measure the voltages at the source of Q4 and Q6 when driven high by the parport?

I think this thing needs a complete re-design :-)

Reply to
Jan Panteltje

huh, first off 3.3V for output from the parallel port is quite low... but assuming it is, it doesn't matter... it is being pulled up to 13V. Those ports are open collectors...

I think you don't understand whats going on. Also, all the voltages are correct because I tested them with a volt meter.

VDD is pulled up by 13V so it turns Q2 within a few mV of VCC_5V. Its true that the parallel port has a pullup itself so its not quite 13V but its enough. By reducing R3 one can even reduce the effect of the internal pullup but at the cost of sending more current into the parallel port(it can sink about 4mA max).

I just measured it an its 11.5V. Note that I'm not following the circuit I gave exactly though. I think I'm using a 4.7kOhm resistor instead of 10k.

In any case it works fine w.r.t to what your saying.

As I said in my first post, all the voltages are what they should be.

I think you missed something. Its not all that bad. You do realize that is

13V's on the gate(approximately) and 5V on the drain(on every mosfet) so each one is turned on completely(again, within a few mV of 5V.... Actually within about 1mV or so (Power is about 4.92V and sources are about 4.91 to 4.92).

Again, all the voltages are correct unless I'm completely missing something.

Reply to
Jon Slaughter

Going to change the resistors, the more I think about it the more likely that might be the problem assuming that the pic's have a max rise time.

Reply to
Jon Slaughter

Strange, I don't know what happened there but the circuit is something I made after I made the circuit. I didn't forget anythign like that on my breadboard.

I don't see what the difference between BJT's and FETS would be except IMO FETS seem easier to use. Why would BJT's be better? I choose fets because they require fewer components(well in that if I ever move this to a PCB I can use p-ch and do away with some of the resistors if I want and also do away with the high voltage.

Can you explain to me what significant difference using BJT would make?

I don't want to use any drivers/3-state devices. The reason is because I want it to work with various pics which work at completely different voltages(from 2.5V to 14V) and I need to be able to rework the circuit to fit them... relying on IC's will probably be more work if I need to tweak something. I need to understand how to do it with discrete incase I ever need it. I have no doubt I can get something to work with a 3-state driver as I already have done it... but infact it should work with discrete too and my circuit should work AFAIK but it doesn't so I need to know whats wrong.

13V and 5V source is from a power supply I built a long time ago. Using LM317's and other regulators. They have sufficient regulation for this application.
Reply to
Jon Slaughter

Jon Slaughter Jon snipped-for-privacy@Hotmail.com posted to sci.electronics.design:

formatting link

OK, assuming that you can get static characteristics, what is the gate voltage on Q2 and Q4 when a high is presented to it?

Reply to
JosephKK

Jan Panteltje snipped-for-privacy@yahoo.com posted to sci.electronics.design:

It is Q2.

Reply to
JosephKK

Jon Slaughter Jon snipped-for-privacy@Hotmail.com posted to sci.electronics.design:

Actually both fast and slow edges during programming matter. It has some funny relationships with programming charge transfer. Who knew?

Reply to
JosephKK

On a sunny day (Tue, 30 Oct 2007 01:06:25 GMT) it happened "Jon Slaughter" wrote in :

?????? I would not want 13V on a 3.3V mobo chipset. I think it is not open collector, as modern parports have been discussed here recently.

Here is a circuit tha tshould work on 3.3V parports andf 5 V parport, it has a treshold of about 1.4V

+5 (or +12 for Vpp) | 4k7 |--------------- out c

--- 4k7-------- b NPN | e 4k7 | | | /// ///

Here is the none inverting version: +5 +5 (or +12 for Vpp) | | 4k7 e |---- 4k7 --- b PNP c c

--- 4k7-------- b NPN | | e |------------ out 4k7 | 4k7 | | | /// /// ///

I chose 4k7 because now you only need to order one value ;-) and get discount on quantity.

My advice: NEVER do exceed specs on a PC port, stuffing +13V into a PC par port is BAD. And KIS (Keep It Simple).

Reply to
Jan Panteltje

I guess thats true. I thought that since they were open collectors I should be able to pull them up to whatever I wanted but maybe that is not such a good idea ;/ (although I haven't had any problems with them. That is why I used a 10k resistor to limit the current to the port but maybe the higher voltage isn't a good idea too ;/

I'll try that and see what happens after I get finished trying my old setup that I know works(at least did work).

Reply to
Jon Slaughter

formatting link

I mentioned this somewhere else. Its 11.5V or so.

Reply to
Jon Slaughter

Again, I thought the whole point of open collectors were to allow one to pullup to pretty much any resonable voltage? I thought the only issue would be power dissipation(higher voltage means higher current so all I had to do is increase the resistor size).

Reply to
Jon Slaughter

On a sunny day (Tue, 30 Oct 2007 07:26:54 -0600) it happened "Jon Slaughter" wrote in :

True open collector yes. But if these chips have a pullup, then often the 'pullup' is present as a CMOS transister, sometimes even with programmable current.

As to how it is in the parport, there was a recent thread on that.

formatting link

It seems possible that the read inputs are ALSO connected to those pins, so you would be feeding +13V into some inputs of a chipset that operates at 3.3 or perhaps 5V. And not all chipsets are the same it seems. Better take no chances, a new mobo is more expensive then some resistors, not even counting the time it all takes if it breaks.

Reply to
Jan Panteltje

Your method is not working because it is cheesy and haphazard like all "no parts" programmers. It is NOT the right way to do this. If you fully read the programming requirements from Microchip, then you already know that if you get your circuitry to work it will be luck and nothing else. Microchip has come up with many, many variations in their programming schemes over the years, even their own programmers won't do all the different chips. This is not a simple process in PIC land, most other micros are different in this respect.

You also don't have the proper equipment to do this. At the very least you need at least a decent scope and a logic analyzer would be nice, otherwise you are shooting in the dark. Timing is everything here. You are also putting your parallel port at great risk, not that they will be around that much longer anyway. ;-)

Now that I got that out of the way, why not take a step in the right direction and consider using a serial interface to another PIC to apply the signals to the device you want to program?

Reply to
Anthony Fremont

formatting link

I bought one of those pre-assembled, it kicks major ass for a hobbiest programmer. :-)

I think he'll gain something from it, but it will be painful. ;-)

Reply to
Anthony Fremont

Let me asky you mister smarty pants... How do you expect to program the PIC that is "to apply the signals to teh device you want to program"? Huh? Oh, right!!! You buy a pic programmer!?!?! Then whats the point of using the PIC "to apply the signals to teh device you want to program"?

So as you probably can't see, your argument for "a step in the right direction" is absolute nonsense.

Sure it would help if I had a logic analyzer... and sure it sucks working blind... but actually I have been able to program the pics. The Pic programmer that I know work si the AN589 and does it directly from the parallel port just fine. Actually I just rebuilt it and it had the same problems then I removed my DMM's and put the power signals much closer to the pic instead of far away(since its on the bread board I spaced everything out). After that it worked fine and I've tested it several times already with no issues.

So either my circuit works but because I had some issues that had nothing to do with the actual circuit or something else is going on. In any case I can now program the 18F2455 and if I wanted I could use that to program other chips but I'll do that later until I figure out whats wrong with my circuit.

You seem to think this is rocket science or something? All one has to do is get 4 signals from the parallel port to the pic. This isn't difficult at all. The only problem is that the voltages have to be fixed up and this is where the real work is. Maybe its not as dark as you think.

Reply to
Jon Slaughter

formatting link

Seems like maybe something else was the problem. I got the AN589 working but only after removing the DMM's and connecting the power much closer to the pic. Is it possible that the DMM's could have caused them problems? I was using two to measure the current drawn from the power supply and the current from the parallel port.

I'm going to try and figure out what the problem was because maybe my circuit was ok(except for the pullups). In any case since I have something works I can try and work backwards "into" my circuit until I find out what the problem was.

Thanks, Jon

Reply to
Jon Slaughter

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.