Datasheet untuk ATTiny13A, misalnya, mencantumkan frekuensi Min 0 MHz. Apakah ini berarti jam dapat dijalankan pada frekuensi rendah yang sewenang-wenang tanpa efek buruk? Saya menganggap itu menarik arus yang lebih rendah pada kecepatan clock yang lebih rendah? Apakah 0 MHz berarti Anda dapat menghentikan jam sepenuhnya, dan selama daya masih diterapkan, ia akan mengingat statusnya tanpa batas?
clock
microcontroller
endolit
sumber
sumber
Jawaban:
Iya. Jika lembar data mengatakan "operasi sepenuhnya statis", maka Anda dapat mencatatnya dengan kecepatan apa pun, bahkan 0 Hz. Chip "dinamis" perlu memiliki jam pada tingkat tertentu atau chip kehilangan statusnya.
sumber
Saya memposting jawaban lain, hanya karena pertanyaan terakhir yang belum Anda jawab sebelumnya.
Todbot sepenuhnya benar. Ini juga akan menarik daya lebih rendah pada kecepatan rendah. Ini juga berarti jika Anda menyuplai jam dari prosesor lain, misalnya, Anda bisa berhenti memasoknya di titik mana pun dan kemudian mulai memasangnya nanti, selama Anda tidak pergi lebih cepat dari kecepatan maks, Anda akan baik-baik saja.
Keripik saya telah mendapatkan urutan perubahan besar antara 32768Hz osilator dan yang 1MHz. Saya sudah memiliki aplikasi di mana saya tidak perlu kecepatan, saya hanya perlu orang kecil lain melakukan beberapa penanganan data dasar untuk saya.
Semoga ini membantu.
sumber
Kebanyakan desain mikrokontroler modern akan bekerja dengan pola apa pun pada input jam mereka, asalkan hanya tidak ada pulsa tinggi di bawah panjang minimum tertentu, tidak ada pulsa rendah di bawah panjang minimum tertentu, dan tidak ada rendah-tinggi-rendah atau tinggi-rendah-tinggi pasangan pulsa di bawah panjang tertentu. Pada dasarnya apa yang terjadi adalah bahwa setelah chip melakukan semua tindakan yang terkait dengan clock edge tertentu, chip akan berada dalam keadaan di mana chip tidak melakukan apa-apa selain menunggu edge clock berikutnya. Jika ujung jam berikutnya tidak tiba selama sepuluh hari kemudian (kecuali chip memiliki pengawas eksternal) chip akan berada dalam keadaan yang sama seperti jika tepi telah tiba saat chip siap untuk itu.
Perhatikan bahwa secara umum, menghentikan jam pada mikrokontroler akan mengurangi konsumsi saat ini secara substansial, tetapi tidak sebanyak menggunakan fitur "tidur". Sebagian besar konsumsi mikrokontroler saat ini dalam mode "lari" dapat diperkirakan dengan cukup baik sebagai arus diam yang konstan ditambah sejumlah arus per siklus per detik (yang mungkin lebih 'alami' dinyatakan sebagai muatan per siklus). Sebagai contoh, sebuah chip mungkin memiliki arus diam 10uA, ditambah arus 0,1mA / MHz (100pC / cycle). Menjalankan chip sebesar 10MHz akan menghasilkan arus sebesar 1,01mA. Menjalankannya pada 1MHz akan menghasilkan 0,11mA. Menjalankannya pada 100KHz akan menghasilkan 0,02mA. Menjalankannya pada 1Hz akan menghasilkan 0,0100001mA. Di sisi lain, chip mungkin menawarkan arus tidur 1uA. Umumnya, memasuki mode tidur akan sepenuhnya mematikan area chip yang tidak akan melakukan hal yang berguna saat chip sedang tidur, sehingga menghindari kebocoran arus yang mungkin dimiliki area tersebut. Dalam beberapa kasus hal ini juga akan mengurangi tegangan ke area seperti mendaftarkan file ke tingkat di mana file register dapat menyimpan konten mereka, tetapi tidak mengaksesnya dengan sangat cepat (karena mereka tidak akan diakses sama sekali, kecepatan akses tidak masalah) .
Beberapa mikroprosesor, mikrokontroler, dan perangkat lain yang lebih lama memiliki waktu clock-high dan / atau clock-low maksimum. Prosesor semacam itu memanfaatkan logika dinamis untuk menghemat sirkuit. Sebagai contoh dari logika dinamis, pertimbangkan register geser: bit register statis tipikal memerlukan sirkuit dua-transistor untuk menahan nilainya, sementara bit register dinamis menyimpan nilai pada gerbang transistor pembacaan. Register pergeseran dinamis dua fase clock dapat direalisasikan dalam NMOS menggunakan empat NFET dan dua resistor per bit. Register geser statis akan membutuhkan delapan NFET dan empat resistor per bit. Pendekatan logika dinamis tidak begitu umum saat ini. Kembali pada tahun 1970-an, kapasitansi gerbang sangat besar dan tidak ada cara untuk menghilangkannya. Karena itu tidak ada alasan khusus untuk tidak memanfaatkannya. Hari ini, gerbang kapasitansi umumnya jauh lebih rendah, dan pembuat chip secara aktif berusaha untuk mengurangi lebih jauh. Membuat logika dinamis bekerja dengan andal seringkali perlu dengan sengaja bekerja untuk meningkatkan kapasitansi gerbang. Dalam kebanyakan kasus, area chip tambahan yang diperlukan untuk meningkatkan kapasitansi dapat digunakan secara efektif untuk menambah lebih banyak transistor sehingga membuat kapasitansi tidak diperlukan.
sumber
Ya, Anda dapat menghentikan jam sepenuhnya dan menyalakannya kembali di lain waktu tanpa konsekuensi. Anda bahkan dapat mengganti jam dengan tombol dan pergi melalui program Anda secara harfiah langkah demi langkah (frekuensi: sekitar 0,1 Hz).
Daya hampir linier dengan frekuensi: pada 10 MHz mikrokontroler akan mengkonsumsi daya 10 kali lebih banyak pada 1 MHz. Ini tidak berarti bahwa pada 0 Hz konsumsi sama sekali nol. Selalu ada disipasi statis, tetapi itu sangat rendah, biasanya 1 uA atau kurang.
PS: perhatikan bahwa ADC memang memiliki frekuensi operasi minimum. Jika frekuensinya terlalu rendah kapasitor di mana tegangan diukur akan mengeluarkan terlalu banyak dan pengukuran Anda akan salah.
sumber
Datang terlambat ke pertanyaan ini, itu mengingatkan saya pada sebuah proyek yang saya lihat beberapa waktu lalu.
Ini adalah detektor kelelawar yang menggunakan PIC berjalan pada nol Hz untuk sebagian besar waktu, dan kemudian clock oleh sinyal yang dideteksi.
http://www.micro-examples.com/public/microex-navig/doc/077-picobat.html
sumber