Hầu hết các bộ vi điều khiển (ví dụ: AVR, MSP430, PIC, v.v.) đều hỗ trợ một số chế độ ngủ khác nhau. Chế độ ngủ "sâu nhất" là chế độ có khả năng giảm năng lượng thấp nhất (ví dụ "Tắt nguồn", "Tắt máy"), nhưng tất cả các hệ thống đồng hồ thường bị dừng trong các chế độ này và theo tôi đó là cách duy nhất để " thức dậy "từ chúng là thông qua kích thích bên ngoài (ví dụ như ngắt thay đổi pin, thiết lập lại chip). Tui bỏ lỡ điều gì vậy? Có phương pháp nào cực kỳ thấp để tạo tín hiệu đánh thức định kỳ cho MCU không?
Giả sử mục tiêu của tôi là giảm thiểu tiêu thụ năng lượng (tức là ngủ sâu càng lâu càng tốt, tỉnh táo càng nhanh càng tốt), trong khi thức dậy định kỳ để thực hiện một chức năng, cách phổ biến để đạt được loại hành vi này là gì? Để đơn giản hóa hơn nữa các vấn đề, hãy giả sử rằng chức năng của tôi là không trạng thái (tôi không phải nhớ bất cứ điều gì từ quá khứ để thực hiện nó).
Tôi đã có một số thành công khi sử dụng WDT trên MSP430 để có được hiệu ứng này. Tôi chỉ thực hiện thói quen chính của mình là chức năng của mình, với dòng cuối cùng cho phép đồng hồ bấm giờ hết hạn sau một khoảng thời gian nhất định và chuyển sang LPM4.5 hoặc bất cứ chế độ "ngủ sâu" nào được gọi. Kết quả cuối cùng là chức năng được thực hiện, MCU ngủ, WDT hết hạn và đặt lại chip, quảng cáo. Có vẻ như để làm việc, chỉ tự hỏi liệu có một cách "tốt hơn" hoặc "thanh lịch hơn" hoặc "hiệu quả năng lượng hơn" để có được loại hành vi này?
Tôi chưa thử cách tiếp cận này với một chiếc AVR, nhưng tôi nghĩ WDT "đói điện" hơn trong các máy AVR so với trên MSP430 nên có thể kém hấp dẫn hơn đối với công việc năng lượng thấp. Có lẽ không có cách tiếp cận "phổ quát" đối với công suất thấp và bạn phải sử dụng các công cụ được cung cấp bởi một dòng sản phẩm nhất định? Tôi biết dòng picoPower mới có rất nhiều tính năng phù hợp như Hệ thống sự kiện và Đi bộ trong giấc ngủ mà trong một số trường hợp hầu như không yêu cầu CPU phải tỉnh táo nếu bạn có thể làm cho ứng dụng của mình phù hợp với cấu trúc đó ...
Được rồi, tôi đi lang thang, hãy đến đây những gì bạn sẽ nói :)
Chỉnh sửa các ví dụ cụ thể minh họa kỹ thuật cũng sẽ được mát mẻ!