Penghitung MOD (MOD Counter) adalah rangkaian logika sekuensial yang dirancang untuk menghitung sejumlah keadaan tertentu sebelum kembali ke keadaan awal. Jumlah keadaan yang dilalui dalam satu siklus penghitungan disebut modulus. Rangkaian ini banyak digunakan dalam sistem digital, terutama untuk aplikasi penghitung pulsa, pembagi frekuensi, dan pembangkit sinyal pewaktu.
Pengertian Penghitung MOD
Penghitung MOD, atau Modulus Counter, merupakan rangkaian logika sekuensial yang menghitung pulsa clock berdasarkan urutan keadaan yang telah ditentukan. Setelah mencapai keadaan terakhir, penghitung akan kembali ke keadaan awal, biasanya bernilai nol. Sebagai contoh, penghitung MOD-10 memiliki sepuluh keadaan penghitungan, mulai dari 0 hingga 9. Setelah mencapai angka 9, rangkaian kembali ke angka 0 dan memulai siklus penghitungan berikutnya.
Pada dasarnya, penghitung digital (digital counter) dibangun menggunakan sejumlah flip-flop yang saling terhubung. Setiap kali menerima pulsa clock sesuai dengan karakteristik pemicunya, rangkaian akan memperbarui keadaan keluarannya berdasarkan urutan penghitungan yang telah dirancang. Modulus suatu penghitung menunjukkan jumlah keadaan unik yang dilalui sebelum urutan tersebut berulang. Untuk penghitung biner yang menggunakan (n) bit, jumlah maksimum keadaan yang dapat direpresentasikan adalah:
Dengan demikian, penghitung biner 2-bit dapat memiliki empat keadaan, sedangkan penghitung biner 4-bit dapat memiliki enam belas keadaan. Namun, jumlah keadaan yang benar-benar digunakan bergantung pada rancangan dan konfigurasi rangkaiannya.
a. Penghitung Naik (Count-Up Counter)
Penghitung naik adalah rangkaian yang meningkatkan nilai hitung setiap kali menerima pulsa clock yang valid. Sebagai contoh, urutan penghitungan biner naik 3-bit adalah 000, 001, 010, 011, 100, 101, 110, dan 111. Setelah mencapai nilai maksimum, penghitung biner dengan siklus penuh kembali ke 000.
b. Penghitung Turun (Count-Down Counter)
Penghitung turun bekerja dengan mengurangi nilai hitung setiap kali menerima pulsa clock yang valid. Sebagai contoh, penghitung 3-bit dapat mengikuti urutan 111, 110, 101, 100, 011, 010, 001, dan 000 sebelum kembali ke 111 apabila dirancang sebagai penghitung siklus penuh.
c. Penghitung Dua Arah (Bidirectional Counter)
Bidirectional counter merupakan penghitung yang dapat beroperasi dalam mode naik (count-up) maupun turun (count-down). Pemilihan arah penghitungan biasanya dikendalikan oleh sinyal masukan khusus. Jenis penghitung ini digunakan pada sistem yang memerlukan pemantauan jumlah secara bertambah dan berkurang, seperti penghitung posisi dan pengendali gerakan.
Baca juga: Metode Analisis Mesh: Pengertian, Rumus dan Contoh Perhitungan Arus pada Rangkaian Listrik
Cara Kerja Penghitung MOD
Penghitung MOD merupakan perangkat logika sekuensial yang mengubah keadaan keluarannya berdasarkan pulsa clock eksternal (CLK). Rangkaian ini dapat dirancang menggunakan konfigurasi sinkron maupun asinkron, bergantung pada cara sinyal clock diberikan kepada setiap flip-flop.
a. Penghitung Sinkron (Synchronous Counter)
Pada penghitung sinkron, seluruh flip-flop menerima sinyal clock dari sumber yang sama. Dengan demikian, perubahan keadaan setiap bit dipicu oleh tepi clock aktif yang sama. Konfigurasi ini memungkinkan perubahan keluaran berlangsung secara lebih terkoordinasi dan mengurangi akumulasi keterlambatan propagasi antartahap dibandingkan dengan penghitung asinkron bertingkat. Oleh karena itu, penghitung sinkron banyak digunakan pada sistem digital yang memerlukan kecepatan operasi dan ketepatan waktu yang lebih baik.
b. Penghitung Asinkron (Asynchronous Counter)
Pada penghitung asinkron, hanya flip-flop pertama yang menerima clock eksternal secara langsung. Keluaran dari tahap tersebut kemudian digunakan sebagai sinyal pemicu untuk tahap berikutnya. Perubahan keadaan merambat dari satu tahap ke tahap lainnya sehingga tidak terjadi secara serentak. Akibatnya, keterlambatan propagasi setiap tahap dapat terakumulasi dan membatasi frekuensi operasi maksimum rangkaian. Meskipun demikian, penghitung asinkron memiliki struktur yang relatif sederhana sehingga sesuai untuk berbagai aplikasi pembagi frekuensi dan penghitung digital dasar.
c. Modulus dan Urutan Penghitungan
Modulus, yang sering ditulis sebagai MOD-(N), menunjukkan jumlah keadaan berbeda dalam satu siklus penghitungan. Huruf (N) merupakan bilangan bulat positif yang menyatakan jumlah keadaan tersebut. Sebagai contoh, penghitung MOD-6 memiliki enam keadaan, sedangkan penghitung MOD-12 memiliki dua belas keadaan. Dalam setiap siklus, rangkaian melewati seluruh keadaan yang telah ditentukan sebelum kembali ke keadaan awal. Perlu diperhatikan bahwa modulus tidak selalu sama dengan jumlah maksimum keadaan yang dapat direpresentasikan oleh seluruh flip-flop. Pada penghitung dengan modulus yang bukan merupakan pangkat dua, sebagian kombinasi biner tidak digunakan dalam siklus penghitungan normal.
Penghitung Modulus (Modulus Counter)
Penghitung modulus ditentukan berdasarkan jumlah keadaan yang dilalui sebelum rangkaian kembali ke keadaan awal. Nilai modulus tersebut bergantung pada jumlah flip-flop, susunan logika, dan mekanisme pengaturan ulang (reset) yang digunakan.
a. Contoh Penghitung MOD-4
Perhatikan penghitung biner 2-bit yang memiliki keluaran Q1 dan Q0. Rangkaian ini dapat menghasilkan empat kombinasi biner, yaitu:
Urutan tersebut setara dengan penghitungan desimal dari 0 hingga 3 sebelum kembali ke 0. Karena terdapat empat keadaan unik dalam satu siklus, rangkaian tersebut disebut penghitung MOD-4 atau modulo-4 counter. Jika penghitung berada pada keadaan 00 dan setiap pulsa clock memajukan urutannya satu langkah, dibutuhkan tiga pulsa clock untuk mencapai keadaan 11. Pulsa clock keempat mengembalikan penghitung ke keadaan 00. Dengan demikian, satu siklus lengkap terdiri atas empat pulsa clock.
b. Jumlah Maksimum Keadaan Penghitung
Jumlah maksimum keadaan yang dapat dibentuk oleh penghitung biner dengan n bit ditentukan menggunakan persamaan:
Sebagai contoh, penghitung 2-bit memiliki:
Sementara itu, penghitung 3-bit memiliki:
Persamaan tersebut menunjukkan kapasitas maksimum keadaan yang dapat direpresentasikan. Apabila seluruh keadaan digunakan dalam satu siklus, modulus penghitung sama dengan 2n. Jika hanya sebagian keadaan yang digunakan, nilai modulusnya dapat lebih kecil.
Penghitung MOD-N (MOD-N Counter)
Penghitung MOD-(N) merupakan rangkaian penghitung yang dirancang untuk melewati tepat (N) keadaan berbeda sebelum kembali ke keadaan awal. Rangkaian ini dapat dibuat menggunakan sejumlah flip-flop dengan tambahan logika pengendali apabila modulus yang diinginkan tidak sama dengan kapasitas maksimum penghitung biner. Untuk menentukan jumlah minimum flip-flop yang diperlukan, digunakan persamaan:
Keterangan:
- n = jumlah minimum flip-flop yang diperlukan.
- N = modulus atau jumlah keadaan dalam satu siklus.
- [ ]= pembulatan ke atas ke bilangan bulat terdekat.
Sebagai contoh, penghitung MOD-10 memerlukan sekurang-kurangnya empat flip-flop, karena tiga flip-flop hanya dapat menghasilkan delapan keadaan, sedangkan empat flip-flop dapat menghasilkan enam belas keadaan.
Dengan empat flip-flop, rangkaian memiliki kapasitas maksimum enam belas keadaan. Namun, agar hanya menghitung dari 0 hingga 9, diperlukan logika tambahan untuk mendeteksi keadaan tertentu dan mengembalikan penghitung ke keadaan awal setelah sepuluh keadaan terlewati. Secara umum, penghitung MOD-(N) dapat dirancang menggunakan konfigurasi synchronous counter atau asynchronous counter. Pemilihan konfigurasi dan rangkaian logika pengendali ditentukan oleh kebutuhan kecepatan, kompleksitas, serta karakteristik aplikasi.
Flip-Flop Tipe D (D-Type Flip-Flop)
Flip-flop merupakan elemen penyimpanan dasar dalam rangkaian logika sekuensial. Komponen ini mampu menyimpan satu bit data, yaitu logika 0 atau logika 1. Oleh karena itu, satu flip-flop dapat merepresentasikan dua keadaan yang berbeda. Terdapat beberapa jenis flip-flop yang dapat digunakan untuk membangun penghitung MOD, antara lain SR flip-flop, JK flip-flop, D-type flip-flop, dan T-type flip-flop. Setiap jenis memiliki karakteristik masukan dan mekanisme perubahan keadaan yang berbeda. Untuk mempermudah pembahasan, rangkaian berikut menggunakan D-type flip-flop (DFF). Jenis ini memiliki satu masukan data utama, yaitu D, serta masukan clock (CLK). Pada konfigurasi edge-triggered, data pada masukan D disimpan ketika terjadi tepi clock aktif. Sebagai contoh, IC TTL 74LS74 merupakan komponen yang menyediakan dual positive-edge-triggered D flip-flop.
Pada komponen ini, keluaran merespons masukan D ketika terjadi transisi clock dari LOW ke HIGH. IC tersebut juga memiliki masukan asinkron preset dan clear yang dapat digunakan untuk mengatur keadaan keluaran tanpa menunggu tepi clock, dengan tetap memperhatikan karakteristik dan ketentuan penggunaannya. Flip-flop yang dipicu oleh tepi naik (positive-edge-triggered) dan tepi turun (negative-edge-triggered) memiliki prinsip dasar penyimpanan data yang serupa. Perbedaannya terletak pada transisi clock yang digunakan sebagai pemicu perubahan keadaan.
a. Prinsip Kerja D-Type Flip-Flop
D-type flip-flop memiliki masukan utama D dan CLK, serta keluaran Q dan Q. Keluaran Q menunjukkan nilai data yang tersimpan, sedangkan Q menunjukkan kebalikan dari nilai Q dalam kondisi operasi normal. Pada DFF yang dipicu oleh tepi naik (rising edge), nilai masukan D akan diteruskan ke keluaran Q saat sinyal clock mengalami transisi dari LOW ke HIGH. Setelah tepi pemicu tersebut berlalu, keluaran mempertahankan nilai yang tersimpan hingga tepi clock aktif berikutnya atau hingga masukan asinkron mengubah keadaan keluaran. Sebagai contoh, apabila D bernilai HIGH tepat pada saat tepi naik clock yang valid, keluaran Q akan menjadi HIGH. Sebaliknya, jika D bernilai LOW pada saat tepi naik tersebut, keluaran Q akan menjadi LOW. Dengan demikian, perubahan keluaran tidak semata-mata mengikuti perubahan D secara terus-menerus. Nilai D harus memenuhi persyaratan waktu setup dan hold di sekitar tepi clock aktif agar data dapat tersimpan dengan benar.
b. Tabel Kebenaran D-Type Flip-Flop
Tabel kebenaran berikut menjelaskan perilaku dasar D-type flip-flop yang dipicu tepi naik. Tabel ini mengasumsikan bahwa masukan asinkron tidak aktif dan kondisi waktu masukan terpenuhi.
| Kondisi clock | Masukan D | Keluaran Q berikutnya |
|---|---|---|
| Tepi naik aktif | 0 | 0 |
| Tepi naik aktif | 1 | 1 |
| Tidak ada tepi aktif | X | Tetap pada keadaan sebelumnya |
Keterangan:
- Tepi naik aktif adalah transisi clock dari logika 0 (LOW) ke logika 1 (HIGH).
- X menunjukkan bahwa nilai D tidak menentukan perubahan keluaran ketika tidak terjadi tepi clock aktif.
- Keluaran tetap menyimpan keadaan sebelumnya selama tidak ada pemicu yang mengubahnya.
Tabel tersebut menunjukkan bahwa DFF berfungsi sebagai elemen penyimpanan sinkron. Perubahan pada masukan D baru memengaruhi keluaran Q pada tepi clock aktif, bukan secara langsung setiap kali nilai D berubah.
c. Fungsi DFF dalam Rangkaian Penghitung
Karena mampu menyimpan dan memperbarui satu bit data secara terkontrol, DFF dapat digunakan sebagai elemen penyusun penghitung digital. Dengan menghubungkan beberapa DFF dan menambahkan logika umpan balik, rangkaian dapat dibuat untuk mengikuti urutan keadaan tertentu. Pada penghitung biner, setiap flip-flop berkontribusi terhadap satu bit keluaran. Kombinasi seluruh bit tersebut membentuk nilai hitung yang berubah sesuai dengan pulsa clock. Setelah memahami prinsip kerja D-type flip-flop, langkah berikutnya adalah menghubungkan komponen tersebut untuk membangun penghitung MOD dan rangkaian pembagi frekuensi.
Penghitung MOD Bagi Dua (Divide-by-2 Counter)
D-type flip-flop yang dipicu tepi merupakan salah satu komponen dasar untuk membangun rangkaian pembagi frekuensi. Dengan konfigurasi umpan balik tertentu, satu DFF dapat dibuat berfungsi sebagai rangkaian toggle yang membalik keadaan keluarannya pada setiap tepi clock aktif. Salah satu caranya adalah menghubungkan keluaran komplemen Q kembali ke masukan D. Dengan konfigurasi ini, nilai yang dimasukkan ke D selalu merupakan kebalikan dari keadaan Q saat ini. Akibatnya, pada setiap tepi naik clock, keluaran Q berganti dari 0 menjadi 1 atau dari 1 menjadi 0. Konfigurasi tersebut menghasilkan urutan keluaran yang bergantian antara dua keadaan. Oleh karena itu, rangkaian berfungsi sebagai penghitung MOD-2 sekaligus pembagi frekuensi dua.
a. Prinsip Pembagian Frekuensi
Pada rangkaian pembagi dua, keluaran Q berubah satu kali setiap menerima tepi clock aktif. Karena dibutuhkan dua tepi aktif untuk menyelesaikan satu periode penuh keluaran, frekuensi keluaran menjadi setengah dari frekuensi clock masukan. Hubungan frekuensinya dapat dinyatakan sebagai:
Keterangan:
- fout = frekuensi sinyal keluaran.
- fin = frekuensi sinyal clock masukan.
Sebagai contoh, jika DFF menerima clock dengan frekuensi 100 Hz, keluaran Q akan memiliki frekuensi 50 Hz dalam kondisi operasi normal.
b. Pembagi Frekuensi Menggunakan Beberapa DFF
Pembagian frekuensi dapat diperluas dengan menghubungkan beberapa tahap flip-flop secara berurutan. Pada rangkaian pembagi frekuensi asinkron, keluaran tahap sebelumnya digunakan untuk memicu tahap berikutnya. Setiap tahap membagi frekuensi sinyal pemicunya dengan faktor dua. Dengan demikian, untuk (n) tahap pembagi dua yang tersusun secara berurutan, frekuensi keluaran tahap terakhir secara ideal adalah:
Sebagai contoh, dua tahap pembagi dua menghasilkan pembagian frekuensi sebesar empat, sedangkan tiga tahap menghasilkan pembagian sebesar delapan. Namun, konfigurasi aktual harus memperhatikan polaritas clock, jenis tepi pemicu, keterlambatan propagasi, serta batas frekuensi operasi komponen yang digunakan.
c. Contoh Penerapan Pembagi Frekuensi
Rangkaian pembagi frekuensi digunakan untuk menghasilkan sinyal clock dengan frekuensi yang lebih rendah dari sumber awal. Penerapannya meliputi rangkaian pewaktu, pencacah pulsa, pembangkit sinyal digital, dan sistem pengendali berbasis clock. Sebagai contoh, untuk menurunkan sinyal 60 Hz menjadi 1 Hz menggunakan pembagi frekuensi berbasis penghitung, diperlukan faktor pembagian total sebesar 60. Faktor tersebut dapat dibentuk dengan menggabungkan penghitung MOD-6 dan MOD-10 secara berurutan. Penghitung MOD-6 menghasilkan pembagian sebesar enam, sehingga frekuensi 60 Hz menjadi 10 Hz. Selanjutnya, penghitung MOD-10 membagi frekuensi 10 Hz menjadi 1 Hz. Secara matematis:
Penerapan ini mengasumsikan bahwa kedua penghitung dikonfigurasikan dengan benar dan dihubungkan sehingga menghasilkan faktor pembagian total yang diinginkan.
Penghitung MOD-4 (MOD-4 Counter)
Satu D-type flip-flop yang dikonfigurasikan sebagai rangkaian toggle dapat menghasilkan dua keadaan keluaran, yaitu 0 dan 1. Dengan demikian, rangkaian tersebut dapat berfungsi sebagai penghitung MOD-2. Untuk meningkatkan jumlah keadaan yang dapat dihitung, beberapa flip-flop dapat dihubungkan sehingga membentuk rangkaian penghitung dengan lebih banyak bit. Penambahan jumlah bit memungkinkan lebih banyak kombinasi biner direpresentasikan. Pada penghitung biner dengan dua flip-flop, terdapat empat kombinasi keluaran yang mungkin. Jika seluruh kombinasi digunakan dalam satu siklus, rangkaian tersebut berfungsi sebagai penghitung MOD-4.
a. Urutan Penghitungan MOD-4
Penghitung MOD-4 2-bit mengikuti urutan keadaan biner berikut:
Urutan tersebut setara dengan nilai desimal 0, 1, 2, dan 3. Setelah menerima pulsa clock berikutnya, penghitung kembali ke keadaan 00 dan memulai siklus baru. Pada implementasi penghitung biner naik, kedua bit keluaran berubah mengikuti urutan penghitungan yang ditentukan oleh rangkaian logika. Bit yang memiliki bobot lebih rendah berubah lebih sering dibandingkan bit berbobot lebih tinggi.
b. Hubungan MOD-4 dengan Pembagian Frekuensi
Penghitung MOD-4 juga dapat digunakan sebagai pembagi frekuensi dengan faktor empat apabila keluaran yang diamati memiliki periode berulang setiap empat pulsa clock masukan. Hubungan frekuensinya adalah:
Sebagai contoh, jika frekuensi clock masukan adalah 100 Hz, frekuensi pengulangan keadaan keluaran penghitung MOD-4 adalah 25 Hz. Hal ini berlaku untuk sinyal keluaran yang menyelesaikan satu siklus setiap empat pulsa clock, bukan untuk setiap bit keluaran secara terpisah. Dengan demikian, penghitung MOD-4 dapat digunakan untuk mempelajari hubungan antara jumlah bit, urutan keadaan biner, dan pembagian frekuensi pada rangkaian logika digital.
Diagram Penghitung dan Pewaktuan MOD-4
Pada diagram pewaktuan (timing diagram) penghitung MOD-4, perubahan sinyal clock (CLK) dan keluaran (Q_A) serta (Q_B) dapat terlihat seolah-olah berlangsung secara bersamaan. Penyederhanaan ini digunakan agar urutan perubahan keadaan lebih mudah dipahami. Namun, pada rangkaian penghitung asinkron (asynchronous counter), perubahan keluaran sebenarnya tidak terjadi secara serentak. Setiap flip-flop memerlukan waktu propagasi tertentu untuk merespons sinyal pemicunya. Oleh karena itu, terdapat jeda singkat antara perubahan clock, keluaran QA, dan perubahan keluaran QB. Untuk memahami urutan penghitungan secara lebih jelas, cara kerja penghitung MOD-4 dapat direpresentasikan menggunakan tabel kebenaran dan diagram keadaan (state diagram).
a. Diagram Keadaan Penghitung MOD-4
| Denyut Jam | Keadaan Saat Ini | Negara Bagian Berikutnya | Diagram Keadaan | |||
|---|---|---|---|---|---|---|
| Q B | Tanya Jawab | Q B | Tanya Jawab | |||
| 0 (mulai) | 0 | 0 | ⇒ | 0 | 1 | [Diagram Keadaan] |
| 1 | 0 | 1 | ⇒ | 1 | 0 | |
| 2 | 1 | 0 | ⇒ | 1 | 1 | |
| 3 | 1 | 1 | ⇒ | 0 | 0 | |
| 4 (ulangi) | 0 | 0 | ⇒ | 0 | 1 | |
Diagram keadaan menggambarkan perpindahan dari satu kombinasi keluaran ke kombinasi berikutnya setiap kali penghitung menerima pulsa clock yang valid. Pada penghitung MOD-4 2-bit, terdapat empat keadaan utama yang digunakan dalam satu siklus penghitungan. Urutan keadaan keluarannya adalah sebagai berikut:
Urutan tersebut dapat dijelaskan melalui perubahan nilai keluaran QA dan QB:
- Keadaan awal 00: QA=0 dan QB=0.
- Keadaan 01: setelah satu pulsa clock, keluaran berubah menjadi QA=1 dan QB=0.
- Keadaan 10: setelah pulsa clock berikutnya, keluaran menjadi QA=0 dan QB=1.
- Keadaan 11: pada pulsa berikutnya, kedua keluaran bernilai logika 1.
- Kembali ke keadaan 00: pulsa clock selanjutnya memulai siklus penghitungan baru.
Dengan demikian, penghitung MOD-4 memiliki empat keadaan berbeda dan akan mengulang urutan yang sama selama pulsa clock terus diberikan. Perlu diperhatikan bahwa urutan nilai di atas mengikuti konvensi penulisan (Q_A) sebagai bit paling rendah (least significant bit atau LSB) dan (Q_B) sebagai bit paling tinggi (most significant bit atau MSB). Pada diagram rangkaian tertentu, penamaan dan posisi bit dapat berbeda sehingga perlu disesuaikan dengan koneksi yang digunakan.
Pengembangan Penghitung MOD-8 dan MOD-16
Penghitung MOD-4 dapat dikembangkan dengan menambahkan flip-flop pada rangkaian. Penambahan satu flip-flop akan menggandakan jumlah maksimum keadaan biner yang dapat direpresentasikan. Penghitung MOD-4 menggunakan dua flip-flop sehingga memiliki empat keadaan. Jika ditambahkan satu flip-flop lagi, rangkaian dapat menghasilkan delapan keadaan dan berfungsi sebagai penghitung MOD-8.
a. Penghitung MOD-8
Penghitung MOD-8 menggunakan tiga flip-flop dengan urutan penghitungan biner dari 000 hingga 111. Setelah mencapai 111, penghitung kembali ke 000 dan memulai siklus berikutnya. Urutan penghitungan lengkapnya adalah:
Karena terdapat delapan keadaan unik, modulus penghitung tersebut adalah 8. Dengan kata lain, tiga flip-flop dapat membentuk penghitung biner dengan kapasitas maksimum (2^3=8) keadaan.
b. Penghitung MOD-16
Apabila satu flip-flop kembali ditambahkan sehingga jumlah keseluruhannya menjadi empat, penghitung dapat memiliki enam belas keadaan biner. Rangkaian ini disebut penghitung MOD-16. Urutan penghitungan berlangsung dari 0000 hingga 1111, kemudian kembali ke 0000. Jumlah keadaan maksimumnya dapat ditentukan menggunakan persamaan:
Dengan (n=4), diperoleh:
Prinsip yang sama dapat diterapkan untuk membangun penghitung dengan jumlah bit yang lebih besar. Semakin banyak flip-flop yang digunakan, semakin banyak kombinasi biner yang dapat direpresentasikan.
c. Hubungan Jumlah Flip-Flop dan Modulus
Berdasarkan prinsip tersebut, penghitung biner yang menggunakan n flip-flop dapat memiliki modulus maksimum sebesar 2n jika seluruh keadaan yang tersedia digunakan dalam satu siklus penghitungan.
| Jumlah flip-flop | Jumlah keadaan maksimum | Modulus |
|---|---|---|
| 1 | 2 | MOD-2 |
| 2 | 4 | MOD-4 |
| 3 | 8 | MOD-8 |
| 4 | 16 | MOD-16 |
| 5 | 32 | MOD-32 |
Penghitung dengan modulus berupa pangkat dua relatif mudah dibangun menggunakan rangkaian penghitung biner. Namun, pada aplikasi tertentu, diperlukan jumlah keadaan yang tidak sama dengan pangkat dua, misalnya MOD-3, MOD-5, MOD-6, atau MOD-10. Untuk memenuhi kebutuhan tersebut, rangkaian penghitung perlu dilengkapi dengan logika tambahan yang dapat mendeteksi keadaan tertentu dan mengatur ulang hitungan.
Penghitung Modulo-(m) (Modulo-m Counter)
Penghitung biner sinkron maupun asinkron pada dasarnya dapat menghitung secara berurutan mengikuti representasi biner. Jika seluruh keadaan digunakan, penghitung dengan (n) bit akan memiliki modulus maksimum sebesar 2n. Akan tetapi, tidak semua aplikasi membutuhkan seluruh keadaan tersebut. Dalam beberapa sistem digital, penghitung harus kembali ke keadaan awal setelah melewati sejumlah keadaan tertentu yang lebih sedikit daripada kapasitas maksimumnya. Untuk memenuhi kebutuhan ini, digunakan penghitung modulo-(m), yaitu penghitung yang melewati (m) keadaan unik sebelum mengulangi siklus penghitungan. Sebagai contoh, penghitung MOD-5 hanya menggunakan lima keadaan, yaitu 000, 001, 010, 011, dan 100. Setelah keadaan terakhir tersebut, rangkaian kembali ke 000.
a. Prinsip Dasar Penghitung Modulo-(m)
Penghitung modulo-(m) dirancang agar kembali ke keadaan awal setelah mencapai batas penghitungan yang telah ditentukan. Jika (m) bukan merupakan pangkat dua, beberapa keadaan yang sebenarnya dapat direpresentasikan oleh flip-flop tidak digunakan dalam siklus normal. Hubungan antara modulus dan jumlah minimum flip-flop dapat dinyatakan dengan persamaan:
Keterangan:
- n adalah jumlah minimum flip-flop yang diperlukan.
- m adalah modulus penghitung.
- [] menunjukkan pembulatan ke atas.
Sebagai contoh, penghitung MOD-5 membutuhkan minimal tiga flip-flop karena dua flip-flop hanya mampu menghasilkan empat keadaan, sedangkan tiga flip-flop mampu menghasilkan delapan keadaan.
Agar rangkaian hanya melewati lima keadaan, diperlukan mekanisme pendeteksi keadaan dan pengaturan ulang (reset) yang sesuai.
b. Fungsi CLEAR dan PRESET
Selain masukan clock, beberapa flip-flop memiliki masukan kontrol tambahan seperti CLEAR dan PRESET.
- CLEAR digunakan untuk mengatur keluaran flip-flop ke keadaan 0.
- PRESET digunakan untuk mengatur keluaran flip-flop ke keadaan 1 atau keadaan awal tertentu sesuai konfigurasi komponen.
Pada rangkaian yang menggunakan beberapa flip-flop, masukan CLEAR dapat dihubungkan ke rangkaian logika pendeteksi keadaan agar seluruh bit kembali ke keadaan awal ketika kondisi tertentu tercapai. Sebagai contoh, IC TTL 74LS74 memiliki masukan preset dan clear asinkron yang aktif-rendah (active-low). Artinya, fungsi tersebut diaktifkan ketika masukan terkait berada pada level logika LOW. Karakteristik ini perlu diperhatikan saat merancang rangkaian reset. Tidak semua flip-flop memiliki polaritas masukan kontrol yang sama, sehingga konfigurasi rangkaian harus mengikuti lembar data (datasheet) komponen yang digunakan.
c. Penggunaan Sinyal Reset
Sinyal reset digunakan untuk mengembalikan penghitung ke keadaan awal. Pada penghitung 3-bit, misalnya, keadaan awal dapat ditetapkan sebagai 000, sehingga seluruh keluaran berada pada logika 0. Jika masukan CLEAR seluruh flip-flop dihubungkan ke satu sinyal reset bersama, satu sinyal tersebut dapat digunakan untuk mengatur ulang seluruh bit sekaligus, selama polaritas dan karakteristik inputnya sesuai. Pada implementasi tertentu, reset dilakukan secara asinkron, yaitu tidak bergantung pada tepi clock. Pada implementasi lainnya, reset dilakukan secara sinkron sehingga perubahan keadaan baru diterapkan pada tepi clock aktif. Perbedaan ini penting karena menentukan kapan penghitung kembali ke keadaan awal dan bagaimana rangkaian merespons perubahan sinyal kontrol.
d. Fungsi ENABLE dan INHIBIT
Selain CLEAR dan PRESET, beberapa penghitung memiliki masukan kontrol seperti ENABLE atau INHIBIT. ENABLE digunakan untuk mengizinkan proses penghitungan ketika berada pada kondisi aktif. Sebaliknya, INHIBIT dapat digunakan untuk mencegah penghitung memperbarui keadaan keluarannya. Dengan adanya masukan kontrol tersebut, proses penghitungan dapat dihentikan sementara dan dilanjutkan kembali tanpa harus mengatur ulang seluruh keluaran ke nol. Fungsi ini berguna dalam sistem digital yang memerlukan pengendalian urutan penghitungan berdasarkan kondisi tertentu.
Perancangan Penghitung MOD-5
Penghitung MOD-5 merupakan contoh penghitung yang menggunakan lima keadaan dari kapasitas maksimum delapan keadaan pada rangkaian 3-bit. Untuk merancang penghitung MOD-5, terlebih dahulu perlu ditentukan jumlah flip-flop yang dibutuhkan. Karena modulus yang diinginkan adalah 5, jumlah minimum flip-flop dapat dihitung sebagai berikut:
Dengan demikian, rangkaian membutuhkan tiga flip-flop yang menghasilkan tiga bit keluaran, yaitu QA, QB, dan QC.
a. Urutan Penghitungan MOD-5
Penghitung MOD-5 harus melewati lima keadaan valid, mulai dari 0 hingga 4. Urutan penghitungan binernya adalah:
Setelah itu, penghitung kembali ke 000 untuk memulai siklus berikutnya.
Sebagai pembanding, penghitung MOD-8 menggunakan seluruh delapan kombinasi keluaran dari 000 hingga 111. Untuk mengubahnya menjadi MOD-5, rangkaian perlu dimodifikasi agar kembali ke keadaan awal ketika keadaan pendeteksi yang telah ditentukan tercapai.
b. Mendeteksi Keadaan Reset
Salah satu metode untuk membangun penghitung MOD-5 adalah dengan mendeteksi keadaan biner 101, yang merepresentasikan nilai desimal 5. Ketika penghitung mencapai keadaan tersebut, rangkaian logika pendeteksi akan menghasilkan sinyal reset sehingga penghitung kembali ke 000. Dengan demikian, keadaan 101 tidak menjadi bagian dari urutan penghitungan normal yang stabil. Urutan keadaan yang digunakan tetap:
Pada rangkaian asinkron, keadaan 101 dapat muncul sesaat sebelum proses reset selesai. Durasi keadaan sementara tersebut bergantung pada keterlambatan propagasi komponen dan rangkaian logika yang digunakan.
c. Rangkaian Dekode Menggunakan Gerbang Logika
Keadaan 101 dapat dideteksi menggunakan rangkaian logika kombinasi yang terdiri atas inverter dan gerbang AND. Salah satu contoh komponen yang dapat digunakan adalah IC TTL 74LS11, yang menyediakan gerbang AND tiga masukan, serta IC TTL 74LS04 yang berisi gerbang NOT atau inverter. Untuk mendeteksi keadaan 101, sinyal keluaran harus dikombinasikan sesuai dengan bobot masing-masing bit. Jika QA merupakan bit paling rendah dan QC merupakan bit paling tinggi, fungsi dekodenya dapat dinyatakan sebagai:
Keterangan:
- QA dan QC harus bernilai logika 1.
- QB harus bernilai logika 0.
- D merupakan keluaran rangkaian dekode yang bernilai HIGH hanya ketika kombinasi 101 terdeteksi.
Gerbang AND menghasilkan HIGH ketika seluruh masukannya bernilai HIGH. Oleh karena itu, sinyal QB perlu melewati inverter agar kondisi logika 0 pada bit tersebut menjadi HIGH pada masukan gerbang AND.
Catatan: Persamaan tersebut mengasumsikan QA sebagai LSB dan QC sebagai MSB. Jika penamaan bit pada diagram rangkaian berbeda, susunan masukan dekode harus disesuaikan.
d. Proses Reset pada Penghitung MOD-5
Ketika keluaran penghitung mencapai kombinasi 101, rangkaian dekode menghasilkan sinyal HIGH. Sinyal ini kemudian digunakan untuk mengaktifkan mekanisme reset penghitung. Jika masukan reset yang digunakan aktif-tinggi, sinyal HIGH dapat langsung mengaktifkan reset, dengan ketentuan bahwa karakteristik masukan komponen memang mendukung konfigurasi tersebut. Namun, apabila flip-flop menggunakan masukan CLEAR aktif-rendah, sinyal dekode perlu disesuaikan, misalnya dengan menambahkan inverter atau menggunakan logika yang sesuai. Setelah reset aktif, seluruh keluaran dikembalikan ke keadaan 000. Ketika sinyal reset tidak aktif, penghitung dapat melanjutkan urutan penghitungan dari awal. Dengan mekanisme tersebut, rangkaian tidak perlu menggunakan seluruh delapan keadaan yang tersedia pada penghitung 3-bit. Rangkaian hanya menggunakan lima keadaan valid sehingga membentuk penghitung MOD-5.
e. Tabel Kebenaran dan Urutan Keadaan MOD-5
Tabel berikut menunjukkan keadaan yang digunakan dalam satu siklus normal penghitung MOD-5.
| Nilai desimal | QC | QB | QA |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 1 |
| 2 | 0 | 1 | 0 |
| 3 | 0 | 1 | 1 |
| 4 | 1 | 0 | 0 |
| Kembali ke 0 | 0 | 0 | 0 |
Tabel tersebut memperlihatkan bahwa penghitung menggunakan lima keadaan, yaitu 000 hingga 100. Keadaan 101 digunakan sebagai kondisi pendeteksi reset dalam rancangan ini, bukan sebagai keadaan hitung yang dipertahankan. Metode dekode keadaan dapat diterapkan pada penghitung sinkron maupun asinkron. Dengan mengatur keadaan pemicu reset secara tepat, rangkaian penghitung dapat dirancang untuk menghasilkan berbagai nilai modulus sesuai kebutuhan aplikasi.
Keterbatasan Penghitung Asinkron pada Rangkaian Modulo-(m)
Penghitung asinkron memiliki struktur yang relatif sederhana, tetapi perubahan keadaan antartahap tidak terjadi secara bersamaan. Setiap flip-flop merespons perubahan pada tahap sebelumnya sehingga keterlambatan propagasi dapat terakumulasi. Ketika rangkaian dekode digunakan untuk mendeteksi keadaan reset, perbedaan waktu perubahan keluaran tersebut dapat menghasilkan pulsa transien yang tidak diinginkan. Fenomena ini dikenal sebagai glitches.
Glitches merupakan perubahan sinyal sesaat yang muncul akibat perbedaan waktu propagasi pada jalur logika. Jika tidak ditangani dengan baik, pulsa transien tersebut dapat memicu reset yang tidak diinginkan atau mengganggu rangkaian digital lain yang terhubung. Pada penghitung modulo yang memerlukan ketepatan waktu tinggi, penghitung sinkron dapat menjadi pilihan yang lebih sesuai. Dalam penghitung sinkron, seluruh flip-flop menerima clock yang sama sehingga perubahan keadaan dipicu oleh tepi clock aktif yang sama. Meskipun demikian, penghitung sinkron tetap memiliki keterlambatan propagasi dan dapat mengalami kondisi transien pada logika kombinasional. Oleh karena itu, rancangan yang baik perlu mempertimbangkan waktu setup dan hold, keterlambatan propagasi, serta karakteristik rangkaian reset yang digunakan.
Penghitung MOD-10 (Decade Counter)
Penghitung MOD-10, yang juga dikenal sebagai penghitung dekade (decade counter), merupakan rangkaian penghitung yang memiliki sepuluh keadaan dalam satu siklus. Penghitung ini menghitung dari 0 hingga 9 sebelum kembali ke 0. Penghitung dekade banyak digunakan pada rangkaian pencacah digital, sistem pewaktu, penghitung kejadian, dan aplikasi yang memerlukan representasi bilangan desimal. Salah satu IC yang dikenal untuk aplikasi ini adalah TTL 74LS90. IC 74LS90 merupakan penghitung dekade yang tersusun atas bagian pembagi frekuensi internal dan menyediakan empat keluaran biner. Kombinasi keluaran tersebut merepresentasikan angka desimal 0 hingga 9 dalam format BCD (Binary-Coded Decimal).
a. Urutan Penghitungan MOD-10
Penghitung MOD-10 memiliki sepuluh keadaan valid, yaitu 0000 hingga 1001. Urutan penghitungan biner-BCD tersebut adalah:
Setelah mencapai angka 9, penghitung kembali ke 0000, bukan melanjutkan ke 1010 sebagai bagian dari siklus normal. Dengan demikian, jumlah keadaan yang digunakan adalah sepuluh sehingga rangkaian berfungsi sebagai penghitung MOD-10.
b. Penggunaan Penghitung Dekade
Penghitung dekade dapat digunakan sebagai bagian dari sistem tampilan digital karena keluarannya mewakili angka desimal 0 hingga 9 dalam bentuk BCD. Keluaran tersebut dapat dihubungkan ke rangkaian dekoder BCD-ke-7-segmen agar angka dapat ditampilkan pada seven-segment display. Dalam rancangan berbasis flip-flop diskret, fungsi MOD-10 dapat dibentuk dengan mendeteksi keadaan tertentu menggunakan gerbang logika eksternal, kemudian mengatur ulang penghitung ketika kondisi yang ditetapkan tercapai. Namun, pada IC 74LS90, mekanisme internal penghitung dan masukan resetnya perlu diperhatikan sesuai lembar data komponen. Rangkaian tidak dapat diasumsikan bekerja persis seperti penghitung 4-bit biasa yang menggunakan satu sinyal dekode eksternal.
c. Rangkaian Penghitung Dekade MOD-10
Penghitung dekade juga dapat dirancang menggunakan flip-flop JK, misalnya dengan komponen TTL 74LS73, beserta logika tambahan untuk menghasilkan urutan sepuluh keadaan. Pada konfigurasi yang menggunakan flip-flop JK pemicu tepi turun (negative-edge-triggered), perubahan keadaan terjadi ketika sinyal clock bertransisi dari HIGH ke LOW. Hubungan clock antartahap dan logika reset harus dirancang sesuai karakteristik pemicu setiap flip-flop. Untuk membentuk penghitung MOD-10, rangkaian harus memastikan bahwa hanya sepuluh keadaan yang digunakan dalam satu siklus. Mekanisme reset atau pengendalian keadaan berikutnya perlu disesuaikan dengan jenis flip-flop, polaritas masukan kontrol, dan susunan logika yang digunakan. Dengan demikian, penghitung MOD-10 dapat dibangun menggunakan IC penghitung khusus seperti 74LS90 maupun menggunakan rangkaian flip-flop dan gerbang logika yang dirancang sesuai kebutuhan sistem.
Baca juga: Rangkaian Penghitung BCD: Pengertian, Cara Kerja dan Konfigurasi IC 74LS90










No comments:
Post a Comment