Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Teknologi Industri

Penghitung Asinkron

Pada bagian sebelumnya, kita melihat rangkaian yang menggunakan satu flip-flop J-K yang menghitung mundur dalam urutan biner dua bit, dari 11 hingga 10 hingga 01 hingga 00.

Karena akan diinginkan untuk memiliki sirkuit yang dapat menghitung maju dan tidak hanya mundur, akan bermanfaat untuk memeriksa urutan hitungan maju lagi dan mencari lebih banyak pola yang mungkin menunjukkan bagaimana membangun sirkuit seperti itu.

Karena kita tahu bahwa urutan bilangan biner mengikuti pola pembagian frekuensi oktaf (faktor 2), dan bahwa multivibrator flip-flop JK yang diatur untuk mode "beralih" mampu melakukan jenis pembagian frekuensi ini, kita dapat membayangkan sebuah rangkaian terdiri dari beberapa JK flip-flop, mengalir untuk menghasilkan empat bit keluaran.

Masalah utama yang kita hadapi adalah menentukan bagaimana untuk menghubungkan flip-flop ini bersama-sama sehingga mereka beralih pada waktu yang tepat untuk menghasilkan urutan biner yang tepat.

Periksa urutan hitungan biner berikut, perhatikan pola sebelum "toggling" sedikit antara 0 dan 1:

Perhatikan bahwa setiap bit dalam urutan empat bit ini beralih ketika bit sebelumnya (bit yang memiliki signifikansi lebih rendah, atau bobot tempat), beralih ke arah tertentu:dari 1 ke 0.

Panah kecil menunjukkan titik-titik dalam urutan di mana bit beralih, kepala panah menunjuk ke bit sebelumnya yang bertransisi dari status "tinggi" (1) ke status "rendah" (0):

Dimulai dengan empat JK flip-flop yang terhubung sedemikian rupa untuk selalu berada dalam mode “toggle”, kita perlu menentukan bagaimana menghubungkan input clock sedemikian rupa sehingga setiap bit yang berhasil matikan ketika bit sebelum transisi dari 1 ke 0.

Keluaran Q dari setiap flip-flop akan berfungsi sebagai bit biner masing-masing dari hitungan empat bit terakhir:

Jika kita menggunakan flip-flop dengan pemicuan sisi negatif (simbol gelembung pada input clock), kita cukup menghubungkan input clock dari setiap flip-flop ke output Q dari flip-flop sebelumnya, sehingga ketika bit sebelumnya itu berubah dari 1 ke 0, "tepi jatuh" dari sinyal itu akan "mencatat" flip-flop berikutnya untuk beralih ke bit berikutnya:

Penghitung “Naik” empat bit

Sirkuit ini akan menghasilkan bentuk gelombang keluaran berikut, ketika "di-clock" oleh sumber pulsa berulang dari osilator:

Flip-flop pertama (yang memiliki Q0 output), memiliki input clock yang dipicu sisi positif, sehingga beralih dengan setiap sisi naik dari sinyal clock.

Perhatikan bagaimana sinyal clock dalam contoh ini memiliki duty cycle kurang dari 50%.

Saya telah menunjukkan sinyal dengan cara ini untuk tujuan mendemonstrasikan bagaimana sinyal clock tidak perlu simetris untuk mendapatkan bit keluaran "bersih" yang andal dalam urutan biner empat bit kami.

Dalam rangkaian flip-flop pertama yang ditunjukkan dalam bab ini, saya menggunakan sinyal clock itu sendiri sebagai salah satu bit keluaran.

Ini adalah praktik yang buruk dalam desain penghitung, karena memerlukan penggunaan sinyal gelombang persegi dengan siklus kerja 50% (waktu "tinggi" =waktu "rendah") untuk mendapatkan urutan hitungan di mana setiap langkah jeda untuk jumlah waktu yang sama.

Namun, menggunakan satu JK flip-flop untuk setiap bit keluaran, membebaskan kita dari keharusan memiliki sinyal clock simetris, memungkinkan penggunaan hampir semua variasi bentuk gelombang tinggi/rendah untuk meningkatkan urutan hitungan.

Seperti yang ditunjukkan oleh semua panah lain dalam diagram pulsa, setiap bit keluaran yang berhasil dialihkan oleh aksi bit sebelumnya yang bertransisi dari "tinggi" (1) ke "rendah" (0).

