Ciao Alberto sono Gregorio. Innanzitutto i doverosi ringraziamenti per l'ottimo progetto. Ho assemblato un programmatore e sembra funzionare bene. Legge e scrive correttamente i PIC (provati diversi), mentre non riesco a scrivere su di un atmega8. Ottengo sempre :
"errore sincronizzazione". Lo stesso chip riesco a programmarlo senza problemi con un programmatore su parallela e con un USBAsp. Provato sia su Linux (Ubuntu 12.04 ed opgui) che su win (software nativo).
Su Linux ho provato anche la versione 0.90 del software
Ho letto un'altro post con un problema simile, ma non ho capito bene come procedere. Mi spiace ma non sono un programmatore, purtroppo.
In questo pezzo di log il chip non risponde, ma sta ancora provando la frequenza massima di comunicazione; nel resto del log non so cosa succeda: immagino continui a non rispondere e quindi ti viene segnalato l'errore.
Usi la scheda di espansione o dei fili fino alla tua applicazione?
Hai già provato con un altro AVR in passato?
Che configurazione c'è sul dispositivo?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Uso dei fili, ma sono pochi cm, direttamente dal programmatore all'AVR. In passato ho testato con un ATMEGA644, ma il problema era lo stesso. La configurazione sull'atmel e' quella di default. Se vuoi provo a leggerla con AVRDuDE e la posto. Probabilmente e' troppo bassa, stavo guardando come configurare i fuses per attivare l'oscillatore interno ad 8Mhz. Con l'USBAsp per programmarlo devo attivare la funzione "slow clock" .
Per quanto riguarda illog completo, come faccio ad allegarlo come file? E' piuttosto lungo......
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I segnali sono Reset, MOSI, MISO, GND e +5V.
I Fuses sono hfuse = D9, lfuse = E1
Se, pero' , con AVRDUDE riprogrammo lfuse = D4 (clock interno 8Mhz, fast rise) il controller viene correttamente riconosciuto da opgui versione 0.90.
La versione 0.91, invece mi da' o errore sincronizzazione, o chip non riconosciuto, e valori azzerati, pur effettuando la lettura. (Ma non posso confermarti che sia corretta)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Linux o Windows?
C'è un problema di sincronizzazione USB; il primo trasferimento non è corretto e tutti sono scalati di una posizione.
Se configuri con il clock esterno è necessario collegare anche X1.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Linux. Ubuntu 12.04 32bit. Il chip e' configurato con clock interno, ed infatti la versione 0.90 funziona correttamente.
Se vuoi, posso testare anche lato windows.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Il metodo di scambio pacchetti sotto linux sembra avere attualmente qualche problema (ma non in tutti i sistemi); una piccola modifica al codice dovrebbe migliorare le cose:
in progAVR.c trova la funzione
void ReadAT(int dim, int dim2, int options)
sostituisci il primo
PacketIO(1);
con
PacketIO(3);
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ancora lo stesso problema.
Prova a incrementare il ritardo a 20 o 30.
Sto verificando una nuova versione che dovrebbe risolvere automaticamente il problema.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
View and moderate all "Open Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Discussion"
Ciao Alberto sono Gregorio. Innanzitutto i doverosi ringraziamenti per l'ottimo progetto. Ho assemblato un programmatore e sembra funzionare bene. Legge e scrive correttamente i PIC (provati diversi), mentre non riesco a scrivere su di un atmega8. Ottengo sempre :
"errore sincronizzazione". Lo stesso chip riesco a programmarlo senza problemi con un programmatore su parallela e con un USBAsp. Provato sia su Linux (Ubuntu 12.04 ed opgui) che su win (software nativo).
Su Linux ho provato anche la versione 0.90 del software
Ho letto un'altro post con un problema simile, ma non ho capito bene come procedere. Mi spiace ma non sono un programmatore, purtroppo.
Allego il log, creato dalla versione windows.
Last edit: Anonymous 2016-05-09
In questo pezzo di log il chip non risponde, ma sta ancora provando la frequenza massima di comunicazione; nel resto del log non so cosa succeda: immagino continui a non rispondere e quindi ti viene segnalato l'errore.
Usi la scheda di espansione o dei fili fino alla tua applicazione?
Hai già provato con un altro AVR in passato?
Che configurazione c'è sul dispositivo?
View and moderate all "Open Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Discussion"
Uso dei fili, ma sono pochi cm, direttamente dal programmatore all'AVR. In passato ho testato con un ATMEGA644, ma il problema era lo stesso. La configurazione sull'atmel e' quella di default. Se vuoi provo a leggerla con AVRDuDE e la posto. Probabilmente e' troppo bassa, stavo guardando come configurare i fuses per attivare l'oscillatore interno ad 8Mhz. Con l'USBAsp per programmarlo devo attivare la funzione "slow clock" .
Per quanto riguarda illog completo, come faccio ad allegarlo come file? E' piuttosto lungo......
Quali segnali trasferisci?
Assicurati di attaccare tutte le masse/alimentazioni.
Per i file usa "add attachments"
View and moderate all "Open Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Discussion"
I segnali sono Reset, MOSI, MISO, GND e +5V.
I Fuses sono hfuse = D9, lfuse = E1
Se, pero' , con AVRDUDE riprogrammo lfuse = D4 (clock interno 8Mhz, fast rise) il controller viene correttamente riconosciuto da opgui versione 0.90.
La versione 0.91, invece mi da' o errore sincronizzazione, o chip non riconosciuto, e valori azzerati, pur effettuando la lettura. (Ma non posso confermarti che sia corretta)
Linux o Windows?
C'è un problema di sincronizzazione USB; il primo trasferimento non è corretto e tutti sono scalati di una posizione.
Se configuri con il clock esterno è necessario collegare anche X1.
View and moderate all "Open Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Discussion"
Linux. Ubuntu 12.04 32bit. Il chip e' configurato con clock interno, ed infatti la versione 0.90 funziona correttamente.
Se vuoi, posso testare anche lato windows.
Il metodo di scambio pacchetti sotto linux sembra avere attualmente qualche problema (ma non in tutti i sistemi); una piccola modifica al codice dovrebbe migliorare le cose:
in progAVR.c trova la funzione
void ReadAT(int dim, int dim2, int options)
sostituisci il primo
PacketIO(1);
con
PacketIO(3);
View and moderate all "Open Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Discussion"
Fatto. Ora molto raramente mi da' errore sincronizzazione, ma non riconosce comunque il chip . Questo e' quello che mi da' a schermo:
Comunicazione @ 21 kbps
CHIP ID:000000
Dispositivo sconosciuto
LOCK bits: 0x00
FUSE bits: 0x00
FUSE HIGH bits: 0x00
Calibration bits: 0x53,0x1E,0x1E,0x1E
La versione nativa windows, invece funziona correttamente, cosi' come la versione linux 0.9.0
Allego il log ...
Ancora lo stesso problema.
Prova a incrementare il ritardo a 20 o 30.
Sto verificando una nuova versione che dovrebbe risolvere automaticamente il problema.
View and moderate all "Open Discussion" comments posted by this user
Mark all as spam, and block user from posting to "Discussion"
Incrementando il valore a 25 non esce piu' l'errore di sincronizzazione, ma il chip non viene comunque riconosciuto.