Tôi có thể lập trình chip 3,3v trên bo mạch 5v không?


8

Tôi đã mua một Gertboard cách đây một thời gian và một trong những tính năng mà nó có trên máy bay là ATMega328 (DIP). Tuy nhiên, do Gertboard được thiết kế để sử dụng với Raspberry Pi, nó chỉ hoạt động ở mức 3,3v, do đó tốc độ xung nhịp được giới hạn ở mức ~ 12 MHz.

Lập trình nó thông qua Raspberry Pi mặc dù khá cồng kềnh. Thay vào đó, tôi muốn chuyển chip sang bảng Arduino Uno để tôi có thể tải lên bản phác thảo từ máy tính để bàn của mình. Sau đó tôi sẽ chuyển nó trở lại Gertboard để hoạt động bình thường.

Vấn đề là Uno của tôi hoạt động ở mức 5v / 16 MHz điển hình hơn.

Có an toàn để thử điều này? Tôi có cần thực hiện bất kỳ thay đổi cấu hình nào trong IDE để yêu cầu nó giải thích cho tốc độ xung nhịp khác không?


Có phải vì SSH không hoạt động cho bạn?
Ignacio Vazquez-Abrams

@ IgnacioVazquez-Abrams Tôi chỉ đang khám phá các tùy chọn thực sự. Tôi không phiền khi làm việc trên dòng lệnh nếu tôi phải, nhưng tôi thích GUI hơn cho mục nhập mã.
Peter Bloomfield

2
Samba để chia sẻ thư mục, và thực hiện để gọi ino để xây dựng. Lộn xộn, nhưng nó nên làm.
Ignacio Vazquez-Abrams

Tôi chưa thấy một ATmega328 nào không hoạt động ở 16 MHz ở 3.3V trước đó.
Cyberg Ribbon 17/03/2016

Chắc chắn, nhưng đó không phải là câu hỏi ở đây.
Ignacio Vazquez-Abrams

Câu trả lời:


10

Tốc độ đồng hồ được chọn sẽ ảnh hưởng đến cả delay*()millis()/ micros()cũng như các chức năng <util/delay.h>, do đó bạn phải sử dụng tốc độ xung nhịp chính xác của hệ thống đích nếu bạn đang sử dụng bất kỳ chức năng nào trong số này. Điều này có thể được thực hiện dễ dàng bằng cách chỉnh sửa boards.txtvà sao chép mục nhập hiện có cho Uno và thay đổi giá trị của f_cputham số để phù hợp với hệ thống đích (trong trường hợp này là 12000000).

Sự khác biệt về điện áp không thành vấn đề, vì chip có thể chạy ở cả hai điện áp và không có kết nối nào được thực hiện giữa hệ thống 5V và hệ thống 3.3V.


Thật không may, bộ tải khởi động có thể giả định 12 MHz. Về lý thuyết, phần sụn của 8u2 / 16u2 có thể được sửa đổi với một "sự không phù hợp" tương tự và có khả năng dẫn đến khả năng sử dụng bộ tải khởi động với bất kỳ kết quả tốc độ baud lẻ nào. Nhưng nó có thể dễ dàng hơn để cải thiện quy trình lập trình dựa trên pi, đặc biệt là vì điều này sẽ tránh được việc ghép chip liên tục.
Chris Stratton
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.