Ini adalah pola yang diperlukan untuk menghasilkan urutan hitungan “naik”.

Solusi yang kurang jelas untuk menghasilkan urutan “naik” menggunakan flip-flop yang dipicu sisi positif adalah dengan “mencatat” setiap flip-flop menggunakan output Q dari flip-flop sebelumnya daripada output Q.

Karena keluaran Q' akan selalu menjadi keadaan kebalikan dari keluaran Q pada flip-flop JK (tidak ada keadaan yang tidak valid dengan jenis flip-flop ini), transisi tinggi ke rendah pada keluaran Q akan disertai dengan transisi rendah ke tinggi pada output Q'.

Dengan kata lain, setiap kali output Q dari sebuah flip-flop bertransisi dari 1 ke 0, output Q' dari flip-flop yang sama akan bertransisi dari 0 ke 1, memberikan pulsa clock yang berjalan positif, kita perlu beralih a flip-flop yang dipicu sisi positif pada saat yang tepat:

Penghitung “Atas” Empat-bit Alternatif

Salah satu cara kita dapat memperluas kemampuan salah satu dari dua rangkaian pencacah ini adalah dengan menganggap keluaran Q’ sebagai rangkaian empat bit biner lainnya.

Jika kita memeriksa diagram pulsa untuk sirkuit seperti itu, kita melihat bahwa output Q' menghasilkan turun -menghitung urutan, sedangkan output Q menghasilkan naik -urutan penghitungan:

Penghitung “Atas” dan “Turun” secara bersamaan

Sayangnya, semua rangkaian penghitung yang ditampilkan sejauh ini memiliki masalah yang sama:riak efek.

Efek ini terlihat pada jenis tertentu dari penambah biner dan sirkuit konversi data, dan disebabkan oleh penundaan propagasi akumulatif antara gerbang bertingkat.

Ketika output Q dari flip-flop bertransisi dari 1 ke 0, ia memerintahkan flip-flop berikutnya untuk beralih.

Jika sakelar flip-flop berikutnya adalah transisi dari 1 ke 0, ia akan memerintahkan flip-flop setelahnya untuk beralih juga, dan seterusnya.

