Autor Tema: Parallel programmer low cost  (Leído 4279 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado ascii

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 131
Parallel programmer low cost
« en: 02 de Abril de 2008, 21:40:30 »
Despues de perder dos uc atmega8 utilizando el programa uisp bajo linux, senti un gusto amargo, pensando lo torpe que soy y culpandome por haberlos bloqueado, lo mas extraño aun es que nisiquiera estaba modificando los famosos fuses, de un dos por tres ya no podia programarlos, leyendo en la red habia mucha gente que tenia el mismo problema, entonces me decidi por armar un programdor paralelo y ver si podia recuperar dichos uc. Por otro lado en mi pais es muy dificil conseguir una stk500 o una dragon, sin considerar el costo de estas.

En resumidas cuentas me decidi a armar el programador del japones elm chan, que sin duda tiene un gran nivel en electronica del siguiente link:

http://elm-chan.org/works/avrx/report_e.html#AVRXP

Especificamente el programador es el siguiente:



El transistor logico RN2205 me dio algunos problemas encontrarlo como no es novedad en la tienda de mi ciudad, pero lo remplaze con un pnp 2N3906 añadiendo las resistencias 47K Rbe y 2,2K. Utilice una 74ls299 (ttl) y funciono ok.

Lugo de armar el programador debemos descargar la aplicacion avrpp desde la pagina de elm chan, abrimos la consola y nos dirijimos a la direccion donde se encuentra la aplicacion antes nombrada, en mi caso:

cd C:\Documents and Settings\Administrador\Escritorio\avrxtool32\bin

Luego verificamos las distintas opciones:

Código: [Seleccionar]
C:\Documents and Settings\Administrador\Escritorio\avrxtool32\bin>avrpp
AVRPP - AVR Parallel Programming tool R0.40 (C)ChaN,2007  http://elm-chan.org/

Write code and/or data  : <hex file> [<hex file>] ...
Verify code and/or data : -v <hex file> [<hex file>] ...
Read code, data or fuse : -r{p|e|f}
Write fuse byte         : -f{l|h|x}[<bin>]
Lock device             : -l[<bin>]
Erase device            : -e
Copy calibration bytes  : -c
Control port [-p1]      : -p<n>
For more options, refer avrx32.txt.

Supported Device:
AT90S 1200,2313,2323,2333,2343,4414,4433,4434,8515,8535
ATtiny 10,11,12,13,15,22,24,25,26,28,44,45,84,85,261,461,861,2313
ATmega 8,16,32,48,48P,64,88,88P,103,128,161,162,163,164P,165,168,168P,169,323,32
4P,325/329,328P,406,603,640,644,644P,645/649,1280,1281,2560,2561,3250/3290,6450/
6490,8515,8535
AT90CAN32,64,128, AT90PWM 2,3

En mi caso leer directamente los fuses, aver si nos encontramos con sorpresas.

Código: [Seleccionar]
C:\Documents and Settings\Administrador\Escritorio\avrxtool32\bin>avrpp -rf
Put a device on the socket and type Enter...
PAR->Detected device is ATmega8.

Low: 11101111
     ││││└┴┴┴── CKSEL[3:0] Clock source selection
     ││└┴── SUT[1:0] Startup time
     │└── BODEN (1:Disable BOD, 0:Enable BOD)
     └── BODLEVEL (1:2.7V, 0:4.0V)

High:00000010
     │││││││└── BOOTRST *Refer to data sheet
     │││││└┴── BOOTSZ[1:0] *Refer to data sheet
     ││││└── EESAVE (Retain EEPROM at chip erase 1:No, 0:Yes)
     │││└── CKOPT (Oscillation Mode  1:Low amplitude, 0:Full swing)
     ││└── SPIEN (1:Disable ISP, 0:Enable ISP) *Available only in Parallel mode
     │└── WDTON (1:WDT normal, 0:WDT always on)
     └── RSTDISBL (RESET pin 1:Enable, 0:Disable(PC6))

Cal: 192 192 186 186

 :shock: Como era de esperarse tenia un fuse mal configurado, pero nunca iba a imaginar que iba a ser que el pin reset estaba disable, creanme cuando les digo que cuando dejo de funcionar el micro, yo no configuraba los fuses, sin mas dejo de funcionar se bloqueo!, sorpresa mia es que nunca pense que se iba a escribir los fuses high de tal manera que quedara desabilitado el reset.

Bueno entonces configuramos de nuevo los fuses:

Código: [Seleccionar]
C:\Documents and Settings\Administrador\Escritorio\avrxtool32\bin>avrpp -fl11111
111
Put a device on the socket and type Enter...
PAR->Detected device is ATmega8.
Writing fuse low byte...Passed.

C:\Documents and Settings\Administrador\Escritorio\avrxtool32\bin>avrpp -rf
Put a device on the socket and type Enter...
PAR->Detected device is ATmega8.

Low: 11111111
     ││││└┴┴┴── CKSEL[3:0] Clock source selection
     ││└┴── SUT[1:0] Startup time
     │└── BODEN (1:Disable BOD, 0:Enable BOD)
     └── BODLEVEL (1:2.7V, 0:4.0V)

High:00000010
     │││││││└── BOOTRST *Refer to data sheet
     │││││└┴── BOOTSZ[1:0] *Refer to data sheet
     ││││└── EESAVE (Retain EEPROM at chip erase 1:No, 0:Yes)
     │││└── CKOPT (Oscillation Mode  1:Low amplitude, 0:Full swing)
     ││└── SPIEN (1:Disable ISP, 0:Enable ISP) *Available only in Parallel mode
     │└── WDTON (1:WDT normal, 0:WDT always on)
     └── RSTDISBL (RESET pin 1:Enable, 0:Disable(PC6))

Cal: 192 192 186 186

C:\Documents and Settings\Administrador\Escritorio\avrxtool32\bin>avrpp -fh11001
001
Put a device on the socket and type Enter...
PAR->Detected device is ATmega8.
Writing fuse high byte...Passed.

C:\Documents and Settings\Administrador\Escritorio\avrxtool32\bin>avrpp -rf
Put a device on the socket and type Enter...
PAR->Detected device is ATmega8.

Low: 11111111
     ││││└┴┴┴── CKSEL[3:0] Clock source selection
     ││└┴── SUT[1:0] Startup time
     │└── BODEN (1:Disable BOD, 0:Enable BOD)
     └── BODLEVEL (1:2.7V, 0:4.0V)

High:11001001
     │││││││└── BOOTRST *Refer to data sheet
     │││││└┴── BOOTSZ[1:0] *Refer to data sheet
     ││││└── EESAVE (Retain EEPROM at chip erase 1:No, 0:Yes)
     │││└── CKOPT (Oscillation Mode  1:Low amplitude, 0:Full swing)
     ││└── SPIEN (1:Disable ISP, 0:Enable ISP) *Available only in Parallel mode
     │└── WDTON (1:WDT normal, 0:WDT always on)
     └── RSTDISBL (RESET pin 1:Enable, 0:Disable(PC6))

Cal: 192 192 186 186


Y listo ya tengo mis dos micros recuperados, gracias a este maravilloso programador de bajo costo, espero les sea de utilidad,  muy recomendable, cuando el uisp se pone bruto o cuando no saben que fuses pasaron a modificar por error.

Desconectado MiCrOtRoNiC

  • PIC18
  • ****
  • Mensajes: 271
Re: Parallel programmer low cost
« Respuesta #1 en: 02 de Abril de 2008, 22:30:45 »
yo para evitarme esos problemas voya comprar el programador GTP de sisco :mrgreen: :mrgreen: junto con su modulo de programacion paralela de avrs..q al final es mejor q estar perdiendo tiempo por errores de configuracion en lo fuses y mas orita que stoy comensando. :)

Desconectado AKENAFAB

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3227
Re: Parallel programmer low cost
« Respuesta #2 en: 07 de Abril de 2008, 09:31:29 »
Hola assci

Tengo el mismo problema!!

Tengo el materia y todo lo necesario excepto tiempo  xD

Que bueno que funciona!!

SOlo tenga un rato libre lo monto.

Después de recurar mis avrs (atmega8 y atmega8535) montaré el STK500.Es la mejor opción , bueno una vez lo haga por acá posteare avances.

la pagina donde realizaron el stk500 : www.der-hammer.info
Gracias por compartir.

Atentamente
 Akenafab
« Última modificación: 07 de Abril de 2008, 09:35:07 por AKENAFAB »