usbasp con avrdude: error: programa habilitado: el objetivo no responde. 1

0

Compré un programador "usbasp" de AliExpress para usar con mis dispositivos AVR ATtiny84A. Esto tiene el texto "USBASP V2.0 LC Technology" impreso en la parte superior de la PCB, y se parece mucho a esto:

TengouncableC232HM(FTDI)queheestadousandocomounprogramadordeavrdudeconéxitodurantealgúntiempo,asíqueséquemisdispositivosAVRestánfuncionandoyqueestoyusandolospinescorrectosenelATtiny84.

Lamentablementenohetenidoéxitoconestenuevoprogramador.DespuésdeconectarVCC(conelpuenteJ1configuradopara5V),GND,MOSI,MISO,SCKyRESET(¡ytriplecomprobación!),avrdudeproporcionaelsiguienteerror:

$avrdude-cusbasp-pattiny84-vvvvavrdude:Version6.3,compiledonSep172016at02:19:28Copyright(c)2000-2005BrianDean,http://www.bdmicro.com/Copyright(c)2007-2014JoergWunschSystemwideconfigurationfileis"/usr/local/Cellar/avrdude/6.3/etc/avrdude.conf"
         User configuration file is "/Users/me/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : usb
         Using Programmer              : usbasp
avrdude: usbasp_open("usb")
avrdude: seen device from vendor ->www.fischl.de<-
avrdude: seen product ->USBasp<-
         AVR Part                      : ATtiny84
         Chip Erase delay              : 4500 us
         PAGEL                         : P00
         BS2                           : P00
         RESET disposition             : possible i/o
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65     6     4    0 no        512    4      0  4000  4500 0xff 0xff
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           flash         65     6    32    0 yes      8192   64    128  4500  4500 0xff 0xff
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00

         Programmer Type : usbasp
         Description     : USBasp, http://www.fischl.de/usbasp/

avrdude: usbasp_initialize()
avrdude: usbasp_transmit("USBASP_FUNC_GETCAPABILITIES", 0x00, 0x00, 0x00, 0x00)
avrdude: usbasp_spi_set_sck_period(0)
avrdude: auto set sck period (because given equals null)
avrdude: usbasp_transmit("USBASP_FUNC_SETISPSCK", 0x00, 0x00, 0x00, 0x00)
avrdude: warning: cannot set sck period. please check for usbasp firmware update.
avrdude: usbasp_transmit("USBASP_FUNC_CONNECT", 0x00, 0x00, 0x00, 0x00)
avrdude: usbasp_program_enable()
avrdude: usbasp_transmit("USBASP_FUNC_ENABLEPROG", 0x00, 0x00, 0x00, 0x00)
         <= [01] 
avrdude: error: program enable: target doesn't answer. 1 
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: usbasp_close()
avrdude: usbasp_transmit("USBASP_FUNC_DISCONNECT", 0x00, 0x00, 0x00, 0x00)

avrdude done.  Thank you.

No funciona con un suministro externo de 5V (J1 eliminado), o con J1 configurado para 3.3V tampoco.

Con mi alcance, puedo ver que el reloj funciona a aproximadamente 92.6 kHz, pero las señales MISO y MOSI tienen una amplitud muy baja, aproximadamente 1.1V para MISO y 0.8V para MOSI. Estos voltajes me parecen un poco bajos:

LeíqueJ3sepuedeusarparaconfigurarelprogramadorenmodo"lento" (tenga en cuenta que el ATtiny84 que estoy intentando programar actualmente ya se está ejecutando a 8 MHz desde el oscilador interno). Sin embargo, al agregar J3, no veo ningún cambio en la frecuencia de reloj, todavía se ejecuta a aproximadamente 92.6 kHz.

Por lo que he leído, los programadores usbasp "chinos" tienden a incluir alguna versión del software que permite la detección de la velocidad del reloj. Sin embargo, no estoy seguro de si esto se traduce en soporte para la opción "-B", ya que no importa qué valor -B ofrezco, el alcance muestra que el reloj sigue funcionando a 92.6 kHz.

Me he asegurado de que no haya otros circuitos que interfieran con el programador. También probé un segundo ATtiny84 "nuevo" (así que los fusibles aún están configurados para 1MHz) sin éxito tampoco. Sin embargo, el programador C232HM funciona bien.

Entonces, nada de lo que leí parece correlacionarse con lo que veo con mi dispositivo. Me pregunto si esos voltajes MOSI / MISO son demasiado bajos (y por qué) y también estoy sorprendido de por qué ni J3 ni -B parecen afectar la velocidad del reloj.

¿Qué podría estar mal? ¿Qué más puedo investigar?

EDITAR: agregó más información.

El ATtiny recibe alrededor de 5.1V del programador. Esto no parece fluctuar o caer durante el proceso.

Rastros con ATtiny84 en su lugar:

  • Amarillo: SCL (pin de USBasp 7 / ATtiny84 pin 9) - 5V
  • Cian: MISO (pin de USBasp 9 / ATtiny84 pin 8) - ~ 1.1V
  • Magenta: MOSI (pin de USBasp 1 / ATtiny84 pin 7) - ~ 3.3V
  • Azul: RESET (USBasp pin 5 / ATtiny84 pin 4) - 5V

ElprogramadortiradelalíneaRESETdosveces,ylalíneaMOSIllegaaaproximadamente3.3V.Luego,despuésdeaprox.100ms,elSCLcomienzaaemitirpulsosa0-5V,aprox.94kHz,yhayactividadtantoenlalíneaMOSIcomoenlalíneaMISO,peroparecebastantehorrible:

SinelATtiny84ensulugar(SLK,RESET,MISOyMOSIflotantes),elalcanceseveasí:

LatrazamagentaesMOSIyseelevaaaproximadamente5V,perosevefea(quizásporqueestáflotando):

¿HayalgúntipodeseñalenMISOtambién,talvezinterferenciadeMOSI?

Puseunresistorde330kOhmentreMOSIyGNDyun1MOhmentreMISOyGND(todavíanohayATtinypresente)yordenéunpocolashuellas:

Lo que realmente no entiendo es por qué la señal MOSI (magenta) es tan impura y por qué hay una señal de reloj en MISO (cian).

    
pregunta meowsqueak

0 respuestas

Lea otras preguntas en las etiquetas