Namun, karena selalu ada sedikit penundaan propagasi antara perintah toggle (pulsa clock) dan respons toggle aktual (Q dan Q' output mengubah status), setiap flip-flop berikutnya yang akan di-toggle akan beralih beberapa waktu setelah flip-flop pertama telah diaktifkan.

Jadi, ketika beberapa bit beralih dalam urutan hitungan biner, mereka tidak semua akan beralih pada waktu yang sama persis:

Kerugian Rangkaian Penghitung Asinkron:Penundaan Propagasi

Seperti yang Anda lihat, semakin banyak bit yang beralih dengan pulsa clock yang diberikan, semakin parah akumulasi waktu tunda dari LSB ke MSB.

Ketika pulsa clock terjadi pada titik transisi seperti itu (misalnya, pada transisi dari 0111 ke 1000), bit output akan "riak" secara berurutan dari LSB ke MSB, karena setiap bit berikutnya beralih dan memerintahkan bit berikutnya untuk beralih juga , dengan sedikit penundaan propagasi antara setiap sakelar bit.

Jika kita melihat lebih dekat pada efek ini selama transisi dari 0111 ke 1000, kita dapat melihat bahwa akan ada false jumlah keluaran yang dihasilkan dalam periode waktu singkat saat efek "riak" terjadi:

Alih-alih bertransisi dengan rapi dari keluaran “0111” ke keluaran “1000”, rangkaian penghitung akan sangat cepat beriak dari 0111 ke 0110 ke 0100 ke 0000 ke 1000, atau dari 7 ke 6 ke 4 ke 0 dan kemudian ke 8. Perilaku ini menghasilkan rangkaian penghitung nama penghitung riak , atau penghitung asinkron .

Sirkuit Penghitung Sinyal Strobo

Dalam banyak aplikasi, efek ini dapat ditoleransi, karena riak terjadi sangat, sangat cepat (lebar penundaan telah dilebih-lebihkan di sini sebagai bantuan untuk memahami efek).

Jika semua yang ingin kami lakukan adalah menggerakkan satu set dioda pemancar cahaya (LED) dengan output penghitung, misalnya, riak singkat ini tidak akan berpengaruh sama sekali.

Namun, jika kita ingin menggunakan penghitung ini untuk menggerakkan input "pilih" dari multiplexer, mengindeks penunjuk memori di sirkuit mikroprosesor (komputer), atau melakukan beberapa tugas lain di mana output yang salah dapat menyebabkan kesalahan palsu, itu tidak akan diterima. .

Ada cara untuk menggunakan jenis rangkaian penghitung ini dalam aplikasi yang sensitif terhadap keluaran palsu yang dihasilkan riak, dan ini melibatkan prinsip yang dikenal sebagai strobing .

Sebagian besar rangkaian dekoder dan multiplekser dilengkapi dengan setidaknya satu input yang disebut "aktifkan".

Output dari rangkaian tersebut akan aktif hanya jika input yang diaktifkan menjadi aktif.

Kita dapat menggunakan input aktifkan ini ke strobo sirkuit yang menerima output penghitung riak sehingga dinonaktifkan (dan dengan demikian tidak merespons keluaran penghitung) selama periode waktu singkat di mana output penghitung mungkin beriak, dan diaktifkan hanya jika waktu yang cukup telah berlalu sejak pulsa clock terakhir bahwa semua riak akan berhenti.

Dalam kebanyakan kasus, sinyal strobing dapat berupa pulsa clock yang sama yang menggerakkan rangkaian penghitung:

Dengan input Enable aktif-rendah, rangkaian penerima akan merespons hitungan biner dari rangkaian pencacah empat bit hanya ketika sinyal clock “rendah”.

Segera setelah pulsa clock menjadi "tinggi", sirkuit penerima berhenti merespons output sirkuit counter.

Karena rangkaian penghitung dipicu tepi positif (sebagaimana ditentukan oleh pertama input clock flip-flop), semua tindakan penghitungan terjadi pada transisi sinyal clock dari rendah ke tinggi, yang berarti bahwa rangkaian penerima akan dinonaktifkan sesaat sebelum terjadi toggling pada empat bit keluaran rangkaian counter.

Sirkuit penerima tidak akan diaktifkan sampai sinyal clock kembali ke status rendah, yang seharusnya cukup lama setelah semua riak tidak lagi "aman" untuk memungkinkan penghitungan baru berpengaruh pada sirkuit penerima.

Parameter penting di sini adalah waktu "tinggi" sinyal clock:itu harus setidaknya selama periode riak maksimum yang diharapkan dari rangkaian counter.

Jika tidak, sinyal clock akan mengaktifkan sirkuit penerima sebelum waktunya, sementara beberapa riak masih berlangsung.

Kerugian Sirkuit Penghitung Asinkron:Kecepatan Terbatas

Kerugian lain dari rangkaian penghitung asinkron, atau riak, adalah kecepatan yang terbatas.

Sementara semua sirkuit gerbang dibatasi dalam hal frekuensi sinyal maksimum, desain sirkuit penghitung asinkron memperumit masalah ini dengan membuat aditif penundaan propagasi.

Jadi, bahkan jika strobing digunakan di sirkuit penerima, sirkuit pencacah asinkron tidak dapat di-clock pada frekuensi yang lebih tinggi dari yang memungkinkan penundaan propagasi akumulasi terbesar berlalu sebelum pulsa berikutnya.

Solusi untuk masalah ini adalah rangkaian counter yang menghindari riak sama sekali.

Sirkuit penghitung seperti itu akan menghilangkan kebutuhan untuk merancang fitur "berkedip" ke sirkuit digital apa pun yang menggunakan keluaran penghitung sebagai input, dan juga akan menikmati kecepatan operasi yang jauh lebih besar daripada ekuivalen asinkronnya.

Desain rangkaian penghitung ini adalah subjek dari bagian selanjutnya.

TINJAUAN:

LEMBAR KERJA TERKAIT:


Teknologi Industri

  1. Penguat Common-Emitter
  2. Op-Amp Sederhana
  3. Pengikut Tegangan Presisi
  4. NAND Gate S-R Flip-Flop
  5. Gerbang “Penyangga”
  6. gerbang TTL NAND dan AND
  7. Gerbang keluaran khusus
  8. Umpan Balik Negatif
  9. C Masukan Keluaran (I/O)
  10. D Kait