Tốc độ tối thiểu ATMega328 với UART


9

Tôi đang xem xét việc thiết kế một dự án năng lượng thấp sẽ có ATMega328 chạy ở tốc độ thấp để tiêu thụ điện năng thấp hơn.

Kế hoạch hiện tại là để UART được nối với Bộ thu Liên kết RF để liên lạc ở tốc độ 1200baud.

Tuy nhiên, điều tôi băn khoăn là tốc độ tối thiểu là tôi có thể chạy ATMega328 ở mức nào và vẫn có UART 1200baud chạy. Là 1 MHz đủ nhanh?

Câu trả lời:


11

Đồng hồ UART chạy ở tốc độ 16 lần tốc độ baud. Vì vậy, bạn sẽ có thể có được đi với 19,2 kHz. 1 MHz sẽ ổn.

Thông thường, bạn sẽ chạy ở tốc độ đồng hồ cung cấp bộ chia thuận tiện để tạo đồng hồ tốc độ truyền UART và vẫn đủ nhanh hơn cho bất kỳ xử lý nào khác mà bạn cần thực hiện. Mỗi khi một byte hoặc gói được truyền qua UART, hãy đặt CPU vào chế độ năng lượng thấp và thức dậy một lần nữa khi bị gián đoạn khi có nhiều dữ liệu sẵn sàng.


Tôi nghĩ câu "Đồng hồ UART chạy với tốc độ 16 lần tốc độ baud" là một chút sai lệch. Trình tạo tốc độ baud USART chạy trên đồng hồ hệ thống / bộ dao động và chỉ được đặt trước bởi giá trị UBRR. Ngoài ra, nó phụ thuộc vào chế độ hoạt động. Yếu tố 16 áp dụng cho "Chế độ bình thường không đồng bộ".
Rev1.0

1

Theo quan sát của tôi, không thể chạy ATMega328p dưới 1Mhz để tiết kiệm năng lượng (vì bạn sẽ cần thêm thời gian để chạy để hoàn thành việc tính toán). Tuy nhiên, việc giảm điện áp sẽ giúp tiết kiệm điện năng cao. Chạy ở mức 1Mhz và 1.8V chỉ tiêu thụ 1% năng lượng nếu chạy ở mức 16Mhz và 5V. Tôi đã thực hiện biểu đồ tiêu thụ năng lượng ATMega328 này

Theo Máy tính AVR UART này nếu bạn chạy AVR ở tốc độ 1 MHz (tốc độ mặc định không có tinh thể ngoài), bạn có thể UART lên tới 4800

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.