Apa yang dipicu edge dan level trigger?

35

Saya mempelajari 8085 arsitektur mikroprosesor dan tepi kata dipicu dan tingkat dipicu membingungkan saya sangat banyak. Adakah yang bisa menjelaskannya dengan kata-kata awam?

Saat mempelajari interupsi 8085 bernama RST 7.5, RST 6.5, RST 5.5 dan TRAP saya menemukan kata-kata ini dan mereka membingungkan saya. Di sini saya telah melampirkan satu tautan dokumen dari mana saya membaca dan saya telah menyebutkan diagram kebingungan saya.

dalam dokumen RST 7.5 -> Edge triggered RST 5.5 -> Level triggered. TRAP -> Edge triggered dan Level triggered. (mengapa? apakah ada bedanya?).

tautan dokumen

perangkap
sumber
Itu bukan pdf.
starblue
ya, itu tautan ke dokumen pdf. saya telah membuat perubahan yang benar.
trapaank

Jawaban:

34

Saya tidak benar-benar membaca dokumen Anda, tetapi saya bisa mengerti mengapa Anda bingung. Tapi itu benar-benar konsep yang sangat sederhana. Biarkan saya jelaskan.

Memicu: Ini berarti membuat sirkuit aktif. Membuat sirkuit aktif berarti membiarkan sirkuit mengambil input dan memberikan output. Seperti misalnya kita punya flip-flop. Ketika sirkuit tidak terpicu, bahkan jika Anda memberikan beberapa data input, itu tidak akan mengubah data yang disimpan di dalam flip-flop juga tidak akan mengubah output Q atau Q '. Sekarang pada dasarnya ada dua jenis pemicu. Pemicu diberikan dalam bentuk pulsa jam atau sinyal gating. Bergantung pada jenis mekanisme pemicu yang digunakan, sirkuit akan menjadi aktif pada kondisi tertentu dari pulsa clock.

  1. Level Triggering: Pemicu level dalam rangkaian akan menjadi aktif ketika gating atau pulsa clock berada pada level tertentu. Level ini ditentukan oleh perancang. Kita dapat memiliki pemicu level negatif di mana sirkuit aktif ketika sinyal clock rendah atau memicu level positif di mana sirkuit aktif ketika sinyal clock tinggi.

  2. Pemicu Tepi: Pemicu pada ujung sirkuit menjadi aktif pada tepi negatif atau positif dari sinyal jam. Misalnya, jika rangkaian dipicu oleh tepi positif, ia akan mengambil input tepat pada waktu sinyal clock bergerak dari rendah ke tinggi. Demikian pula input diambil tepat pada waktu di mana sinyal clock bergerak dari tinggi ke rendah di pemicu tepi negatif. Tetapi perlu diingat setelah input, itu dapat diproses sepanjang waktu sampai input berikutnya diambil.

Itu adalah gambaran umum dari mekanisme pemicu dan itu juga berlaku untuk 8085 interupsi.

Rick_2047
sumber
baik .. mengenai edge triggering, biasanya Anda harus memiliki data stabil untuk sementara waktu untuk setidaknya beberapa waktu sebelum tepi (lihat lembar data) dan tetap stabil untuk jangka waktu tertentu (lihat lembar data) tetapi kali ini biasanya cukup singkat.
JustJeff
saya mengerti apa yang ingin Anda jelaskan tetapi satu pertanyaan lain yang telah saya sebutkan di 8085 TRAP adalah kedua edge triggered dan level triggered (lihat dokumen). Jadi, apa fungsi dalam kasus seperti itu ketika sirkuit keduanya level sensitif dan dipicu tepi.
trapaank
Dalam hal ini ia ingin edge juga melewati level tertentu. Jadi kita perlu sesuatu seperti naik
turun
7

Pada 8085, TRAP adalah interupsi non-maskable yang biasanya digunakan untuk menangani kesalahan seperti kegagalan daya.

Jika dipicu level, kodenya tidak akan pernah bisa dijalankan karena ini adalah interupsi yang tidak dapat disingkap. Pawang akan mulai mengeksekusi ketika menjadi aktif, tetapi masih akan aktif, sehingga pawang akan mulai mengeksekusi, tetapi ia akan tetap aktif, sehingga pawang akan mulai mengeksekusi, dll., Dll. Oleh karena itu harus dipicu oleh edge .

