Hello Freaks,
It's well-known that the problems with having a long cable on those cheap LPT programmers are due to the ringing on the SCK line, leading the AVR to see more clocks that is intended. The long cable acts as a transmission line on the fast raise and fall times of the LPT port signals.
As a learning hands-on exercise I wanted to see the ringing, so I changed my programming software to do continuous square wave on the SCK pin and put my scope on the AVR end of a 60cm cable. This square wave has a frequency a bit higher that my normal programming frequency.
However, the ringing I see is just too small in amplitude to be interpreted as a state change.
What may be wrong here? I used a 10x probe. My scope is an analog 20MHz, 20MHz input bandwidth; is it too little bandwidth and some ringing spikes are escaping me?
Another interesting effect is that the same cable can program an AVR if it is clocked only up to a certain frequency. For example, I can program tiny26s reliably up to ~6MHz; if I clock the tiny26 faster, programming reliability decreases, being inversely proportional to the AVR's clock frequency.
At a first glance, it seems that the reliability should be independant of the AVR's clock, and dependant only on the cable's length.
I have this theory and would like your comments: the AVR samples the SPI programming lines at it's clock speed so, at higher frequencies, it can "see" the smaller ringing peaks that it won't see when clocked slower. If it is the case, it is in fact statistic; higher frequency => higher probability of catching a ringing peak. This means that even at a low frequency there's still some probability of the AVR seing a "dummy" transition on SCK, although most of the time it won't.
(As a side note: I have added RC filters to the SCK lines on the PC side, to slow the change rate, and stopped having reliability problems on my 60cm cable at all AVR clock frequencies (tested up to 16MHz). I think there was a thread mentioning that, but I can't find it; maybe by plons?...)
Any thoughs are wellcome :)
Thanks