Sebagian besar mikrokontroler (mis. AVR, MSP430s, PICs, dll) mendukung sejumlah mode tidur yang berbeda. Mode tidur "terdalam" adalah mode yang mengklaim penarikan daya terendah (mis. "Daya Turun", "Matikan"), tetapi semua sistem jam biasanya terhenti dalam mode ini dan bagi saya sepertinya satu-satunya cara untuk " bangun "dari mereka adalah melalui stimulus eksternal (mis. pin change interrupts, reset chip). Apakah saya melewatkan sesuatu? Apakah ada metode daya sangat rendah menghasilkan sinyal bangun berkala untuk MCU?
Dengan asumsi tujuan saya adalah untuk meminimalkan konsumsi daya (yaitu tidur nyenyak selama mungkin, tetap terjaga sesingkat mungkin), sementara secara berkala bangun untuk menjalankan suatu fungsi, apa cara umum untuk mencapai perilaku seperti ini? Untuk lebih menyederhanakan masalah, mari kita asumsikan bahwa fungsi saya adalah stateless (saya tidak harus mengingat apa pun dari masa lalu untuk melakukannya).
Saya sudah cukup sukses menggunakan WDT pada MSP430 untuk mendapatkan efek ini. Saya baru saja menjadikan rutinitas utama saya menjadi fungsi saya, dengan baris terakhir memungkinkan pengawas waktu untuk berakhir setelah periode tertentu dan masuk ke LPM4.5 atau apa pun yang disebut mode "deep sleep". Hasil akhirnya adalah fungsi dijalankan, MCU tidur, WDT kedaluwarsa, dan chip reset, ad nauseum. Tampaknya bekerja, hanya ingin tahu apakah ada cara "lebih baik" atau "lebih elegan" atau "lebih hemat daya" untuk mendapatkan perilaku seperti ini?
Saya belum mencoba pendekatan ini dengan AVR, tapi saya pikir WDT lebih "lapar daya" dalam AVR daripada pada MSP430 sehingga mungkin kurang menarik untuk pekerjaan berdaya rendah. Mungkin tidak ada pendekatan "universal" untuk daya rendah, dan Anda harus menggunakan alat yang diberikan oleh lini produk tertentu? Saya tahu lini picoPower baru memiliki banyak fitur jagoan seperti Event System dan Sleep Walking yang dalam beberapa kasus hampir tidak memerlukan CPU sama sekali jika Anda dapat membuat aplikasi Anda masuk ke dalam struktur itu ...
Cukup oke dari pengembaraan saya, mari kita lihat apa yang akan Anda katakan :)
Edit contoh nyata yang menggambarkan teknik juga akan keren!