| Kai Klaas 08/20/06 22:46 Modified: 08/20/06 23:03 Read: 6031 times Germany Msg Score: +1 +1 Good Answer/Helpful |
#122673 - An alternative to Atmels ISP CABLE Responding to: Kai Klaas's previous message |
If one has a look at the original schematic of Atmel's "IPS cable", which I recall here partially
one can see, that a 74VHC244 is used to buffer the ISP programming signals emitted by the printer port. The circuit looks simple, but is not! The presence of D1 at the pull-ups should ring a bell... Why cannot a simple 74HC244 or else be used instead of this 74VHC244? CMOS chips usually contain a protection circuitry at their inputs to prevent damage caused by overvoltage, from ESD, for instance, or resulting from overshots caused by improper termination of transmission lines, etc. This protection circuit looks like that, or similar: ![]() One can see, that a protection diode is connected from each input to Vcc. Now remember, the "ISP cable", means the above buffer circuitry, is connected to the target micro to be programmed and is also powered by the micro's Vcc. How to proceed, when the programming is done and the micro shall be removed from the "ISP cable"? Simply disconnecting the cable? No! This could produce unsane togglings at the ISP programming lines, which could badly affect the programming, either by destroying parts of the just programmed code or by clearing the lock bits. But how to terminate the programming? Only by turning-off Vcc of micro and THEN disconnecting the cable. AND: During the power-off no changes of logic states at the ISP programming lines must occur!!! Also, do never power-on and power-off the micro with an inactive reset line!!! During power-on and power-off the reset line must always be logic high! But how to do this with a simple 74HC244, or similar, which contains these protection diodes from inputs to Vcc? A power down of Vcc would not have the intended effect, because any high potential being emitted from one of the printer port lines would still power the micro! Because it will keep Vcc at high potential due to the action of protection diodes! Only a buffer that does NOT contain these protection diodes from inputs to Vcc will work here. And that's just what the 74VHC244 provides! It's a buffer which is 5V tolerant at the inputs, when powered by a smaller supply voltage, for instance 3.3V. Here, this protection diode would cause the same trouble. Because of that, the 74VHC244 contains a different protection scheme, not shunting any overvoltage at the inputs to Vcc! Now it's clear, why the original scheme contains this diode D1: Omitting the diode would again shunt high potential at one of the printer port lines to Vcc and make a turn-off of Vcc impossible. That's why the 74VHC244 is used by the Atmel's original "ISP cable". It has nothing to do with speed or fan-out capability or else. No, the serial transmission is very slowly compared to the propagation delay times of buffers, and the output drive capability of 74VHC244 isn't superior at all either. Theoretically also a 74LVC244 could be used, which doesn't contain these unsuited protection diodes at inputs either. But this chip isn't specified for a supply voltage of 5V. What to use, if a 74VHC244 isn't available? A LS-TTL variant does also provide an unwanted path from input to Vcc. So, I would recommend to split the buffering and the 5V tolerancy into two parts, like shown here: ![]() The 74LS540 provides proper compatibility to the TTL signals of printer port. Take note that with many todays printer ports it's impossible to achieve CMOS compatible signals by the use of pull-ups!!! Especially if the printer port circuitry is powered by a 3.3V supply. So, using a 74HC540 with pull-ups at the inputs will not do the trick! Printer port signals are really nasty! They go hardly above 3V when emitting high state and rise times of these signals can be up to 10µsec!! I measured a rise time of 8µsec in bidirectional or ECP mode at "Strobe"! Some better with EPP mode, though, happily. So, not only the TTL levels makes it difficult to use a CMOS buffer but also the giant rise times of signals! This means: To be on the safe side, any circuit being connected to the printer port of a PC should have a 74LS244 compatible buffer at input, which can not only handle the TTL levels, but also the huge rise times, due to its Schmitt-trigger inputs! Take note, the 74LS540 gets its own 5V supply, means this buffer is powered nearly all the time! The 5V tolerancy is implemented by the following Schottky diodes, the 4k7 pull-ups and the 74HC14. And because the 74HC14 isn't strong enough to drive a transmission line, an additional 74HC541 is used. 74HCMOS was chosen to keep the supply current low. Remember, this circuitry must be powered by the micro's Vcc, too. Do only use a flat ribbon cable to the target. Do not change the pinning!!! Keep this cable as short as possible, no longer than 50cm. Connect the circuitry directly to the printer port (DB25 plug). Do not use a cable here, if possible. The following snippet shows, how the ISP cable should be connected to the micro: ![]() During the programming, remove the jumper at the reset input of micro! How to program the AT89S52 finally with all this above? 1. Start the Atmel's original ISP programming software (which is free, by the way) installed on your PC. 2. Turn-on Vbuffer. 3. Connect the circuit to the printer port (EPP mode preffered!). 4. Connect the ISP cable to the target (micro to be programmed). 5. Turn-on Vcc. 6. Do all the programmings (blank check, erase, write, verfiy, what ever you need). 7. When the micro was successfully programmed, turn-off Vcc. 8. Disconnect the ISP cable from the target. 9. Disconnect the circuit from the printer port. 10. Turn-off Vbuffer. Happy programming! Kai |
| Topic | Author | Date |
| SPI ISP issues | Jan Waclawek | 08/13/06 03:00 |
| SPI ISP issues - part 2 | Jan Waclawek | 08/13/06 03:05 |
| SPI ISP issues - part 3 | Jan Waclawek | 08/13/06 04:20 |
| plural | Steve M. Taylor | 08/13/06 05:38 |
| Fora is certainly correct | Phillip M Gallo | 08/14/06 15:44 |
| no, it's not ... | Andy Peters | 08/15/06 01:02 |
| great post! | Phillip M Gallo | 08/15/06 15:02 |
| I think the biggest problem is with the AT | Richard Erlacher | 08/13/06 10:22 |
| maybe | Jan Waclawek | 08/13/06 13:28 |
| It's not necessarily the product ... it's the docs | Richard Erlacher | 08/13/06 16:26 |
| OK let them be so | Jan Waclawek | 08/14/06 07:36 |
| It's true, they shouldn't be used by anyone. | Richard Erlacher | 08/14/06 08:27 |
| What would you suggest to use? | Kai Klaas | 08/14/06 10:58 |
| Anything else at all would be fine ... even a PIC | Richard Erlacher | 08/14/06 15:58 |
| Whaaaat??? | Jan Waclawek | 08/14/06 16:05 |
| ANYTHING but Atmel products! | Richard Erlacher | 08/14/06 23:23 |
| Come on, Richard... | Kai Klaas | 08/15/06 08:39 |
| well, I, for one, agree with Richard | Erik Malund | 08/15/06 08:44 |
| Bullshit! Stating such is entirely ridiculous! | Kai Klaas | 08/15/06 10:43 |
| how can a FACT be \\\'ridiculous\\\"? | Erik Malund | 08/15/06 10:49 |
| It's ridiculous, because you deduce... | Kai Klaas | 08/15/06 11:07 |
| single event? | Erik Malund | 08/15/06 11:19 |
| Yes, and hundreds of events with Philips, | Kai Klaas | 08/15/06 11:42 |
| a VERY high up 'idiot' | Erik Malund | 08/16/06 07:01 |
| Well, mine was a long series of events | Richard Erlacher | 08/15/06 16:49 |
| there may be hope, sorry Kai | Erik Malund | 08/17/06 12:05 |
| It will be a WARM December day in Moscow | Richard Erlacher | 08/17/06 17:08 |
| maybe someone found out | Erik Malund | 08/18/06 06:28 |
| The penalty isn't severe enough | Richard Erlacher | 08/18/06 12:01 |
| blame the rest of the bunch | Erik Malund | 08/18/06 12:52 |
| Well, as I said, it's like U.S.-made cars | Richard Erlacher | 08/18/06 16:41 |
| If they'll do it to US, they'll do it to YOU! | Richard Erlacher | 08/15/06 10:44 |
| Do you really think that others are better?? | Kai Klaas | 08/15/06 11:03 |
| all comapanies have things to blame them for | Erik Malund | 08/15/06 11:18 |
| Indeed! | Kai Klaas | 08/15/06 11:36 |
| a maxim about maxim | Andy Peters | 08/15/06 12:17 |
| Once upon a time ... there were second sources ... | Richard Erlacher | 08/15/06 16:56 |
| I don't love Philips, either | Richard Erlacher | 08/15/06 16:51 |
| I don't 'love' any company, but I 'love' to work w | Erik Malund | 08/16/06 07:19 |
| Once upon a time there were FAE's who knew things. | Richard Erlacher | 08/16/06 09:43 |
| once upon a time ... | Erik Malund | 08/16/06 10:54 |
| Yes, it\'s like the grocery store | Richard Erlacher | 08/16/06 14:23 |
| The biggest problem is | Kai Klaas | 08/14/06 07:44 |
| do it - under my name | Jan Waclawek | 08/14/06 08:33 |
| All right, here is it... | Kai Klaas | 08/18/06 21:49 |
| Kai .. we're not getting a bit sensitive here ? | Phillip M Gallo | 08/19/06 00:41 |
| noooooo................ hmm, maybe a bit... | Kai Klaas | 08/19/06 23:07 |
| Why does this come up so frequently? | Richard Erlacher | 08/19/06 23:19 |
| Because there is so much trash in the www! | Kai Klaas | 08/21/06 10:21 |
| Maybe we can provide a local "fix" for that | Richard Erlacher | 08/21/06 10:38 |
| Great idea, but... | Kai Klaas | 08/21/06 22:04 |
| the other side of the coin | Erik Malund | 08/22/06 06:10 |
| A fool who trusts on phantasy programmers | Kai Klaas | 08/22/06 07:46 |
| Kai the issue is | Erik Malund | 08/22/06 08:02 |
| Exactly! | Kai Klaas | 08/22/06 09:14 |
| Little Joe | Jon Ledbetter | 08/22/06 09:26 |
| did you not know | Erik Malund | 08/22/06 09:44 |
| especially since he\'s been deceased for some time | Richard Erlacher | 08/22/06 09:58 |
| Lots of those "fantasy" programmers are for sale | Richard Erlacher | 08/22/06 09:57 |
| What a trash! | Kai Klaas | 08/22/06 22:23 |
| Oddly enough, similar circuits work for JTAG | Richard Erlacher | 08/22/06 22:31 |
| Driving cables is nasty!! | Kai Klaas | 08/22/06 22:53 |
| framkly, I wish eval-board makers would heed this | Richard Erlacher | 08/22/06 23:16 |
| Have you tested series termination? | Kai Klaas | 08/23/06 10:16 |
| would be great, but | Erik Malund | 08/23/06 10:36 |
| Kai, I think that would be a WONDERFUL addition! | Richard Erlacher | 08/23/06 12:52 |
| Well, what I am thinking ... | Richard Erlacher | 08/22/06 10:11 |
| Yeah, but what's that to do with ISP? | Jon Ledbetter | 08/22/06 10:20 |
| grits, yes, oatmeal, no | Erik Malund | 08/22/06 10:21 |
| Some of 'em will look, read, and do SOME work | Richard Erlacher | 08/22/06 17:57 |
| and the winner is | Erik Malund | 08/23/06 05:56 |
| An alternative to Atmels ISP CABLE | Kai Klaas | 08/20/06 22:46 |
| Profiting from highest noise margins | Kai Klaas | 08/21/06 10:15 |
| comparator | Jan Waclawek | 08/25/06 17:07 |
| Not so well suited... | Kai Klaas | 08/26/06 08:28 |
| I don't understand. | Jan Waclawek | 08/26/06 15:39 |
| Check the spec-sheets | Richard Erlacher | 08/26/06 17:35 |
| I am sorry... | Kai Klaas | 08/26/06 21:10 |
| cables et al | Jan Waclawek | 08/27/06 00:57 |
| Cables... | Kai Klaas | 08/27/06 09:03 |
| software | Jan Waclawek | 08/27/06 15:09 |
| ps | Jan Waclawek | 08/27/06 16:17 |
| To be honest... | Kai Klaas | 08/27/06 20:12 |
| Atmel software... a piece of @%^& | Jan Waclawek | 08/28/06 04:02 |
| it's for amateurs | Erik Malund | 08/28/06 06:58 |
| ?? | Kai Klaas | 08/28/06 07:20 |
| Not at all | Kai Klaas | 08/28/06 07:19 |
| dear amateurs, be realistic | Erik Malund | 08/28/06 08:02 |
| Erik, did you mean... | Jan Waclawek | 08/28/06 09:24 |
| Why, oh, why | Erik Malund | 08/28/06 09:39 |
| why, oh why | Jan Waclawek | 08/28/06 09:45 |
| not the issue | Erik Malund | 08/28/06 10:32 |
| but you ARE professional!!!! | Jan Waclawek | 08/28/06 09:39 |
| now, I'm going to upset Richard | Erik Malund | 08/28/06 09:44 |
| ICE? | Jan Waclawek | 08/28/06 09:51 |
| No success stories | Maarten Brock | 08/28/06 12:28 |
| Exactly! | Kai Klaas | 08/28/06 20:48 |
| Grrrr! Well, maybe not this time ... | Richard Erlacher | 08/28/06 12:35 |
| it makes you wonder, doesn't it? | Richard Erlacher | 08/28/06 12:28 |
| ATMEL cable with the HC | Jan Waclawek | 08/28/06 09:49 |
| another idea | Jan Waclawek | 08/29/06 06:58 |
| please, pretty please | Erik Malund | 08/29/06 07:22 |
| there is no magic | Jan Waclawek | 08/29/06 07:32 |
| you said it | Erik Malund | 08/29/06 07:47 |
| you got me wrong | Jan Waclawek | 08/29/06 07:53 |
| do not blame me for what YOU said :) | Erik Malund | 08/29/06 08:04 |
| teaching is hard | Jan Waclawek | 08/29/06 08:32 |
| good analogy, the question is | Erik Malund | 08/29/06 08:47 |
| when I turned my back... | Jan Waclawek | 08/29/06 09:07 |
| you forgot | Erik Malund | 08/29/06 09:14 |
| filter | Jan Waclawek | 08/29/06 09:19 |
| nope | Erik Malund | 08/29/06 09:25 |
| upside-down | Jan Waclawek | 08/29/06 07:49 |
| and the 3rd reader | Erik Malund | 08/29/06 07:57 |
| he already did | Jan Waclawek | 08/29/06 08:14 |
| a good one | Erik Malund | 08/29/06 08:51 |
| tell it beforehand | Jan Waclawek | 08/29/06 09:11 |
| The newbie SHALL try to build his stuff, but... | Kai Klaas | 08/29/06 09:24 |
| allow a reply of \"you stupid idiot\" to anyone | Erik Malund | 08/29/06 09:33 |
| Will not do the trick, unfortunately | Kai Klaas | 08/29/06 09:14 |
| decoupling the LPT lines? | Jan Waclawek | 08/29/06 09:41 |
| Low state noise margin... | Kai Klaas | 08/29/06 09:43 |
| and with a Schottky? | Jan Waclawek | 08/29/06 09:53 |
| No, I wouldn't recommend this | Kai Klaas | 08/29/06 21:04 |
| www.reichelt.de | Jan Waclawek | 08/30/06 02:02 |
| Ok, to be more precisely... | Kai Klaas | 08/30/06 09:28 |
| can you please draw it down? | Jan Waclawek | 08/30/06 11:46 |
| Replace the 74VHC244 in the original circuit | Kai Klaas | 08/30/06 12:03 |
| How would a germanium work? | Richard Erlacher | 08/29/06 22:10 |
| Could work! | Kai Klaas | 08/29/06 22:34 |
| thanks, Kai! | Jan Waclawek | 08/25/06 16:58 |
| Schottky diodes | Kai Klaas | 08/26/06 21:29 |
| to Schottky or not to Schottky :-) | Jan Waclawek | 08/27/06 00:46 |
| Yes, but we must assume a minimum standard... | Kai Klaas | 08/27/06 08:32 |
| shopping | Jan Waclawek | 08/27/06 14:57 |
| My point is.. | Kai Klaas | 08/27/06 20:06 |
| You can use an array | Richard Erlacher | 08/27/06 12:25 |
| Your search - 74S1023 - did not match any document | Jan Waclawek | 08/27/06 15:03 |
| SN74S1053 | Kai Klaas | 08/27/06 19:54 |
| OOPS! it is 74S1053 ... sorry! | Richard Erlacher | 08/27/06 22:29 |
| the issues | Erik Malund | 08/15/06 07:50 |
| a most telling thread | Erik Malund | 08/15/06 09:11 |
| The root problem is that the first thing one needs | Richard Erlacher | 08/15/06 17:02 |
| "dedicated programmer" | Jan Waclawek | 08/31/06 02:50 |
| what's difficult to understand ... | Richard Erlacher | 08/31/06 08:03 |
| Ok, how do you propose they program and erase the | Erik Malund | 08/31/06 08:27 |
| I would not be quite so sure about that | Jan Waclawek | 08/31/06 08:43 |
| Keep in mind that this is for newbies ... | Richard Erlacher | 08/31/06 12:29 |
| but they still have to build it | Erik Malund | 08/31/06 13:45 |
| Only because it looks simple does not mean... | Kai Klaas | 08/31/06 14:33 |
| he's desperate | Erik Malund | 08/31/06 15:19 |
| there are lots of circuits published like this! | Richard Erlacher | 08/31/06 16:41 |
| I used to have memory mapped I/O in virtual | Erik Malund | 09/01/06 06:23 |
| I wouldn't say that ... | Richard Erlacher | 09/01/06 09:00 |
| that threy learn to drive with a stick shift | Erik Malund | 09/01/06 09:40 |
| Once again, you are exaggerating ... | Richard Erlacher | 09/01/06 09:59 |
| the point I\'m trying to make (and believe that I | Erik Malund | 09/01/06 10:46 |
| Yes, but in 101 you've got to use a '51 or '31 | Richard Erlacher | 09/01/06 13:47 |
| nonono | Jan Waclawek | 09/01/06 14:16 |
| Perhaps you\'re right, in this case ... | Richard Erlacher | 09/01/06 14:40 |
| I don't think so | Jan Waclawek | 09/01/06 15:21 |
| Ah but.. | Steve M. Taylor | 09/03/06 21:00 |
| halelujah! | Erik Malund | 09/05/06 09:51 |
| the problem with RD2 is... | Jan Waclawek | 09/01/06 14:17 |
| what cost the most | Erik Malund | 09/05/06 09:58 |
| cost | Jan Waclawek | 09/06/06 08:40 |
| patience is what it takes | Richard Erlacher | 09/06/06 15:57 |
| let's sort it out | Jan Waclawek | 09/06/06 08:52 |
| Richard, you aregue things that, while valuable , | Erik Malund | 09/05/06 09:56 |
| Its not the cables if you ask me. | Jez Smith | 09/06/06 15:25 |
| an interesting thought | Erik Malund | 09/06/06 15:39 |
| It's probably not JUST this part ... | Richard Erlacher | 09/06/06 16:01 |
| not the cable alone | Jan Waclawek | 09/07/06 01:00 |
| it will, but | Erik Malund | 09/07/06 06:34 |
| It simply has to do with the numbers | Kai Klaas | 09/07/06 09:02 |
| maybe not quite ... | Richard Erlacher | 09/07/06 09:33 |
| I was assuming... | Kai Klaas | 09/07/06 09:58 |
| a case like that ... | Richard Erlacher | 09/07/06 11:32 |
| I have | Erik Malund | 09/07/06 11:43 |
| Perhaps it's that the approach is wrong | Richard Erlacher | 09/07/06 15:29 |
| I guess I have seen those ... | Richard Erlacher | 09/18/06 10:37 |
| fresh thoughts | Jan Waclawek | 09/18/06 07:52 |
| ??????????????? | Kai Klaas | 09/18/06 11:03 |
| I'm puzzled, too, Jan | Richard Erlacher | 09/19/06 08:57 |
| 2 different things | Jan Waclawek | 09/19/06 11:49 |
| au contraire | Erik Malund | 09/19/06 11:53 |
| from the ISP point of view... | Jan Waclawek | 09/19/06 12:13 |
| if you have "no reset and oscillator" | Erik Malund | 09/19/06 12:29 |
| sure | Jan Waclawek | 09/19/06 12:36 |
| Ok \"in-situ programming\" works but that is not ISP | Erik Malund | 09/19/06 12:51 |
| Does this scheme actually work reliably? | Richard Erlacher | 09/19/06 13:32 |
| Guiness book? | Erik Malund | 09/19/06 13:46 |
| This all goes back to the "AT" in the part number | Richard Erlacher | 09/19/06 14:59 |
| Nothing magic with reset and oscillator | Kai Klaas | 09/19/06 20:27 |
| I am talking about the rusty nail | Jan Waclawek | 09/20/06 01:19 |
| Yes, here you are right! | Kai Klaas | 09/20/06 08:10 |
| just helping | Erik Malund | 09/20/06 08:42 |
| 200 | Steve M. Taylor | 09/20/06 09:59 |
| not quite, but I like the idea | Jan Waclawek | 09/20/06 11:50 |
| Exactly! | Kai Klaas | 09/20/06 12:34 |
| ... and that's why I advocate for the 8032 version | Richard Erlacher | 09/20/06 22:13 |
| Stuff it | Steve M. Taylor | 09/20/06 23:40 |
| This will soon be moot | Erik Malund | 09/21/06 07:05 |
| Central Europe? | Jan Waclawek | 09/21/06 07:28 |
| Mistake... | Kai Klaas | 09/21/06 08:06 |
| you think so, I do not | Erik Malund | 09/21/06 08:13 |
| Better hope... | Kai Klaas | 09/21/06 08:31 |
| no love there | Erik Malund | 09/21/06 08:44 |
| Nothing is perfect... | Jan Waclawek | 09/22/06 01:24 |
| HUH | Erik Malund | 09/22/06 06:27 |
| waitaminute | Jan Waclawek | 09/22/06 06:43 |
| same desert | Erik Malund | 09/22/06 06:56 |
| it appears so | Jan Waclawek | 09/22/06 07:00 |
| male cow manure | Erik Malund | 09/21/06 06:57 |
| Eprom programmers are cheap and simple | Richard Erlacher | 09/21/06 10:46 |
| Cheaper than a $25 Atmel cable ? | Erik Malund | 09/21/06 11:17 |
| Yes, and widely applicable, too | Richard Erlacher | 09/22/06 10:05 |
| beware | Erik Malund | 09/22/06 11:12 |
| That's the usual line from an Asian vendor in U.S. | Richard Erlacher | 09/22/06 14:09 |
| fresh experience | Jan Waclawek | 09/26/06 02:26 |
| I am not going to vote 'off topic' but | Erik Malund | 09/26/06 06:26 |
| I am still just thinking aloud... | Jan Waclawek | 09/26/06 07:27 |
| just helping | Jez Smith | 09/26/06 07:50 |
| 222 posts WOW!! | Jez Smith | 09/26/06 07:51 |
| EEEK! Why would you get that close? | Richard Erlacher | 09/26/06 10:44 |
| post number 224 and counting | Jez Smith | 09/27/06 09:49 |
| Well, I\'m a dog person ... | Richard Erlacher | 09/27/06 11:37 |
| 226 | Erik Malund | 09/27/06 11:41 |
| tie a brick around his neck | Richard Erlacher | 09/27/06 11:54 |
| %$#@! it happened again! | Richard Erlacher | 09/27/06 11:55 |
| Programming Dogs | Jon Ledbetter | 09/27/06 12:52 |
230 tried it | Erik Malund | 09/27/06 13:00 |






