Tại sao Arduinos xuất xưởng tinh thể w / 16 MHz thay vì 20 MHz?


33

Tại sao các bo mạch Arduino xuất xưởng tinh thể w / 16 MHz thay vì 20 MHz? Rốt cuộc, chúng được chỉ định để hoạt động ở 20 MHz.

Tôi đoán có một vài lợi thế để chạy chậm hơn (tiêu thụ điện năng thấp hơn, tuổi thọ dài hơn), nhưng tôi phải thiếu một cái gì đó.


1
Điều này cũng đã được hỏi trong Diễn đàn Arduino cũ: arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1240016311
Abbeyatcu

3
Lưu ý rằng khoảng cách tốc độ ứng dụng 25% này có thể đạt được nhiều lần so với lập trình thích hợp. Mặc dù vậy, tôi cố gắng tránh xa mọi giới hạn cực đoan của IC.
tyblu

Câu trả lời:


29

Tôi muốn mua câu trả lời trên Diễn đàn Arduino:

Arduino ATmega8 ban đầu chạy ở tốc độ 16 MHz, tốc độ xung nhịp được đánh giá hàng đầu cho cpu ATmega8 được sử dụng. Khi được "nâng cấp" lên ATmega168 (với tốc độ cpu tối đa 20 MHz), đồng hồ bị bỏ lại ở mức 16 MHz (có thể) vì các nhà thiết kế nghĩ rằng nhiều người / mã sẽ gặp vấn đề tương thích ngược với tốc độ xung nhịp mới hơn sẽ được hưởng lợi từ thêm 25 % hiệu suất cpu. Tôi chắc chắn nghĩ rằng họ đã đúng ...


6

Trên thực tế, một trong những lý do tốt nhất tôi từng nghe là UART hoàn toàn có thể khớp với tốc độ 1 Mbit và 2 Mbit khi chạy ở 16 MHz, nhưng không phải khi chạy ở 20 MHz. Có một số thiết bị có đầu vào UART 1 và 2 Mbit, chẳng hạn như dòng động cơ robot.


5

Điểm thứ ba là Bộ tạo dao động tinh thể công suất thấp của ATmega168 và ATmega328 không hoạt động trên 16 MHz. Vì vậy, nếu bạn có một tinh thể 20 MHz được kết nối với các chân XTAL, bạn phải sử dụng Bộ dao động tinh thể xoay hoàn toàn sẽ tiêu thụ nhiều năng lượng hơn (hoặc hoàn toàn không sử dụng tinh thể).

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.