Απαριθμητές (Counters)
Ένας απαριθμητής είναι ένα ψηφιακό κύκλωμα που μετράει παλμούς. Είναι το συστατικό που μετατρέπει το χρόνο σε αριθμό — από το ψηφιακό ρολόι σου, μέχρι το χρονόμετρο του φούρνου, μέχρι τους μετρητές γεγονότων.
Τι είναι ο απαριθμητής;
Ο απαριθμητής είναι μια αλυσίδα από Φλιπ-Φλοπ (συνήθως JK ή T) συνδεδεμένα έτσι ώστε σε κάθε παλμό ρολογιού η συνολική τους κατάσταση να αλλάζει με βάση μια συγκεκριμένη ακολουθία αριθμών.
Με n bits (δηλαδή n φλιπ-φλοπ) μπορούμε να μετρήσουμε
μέχρι 2n διαφορετικές καταστάσεις:
- 2 FF → 4 καταστάσεις (0–3)
- 3 FF → 8 καταστάσεις (0–7)
- 4 FF → 16 καταστάσεις (0–15)
Πέντε Βασικά Χαρακτηριστικά
- Κατεύθυνση αρίθμησης: Up, Down, ή Up/Down
- Κώδικας αρίθμησης: Δυαδικός (binary) ή BCD (Binary Coded Decimal)
- Αριθμός Φλιπ-Φλοπ: Καθορίζει το μέγιστο μέτρο
- Μέτρο (modulo): Πόσες διαφορετικές καταστάσεις περνάει πριν επιστρέψει
- Χρονισμός: Ασύγχρονος ή Σύγχρονος
Κατεύθυνση Αρίθμησης
Up Counter
Μετράει αυξητικά: 0 → 1 → 2 → 3 → ...
Down Counter
Μετράει μειωτικά: 7 → 6 → 5 → 4 → ...
Up/Down Counter
Επιλέγεις μέσω σήματος ελέγχου σε ποια κατεύθυνση θα μετράει.
Διαδραστικό: Δυαδικός Απαριθμητής
Δες τα bits να μετράνε
Επίλεξε τον αριθμό bits (FF) και την κατεύθυνση. Πάτα Παλμός Ρολογιού για να προχωρήσεις τον απαριθμητή κατά 1. Παρατήρησε πως κάθε παλμός αλλάζει το LSB (Q₀), ενώ τα ανώτερα bits αλλάζουν λιγότερο συχνά.
Κατάσταση Φλιπ-Φλοπ
Χρονικό διάγραμμα
Μέτρο (Modulo) Απαριθμητή
Το μέτρο (mod) είναι ο αριθμός των διαφορετικών καταστάσεων που περνάει ο απαριθμητής πριν επανέλθει στην αρχική. Δεν είναι πάντα 2n.
Για παράδειγμα, ένας mod-5 απαριθμητής με 3 FF μετράει: 0 → 1 → 2 → 3 → 4 → 0 → 1 → 2 → ... Δεν χρησιμοποιεί τις καταστάσεις 5, 6, 7 παρότι έχει 3 FF.
Για μέτρο N, χρειάζονται n FF όπου
2n-1 < N ≤ 2n.
Δηλαδή: για mod-10 χρειάζονται 4 FF (αφού 8 < 10 ≤ 16).
Διαδραστικό: Mod-N Counter Designer
Σχεδίασε τον δικό σου mod-N απαριθμητή
Επίλεξε το μέτρο N από 2 μέχρι 16. Δες πόσα FF χρειάζονται, ποιες καταστάσεις χρησιμοποιούνται και ποιες είναι "παράνομες". Πάτα ▶️ Auto για να δεις τη σειρά.
Πίνακας Καταστάσεων
Ασύγχρονοι vs Σύγχρονοι
| Χαρακτηριστικό | Ασύγχρονος | Σύγχρονος |
|---|---|---|
| Πηγή ρολογιού | Διαφορετική για κάθε FF | Ίδια για όλα τα FF |
| Καθυστέρηση | Συσσωρεύεται από FF σε FF | Καμία (όλα ταυτόχρονα) |
| Μέγιστη συχνότητα | Μικρότερη | Μεγαλύτερη |
| Πολυπλοκότητα | Μικρή | Μεγαλύτερη |
| FF | JK, T, D ή SR | Αυστηρά JK |
Ασύγχρονος: όταν χρειάζεσαι απλότητα και η ταχύτητα δεν είναι κρίσιμη. Σύγχρονος: όταν χρειάζεσαι υψηλή συχνότητα και ακριβή χρονισμό.
Απαριθμητής ως Διαιρέτης Συχνότητας
Κάθε FF σε έναν απαριθμητή λειτουργεί ως διαιρέτης συχνότητας ÷2. Άρα ένας n-bit απαριθμητής διαιρεί τη συχνότητα του ρολογιού:
Όπου N είναι το μέτρο του απαριθμητή. Για mod-10 BCD απαριθμητή, η συχνότητα του πιο σημαντικού bit είναι fclk/10.
Διαδραστικό: Διαιρέτης Συχνότητας
Από fclk σε fclk/2, /4, /8...
Ρύθμισε τη συχνότητα του ρολογιού και τον αριθμό bits του απαριθμητή. Δες τη συχνότητα κάθε bit και πώς εμφανίζεται στο χρονικό διάγραμμα.
BCD Απαριθμητής (Mod-10)
Ο BCD (Binary-Coded Decimal) απαριθμητής μετράει από 0 έως 9 (10 καταστάσεις).
Παρόλο που χρησιμοποιεί 4 FF (που θα μπορούσαν να φτάσουν στο 15), στον 10ο παλμό
γίνεται αυτόματο reset μέσω σήματος CLR = Q₁ · Q₃.
Συναντάς τους BCD απαριθμητές σε ψηφιακά ρολόγια, αριθμομηχανές, και οπουδήποτε θες να εμφανίσεις δεκαδικούς αριθμούς σε 7-segment displays.