[Top][All Lists]

[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 &=
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.

Mattias Svensson, Sweden

reply via email to

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