Forum Menu




 


Log in Problems?
New User? Sign Up!
AVR Freaks Forum Index

Post new topic   Reply to topic
View previous topic Printable version Log in to check your private messages View next topic
Author Message
Plons
PostPosted: Mar 14, 2006 - 10:41 PM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

Edited February 5, 2008

I just received a newsletter where Kanda says that the AVRISP-software for STK200, 300 and alike, is now free to download, and can be used as plug-in in AVR-Studio.
http://www.kanda.com/avr-isp-software.html
Good news ! Enjoy.



Edited November 16, 2007

This tutorial thread has grown too long for easy use. You can find the latest info on my website: http://www.aplomb.nl/TechStuff/PPPD/PPPD%20English.html
There is also a dutch version: http://www.aplomb.nl/TechStuff/PPPD/PPPD%20Nederlands.html

And please read the information that's given there.

End of Edit


Newbies on AVR rarely start off with a fully equipped programming environment. For them the Parallel Port Programming Dongle (PPPD in the rest of this topic) is an easy to build and cheap programming-tool. On the internet schematic diagrams can be found easily. But even commercial products, like the STK200 come with a PPPD and they are ready-built available as well.

Note: An other name used for PPPD's is: AVR ISP. A confusing name, as In System Programming ( ISP ) is a common feature of AVR Microcontrollers. And AVR-ISP is used by Atmel and on AVRFreaks for the RS232-programmer with a 90S1200

These PPPD's can cause a lot of headaches and confusion, as there is a problem with these programmers, causing it to fail or function unreliably.

This topic will give you some insight ...... and solutions of course Wink

March 14, 2006: I posted this topic in the AVR Forum some time ago and as questions about PPPD's keep popping-up, the Moderator of this Tutorial Forum (abcminiuser) invited me to re-post here.

I implemented the suggested improvements as done in the original thread http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=33265




Solutions to problems with Parallel Port Programming Dongles, STK200/300-programming dongles and alikes.

This time not a Question, just Answers

In the past there have been quite some articles about programming-problems with these dongles and other dongles with a simular design. I am talking about the AVR-programmers with a 74HC244 buffer, on the printer- (or parallel) port of the PC.

Two types of problems:
1 from: "does not recognize chip", ID="some rubbish",
to: it does not work, pls help ....
2 from: It damaged the printerport on my PC
to: it works on one printerport but not on an another

Good suggestions so far:
- Increase the programming-delay
- In BIOS: set printerport to EPP or ECP
- Use a shielded printercable
and other suggestions:
- Buy yourself a better programmer ... it is unreliable
- and some confusing suggestions ... that really do not help.

The story:

A few months ago, I purchased a STK200 with Kanda (UK). The board came with this programming dongle and it worked fine. Until the parallel port on the motherboard of my PC was damaged by the dongle.... Luckily I could fall back on a PCI-card which gave me another parallel port. But I was worried ..., and not pleased ...

For a new project with two Atmel uC's, I needed a second programmer. So I built one. The famous design with the 74HC244. And to suit my needs, I made it with another type of connector for the target-board. IT DID NOT WORK ! Why? Did I make a mistake? No, I did not ...

Hmmm.

In order to program the new targetboard (with the new connector), I made an adapter for the existing and working STK200-programming dongle. And with the new connector it DID NOT WORK EITHER !! Can a connector make the difference?

I was confused .... for a moment. I started searching on the Forums and discovered that I was not the only one ... But suggestions for a solution did not do the trick so far ... I do use a shielded cable, the BIOS-settings are OK, I increased the programming-dalay, etc

I decided to sort this out. And dig it out, .... to the bottom !

To start: I like the design with the HC244. It looks good. Well done, designer! The 74HC244 buffers the signals between PC and targetboard, and isolates the two when the programming is done.
Many people use this interface as it is cheap and easy to build. And is comfortable to use in combination with Bascom AVR.
Note: although some Forum-members claim that it is not supported in AVR-Studio-4 (the beautiful programming-environment from Atmel): sorry guys, that is not true! Kanda supplies a plug-in for AVR-Studio with the STK200 and it works fine! And comfortable.

Edit: From time to time I receive requests via PM, to share the Kanda-plug-in. I will not do that. It's licenced software. Contact Kanda to get your own licence, or use PonyProg to program your AVR's
Plons, May 14, 2006


Back to business:

Q. What makes this dongle unreliable?
A. LONG LINES, my friends!
Fourier, La Place, thank you for the insight. And thanks to my teachers! Although that's some time ago ...
The combination of short rise- and falltimes (high slewrate) on the signals and the (relative) long lines for these frequency-domains (using Fourier and La Place), that is what's making these dongles unreliable.

What I did:
I hooked up an oscilloscope to the SCK-line on the targetboard and it was obvious: RINGING, i.e. oscillations right after a fast transition of the SCK-line.

Q. What happens during programming in the original design?
A. The uC on the targetboard looses synchronization with the programmer. It sees more than one SCK-edge due to the ringing. And that's what I read some time before ... an Application Note from Atmel. AHA. Now things fall in place. The puzzle is complete, and the picture well visible.

I needed to get rid of the high-frequency-components generated by the edges. The trick: a small RC-filter of 0.1 us, made up with a resistor of 1 Kohm and 100 pF capacitor. That's all it takes: one small filter in the SCK-line. I built it into the STK200-dongle and ran some tests: problem solved. No longer dependant of connector/cable.
Built it into the second programming-dongle: works.
Hooked them up to another PC: works.

Let's go to the second problem:
Q. Why did the dongle blow the printerport on the motherboard?
A. I was not carefull enough.

Some explanation is needed here. The dongle is connected to targetboard and PC. Suppose both are powered down. When the targetboard is switched on, and the PC is not, the dongle will force current into the printerport's /Ack-line.
Q. Can that do any harm?
A. Yes!
To understand this, some historical facts about the printerport.
In the original IBM-design, the printerport was made up with a 74LS374 and a 74LS244. To blow that port you really needed to use brute-force. Hook it up to 24 VDC f.i. Wink It was a very rugged design.
Nowadays, the printerport on a motherboard is built-in an ASIC, which has far more functions, but is not as rugged as the original design. The 74HC244 in the dongle can supply 25 mA (guaranteed) on an output-pin, and I am afraid that was too much for the ASIC. The good news is that the rest of the printerport still works OK. But it can no longer be used for this dongle.

So: limit the current in the /Ack-line by inserting a resistor. The other lines are all inputs on the 74HC244 and therefor , basically, need no limiters. However, I do think it's better to insert current-limiters there as well. Why?
Of course we all know that the parallel port and RS232-port are not hot-pluggable .... Wink , but most of the time I treat them as such. I know, ... bad habbit.
By taking some extra measures, the dongle can be made such, that it will probably not do any harm to plug it in while the PC and/or the target-board are powered (although NOT recommended)




Some FAQ's

Q. Is it necessary to add the filter to MISO and MOSI as well?
A. No. The data on these lines are set-up before the SCK-edge occurs. So even if there is ringing on these lines (and there is !!), it has no effect on the transmission. But: it's a good idea to filter these lines as well.

Q. Is this the ultimate solution?
A. Depends how you look at it. Adding a filter (an analog circuit) to a digital clock-line is something I preferably do not do, .... usually.
But in this case it's the best I could think of, ... in getting a simple solution.
The good thing is that it is not acting as a delay for the clock-pulse: that's a designer's nightmare. All it does is reducing the slewrate of the clock-signal. The best solution .... I'll give it some thought

Q. Could this apply to other programmers as well?
A. I think it does.
- Looking at the design of f.i. the AVR-ISP: the 90S1200 connects to the targetboard with no slewrate limiters at all. And if the cable between programmer and target is short, that will work fine. But Atmel's uC's are PDQ-things and have very short rise- and fall-times on their I/O-pins. So if you're using a longer cable, the same problem might occur.
- Looking at the serial programmer (SI-PROG) from PonyProg: here the problem will NOT occur as in the RS232-specification provisions were made for slewrate-limiting. Clever guys at that time, huh?
- The programmer ZL2PRG on the MCS-site: it looks like it is lacking this filter as well.

Quite some text huh?

As attachments you'll find an ImprovedVersion and an EvenBetter version, in case you're gonna build a new one. I also added a picture of my modified STK200 PPPD

I hope this solves many problems ... in my case it did. Have fun and happy computing .... eh, programming.

Plons





Some additional suggestions and/or recommendations:

1 Do not plug-in or unplug the PPPD from the PC when either PC or targetAVR are powered-on
2 For PPPD to work properly, Vcc of your targetAVR must be 5V
3 If you use the STK200 as target, 3.3V for the AVR is OK as the STK200 has some additionally circuitry to take care of the different levels
4 If you need to disconnect the programmer from your targetAVR, first turn AVR's power down
5 Leave the PPPD connected to the PC; there is no need to unplug it
6 If you're using a ParallelPort extension cable, make sure it's a shielded one, not longer than 1.8 mtr
7 Check your PC-BIOS for ParallelPort setting: EPP or ECP, not SPP
8 Be aware that in the original design of STK200 (and possibly more), the ribbon-cable between PPPD and the target-board is reverse-connected: pin no.1 on one side is NOT pin no.1 on the other side. I am not very fond of these "specials" but changing it NOW could cause even more trouble. So check the connections BEFORE applying power.



Links:
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=35048 abcminiuser made a programmer from a Butterfly: he's a magician ...
http://www.lancos.com/prog.html PonyProg website
http://www.atmel.com/dyn/resources/prod_documents/DOC0943.PDF Atmel AVR910 Application Note

<more to come>

Nard


Last edited by Plons on Feb 06, 2008 - 12:05 AM; edited 3 times in total
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
Plons
PostPosted: Mar 30, 2006 - 11:04 PM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

Although I have a USB-programming dongle (came in yesterday), this PPPD is still my favourite. It's fast, and as long as you stick to the "recommendations", it's a good programmer.

