Posso programmare un chip 3.3v su una scheda 5v?


8

Ho comprato un Gertboard qualche tempo fa e una delle caratteristiche che ha a bordo è un ATMega328 (DIP). Tuttavia, poiché Gertboard è progettato per l'uso con Raspberry Pi, funziona solo a 3,3 V, quindi la velocità di clock è limitata a ~ 12 MHz.

Tuttavia, programmarlo tramite Raspberry Pi è piuttosto complicato. Invece, vorrei trasferire il chip su una scheda Arduino Uno in modo da poter caricare schizzi dal mio PC desktop. Vorrei quindi trasferirlo nuovamente sul Gertboard per il normale funzionamento.

Il problema è che il mio Uno funziona ai più tipici 5v / 16MHz.

È sicuro tentare questo? Devo apportare modifiche alla configurazione nell'IDE per indicare che tiene conto di una diversa velocità di clock?


avrdude su SSH non ti funziona?
Ignacio Vazquez-Abrams,

@ IgnacioVazquez-Abrams Sto solo esplorando le opzioni davvero. Non mi dispiace lavorare sulla riga di comando se devo, ma preferisco di gran lunga una GUI per l'immissione del codice.
Peter Bloomfield,

2
Samba per condividere la directory e far invocare ino per compilare. Disordinato, ma dovrebbe fare.
Ignacio Vazquez-Abrams,

Non ho mai visto un singolo ATmega328 non funzionare a 16 MHz a 3,3 V prima.
Cybergibbons

Certo, ma questa non è la domanda qui.
Ignacio Vazquez-Abrams,

Risposte:


10

La velocità di clock selezionata influirà su entrambe delay*()e millis()/ e micros()anche sulle funzioni <util/delay.h>, pertanto è necessario utilizzare la velocità di clock corretta del sistema di destinazione se si utilizza una di queste funzioni. Questo può essere fatto facilmente modificando boards.txte copiando una voce esistente per Uno e cambiando il valore del f_cpuparametro in modo che corrisponda al sistema di destinazione (in questo caso, 12000000).

La differenza di tensione non ha importanza, poiché il chip può funzionare a entrambe le tensioni e non viene stabilita alcuna connessione tra il sistema a 5 V e il sistema a 3,3 V.


Sfortunatamente, il bootloader assume probabilmente 12 MHz. In teoria, il firmware dell'8u2 / 16u2 potrebbe essere modificato con un "disadattamento" simile e probabilmente si tradurrebbe nella possibilità di utilizzare il bootloader con qualsiasi risultato di baud rate dispari. Ma potrebbe essere più semplice migliorare il processo di programmazione basato su pi, soprattutto perché ciò eviterebbe il costante trapianto di chip.
Chris Stratton,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.