Posso programar um chip de 3,3v em uma placa de 5v?


8

Comprei um Gertboard há um tempo e um dos recursos que ele possui a bordo é o ATMega328 (DIP). No entanto, como o Gertboard foi projetado para uso com o Raspberry Pi, ele opera apenas em 3.3v, portanto a velocidade do relógio é limitada a ~ 12MHz.

A programação através do Raspberry Pi é bastante complicada. Em vez disso, gostaria de transferir o chip para uma placa Arduino Uno para que eu possa enviar esboços do meu PC de mesa. Eu então o transferia de volta ao Gertboard para operação normal.

O problema é que o meu Uno opera nos 5v / 16MHz mais típicos.

É seguro tentar isso? Preciso fazer alguma alteração na configuração do IDE para informar uma velocidade de clock diferente?


avrdude sobre SSH não está funcionando para você?
Ignacio Vazquez-Abrams

@ IgnacioVazquez-Abrams Estou apenas explorando opções realmente. Não me importo de trabalhar na linha de comando, se for necessário, mas prefiro uma GUI para entrada de código.
Peter Bloomfield

2
Samba para compartilhar o diretório e invoque ino para construir. Bagunçado, mas deve servir.
Ignacio Vazquez-Abrams

Eu não vi um único ATmega328 não funcionar em 16MHz a 3.3V antes.
Cybergibbons

Claro, mas essa não é a questão aqui.
Ignacio Vazquez-Abrams

Respostas:


10

A velocidade do relógio selecionada afetará tanto delay*()e millis()/ micros()como as funções <util/delay.h>, portanto, você deve usar a velocidade correta do sistema de destino se estiver usando alguma dessas funções. Isso pode ser feito facilmente editando boards.txte copiando uma entrada existente para o Uno e alterando o valor do f_cpuparâmetro para corresponder ao sistema de destino (nesse caso, 12000000).

A diferença de voltagem não importa, pois o chip pode funcionar com qualquer voltagem e nenhuma conexão está sendo feita entre o sistema de 5V e o sistema de 3,3V.


Infelizmente, o carregador de inicialização provavelmente assume 12 MHz. Em teoria, o firmware do 8u2 / 16u2 poderia ser modificado com uma "incompatibilidade" semelhante e provavelmente resultaria na capacidade de utilizar o gerenciador de inicialização com quaisquer resultados ímpares da taxa de transmissão. Mas pode ser mais fácil melhorar o processo de programação baseado em pi, especialmente porque isso evitaria o transplante de chip constante.
Chris Stratton
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.