uisp-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Uisp-dev] uisp


From: Mattias Svensson
Subject: [Uisp-dev] uisp
Date: Wed, 09 Oct 2002 21:47:27 +0200

I stumbled across a little typo in "DAPA.C" line 429,

************************
002    * $Id: DAPA.C,v 1.4 2002/06/13 13:17:24 marekm Exp $




428     case PAT_BSD:
429       if (b) par_data |= BSD_RESET; else par_data &= BSD_RESET;
430        ParportWriteData();
431       break;

************************

429 should be:    if (b) par_data |= BSD_RESET; else par_data &=
~BSD_RESET;
Now the /RESET signal should work as intended.

I noticed this when I was trying to make my newly soldered BSD type
programming cable work.
The /RESET signal from parport signal D5 was just dead, always high.
When I removed the /RESET signal from the prog. cable and grounded
/RESET on the AVR, cable worked limited to manual  /RESET operation.

Anyway, this is a good example of  why one should not practice "Cut and
Paste Programming" =).  Every other case in the switch statement had the
bitwise not operator.


I built a simple level converter for my programmer to be able to have
different target and programmer voltage, ultimately it should also be
opto isolated.
I used a coulpe of inverters and transistors to shift voltage levels for
/RESET, MOSI, MISO and SCK. The programmer side takes 5V from the
parport, and the target side is given Vtarget. Now I am using
Vtarget=3.3V but it could also be lower.

Is there any standard for the pinning on the programming header?
My guess would be the cable supplied from ATMEL, but I don't own any. It
would be nice with an interface on the board that is "standard", it will
make support of the design easier in the future.

Regards:
Mattias Svensson, Sweden





reply via email to

[Prev in Thread] Current Thread [Next in Thread]