Namun, edge triggering merupakan masalah ketika saluran mungkin memiliki gangguan. Gangguan dapat menyebabkan pawang dipanggil beberapa kali karena gangguan garis. Ini masalah yang sangat besar dengan TRAP karena tidak dapat ditutup-tutupi dan menghasilkan RST.

Sebagai kompromi, TRAP berfungsi seolah-olah itu dipicu level, kecuali bahwa itu hanya diakui ketika sudah rendah sejak terakhir kali diakui. Itu memastikan bahwa pawang TRAP hanya dipanggil sekali.

Inilah yang mereka maksud dengan "edge triggered dan level triggered".

D Krueger
sumber
2

* Memicu * berarti membuat sirkuit aktif. Pada level yang memicu sirkuit akan menjadi aktif ketika gating atau clock pulse berada pada level tertentu. Pada saat memicu , sirkuit menjadi aktif pada tepi negatif atau positif dari sinyal clock.

Engr Hira Nasir
sumber
3
Ini cukup banyak apa yang dikatakan di atas.
Brian Carlton
-1

Golaž dan vsz menyatakan dengan baik:

Persisnya apa yang dikatakan.

Jika edge interrupt diatur, ISR hanya akan ditembakkan pada tepi jatuh / naik dari pulsa. Sementara jika level sensitif interrupt (seperti yang Anda katakan) diatur, ISR akan dipecat setiap kali ada sinyal level rendah / level tinggi pada pin yang sesuai.

Singkatnya, interupsi tepi akan ditembakkan hanya pada tepi yang berubah, sementara interupsi level dipecat selama pulsa rendah atau tinggi.

Jadi, jika Anda memiliki set interupsi level rendah, MCU akan terus menjalankan ISR selama pinnya rendah.

Artinya, ia akan pergi dan masuk kembali ke ISR lagi dan lagi, selama pinnya rendah.

Kesan saya adalah bahwa tidak ada yang benar-benar menjawab apa artinya menjadi pemicu level dan edge. Dan aku juga belum.

Jawaban D Krueger dengan tepat menjelaskan apa artinya menjadi pemicu level dan edge. (Setidaknya, jawabannya terdengar benar bagi saya, meskipun saya tidak terbiasa dengan 8085.) Jawaban Golaz dan vsz mengasumsikan bahwa interupsi itu tertutup. Saya masih tidak yakin bagaimana "kecuali bahwa itu hanya dikenali ketika sudah rendah sejak terakhir kali dikenali." berbeda dari yang dipicu oleh tepi, namun.

Josiah Yoder
sumber
Terima kasih atas jawaban Anda, tetapi saya pikir OP pindah ke sesuatu yang lain dan mungkin memiliki seorang istri dan anak-anak karena pertanyaan itu ditanyakan dan dijawab 5 tahun yang lalu. Mengapa Anda tidak mencoba menjawab pertanyaan baru saja?
MaximGi
3
@ MaximGi: Saya tidak setuju. Tidak ada yang salah dengan menjawab pertanyaan lama, forum tidak hanya ditujukan untuk poster tetapi juga untuk orang lain yang berakhir di sini ketika mencari jawaban atas pertanyaan yang sama sendiri. Jawaban baru hanya perlu menambahkan lebih banyak informasi ke yang sudah ada.
Tuan Mystère
1
@ MisterMystère Saya tidak pernah mengatakan ada yang salah dengan menjawab pertanyaan lama. Tetapi jawaban yang terlambat ini tidak menambahkan konten yang berguna, pertanyaannya telah dijawab dengan benar. Juga, pernyataan terakhir salah, dan melanggar aturan.
MaximGi
@ MaximGi Pada pemeriksaan lebih dekat, saya melihat Anda benar: pernyataan terakhir saya salah. Saya sudah memperbaikinya. Kutipan saya dari Golaz dan vsz mungkin bermanfaat bagi pengguna baru yang tidak terbiasa dengan apa arti edge-atau level-sensitif sendiri.
Josiah Yoder