Mengapa hal-hal seperti RESET / MCLR aktif rendah pada kebanyakan IC?

40

Konvensi?

Lebih mudah diimplementasikan?

Alasan lain?

Apakah ada alasan mengapa MCLR atau RESET pada mikrokontroler aktif-rendah, yaitu, Anda harus menariknya ke bawah untuk mengatur ulang IC, dan menariknya ke atas untuk "menjalankan" IC.

Saya hanya ingin tahu karena ini menyebabkan saya beberapa masalah. Jika aktif tinggi, saya bisa menghindari kapasitor pada MCLR yang diperlukan dalam beberapa kasus dan hanya berurusan dengan resistor pull-down. Tampaknya hanya menambah kompleksitas.

Thomas O
sumber
Sebagai catatan tambahan, jika Anda tidak memiliki tanah yang bagus, tanah Anda dapat berosilasi juga. Jika Anda menggunakan konfigurasi pulldown Anda masih bisa membutuhkan kapasitor pada MCLR.
Kellenjb

Jawaban:

49

Lihatlah apa yang terjadi selama power-up: Vcc naik ke titik di mana itu cukup tinggi untuk membuat semuanya berfungsi dengan baik. Namun, titik itu tidak jelas dan dapat bervariasi dari satu perangkat ke perangkat lainnya. Masuk akal untuk tidak menggunakan tegangan ini untuk mengatur ulang pengontrol.
Namun, mudah untuk menjaga level rendah terlepas dari Vcc. Lagipula, Reset sudah aktif saat Anda menghidupkannya, karena pada saat itu semuanya berada pada level rendah.

sunting
Grafik di bawah ini menggambarkan bagaimana tegangan output dari pengontrol reset (ic an MC34064 ) tetap rendah sampai Vcc cukup tinggi untuk memiliki mikrokontroler yang lengkap stabil.

teks alternatif

stevenvh
sumber
Inilah yang akan saya tanyakan.
Kortuk
-1 - Sangat mudah untuk menjaga level tinggi terlepas dari Vcc. Anda menggunakan pullup transistor atau resistor, cara yang sama Anda akan menggunakan transistor atau resistor pull-down. Argumen Anda mengatakan tidak ada yang istimewa tentang perbedaan antara tegangan pada pin catu daya. Pada power-up, mereka bergerak terpisah, dan tingkat logika yang valid relatif terhadap tegangan catu daya.
Jason S
1
@Jason: lebih masuk akal untuk menyimpannya di level yang selalu ditentukan dengan jelas daripada mengandalkan level yang terus berubah.
stevenvh
8
Vcc dan Gnd keduanya berubah relatif satu sama lain. Itu hanya konvensi yang kita anggap Gnd sebagai "konstan" ketika itu benar-benar relatif satu sama lain. Vcc hanya berubah relatif terhadap Gnd karena kami menganggapnya demikian, daripada Gnd yang meningkat relatif terhadap Vcc.
Jason S
26

Wikipedia mengatakan :

Banyak sinyal kontrol dalam elektronik adalah sinyal aktif-rendah (biasanya garis reset, jalur pilih chip, dan sebagainya). Ini berasal dari kenyataan bahwa sebagian besar keluarga logika dapat tenggelam lebih banyak saat ini daripada yang mereka dapat sumber , sehingga fanout dan imunitas kebisingan meningkat. Ini juga memungkinkan untuk logika kabel-OR jika gerbang logika open-collector / open-drain dengan resistor pull-up. Contohnya adalah bus I²C dan Controller Area Network (CAN), dan PCI Local Bus. Pensinyalan RS232, seperti yang digunakan pada beberapa port serial, menggunakan sinyal aktif-rendah.

Semoga ini membantu.

Igor Skochinsky
sumber
7
Seperti mengapa tenggelam lebih mudah, itu karena N-channel MOSFET (digunakan untuk tenggelam dalam CMOS) memiliki mobilitas pembawa yang lebih baik (elektron mengalir lebih baik daripada lubang)
Nick T
2
Saya tidak sepenuhnya yakin tentang ini; kebanyakan IC saat ini dapat tenggelam ± 20mA, dan apakah itu benar-benar penting? 4.7k (typ.) Akan kurang dari 1mA yang dapat dilakukan kebanyakan IC.
Thomas O
3
@ Thomas - 'Tenggelam ± 20mA' bukan cara yang akurat untuk menyatakan apa yang terjadi. Sumber dan arus tenggelam melalui transistor terpisah, yang memiliki spesifikasi berbeda untuk area chip tertentu.
Kevin Vermeer
@reemrevnivek - Maaf, kesalahan saya, saya kira tenggelam / sumber lebih tepat. Namun demikian, mereka dapat tenggelam dan sumber banyak arus.
Thomas O
3
bahkan jika bagian hari ini lebih kuat, sekarang mungkin hanya konvensi.
JustJeff
8