There was one thing though that bothered me: I had to lower the resistor in the /Ack-line from 1 kOhm to 180 Ohm because of the pull-up in the PC's Parallel Port.
I've come up with the following solution: replace the 180 Ohm with a BC547 and 3 resistors of 10 kOhm. (choice of transistor-type not critical, almost any general purpose small signal NPN-transistor will do)
The circuit might look a bit weird at first glance, but it works. Rolling Eyes

I'll be honest with you: I didn't test it. I simply stick to the rule: don't plug / unplug from PC when powered-up.

I have two requests:
1. If you're in the process of building an Even Better PPPD, go for the version of March 30 2006, and let us know the outcome
2. If you are an experienced user of a schematic-entry program, please be so kind to redraw the schematic.

Plons
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
Plons
PostPosted: Jul 26, 2006 - 02:02 PM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

Additional info: I spoke with KKP about this (in an other thread), and he recommended the use of 330 ohms / 330 pF for the anti-ringing. That is IMO a good improvement because of this: if there is some more capacitive load on the ISP-lines (target-side), f.i. an LCD sharing the same lines, the 1 kOhm might be too high for reliable operation.

It would be nice if the schematic was redrawn ..... so I repeat my requests:

1. If you're in the process of building an Even Better PPPD, go for the version of March 30 2006 with the 330 / 330, and let us know the outcome
2. If you are familiar with some schematic-entry program, please be so kind to redraw the schematic and post it here.

I could do al this myself of course, but doing things together is much nicer.

Regards

Plons

_________________
Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
cb951303
PostPosted: Aug 09, 2006 - 08:52 PM
Newbie


Joined: Aug 09, 2006
Posts: 4


hi guys, this is my first scheme so if there is anything wrong about it please report to me, I will use this to create an autorouted PCB, thanks in advance[/img]
 
 View user's profile Send private message  
Reply with quote Back to top
cb951303
PostPosted: Aug 10, 2006 - 01:15 AM
Newbie


Joined: Aug 09, 2006
Posts: 4


For now , autorouted PCB looks like this, I couldn't get less jumpers so I added some pads and traces to be able to work with jumpers at "74hc244" and "pin header" leads

does it look ok to you?

thanks again
 
 View user's profile Send private message  
Reply with quote Back to top
Plons
PostPosted: Aug 10, 2006 - 11:23 AM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

Thanks for your work here ! What program did you use ? Eagle, ExpressSch ?

I had a look at it, and here are some recommendations:
Schematic: R17 R18 and R19 : should be 330 ohm as well. Schematic is a bit hard to read; the vertical lines are very close together.
For the ISP-connector: have another look in the library of your program, and see if you can find a better one. Adding signal-names would help as well. But heh, for a first time .... well done !

Layout: in single-layer layouts, jumpers are not unusual; the one on the right will be difficult to put in, as the connector is occupying the pin. And the auto-router didn't know what to do with R12 to shield of the subD

Keep up the good work

Plons

_________________
Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
cb951303
PostPosted: Aug 10, 2006 - 08:15 PM
Newbie


Joined: Aug 09, 2006
Posts: 4


Plons wrote:
Thanks for your work here ! What program did you use ? Eagle, ExpressSch ?

I had a look at it, and here are some recommendations:
Schematic: R17 R18 and R19 : should be 330 ohm as well. Schematic is a bit hard to read; the vertical lines are very close together.
For the ISP-connector: have another look in the library of your program, and see if you can find a better one. Adding signal-names would help as well. But heh, for a first time .... well done !

Layout: in single-layer layouts, jumpers are not unusual; the one on the right will be difficult to put in, as the connector is occupying the pin. And the auto-router didn't know what to do with R12 to shield of the subD

Keep up the good work

Plons


thanks for the comments, I'm working on a better one now, when it's finished I'll post it here...

I used a program called diptrace for this, I tried eagle but I couldn't find a 25 pin connector in library so I switched... anyway diptrace seems good enough for now, if you have any suggestions for software, I can try because like I said it's my first time and since I'm learning it's better to start with a recommended software Wink

thanks again
 
 View user's profile Send private message  
Reply with quote Back to top
Plons
PostPosted: Aug 10, 2006 - 08:38 PM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

Many folks on AVRfreaks use Eagle. So from compatibility point of view that's a good idea.
I prefer ExpressSch, as it is far more intuitive to use (IMO, guys !!)
Can be found at expresspcb.com

Plons

_________________
Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
mneary
PostPosted: Aug 10, 2006 - 09:30 PM
Raving lunatic


Joined: Sep 25, 2003
Posts: 2189
Location: Los Angeles, USA

In Eagle, the D connectors are in the library 'con-subd'.
 
 View user's profile Send private message  
Reply with quote Back to top
pquinton
PostPosted: Aug 12, 2006 - 09:05 AM
Rookie


Joined: Jul 14, 2006
Posts: 27
Location: United Kingdom

Plons wrote:
1. If you're in the process of building an Even Better PPPD, go for the version of March 30 2006, and let us know the outcome

I built one!... and out of all the dongles I've put together.. this one works. Tested with avrdude. Used it to re-flash my AVR Butterfly.

I wipped it together on a piece of stripboard...

I've got a couple of suggestions if someone is going to put together an application note on building this:

1. Don't assume the builder knows they have to power the Target AVR for it to work.. I didn't. It took me a while to figure it out (I'm a newbie).

2. Also.. I had a few basic problems with GND. I popped an LDO 5v regulator on my board to drive the VDD line (to the buffer and the AVR). The 5v reg was driven by an external wall-supply.. Originally the circuit GND for the dongle ended at the parallel port, and the GND for the target AVR ended at the Voltage Reg, both seperate. Obviously this didn't work ( you can tell I'm a newbie Smile ). I soon realised that I needed to common all the grounds to the parallel port. After which everything sprung into life. It would be nice for a few instruction to this effect in an app. note.


Thanks for the design guys.. I used to play around with PIC chips (urgh.) and ended up buying a £100 programmer for them (it was a while ago!) and you've saved me having to buy one for AVR's... Most appreciated.

Phil.

_________________
"If they did that in Manchester, they'd be chinned"
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
cb951303
PostPosted: Aug 12, 2006 - 11:15 AM
Newbie


Joined: Aug 09, 2006
Posts: 4


Quote:
I soon realised that I needed to common all the grounds to the parallel port. After which everything sprung into life. It would be nice for a few instruction to this effect in an app. note.


