Bisakah saya memprogram chip 3.3v di papan 5v?

8

Saya membeli Gertboard beberapa waktu lalu, dan salah satu fitur yang dimilikinya adalah ATMega328 (DIP). Namun, karena Gertboard dirancang untuk digunakan dengan Raspberry Pi, ia hanya beroperasi pada 3.3v, sehingga kecepatan clock dibatasi hingga ~ 12MHz.

Memprogramnya melalui Raspberry Pi cukup merepotkan. Sebagai gantinya, saya ingin mentransfer chip ke papan Arduino Uno sehingga saya dapat mengunggah sketsa dari PC desktop saya. Saya kemudian akan mentransfernya kembali ke Gertboard untuk operasi normal.

Masalahnya adalah bahwa Uno saya beroperasi pada 5v / 16MHz yang lebih khas.

Apakah aman untuk melakukan ini? Apakah saya perlu melakukan perubahan konfigurasi pada IDE untuk memberitahukannya ke kecepatan clock yang berbeda?

Peter Bloomfield
sumber
avrdude atas SSH tidak berhasil untuk Anda?
Ignacio Vazquez-Abrams
@ IgnacioVazquez-Abrams Saya benar-benar menjelajahi opsi. Saya tidak keberatan bekerja pada baris perintah jika saya harus, tetapi saya lebih suka GUI untuk entri kode.
Peter Bloomfield
2
Samba untuk berbagi direktori, dan buat untuk memanggil ino untuk membangun. Berantakan, tetapi harus dilakukan.
Ignacio Vazquez-Abrams
Saya belum pernah melihat ATmega328 tunggal tidak bekerja pada 16MHz pada 3.3V sebelumnya.
Cybergibbons
Tentu, tapi itu bukan pertanyaannya di sini.
Ignacio Vazquez-Abrams

Jawaban:

10

Kecepatan jam yang dipilih akan memengaruhi kedua delay*()dan millis()/ micros()serta fungsi di <util/delay.h>dalamnya, oleh karena itu Anda harus menggunakan kecepatan jam yang benar dari sistem target jika Anda menggunakan salah satu dari fungsi ini. Ini dapat dengan mudah dilakukan dengan mengedit boards.txtdan menyalin entri yang ada untuk Uno dan mengubah nilai f_cpuparameter agar sesuai dengan sistem target (dalam hal ini, 12000000).

Perbedaan tegangan tidak masalah, karena chip dapat berjalan pada tegangan dan tidak ada koneksi yang dibuat antara sistem 5V dan sistem 3.3V.

Ignacio Vazquez-Abrams
sumber
Sayangnya, bootloader mungkin mengasumsikan 12 MHz. Secara teori, firmware 8u2 / 16u2 dapat dimodifikasi dengan "ketidakcocokan" yang serupa dan kemungkinan menghasilkan kemampuan untuk menggunakan bootloader dengan hasil baud rate aneh apa pun. Tetapi mungkin lebih mudah untuk meningkatkan proses pemrograman berbasis pi, terutama karena ini akan menghindari transplantasi chip yang konstan.
Chris Stratton