Selain jawaban Igor, ada dua alasan kecil mengapa sinyal aktif-rendah digunakan:

  • Selain jumlah arus wastafel yang tersedia lebih tinggi dari arus sumber, lebih mudah bagi sirkuit TTL untuk menghasilkan tegangan yang dekat ke tanah (hanya penurunan VCE) daripada tegangan yang dekat dengan Vcc (Vbe drop + biasanya sedikit lebih ).

  • Lebih mudah untuk sirkuit pasif eksternal (mis. Tombol tekan atau sakelar batas) untuk menghasilkan sinyal rendah aktif dengan aman: cukup gunakan resistor pullup pada ujung penerima, dan pada ujung sumber eksternal, pendekkan simpul rangkaian yang dimaksud dengan potensial ground. Jika Anda menggunakan sinyal tinggi yang aktif, Anda harus membuat Vcc tersedia untuk sirkuit eksternal tersebut, yang membawa risiko simpul Vcc disingkat ke ground.

Jason S
sumber
4

Tenggelam lebih banyak pada level rendah, dan sinyal aktif-rendah pada umumnya berasal dari zaman TTL - sekarang ini hanya konvensi umum. Tidak ada alasan untuk mengubahnya.

mikeselectricstuff
sumber
2

Bukan hal yang aneh bahwa bagian-bagian yang berbeda dari suatu sistem ditenagai oleh berbagai persediaan yang berbagi kesamaan. Ini mungkin karena beberapa bagian memerlukan 3,3 volt sementara yang lain membutuhkan 2,0 atau 5,0, karena beberapa bagian mungkin perlu dinyalakan dan dimatikan secara terpisah dari yang lain, karena beberapa bagian dapat menghasilkan tingkat kebisingan listrik pada persediaan mereka yang bagian lain tidak akan dapat untuk mentolerir, dll. Dalam beberapa kasus, sirkuit yang menghasilkan reset mungkin tidak beroperasi atau dikendalikan oleh suplai yang sama yang mengoperasikan CPU. Memiliki generator reset pada suplai yang berbeda dari CPU tidak menjadi masalah jika seseorang menggunakan reset aktif-rendah dan baik CPU dapat mentolerir level tegangan di atas VDD atau garis reset dapat dengan lemah ditarik tinggi oleh sesuatu yang melekat pada pasokan CPU. .

Sebagai contoh sederhana, bayangkan CPU 3 volt yang dihubungkan dengan chip 5 volt. Sirkuit eksternal akan mengalami malfungsi dengan cara sewenang-wenang jika VDD turun di bawah 4,75 volt dan akan membutuhkan reinitialization setelah tegangan naik di atas titik itu. CPU itu sendiri mungkin dapat menjalankan kode dengan baik jika tegangan suplai utama turun menjadi 3 volt, tetapi mungkin tidak dapat melakukan sesuatu yang berguna; cara terbersih untuk memastikan bahwa perangkat keras eksternal akan diinisialisasi setelah VDD naik di atas 4,75 volt adalah mengatur ulang CPU setiap kali VDD berada di bawah titik itu. Menggunakan chip reset-collector terbuka dan penarikan pasif ke VDD CPU akan menjadi pendekatan yang paling sederhana.

Satu-satunya kelemahan dari pendekatan penanganan reset adalah bahwa pull-up pasif akan mengkonsumsi arus terus menerus saat sistem dalam reset. Dalam sistem yang ditenagai oleh sumber listrik, perangkat [kapasitor] penyimpanan energi diharapkan dikeringkan sepenuhnya tanpa kerusakan. Namun, dalam sistem yang ditenagai oleh baterai isi ulang, mengalirkan arus dari sel yang habis dapat menyebabkan keausan yang berlebihan. Bahkan dalam sistem yang ditenagai oleh baterai sekali pakai, penarikan arus terus menerus dapat meningkatkan risiko baterai "melampiaskan" [spewing goo].

supercat
sumber