what do you mean by that, (yes I'm a newbie too Very Happy)
 
 View user's profile Send private message  
Reply with quote Back to top
Plons
PostPosted: Aug 12, 2006 - 01:47 PM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

Phil, if I understand you correctly, you built the one with the extra transistor ?!
Good to hear that it works. Thanks for letting it know.

Being a newbie, you'll encounter more newbie-problems. Don't be alarmed .... it's SOP (Standard Operating Procedure) ... it's part of the game.

Happy computing you both

Plons
(building a new programmer based on a Butterfly and Dean's ButtLoad)

_________________
Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
pquinton
PostPosted: Aug 12, 2006 - 03:17 PM
Rookie


Joined: Jul 14, 2006
Posts: 27
Location: United Kingdom

Plons wrote:
Phil, if I understand you correctly, you built the one with the extra transistor ?!
Good to hear that it works. Thanks for letting it know.

Yep, the one with the extra transistor, and I added a V.Reg as well. I also used the 330/300 combination with the resistor/capacitors.

Cheers.

Phil.

_________________
"If they did that in Manchester, they'd be chinned"
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
pwillard
PostPosted: Aug 21, 2006 - 01:21 PM
Wannabe


Joined: Dec 30, 2005
Posts: 55


Wait... you added a V.Reg? Are you powering the dongle and supplying ISP port power "to" the programming board?

pw
 
 View user's profile Send private message  
Reply with quote Back to top
pquinton
PostPosted: Aug 21, 2006 - 04:47 PM
Rookie


Joined: Jul 14, 2006
Posts: 27
Location: United Kingdom

pwillard wrote:
Wait... you added a V.Reg? Are you powering the dongle and supplying ISP port power "to" the programming board?


The V.Reg drives the dongle AND the Target AVR, yes.

Phil.

_________________
"If they did that in Manchester, they'd be chinned"
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
Russel
PostPosted: Aug 21, 2006 - 09:16 PM
Newbie


Joined: Aug 19, 2006
Posts: 1


Quote:
The V.Reg drives the dongle AND the Target AVR, yes.

How do you power the target AVR after you disconnect the dongle?

IMO, the correct way is that the dongle should be powered by the target AVR circuit.
 
 View user's profile Send private message  
Reply with quote Back to top
pquinton
PostPosted: Aug 22, 2006 - 08:43 AM
Rookie


Joined: Jul 14, 2006
Posts: 27
Location: United Kingdom

Russel wrote:
Quote:
The V.Reg drives the dongle AND the Target AVR, yes.

How do you power the target AVR after you disconnect the dongle?

IMO, the correct way is that the dongle should be powered by the target AVR circuit.


OK.. maybe I'm not explaining this quite right..
The 5v output from the V.REG goes to the VDD line to the 'right' of the diode on the dongle circuit. So power is applied to both the buffer and the target AVR. The VDD to the target AVR is sent down the 'cable'.. so when I've finished programming, the removal of the 'cable' disconnects the VDD from the AVR.

Does this make more sense?

Cheers.
Phil.

_________________
"If they did that in Manchester, they'd be chinned"
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
denidoank
PostPosted: Aug 25, 2006 - 10:40 AM
Newbie


Joined: Mar 27, 2006
Posts: 12


I'm sorry if this is out of topic.
it's too bad I don't read this thread before, cause now my parallel port is damaged. maybe its because I often plug and unplug my dongle when pc is on. now I decided to use serial port to continue my work with avr and I found si-prog from ponyprog. There is one ic lm2936 on that circuit but in my region that ic is not available, and there's notes that this ic shouldn't be replaced by lm7805, why is that? It's possible to substitute lm2936 with lm2931? cause only lm2931 is available in my region. And its more expensive than lm7805. Thanks for help. Sorry for my language, i don't used to with english.
 
 View user's profile Send private message  
Reply with quote Back to top
pquinton
PostPosted: Aug 25, 2006 - 12:09 PM
Rookie


Joined: Jul 14, 2006
Posts: 27
Location: United Kingdom

denidoank wrote:
There is one ic lm2936 on that circuit but in my region that ic is not available, and there's notes that this ic shouldn't be replaced by lm7805, why is that?


The LM2936 is an LDO (Low Dropout) Regulator and Surface mount. LDO's are excellent for battery operated solutions as they the can regulate very close to the input voltage.. standard regulators need a few volts difference.. ie.. 8-9V input for a 5V output. Where as an LDO can go to about .2/.5v from the input.. ie.. 5.5V input for a 5V output..

Well that's the way I understand it..

I don't see why you couldn't use a different regulator as long as it'll do the job, supply sufficient current (don't as me how much, I don't know), and has minimal ripple.

Anyone else have any other reasons?

Cheers.
Phil.

_________________
"If they did that in Manchester, they'd be chinned"
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
japroach
PostPosted: Aug 27, 2006 - 12:23 PM
Wannabe


Joined: May 28, 2006
Posts: 50
Location: vancouver

pquinton wrote:
I don't see why you couldn't use a different regulator as long as it'll do the job, supply sufficient current (don't as me how much, I don't know), and has minimal ripple.

Anyone else have any other reasons?

Cheers.
Phil.

As long as its a LDO it should be fine. Another reason is less bias current, a 7805 uses 10's of mA while a LDO is usually uA's.

and I believe the serial port can source 20mA of current.
 
 View user's profile Send private message  
Reply with quote Back to top
pquinton
PostPosted: Aug 28, 2006 - 08:57 AM
Rookie


Joined: Jul 14, 2006
Posts: 27
Location: United Kingdom

japroach wrote:
As long as its a LDO it should be fine. Another reason is less bias current, a 7805 uses 10's of mA while a LDO is usually uA's.

and I believe the serial port can source 20mA of current.


Ah, that explains it then. If you source the the supply from the serial port, you are going to need an LDO.

Cheers. Phil.

_________________
"If they did that in Manchester, they'd be chinned"
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
goredaimon
PostPosted: Aug 29, 2006 - 02:07 AM
Newbie


Joined: Jul 03, 2006
Posts: 2


I did a programmer for my atmega8 based on http://www.lancos.com/e2p/betterSTK200.gif and the programmer didn´t work. I got the "Device missing or unknow device (-24)" error.

My parallel port is ECP and I can´t figure out why this can´t work!

Maybe I´m wrong with some capacitors.
Please somebody can give me some ideas?
 
 View user's profile Send private message  
Reply with quote Back to top
Plons
PostPosted: Sep 02, 2006 - 02:41 PM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

Goredaimon, pls read back in this thread; Lancos.com copied the suggested circuit as published here, and did not look back. Some components were changed to cope with different types of parallel ports

Plons

_________________
Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
pwillard
PostPosted: Sep 17, 2006 - 09:30 PM
Wannabe


Joined: Dec 30, 2005
Posts: 55


I'm part way into designing my board to replace my STK200.

Here's a sample of my board so far. It still needs to be double checked for accuracy.
 
 View user's profile Send private message  
Reply with quote Back to top
Plons
PostPosted: Sep 17, 2006 - 09:44 PM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

Pwillard, I had a quick look at the board: 33 pF should be 330 pF ( 3 times )
I'm missing 1k from Gnd to shield of the subD 25 pole connector.

Nice job.

Plons

_________________
Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
goredaimon
PostPosted: Jan 02, 2007 - 10:37 PM
Newbie


Joined: Jul 03, 2006
Posts: 2


Quote:
Goredaimon, pls read back in this thread; Lancos.com copied the suggested circuit as published here, and did not look back. Some components were changed to cope with different types of parallel ports

Plons


Plons, where I can find a great circuit for AVR ATMEGA programming? Do you know where my project lacks?
 
 View user's profile Send private message  
Reply with quote Back to top
Plons
PostPosted: Jan 03, 2007 - 12:52 AM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

Quote:
Plons, where I can find a great circuit for AVR ATMEGA programming? Do you know where my project lacks?


Please be more specific

Plons

_________________
Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
awen
PostPosted: Jan 09, 2007 - 12:14 AM
Wannabe


Joined: Nov 23, 2006
Posts: 69
Location: Slovakia, Bratislava

Hi, I think that I have same problem as Goredaimon, and I will be very thankfull if you wrote me exactly which schematic would I to use, because I'm misoriented in it.
Thank you very much, and please excuse my bad english Very Happy

_________________
The working of integrated circuits is based on smoke -- when smoke flow out, they stop working Smile
 
 View user's profile Send private message  
Reply with quote Back to top
Plons
PostPosted: Jan 09, 2007 - 12:56 AM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

Quote:
I will be very thankfull if you wrote me exactly which schematic


How about reading this thread first, and then ask a specific question if something is unclear.

Plons

_________________
Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
awen
PostPosted: Jan 15, 2007 - 06:24 PM
Wannabe


Joined: Nov 23, 2006
Posts: 69
Location: Slovakia, Bratislava

Hi Plons... it's sounds easy "read this thread first"... but my english skills is not enought to understand everything about these technical problems... but I keep trying Smile ... I decided to make version from cb951303 (posted Aug 09, 2006 - 09:52 PM) and I believe that it will be okey.
If you want, I post there my circuit board design when it will be done.

see you soon Very Happy

_________________
The working of integrated circuits is based on smoke -- when smoke flow out, they stop working Smile
 
 View user's profile Send private message  
Reply with quote Back to top
shoroh
PostPosted: Jan 28, 2007 - 10:55 PM
Newbie


Joined: Jan 25, 2007
Posts: 1


I'd like to report about successful dongle building.

Schematics is like pwillard posted Sep 17, 2006 - 10:30 PM with Plons notes posted Sep 17, 2006 - 10:44 PM.

Works fine with my laptop through 1.8 shielded cable from laptop to dongle and ~30cm cable from dongle to test board.

BIG THANKS to everyone, who helped newbies like me to build nice dongle Smile
 
 View user's profile Send private message  
Reply with quote Back to top
sarvoavr
PostPosted: Feb 27, 2007 - 06:05 AM
Newbie


Joined: Feb 26, 2007
Posts: 4


i'm totally confused. i built one pppd using a 74ls245. initially it did work but now its not working. i'm a newbie and am totally confused.i'm unable debug my pppd. so i'm planning to build a new one.but here too there are lots of schematics and am not sure which to build.

any suggestions.

am using cv avr for programming and pony prog to write the program. which are the fuse bits needed to be programmed for a 4MHz crystal,using pony prog. Confused


Last edited by sarvoavr on Feb 27, 2007 - 06:22 AM; edited 1 time in total
 
 View user's profile Send private message  
Reply with quote Back to top
sarvoavr
PostPosted: Feb 27, 2007 - 06:08 AM
Newbie


Joined: Feb 26, 2007
Posts: 4


my mc is an ATmega16L.

also can anyone suggest how to connect and program a wheel encoder.

plz reply quickly.

my parallel port seems to be ok and is set at ecp. Confused
 
 View user's profile Send private message  
Reply with quote Back to top
bloody-orc
PostPosted: Feb 27, 2007 - 12:59 PM
Posting Freak


Joined: Dec 17, 2005
Posts: 1498
Location: Europe- Estonia- Tallinn

just build the improved_pppd_mod_march_4_2006 it works best on my computers (32 bit ones).
 
 View user's profile Send private message Send e-mail  
Reply with quote Back to top
Plons
PostPosted: Feb 27, 2007 - 03:18 PM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

sarvoavr wrote:
Quote:
i'm totally confused. i built one pppd using a 74ls245
And what if you use the 74HC244 like it says in the schematic ?

_________________
Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
sarvoavr
PostPosted: Mar 04, 2007 - 03:08 PM
Newbie


Joined: Feb 26, 2007
Posts: 4


i did build the even better schematic and that too isn't working.
 
 View user's profile Send private message  
Reply with quote Back to top
bloody-orc
PostPosted: Mar 04, 2007 - 03:24 PM
Posting Freak


Joined: Dec 17, 2005
Posts: 1498
Location: Europe- Estonia- Tallinn

and were you using 74HC244?
It WILL work! where did you connect the RC filters? they must be before the wires to the AVR not after; must be between AVR and 74HC244.
 
 View user's profile Send private message Send e-mail  
Reply with quote Back to top
MR BLONDE
PostPosted: Mar 04, 2007 - 06:31 PM
Hangaround


Joined: May 13, 2004
Posts: 382
Location: north west uk

Quote:

am using cv avr for programming and pony prog to write the program. which are the fuse bits needed to be programmed for a 4MHz crystal,using pony prog. Confused


Have you attempted to use cvavr's inbuilt programming interface which supports the stk200/300/500 lpt/serial programmers and many more ,this will give you a better picture of fuse settings etc etc.

Good Luck
Stephen

_________________
Codevisionavr & Avrstudio 4.18
Easyavr5A-Jtagicemk1

Call me Pedantic, But not after 9.

if Milk_Brilliant
else Codevision_Avrs==Better
 
 View user's profile Send private message  
Reply with quote Back to top
Nuno
PostPosted: Mar 18, 2007 - 03:51 PM
Resident


Joined: Nov 01, 2003
Posts: 679
Location: Amadora, Portugal

Well, my cable is one of the basic ones.
As you can see, the resistors are rather high. This puts a low limit on the programming speed, but adds a lot in protection. I also dimensioned them in order to tolerate an AVR powered at levels as low as 3.3V and, in fact, I do a lot of programming of AVR's powered as low as 2.4V. All lines have resistors for protection.
My latest addition was the capacitor, which provides top reliability as already described in this thread.
The cable as it is in the schematics currently provides me total reliability, although it programs slowly (I'm using around 512bytes/s). Looking at the wave in the scope I would say it could be used up to ~200Kbit/s.
The cable is a DB25 conector and 60cm of flat ribbon-cable.
I hot-plug the cable PC all the time, but since it has big resistors and is totally passive, I guess no big problems...
 
 View user's profile Send private message  
Reply with quote Back to top
aleks101
PostPosted: May 01, 2007 - 01:32 PM
Newbie


Joined: Apr 21, 2006
Posts: 2


Hello folks,

I've also built last version of the improved PPPD (with 330 Ohm-330pF RC filter), it works great for me! For anyone interested, I am attaching the Eagle .brd file (this extension being not allowed, you'll have to rename attached file), comments are welcome since this is the first time I use Eagle. I've added an extra LED to monitor the programmer activity. The only thing missing on the board is the 1k resistor from Gnd to shield of the subD 25 pole connector.

aleks


Plons wrote:
Phil, if I understand you correctly, you built the one with the extra transistor ?!
Good to hear that it works. Thanks for letting it know.

Being a newbie, you'll encounter more newbie-problems. Don't be alarmed .... it's SOP (Standard Operating Procedure) ... it's part of the game.

Happy computing you both

Plons
(building a new programmer based on a Butterfly and Dean's ButtLoad)
 
 View user's profile Send private message  
Reply with quote Back to top
denidoank
PostPosted: Jul 10, 2007 - 07:41 AM
Newbie


Joined: Mar 27, 2006
Posts: 12


Hi all,
I want to share my problem about PPPD.
About three years ago I built my own development board for AVR using ATMega8535 as core. Because I want to see ports condition so I attached led series with resistor to every pin in active low mode (i.e if pin is 0 then led will turn on). To download program to my dev board I use Ponyprog with paralel dongle like in this thread but without protection. At first down load, it work well, and I used this board to make same project. After that I never used this board again until yesterday I need to use this board to support my project. So I make some program in AVR Studio an try to down load it with Ponyprog. But then some message appear indicate that my board is not known. I check my dongle and its fine but my parallel port is broken. So I do search about parallel dongle and find this thread from Lancos site. I regret that I'm not read this thread before. I loaned my board to my friend and it seem that he used my board not carefully and made my parallel port damaged. Because there no other parallel port so I built serial dongle as shown in Lancos site. I try this but it is not work. Then I made modification as suggested in this thread to my old parallel dongle. But the result is the same, its not work. Lucky me there is oscilloscope in my lab. I look at MOSI pin and SCK pin and it seem its fine since there are signals out from this pin but then i see that SCK signal is different from MOSI signal. SCK signal never get to zero voltage meanwhile MOSI signal in 0 to 5 Volt. Then I cut the Led in SCK pin and after I try again I found that SCK signal is like MOSI signal in 0 to 5 Volt. And the good news is my board can be used again. There's no device unknown message again.
Well its all that I can share, I hope other member not make the same mistake like I do. Don't put Led like I do in sck pin, maybe this make some pull up in this line, so the signal is never get to zero voltage.
Btw, I made modification like in improved_pppd_mod_march_4_2006.jpg. With this dongle, it is safe to unplug the dongle while the PC is on?
Thanks to Nard for this tutorial


Deni

ps: sorry for my bad english, I always confuse about using past tense, present tense and other tense.
Embarassed Rolling Eyes
 
 View user's profile Send private message  
Reply with quote Back to top
Plons
PostPosted: Jul 10, 2007 - 01:18 PM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

Hi, denidoank

Quote:
Btw, I made modification like in improved_pppd_mod_march_4_2006.jpg. With this dongle, it is safe to unplug the dongle while the PC is on?
It is never safe to plug/unplug the dongle. The Parallel Port is not designed for that. The version you mention (March 4) has no protection for the PC.
If you want to keep using the PPPD, I recommend you build or modify the one you have to the "Even Better PPPD mod March 30 2006.jpg". That one is pretty safe for the PC. And has all the other features.

Nard

_________________
Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
denidoank
PostPosted: Jul 11, 2007 - 09:49 AM
Newbie


Joined: Mar 27, 2006
Posts: 12


Ok then, I'll build that PPPD.
Ok, how about unplug the board but not the dongle? It is still dangerous?
 
 View user's profile Send private message  
Reply with quote Back to top
Plons
PostPosted: Jul 11, 2007 - 01:33 PM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

Unplugging the board ? I do that all the time. And never found a problem with that. And I see no technical reason for a possible damage.

Short: yes, it's safe Smile

_________________
Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
lapacho
PostPosted: Jul 18, 2007 - 05:26 AM
Rookie


Joined: Jul 17, 2007
Posts: 32


Plons wrote:
Newbies on AVR rarely start off with a fully equipped programming environment. For them the Parallel Port Programming Dongle (PPPD in the rest of this topic) is an easy to build and cheap programming-tool. On the internet schematic diagrams can be found easily. But even commercial products, like the STK200 come with a PPPD and they are ready-built available as well.

Note: An other name used for PPPD's is: AVR ISP. A confusing name, as In System Programming ( ISP ) is a common feature of AVR Microcontrollers. And AVR-ISP is used by Atmel and on AVRFreaks for the RS232-programmer with a 90S1200

These PPPD's can cause a lot of headaches and confusion, as there is a problem with these programmers, causing it to fail or function unreliably.

This topic will give you some insight ...... and solutions of course Wink

March 14, 2006: I posted this topic in the AVR Forum some time ago and as questions about PPPD's keep popping-up, the Moderator of this Tutorial Forum (abcminiuser) invited me to re-post here.

I implemented the suggested improvements as done in the original thread http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=33265




Solutions to problems with Parallel Port Programming Dongles, STK200/300-programming dongles and alikes.

This time not a Question, just Answers

In the past there have been quite some articles about programming-problems with these dongles and other dongles with a simular design. I am talking about the AVR-programmers with a 74HC244 buffer, on the printer- (or parallel) port of the PC.

Two types of problems:
1 from: "does not recognize chip", ID="some rubbish",
to: it does not work, pls help ....
2 from: It damaged the printerport on my PC
to: it works on one printerport but not on an another

Good suggestions so far:
- Increase the programming-delay
- In BIOS: set printerport to EPP or ECP
- Use a shielded printercable
and other suggestions:
- Buy yourself a better programmer ... it is unreliable
- and some confusing suggestions ... that really do not help.

The story:

A few months ago, I purchased a STK200 with Kanda (UK). The board came with this programming dongle and it worked fine. Until the parallel port on the motherboard of my PC was damaged by the dongle.... Luckily I could fall back on a PCI-card which gave me another parallel port. But I was worried ..., and not pleased ...

For a new project with two Atmel uC's, I needed a second programmer. So I built one. The famous design with the 74HC244. And to suit my needs, I made it with another type of connector for the target-board. IT DID NOT WORK ! Why? Did I make a mistake? No, I did not ...

Hmmm.

In order to program the new targetboard (with the new connector), I made an adapter for the existing and working STK200-programming dongle. And with the new connector it DID NOT WORK EITHER !! Can a connector make the difference?

I was confused .... for a moment. I started searching on the Forums and discovered that I was not the only one ... But suggestions for a solution did not do the trick so far ... I do use a shielded cable, the BIOS-settings are OK, I increased the programming-dalay, etc

I decided to sort this out. And dig it out, .... to the bottom !

To start: I like the design with the HC244. It looks good. Well done, designer! The 74HC244 buffers the signals between PC and targetboard, and isolates the two when the programming is done.
Many people use this interface as it is cheap and easy to build. And is comfortable to use in combination with Bascom AVR.
Note: although some Forum-members claim that it is not supported in AVR-Studio-4 (the beautiful programming-environment from Atmel): sorry guys, that is not true! Kanda supplies a plug-in for AVR-Studio with the STK200 and it works fine! And comfortable.

Edit: From time to time I receive requests via PM, to share the Kanda-plug-in. I will not do that. It's licenced software. Contact Kanda to get your own licence, or use PonyProg to program your AVR's
Plons, May 14, 2006


Back to business:

Q. What makes this dongle unreliable?
A. LONG LINES, my friends!
Fourier, La Place, thank you for the insight. And thanks to my teachers! Although that's some time ago ...
The combination of short rise- and falltimes (high slewrate) on the signals and the (relative) long lines for these frequency-domains (using Fourier and La Place), that is what's making these dongles unreliable.

What I did:
I hooked up an oscilloscope to the SCK-line on the targetboard and it was obvious: RINGING, i.e. oscillations right after a fast transition of the SCK-line.

Q. What happens during programming in the original design?
A. The uC on the targetboard looses synchronization with the programmer. It sees more than one SCK-edge due to the ringing. And that's what I read some time before ... an Application Note from Atmel. AHA. Now things fall in place. The puzzle is complete, and the picture well visible.

I needed to get rid of the high-frequency-components generated by the edges. The trick: a small RC-filter of 0.1 us, made up with a resistor of 1 Kohm and 100 pF capacitor. That's all it takes: one small filter in the SCK-line. I built it into the STK200-dongle and ran some tests: problem solved. No longer dependant of connector/cable.
Built it into the second programming-dongle: works.
Hooked them up to another PC: works.

Let's go to the second problem:
Q. Why did the dongle blow the printerport on the motherboard?
A. I was not carefull enough.

Some explanation is needed here. The dongle is connected to targetboard and PC. Suppose both are powered down. When the targetboard is switched on, and the PC is not, the dongle will force current into the printerport's /Ack-line.
Q. Can that do any harm?
A. Yes!
To understand this, some historical facts about the printerport.
In the original IBM-design, the printerport was made up with a 74LS374 and a 74LS244. To blow that port you really needed to use brute-force. Hook it up to 24 VDC f.i. Wink It was a very rugged design.
Nowadays, the printerport on a motherboard is built-in an ASIC, which has far more functions, but is not as rugged as the original design. The 74HC244 in the dongle can supply 25 mA (guaranteed) on an output-pin, and I am afraid that was too much for the ASIC. The good news is that the rest of the printerport still works OK. But it can no longer be used for this dongle.

So: limit the current in the /Ack-line by inserting a resistor. The other lines are all inputs on the 74HC244 and therefor , basically, need no limiters. However, I do think it's better to insert current-limiters there as well. Why?
Of course we all know that the parallel port and RS232-port are not hot-pluggable .... Wink , but most of the time I treat them as such. I know, ... bad habbit.
By taking some extra measures, the dongle can be made such, that it will probably not do any harm to plug it in while the PC and/or the target-board are powered (although NOT recommended)




Some FAQ's

Q. Is it necessary to add the filter to MISO and MOSI as well?
A. No. The data on these lines are set-up before the SCK-edge occurs. So even if there is ringing on these lines (and there is !!), it has no effect on the transmission. But: it's a good idea to filter these lines as well.

Q. Is this the ultimate solution?
A. Depends how you look at it. Adding a filter (an analog circuit) to a digital clock-line is something I preferably do not do, .... usually.
But in this case it's the best I could think of, ... in getting a simple solution.
The good thing is that it is not acting as a delay for the clock-pulse: that's a designer's nightmare. All it does is reducing the slewrate of the clock-signal. The best solution .... I'll give it some thought

Q. Could this apply to other programmers as well?
A. I think it does.
- Looking at the design of f.i. the AVR-ISP: the 90S1200 connects to the targetboard with no slewrate limiters at all. And if the cable between programmer and target is short, that will work fine. But Atmel's uC's are PDQ-things and have very short rise- and fall-times on their I/O-pins. So if you're using a longer cable, the same problem might occur.
- Looking at the serial programmer (SI-PROG) from PonyProg: here the problem will NOT occur as in the RS232-specification provisions were made for slewrate-limiting. Clever guys at that time, huh?
- The programmer ZL2PRG on the MCS-site: it looks like it is lacking this filter as well.

Quite some text huh?

As attachments you'll find an ImprovedVersion and an EvenBetter version, in case you're gonna build a new one. I also added a picture of my modified STK200 PPPD

I hope this solves many problems ... in my case it did. Have fun and happy computing .... eh, programming.

Plons





Some additional suggestions and/or recommendations:

1 Do not plug-in or unplug the PPPD from the PC when either PC or targetAVR are powered-on
2 For PPPD to work properly, Vcc of your targetAVR must be 5V
3 If you use the STK200 as target, 3.3V for the AVR is OK as the STK200 has some additionally circuitry to take care of the different levels
4 If you need to disconnect the programmer from your targetAVR, first turn AVR's power down
5 Leave the PPPD connected to the PC; there is no need to unplug it
6 If you're using a ParallelPort extension cable, make sure it's a shielded one, not longer than 1.8 mtr
7 Check your PC-BIOS for ParallelPort setting: EPP or ECP, not SPP
8 Be aware that in the original design of STK200 (and possibly more), the ribbon-cable between PPPD and the target-board is reverse-connected: pin no.1 on one side is NOT pin no.1 on the other side. I am not very fond of these "specials" but changing it NOW could cause even more trouble. So check the connections BEFORE applying power.



Links:
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=35048 abcminiuser made a programmer from a Butterfly: he's a magician ...
http://www.lancos.com/prog.html PonyProg website
http://www.atmel.com/dyn/resources/prod_documents/DOC0943.PDF Atmel AVR910 Application Note

<more to come>

Nard



Hi, I'm new in this forum and also in "programming avr micros". I recently bought an atmega8 and i started doing a circuit. I use kicad (that i recommend) in linux, and also is for windows, and i manage to made a nice design and then build my pcb. I'm not an engenering, i'm a computer science student and electronics it's my hobby.

So, that was about me, and a little introduction to myself, to be polite. Now, the thing is, this schematic about the pppd would allow me to program my atmega8?

I've tried without succes, the parallel direct mode. The device is missing and i cannot program it (i use ponyprog). One thing that call my atention was that this circuit has an 12mhz crystal oscilator, isn't that much? Well, i'm really tired for searching and searching for a programmer. As you may already know, i'm not from USA or CANADA, and i'm my country (Argentina) i cannot find in stores all the things that you do. So to buy is too complicated and expensive! The sipping is a plus.

Thats why i decided to build my own programer. I dont want to bother anyone, with the repeated scene: "the n00b asking for help" and things like that. The truth is that i'm really tired of searching and DOING without any positive results!

Who can tell me what programmer really works with the atmega8? As i already said, i try an ISP standard, from here: http://www.bsdhome.com/avrdude and ponyprog report device missing and i cannot write. And maybe i should try a not ISP programmer, in that case, anyone can tell me on doing one?

Well, i apologizes myself for this request but i cannot find anything that really works (maybe my atmega8 is dead)

Thanks,

lapacho
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
denidoank
PostPosted: Jul 18, 2007 - 08:55 AM
Newbie


Joined: Mar 27, 2006
Posts: 12


I think, if you build correctly the PPPD described in this thread there will be no problem. Read all the post carefully. If there's still a problem maybe you should check your AVR.


Deni

_________________
There's no such as destiny, there are only different choices.
 
 View user's profile Send private message  
Reply with quote Back to top
Plons
PostPosted: Jul 18, 2007 - 01:54 PM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

Hi Lapacho

Welcome here. Not many freaks from Argentina, so a double welcome Smile
So far, all members here who built the PPPD and use Ponyprog or AVRdude, have managed to get positive results.
Quote:
I've tried without succes, the parallel direct mode. The device is missing and i cannot program it (i use ponyprog). One thing that call my atention was that this circuit has an 12mhz crystal oscilator, isn't that much?
Now it's my turn to be confused: the programmer doesn't have a crystal ! Your targetAVR (in your case the Mega8) may have that crystal.

Let's get things straight: you need some hardware to program the Mega8 (and many others Wink ), AND you need software: that can be either PonyProg OR AVRdude.

I suggest that you post here your Mega8 design, the schematic of the programmer-hardware, and a clear statement of the software you use. Then we can have a look at it, and give you appropriate advice.

Nard

_________________
Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
lapacho
PostPosted: Jul 18, 2007 - 08:40 PM
Rookie


Joined: Jul 17, 2007
Posts: 32


Hi plons, and thanks to be welcomed Smile

My poor english maybe get you confused, i was trying to say that my circuit has an 12 mhz crystal, not the programmer. To be straight the little "project" that i'm building is the mjoy8 (because de mjoy16 use an atmega that i cannot find in my country) by Mindaugas. I dont put his url because it's down, but you can find in flightsim at:

http://www.flightsim.com/cgi/kds?$=main/howto/mind.htm

I managed to make the design as i said, with kicad. The programmer in the article it's very simple. Only a few wires and 4 resistor, conected to the parallel port pins 6,7,9 and 10 (and obviosly gnd) to the SCK, MOSI, ¬RESET and MISO atmega's lines. What i'm learning is that this type of programmer is called an In-System Programmer (ISP) because you don't need to remove (in case if you have a socket) your micro and you can program it in situ. My remarks in the crystal came because my little knowledge about this topic make me thing in that the crystal is used for the timings when programming, and thats why you can do an ISP without a crystal (please, correct if i'm wrong).

So, if you want me to post my schematics and pcb board i'll do, but the schematic it's the same that the url page have. Also i can show a photo of my design Smile.

One last thing. Using a tester (multimeter) i test the pin 10 for voltage, and it's in high (with 5v), and the pin 10 is connected to the ¬RESET. I read the avr910 doc and it seems that it's ok to have 5v in the pin 10 because the reset it's inversed and, when it's active (low) the micro enters the Serial Programming mode.

Well, now i just made an order for building the pppd with 330/330. I think that the components will arrive in a few days, and then i'll try with this, but if it fails i surrender!, because i'm getting really tired to fail, it's dissapointing Sad

thanks to you too denidoank,

lapacho
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
Plons
PostPosted: Jul 19, 2007 - 12:11 AM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

Quote:
but if it fails i surrender!, because i'm getting really tired to fail, it's dissapointing
The start is the hardest. You'll get there ... it just takes some time. And once you have built your own multi-axis joystick you'll be proud and get a warm feeling each time you land the Boeing succesfully Smile

For the programming the Xtal of 12 MHz is not important. Your new Mega8 will have the fuses set for internal RC oscillator 1 MHz. That's fine.

Two notes on Mindaugaus' schematic:
1. you'll need 22 pF capacitors from the Xtal-pins to ground. For some reason they are missing in the schematic.
2. Put a resistor of 10k from /Reset to Vcc. That's missing too.

Mindaugaus did a proper documentation of this joystick. You'll find that it's a great help as he describes the steps. The type of programmer with just a few wires and a few resistors is not my, hmmm, favorite. So many people got disappointed in the first steps of their AVR-adventure because of this. And the reason? I didn't write that tutorial just for fun .....

If this is your one and only AVR-project, the full-blown PPPD is still a very low-cost programming tool. It's protecting your PC as well.
If you plan to do some more serious AVR-work, I recommend a proper programmer.

ISP stands for In System Programming. And that's indeed what you wanna do here. During programming, /Reset is kept low by the programmer.

Question Are you powering the Mega8 with 5V during programming ? Because that's a necessaty. I wouldn't recommend to use the USB yet .... things may get confusing for AVR and PC and you. OTOH, Mindaugaus did it succesfully Smile

I hope you get it going.

No need btw, to post schematic or so anymore. The link and your answer were sufficient. But a nice picture of your working Mjoy is appreciated !
Just come back here if it doesn't work.

Nard

_________________
Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
lapacho
PostPosted: Jul 19, 2007 - 04:44 AM
Rookie


Joined: Jul 17, 2007
Posts: 32


Before continue writting, i really appreciate your enthusiasm and you give the strong to continue, really, thanks!

Plons wrote:
Two notes on Mindaugaus' schematic:
1. you'll need 22 pF capacitors from the Xtal-pins to ground. For some reason they are missing in the schematic.
2. Put a resistor of 10k from /Reset to Vcc. That's missing too.

Well, the complete schematic isn't there in the page, i've just checked. When mindaugaus page was working i've downloaded the schematics, and he put two 15pf between the crystal. I dont have any page to upload the schematic and my design (i want to share because i also have a 3d view of it Smile )

Quote:

Question Are you powering the Mega8 with 5V during programming ? Because that's a necessaty. I wouldn't recommend to use the USB yet .... things may get confusing for AVR and PC and you. OTOH, Mindaugaus did it succesfully Smile

Well, i use the usb power, and i also test (with the multimeter) the voltage and it was fine, 4.7V-5V was the results.

Quote:

I hope you get it going.

Thanks!!

Quote:

No need btw, to post schematic or so anymore. The link and your answer were sufficient. But a nice picture of your working Mjoy is appreciated !
Just come back here if it doesn't work.


I'll show you when i finish the job!

Now, waiting for the components to arrive to build the programmer you share! Thanks a lot!

lapacho

edit: I discover that i can attach files! Smile so here they are...
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
Plons
PostPosted: Jul 19, 2007 - 01:08 PM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

I had a close look at your layout. A few questions:
1. Is C1 is connected to ground ? Seems like not. The board needs at least 10uF
2. How gets the Mega8 its 5V power ? I see no track for that. Same for ground ...
3. Where is the inductor between Vcc and AVcc ?? AVcc needs to be within 0.2 V from Vcc
4. The PPPD needs power from this board to operate. Your current 5 pin connector doesn't supply Vcc.

Did you build the board already ?

The 15 pF cap's on the Xtal-pins will probably work fine. There is also some stray-capacitance to bring in the rest.
The internal pull-up is 50k IIRC. I strongly suggest to add 10k from /Reset to Vcc.

What is the length of the wires of your Mindaugas' programmer?

Nice pictures. The 3D rendering looks cool.

Nard


Edit: typo's and: Is the Mega8 a brandnew one or has it been used before ?

_________________
Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
lapacho
PostPosted: Jul 19, 2007 - 07:16 PM
Rookie


Joined: Jul 17, 2007
Posts: 32


Hi plons,
Plons wrote:
I had a close look at your layout. A few questions:
1. Is C1 is connected to ground ? Seems like not. The board needs at least 10uF
2. How gets the Mega8 its 5V power ? I see no track for that. Same for ground ...
3. Where is the inductor between Vcc and AVcc ?? AVcc needs to be within 0.2 V from Vcc
4. The PPPD needs power from this board to operate. Your current 5 pin connector doesn't supply Vcc.

here are the answers:
1. Yes it's connected to ground. it's 10uF also.
2. I had to wire it. I couldn't make a design without crossing that, so i take the power from pin 1 usb, and i use a wire. And same from gnd Smile
3. The inductor is also put between pins, i couldn't put that in the layout, i directly put the inductor between pins 7 (vcc) and 20(avcc)
4. The pppd is new for me and in that design i didnt know about it. Thanks for the advice.

Quote:
Did you build the board already ?

Yes, i already do it.

Quote:
The internal pull-up is 50k IIRC. I strongly suggest to add 10k from /Reset to Vcc.

I'll do that

Quote:
What is the length of the wires of your Mindaugas' programmer?

mmmh, 23cm, not more than that.

Quote:
Nice pictures. The 3D rendering looks cool.

thanks! I draw the crystal and the caps myself with another tool (wings3d: http://www.wings3d.com) and you can export the format to view it with the design program (kicad: http://www.lis.inpg.fr/realise_au_lis/kicad/) Smile it's really cool to get an "almost real" view of your layout. It help me a lot to redesign (remember, i'm not the same type as specialist you are!)

Quote:
Edit: typo's and: Is the Mega8 a brandnew one or has it been used before ?

It's new, and in the board (the real one) i put a 28 pin socket, that it wasn't in the component list of the design program.

There are really cool people here, thanks, it's confortable to be hear. I'll let you know when the components arrive. Remember, you're talking with a guy who lives in a third-world-country. What a shame Sad

lapacho
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
Plons
PostPosted: Jul 19, 2007 - 07:47 PM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

Quote:
mmmh, 23cm, not more than that.
Hmmm, that should have done the trick. With 23 cm's of wire, the amount of ringing is minimal.

Quote:
Remember, you're talking with a guy who lives in a third-world-country. What a shame
No shame at all. I guess a pity for you. But there are more freaks around here that have to improvise. I kept that in mind when I wrote the tutorial. But you probably saw that Smile

While you are waiting for the components to come in: Question did you check the BIOS of your PC to see how the Parallel Port is configured ? SPP is wrong, ECP and EPP are fine. And when you're there, write down the address; $3F8 I guess ...

Question Does Ponyprog have some diagnostic mode ? I am not familiar with PonyProg, so I cannot help you there.

Nard

_________________
Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
lapacho
PostPosted: Jul 19, 2007 - 08:04 PM
Rookie


Joined: Jul 17, 2007
Posts: 32


Plons wrote:
did you check the BIOS of your PC to see how the Parallel Port is configured ? SPP is wrong, ECP and EPP are fine. And when you're there, write down the address; $3F8 I guess ...

The port is ECP or EPP, The address is 378, i'll try changing that, but i think that's not the problem. I think that trying with shorters wires in the programmer would be a better idea, as you said in your tutorial.

Quote:
Question Does Ponyprog have some diagnostic mode ? I am not familiar with PonyProg, so I cannot help you there.

Not sure if PonyProg have, but AVRdude yes. It first check, and also you can override this.

I'll try with shorter cables.

lapacho
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
Plons
PostPosted: Jul 19, 2007 - 08:11 PM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

Quote:
I'll try with shorter cables.
Do you have a 330 pF around? If you add that to the SCK-line on the AVR-side Exclamation , it should work.
I recommend NOT to change the address of the ParPort. But I guess you're a Linux-guru .... so you can judge that yourself Smile

Is Linux your main OS? Or do you have a multi-boot system with WinXP f.i. ?

Nard

_________________
Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
lapacho
PostPosted: Jul 19, 2007 - 08:21 PM
Rookie


Joined: Jul 17, 2007
Posts: 32


Plons wrote:
Do you have a 330 pF around? If you add that to the SCK-line on the AVR-side Exclamation , it should work.

I don't have any, i'm waiting for them to come Sad

Quote:
Is Linux your main OS? Or do you have a multi-boot system with WinXP f.i. ?

I have winxp installed, thats were i wanna fly the airplanes with my DIY usb joystick!! Smile

To save you money, i tell you that i also try ponyprog in windows, without results. Thanks.

Well, now i'll go to modify the "programmer" and short the cables.

See you,

lapacho
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
Plons
PostPosted: Jul 19, 2007 - 08:51 PM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

Laughing you wrote:
Quote:
To save you money ...
Now you made me laugh !

Anyway, since you have WinXP too, I suggest you download BascomAVR demo version from www.mscelec.com. We may need it.

I will PM you as well

Back to work .... Smile

Nard

_________________
Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
lapacho
PostPosted: Jul 19, 2007 - 09:30 PM
Rookie


Joined: Jul 17, 2007
Posts: 32


Shorten the cables didn't work. I test de voltage and the usb it's given 5.02v to de Mega8, that's ok. I also test the "programmer" and for some reason the parallel pin number 10 it's giving 4.3v continuosly, and it's connected to MISO! (Master in, Slave Out) i think my atmega is dead now because that. I'm giving 4.3v to the MISO pin, that's deadly, right?

Anyway, when i order the components i also order another atmega8. That hurts my pocket-feelings! It cost me $24.7 it's equivalent to almost 9 dollars...

I'll let you know when i finish the job.

lapacho
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
lapacho
PostPosted: Jul 21, 2007 - 05:29 AM
Rookie


Joined: Jul 17, 2007
Posts: 32


Quote:
If you want to keep using the PPPD, I recommend you build or modify the one you have to the "Even Better PPPD mod March 30 2006.jpg". That one is pretty safe for the PC. And has all the other features.

Nard


Hi forum,

I read before the 330/330 modifications, i show what i understood.

is that ok?

My great doubt was if the triangle up in the 100nF capacitor was power supply or gnd. In schemas up is vcc and down gnd, but, seems like was a space-matter...

Well, i'm not an electronic-guy and thats why i'm asking, sorry my ignorance.

cheers

lapacho
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
manaschoksi
PostPosted: Aug 01, 2007 - 06:44 PM
Newbie


Joined: Jun 06, 2007
Posts: 7


Excellent tutorial
i followed the last updated circuit in tut
but my uC still is not being detected by pony-prog
do i need to enable the /ss pin in atmega16???
5V supply is reaching the uC as well as the isp circuit??
Please help me out here
 
 View user's profile Send private message  
Reply with quote Back to top
kmceng
PostPosted: Aug 01, 2007 - 08:32 PM
Rookie


Joined: Apr 05, 2004
Posts: 40


I resurected a vintage 1998 STK300 board and Kanda Dongle (also marked STK300).
I started coding my mega103L on board, and all worked well for a couple days
until I started getting download failures.

It seems I may have already compromised two parallel ports on different PC's
with my setup, so I'm going to build a new dongle.

Here's a question I haven't seen addressed anywhere...
All the schematics call for the 74HC244, but can I substitiute a 74HCT244?

I have a big pile of HCT's without an HC in sight anywhere!!

Keith
 
 View user's profile Send private message  
Reply with quote Back to top
bloody-orc
PostPosted: Aug 01, 2007 - 08:37 PM
Posting Freak


Joined: Dec 17, 2005
Posts: 1498
Location: Europe- Estonia- Tallinn

search in the datasheet, what is the difference between them. I would think you can use HCT (I haven't checked the datasheet though)
 
 View user's profile Send private message Send e-mail  
Reply with quote Back to top
Plons
PostPosted: Aug 01, 2007 - 09:11 PM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

Probably yes. May cause trouble when using Vcc=3.3V on the target AVR.

Put it on a socket Smile

Nard

_________________
Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
lapacho
PostPosted: Aug 02, 2007 - 02:02 AM
Rookie


Joined: Jul 17, 2007
Posts: 32


hi manaschoksi,

The last picture i added is waitting for approval or review! I ask for review, because i dont know which 330 ohm resistors are the one you must modify from the first circuit.

If you have read this entire topic, you should know that.

lapacho
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
manaschoksi
PostPosted: Aug 04, 2007 - 09:23 AM
Newbie


Joined: Jun 06, 2007
Posts: 7


hi lapacho
thanks for replying,
i followed the circ of the pppd mod on 30 march
the ckt have been given very good reviews
The ckt u made has 330 ohms between parallel port and
buffer,while in the ckt i followed had those between the connecter and buffer

My doubt is regarding the /ss pin on uC
do i have to give ground to it on hardware side??

My device is still being detcted as unknown by pony prog

i checked the voltages with tester at a time when i ws
clicking the read on pony prog
on Uc sidee,voltage changes on isp pins are
MOSI....0 to 4.5V
MISO....4.4 to 0V
SCK....O.O2 TO 0.17V
RESET shows me 0V

but on the buffer side reset shows me a change of .02 to 3v

note:this values are measured in period betwen clicking 'read' in pony-prog and before the error message for unknown device
 
 View user's profile Send private message  
Reply with quote Back to top
lapacho
PostPosted: Aug 12, 2007 - 05:56 AM
Rookie


Joined: Jul 17, 2007
Posts: 32


well, i managed to get things working. (thanks Nard)
I didnt build the dongle of this post, however i'm pretty sure that it works. Anyway, there's something in the story i want to share with you, and it's about the plug/unplug procedures of the dongle. Here is the preface:

Individual Configuration:

I made a 5v voltage regulator in a small board with the LM7805. The voltage regulator (now on VR) has a led and an on/off switch. The on/off switch in the on position turns on the VR with an output of 4,92v and also the led. In the off position turns off the VR and the led. The led is connected to the output, so that's the way to know that current is flowing by there.

On another board I put an atmega8-16PI and a header for the standard 10-pin isp socket. I only connected the necessary pins. The MISO, MOSI, SCK, and RESET to the isp-socket. Also, I connected VCC (pin 7) and AVCC (pin 20) to the power line, and GND (pin 8 and 22) to the GND line and to the isp-socket GND (to all of the GND isp-socket pins!!). That were all the connections on the Mega8.

The programmer was a 74HC244D buffer based. Yes, i bought it. I couldnt get the buffer in the city I was, so I decided to go buy on a famous sellers/buyers page. It's a stk200 like.

That was the individual stuff, now to the hole thing!

Colective Configuration and Plug/Unplug order issue:

Well, with the 3 things ready to go (VR, Mega8 and stk200-like dongle), i decided to connect things and give it a try. Now I have to mention that I have another atmega8, it was an atmega8-16PU (so, now on PU for this, and PI for the other), that I bought them from different stores.

This is were the unplug/plug order story begins...(i didnt fry anything, althought)

I connected the dongle to the parallel port (now on, PP). I connected the VR to the PI board WITHOUT turning ON. I connected the dongle to the isp-socket. I turned on the VR. Ran ponyprog in linux. Nothing happens. So I decided to switch the Megas, and put the PU mega in place the PI one (also, the board has a 28-pin socket, to do this more flexible).

I started again to the plug/unplug order. I connected the dongle to the PP (this was done already, I wrote to avoid confusion). I connected the VR to the Mega board WITHOUT turning it on. I connected the dongle to the isp-socket. And here is were I was sure that it'll work. For an extrange reason, the VR Led was on! A very very little light you could see, but was on. When i saw that I really thought that I blew up things! So i disconnected the dongle, and I turn it on the VR, and then I plug the dongle again. I ran ponyprog, and everything was fine!

Then I managed to made a clock-source with a NE555 (thanks Nard). And I dont know how, but I could change the fuse bits from the PI mega. I checked all the CKSELs bits.

Now, here is were the story converge, and you can make a conclusion:

I replaced again the PU mega with the PI mega in the Mega board. Again, I connected the dongle, I connected the VR to the Mega Board WITHOUT turning it on. I connected the dongle to the isp-socket. And NOW, the VR led was ON, very little like the experience with the PI before! If you remeber, this thing didnt happens before. And then, i ran ponyprog. The device was read.

Conclusions?

Well, i'm not pretty sure WHY the VR Led turn on, but a heartbit tells me that, FIRST you must turn on the VR. I dont know HOW the VR Led turns on or WHY, but it's not a desire thing. The led must turn on when the VR is on! So, like Nard said, altering the order you could blow up things.

The other conclusion:

I could read the PI mega when the dongle was connected to the Mega board without power and the VR led was on.

I couldnt read the PI mega when the dongle was connected to the Mega board without power, and the VR led was off.

Who can explain that?

End of story.

Regards,

lapacho

ps: Thanks Nard for this post.
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
bloody-orc
PostPosted: Aug 12, 2007 - 10:05 AM
Posting Freak


Joined: Dec 17, 2005
Posts: 1498
Location: Europe- Estonia- Tallinn

could you show us the exact way you connected everything on a schematic please. Thank you Wink
maybe we can tell you, why it works the way it does.
 
 View user's profile Send private message Send e-mail  
Reply with quote Back to top
lapacho
PostPosted: Aug 12, 2007 - 11:49 AM
Rookie


Joined: Jul 17, 2007
Posts: 32


sure! Smile

I use expresssch because i'm using windows now. So here it is...I dont know the dongle schematics, its a simple one based on the 74HC244D buffer.

Regards,

EDIT:
Note about my bad explanation (sorry my english):

When I said:

Quote:
I could read the PI mega when the dongle was connected to the Mega board without power and the VR led was on.

I couldnt read the PI mega when the dongle was connected to the Mega board without power, and the VR led was off.


I didnt mean that I read/write the devices with the power off...Maybe someone could missunderstood that, although it's obvios that you can't do that. But, what I was trying to said, is that when the led's extrange phenomenoum occurs, the Mega was accesible when I read/write, but obviosly it was powered on! Smile
Well, it's difficult to me to explain myself in english.

That's all.

Cheers,


Last edited by lapacho on Aug 12, 2007 - 12:06 PM; edited 1 time in total
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
bloody-orc
PostPosted: Aug 12, 2007 - 12:03 PM
Posting Freak


Joined: Dec 17, 2005
Posts: 1498
Location: Europe- Estonia- Tallinn

OK. but what programmer are you using? self made? schematic? Thanks Wink
 
 View user's profile Send private message Send e-mail  
Reply with quote Back to top
lapacho
PostPosted: Aug 12, 2007 - 12:53 PM
Rookie


Joined: Jul 17, 2007
Posts: 32


well, i edited this post because i found the schematics, here it is.

regards

lapacho
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
manaschoksi
PostPosted: Sep 16, 2007 - 02:21 PM
Newbie


Joined: Jun 06, 2007
Posts: 7


Hey
The dongle that i was trying built is now being successfully read by pony-prog

This topic really helped
Thanks a lot nard
 
 View user's profile Send private message  
Reply with quote Back to top
manaschoksi
PostPosted: Sep 16, 2007 - 02:34 PM
Newbie


Joined: Jun 06, 2007
Posts: 7


Is there any pin i need to activate for program enabling

My program is being dumped into uC,but i m not getting controller pins to work as i want

I configured my register D as output(DDRD=0xff)

i also configured my port D to logic 1(PORTD=0xff)

Hence at all pins of port D , i must get a logic 1(around 4 volts)
This is the exact code written in avr studio

#include<avr/io.h>


int main(void)
{

DDRD=0xff;
PORTD=0xff;



}
 
 View user's profile Send private message  
Reply with quote Back to top
manaschoksi
PostPosted: Sep 22, 2007 - 01:18 PM
Newbie


Joined: Jun 06, 2007
Posts: 7


I resolved the problem
The circuit is working greatt

Thanks nard & lapacho for all the help
 
 View user's profile Send private message  
Reply with quote Back to top
manaschoksi
PostPosted: Sep 22, 2007 - 01:19 PM
Newbie


Joined: Jun 06, 2007
Posts: 7


I resolved the problem
The circuit is working greatt

Thanks nard & lapacho for all the help
 
 View user's profile Send private message  
Reply with quote Back to top
Plons
PostPosted: Sep 22, 2007 - 04:57 PM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

You're welcome. Was there a specific thing that went wrong, or is it just that you needed to adapt ?? (like the Borg Evil or Very Mad )

Cheers

Nard

_________________
Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
manaschoksi
PostPosted: Sep 23, 2007 - 02:04 PM
Newbie


Joined: Jun 06, 2007
Posts: 7


No specifc problem
just the usual soldering errors
 
 View user's profile Send private message  
Reply with quote Back to top
infibit
PostPosted: Oct 29, 2007 - 06:43 AM
Wannabe


Joined: Sep 24, 2007
Posts: 57


hi


Last edited by infibit on Mar 02, 2008 - 03:35 PM; edited 1 time in total
 
 View user's profile Send private message  
Reply with quote Back to top
georgew77
PostPosted: Nov 04, 2007 - 10:42 PM
Newbie


Joined: Oct 28, 2007
Posts: 10
Location: UK

Plons wrote:
Although I have a USB-programming dongle (came in yesterday), this PPPD is still my favourite. It's fast, and as long as you stick to the "recommendations", it's a good programmer.

There was one thing though that bothered me: I had to lower the resistor in the /Ack-line from 1 kOhm to 180 Ohm because of the pull-up in the PC's Parallel Port.
I've come up with the following solution: replace the 180 Ohm with a BC547 and 3 resistors of 10 kOhm. (choice of transistor-type not critical, almost any general purpose small signal NPN-transistor will do)
The circuit might look a bit weird at first glance, but it works. Rolling Eyes

I'll be honest with you: I didn't test it. I simply stick to the rule: don't plug / unplug from PC when powered-up.

I have two requests:
1. If you're in the process of building an Even Better PPPD, go for the version of March 30 2006, and let us know the outcome
2. If you are an experienced user of a schematic-entry program, please be so kind to redraw the schematic.

Plons


First post, and, thanks Plons! Built this circuit today on some stripboard, seems to work correctly, using pony and some simple code later on my breadboard I created 'hello world'

Code:
#include <avr/io.h>
#include <avr/delay.h>

int main (void)         
{
   int i;
   i = 0x00;
   DDRD= 0xFF;      // PORTD = Output

   while(i <= 50)    //
   {

        _delay_ms(2500);
        PORTD= 0x00;
        _delay_ms(2500);
        PORTD= 0xFF;
        i++;
   }
}


Unfortunately however my LED flashed a whole lot faster than once every 2.5s I didnt change any of the default pony settings, or the AVR ones - I assume that its a crystal/setting problem can anyone enlighten me?

Is there any tutorial on variables, or use of? I have been using hex calls for int's and it seems to work but there must be a more efficient way?

Thanks, and appreciate any answers Smile
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
Plons
PostPosted: Nov 05, 2007 - 12:44 AM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

George, post questions in the appropriate forum please. This is the tutorial section.
Repost in the General AVR-forum. And yes, you need to define the used clock-frequency if you want accurate delays Wink
Have a look in avr/delay.c

Glad to hear that the programmer works for you. Thanks.

Nard

_________________
Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
clawson
PostPosted: Nov 05, 2007 - 10:25 AM
10k+ Postman


Joined: Jul 18, 2005
Posts: 62209
Location: (using avr-gcc in) Finchingfield, Essex, England

George,

hint: go back and read what it says in avr/delay.h - you may want to rethink those 2500 values!

(sorry for OT)

_________________
 
 View user's profile Send private message  
Reply with quote Back to top
izuael
PostPosted: Dec 15, 2007 - 02:58 AM
Hangaround


Joined: Nov 04, 2007
Posts: 142


i've been checking the tutorial for a while, and the attached links and i can't find a pcb. anyone care to spare one? thanks!
 
 View user's profile Send private message  
Reply with quote Back to top
lycanthrope
PostPosted: Dec 17, 2007 - 11:55 PM
Newbie


Joined: Dec 13, 2007
Posts: 8


well, after assembling the pure-wire-resistor version, buffer version, upgraded buffer, I assembled the 3-9-2007 version (330, transistor...)... and it works flawlessly on a desktop computer (as well as all other version). but not the same case on my laptop... I enabled ECP, cable is 15cm flat. tried removing 1K resistors on my target board(should the current be too low) - no help. And I have no other ideas... I have no serial available on my laptop, and I really should be able to program the device via laptop.

thanks... Sad
 
 View user's profile Send private message  
Reply with quote Back to top
Plons
PostPosted: Dec 18, 2007 - 12:09 AM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

Sounds more like a OS-problem. WinXP requires a driver that allows direct control of the Parallel Port. I don't have it at hand ... soo do a bit of Googling.

And make sure that the targetAVR has 5V power. The PPPD use that.

Edit: one more thing you should check: what is the HW address of the PP on your laptop ? Depending on the software you use, you need to tell that software where it can "find" the port

_________________
Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
lycanthrope
PostPosted: Dec 18, 2007 - 12:37 AM
Newbie


Joined: Dec 13, 2007
Posts: 8


hmm... I will look for the driver now. And yes, it's got 5.08V sharp, no problem there.

thanks!
 
 View user's profile Send private message  
Reply with quote Back to top
Plons
PostPosted: Dec 18, 2007 - 12:57 AM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

I did some searching on my PC as well, but I can't find it.

Maybe it's sufficient to look up the address of the PP ..... If it's not $378, most likely the prog SW can't find it

_________________
Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
izuael
PostPosted: Dec 18, 2007 - 06:55 PM
Hangaround


Joined: Nov 04, 2007
Posts: 142


hmm, not much of help here, so i'm changing strategy. i'm designing my own programmer around a hc245 chip (the one with Z and bidirectional outputs. I know i won't need bidirectional, but anyway..)..

so, from what i see from Plons' design, reset and miso should be enabled/disabled by gate 2 (pin 4) and mosi, sck and prog, from gate 1.
Is this a requirment? Can i enable all of them from one gate? Or do they need to be enabled/disable in such groups?

Next, i see that reset has three pins driving it, and the clock, two. again, is this is a requirment, or just to use all pins?

I guess the 330R/330p/330R filter is still needed. I'm thinking of adding a bunch of other leds and optocoupling the thing. But, is it ok if i remove Q1? Since it doesn't work as an inverter, and i'll have ltv847s optics before pin 10..

Finally, is the pinout correct:
pins 4/5 - high Z enable. I'll mix them in one pin, so I guess i'll use diode or's.

pin 6 - sck. This uses two pins on the hc244, i'll use one.

pin 7 - mosi. no changes
pin 8 - prog, no changes.
pin 9 - reset. uses 3 pins, i'll use one

pin 10 input, uses a bc547 transistor for (supposedly?) buffering, i'll use the optocoupler instead.

also, pins 2 and 3 link to pins 11 and 12 through 330 ohms resistances. are they required?

Again, i'll use hc245 ics for this since i have some on hand.

Thanks!

edit: oh, hi there Plons, i see you're still posting Very Happy
 
 View user's profile Send private message  
Reply with quote Back to top
lycanthrope
PostPosted: Dec 19, 2007 - 04:14 PM
Newbie


Joined: Dec 13, 2007
Posts: 8


Plons wrote:
I did some searching on my PC as well, but I can't find it.

Maybe it's sufficient to look up the address of the PP ..... If it's not $378, most likely the prog SW can't find it


hi... I tried the giveio, allowio, porttalk, userport... no luck with any.
Tried changing port addresses in BIOS, and accordingly changing pony settings - no luck.
Measured voltage levels - 3.4 to 5.0 V, and 0. Changing when invoking probe or read...

I am getting really frustrated here already Sad 5 days and no luck, all being my laptop playing smartass -.-

note: I tried on a desktop workstation of friends today again - the programmer works flawlessly

any ideas ANYONE?

thanks...
 
 View user's profile Send private message  
Reply with quote Back to top
clawson
PostPosted: Dec 19, 2007 - 04:30 PM
10k+ Postman


Joined: Jul 18, 2005
Posts: 62209
Location: (using avr-gcc in) Finchingfield, Essex, England

lycanthrope wrote:
any ideas ANYONE?

The five days lost work has got to be worth more than the $34 an AVRISPmkII would have cost (IMHO!)

_________________
 
 View user's profile Send private message  
Reply with quote Back to top
Plons
PostPosted: Dec 19, 2007 - 04:41 PM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

izuael wrote:
Quote:
hmm, not much of help here, so i'm changing strategy. i'm designing my own programmer around a hc245 chip (the one with Z and bidirectional outputs. I know i won't need bidirectional, but anyway..)..
Plenty help ! And there are several designs posted. I am still using the old breadboard-version.
Re-designing ? Why ? Is a 245 better for this purpose in your opinion ?

lycanthrope, I understand the frustration. Since the programmer works fine on a desktop, it is something laptop-specific. But you sorted that out already.
Three options:
1. Download and install BascomAVR demo version. Webaddress and so on my website.
That installs the proper IO-driver for use with the STK200 and alikes.
2. Be smarter Wink
Use the PPPD to program a Mega8, and build a USB-programmer:
http://www.fischl.de/usbasp/ or
http://w3.ele.tue.nl/nl/ewinkel/studenten/knowledge_base/atmel_programmeren/
PM me if you need the files: I found those in my search for the IO-driver Smile
3. Get yourself a Butterfly, and install Dean's Buttload on it (search Academy section for Buttload). It works on a serial port, and if necessary you can adapt it to USB with a FTDI232R. Info on my website as well

Nard

_________________
Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
lycanthrope
PostPosted: Dec 19, 2007 - 05:12 PM
Newbie


Joined: Dec 13, 2007
Posts: 8


@clawson: I agree, that way I would be merrily programming for 5 days already, but I simply find it more fun to do everything from scratch, both a learning and enjoyable experience...

@plons: I'll give bascom a try now, but I will make the usb programmer nontheless Smile thanks!
 
 View user's profile Send private message  
Reply with quote Back to top
lycanthrope
PostPosted: Dec 21, 2007 - 12:34 AM
Newbie


Joined: Dec 13, 2007
Posts: 8


@plons: was that a great idea or what? Smile) Bascom didn't work though, but USB programmer works flawlessly Wink
a biiiig thanks once again! Smile
 
 View user's profile Send private message  
Reply with quote Back to top
Plons
PostPosted: Dec 21, 2007 - 12:47 AM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

Quote:
... but USB programmer works flawlessly Wink


You're welcome. Glad you got the USB-programmer working Exclamation
And thanks for letting this know.

Nard

PS My dear fellow freaks: these are the guys we're doing it for Smile

_________________
Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
Plons
PostPosted: Feb 06, 2008 - 12:08 AM
Raving lunatic


Joined: Nov 01, 2005
Posts: 6323
Location: Hilversum - the Netherlands

Good news: see the first post in this thread ! Kanda released the latest software for these PPPD's as free download.

_________________
Dragon broken ? Or problems with the Parallel Port Programmer ? Scroll down on my projects-page http://www.aplomb.nl/TechStuff/TechStuff.html for tips
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
marlesus
PostPosted: Nov 22, 2008 - 08:03 PM
Newbie


Joined: Jul 09, 2008
Posts: 10


I need help! I've plugged the header from the programmer in the wrong STK200 male-header and now I can't connect to the starter kit.What could be the problem? Has the 74HC244 been burned?
 
 View user's profile Send private message  
Reply with quote Back to top
z.p.gaal
PostPosted: May 10, 2010 - 09:59 PM
Newbie


Joined: May 10, 2010
Posts: 1


As a practice I've created schematics and board files in eagle from [url] http://www.aplomb.nl/TechStuff/PPPD/PPPD%20English.html [/url] using smd components. (Note: the BC547 transistor was replaced by a similar smd transistor BC817)

Could a more advance engineer take a look at it please? I haven't built it yet, but I wish to.

link: http://dreamengine.svn.sourceforge.net/viewvc/dreamengine/trunk/pppd/
 
 View user's profile Send private message  
Reply with quote Back to top
GLinBoy
PostPosted: Aug 09, 2010 - 10:51 AM
Newbie


Joined: Jul 03, 2010
Posts: 6
Location: Iran-Tehran

Hi dude Smile
It's my design and i think that may usefull for you.
    NOTE: Program that use for design schematic & board is Altium Designer Summer 08 (Build 7.0.0.13815). I add PDF & PNG file for user of other program like Eagle.


More information on page of project:
Quote:
 
 View user's profile Send private message Visit poster's website 
Reply with quote Back to top
Display posts from previous:     
Jump to:  
All times are GMT + 1 Hour
Post new topic   Reply to topic
View previous topic Printable version Log in to check your private messages View next topic
Powered by PNphpBB2 © 2003-2006 The PNphpBB Group
Credits