Bài giảng Nhập môn mạch số - Chương 6: Mạch tuần tự Bộ đếm
Bộ đếm bất đồng bộ (Asynchronous counters)
– Hệ số của bộ đếm (MOD number)
– Bộ đếm lên/xuống (Up/ Down counters)
– Phân tích và thiết kế bộ đếm bất đồng bộ
– Delay của mạch (Propagation delay)
• Bộ đếm đồng bộ (Synchronous counters)
– Phân tích bộ đếm đồng bộ (Analyze synchronous counters)
– Thiết kế bộ đếm đồng bộ (Design synchronous counter)
• Thanh ghi (Register)
– Hệ số của bộ đếm (MOD number)
– Bộ đếm lên/xuống (Up/ Down counters)
– Phân tích và thiết kế bộ đếm bất đồng bộ
– Delay của mạch (Propagation delay)
• Bộ đếm đồng bộ (Synchronous counters)
– Phân tích bộ đếm đồng bộ (Analyze synchronous counters)
– Thiết kế bộ đếm đồng bộ (Design synchronous counter)
• Thanh ghi (Register)
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn mạch số - Chương 6: Mạch tuần tự Bộ đếm", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
- bai_giang_nhap_mon_mach_so_chuong_6_mach_tuan_tu_bo_dem.pdf
Nội dung text: Bài giảng Nhập môn mạch số - Chương 6: Mạch tuần tự Bộ đếm
- Nội dung • Bộ đếm bất đồng bộ (Asynchronous counters) – Hệ số của bộ đếm (MOD number) – Bộ đếm lên/xuống (Up/ Down counters) – Phân tích và thiết kế bộ đếm bất đồng bộ – Delay của mạch (Propagation delay) • Bộ đếm đồng bộ (Synchronous counters) – Phân tích bộ đếm đồng bộ (Analyze synchronous counters) – Thiết kế bộ đếm đồng bộ (Design synchronous counter) • Thanh ghi (Register) 2
- Bộ đếm bất đồng bộ (Asynchronous counters) 4
- Bộ đếm bất đồng bộ Sau cạnh xuống của xung CLK thứ 16, bộ đếm sẽ quay trở lại trạng thái ban đầu Bảng sự thật FF-J_K DCBA = 0000 6
- Ví dụ 1 • Giả sử bộ đếm ở Slide trước bắt đầu ở trạng thái DCBA = 0000, sau đó xung Clock được đưa vào • Sau một khoảng thời gian, ta ngắt xung Clock với mạch và đọc được giá trị của bộ đếm DCBA = 0011 • Hỏi bao nhiêu xung Clock đã được đưa vào bộ đếm? Đáp án: Bộ đếm có lặp vòng lại hay chưa? Chưa có căn cứ Số lượng xung Clock đưa vào mạch trên có thể là 3, or 19, or 35, or 51 và tiếp tục. 8
- Hệ số của bộ đếm (MOD number) • Hệ số của bộ đếm là số trạng thái khác nhau của bộ đếm trước khi bộ đếm lặp lại chu trình đếm Thêm vào Flip-flop sẽ tăng hệ số của bộ đếm 10
- Ví dụ 2 • Cần bao nhiêu FF cho bộ đếm 1000 sản phẩm? • Đáp án 29 = 512 => 9 FFs chỉ đếm được tối đa 512 sản phẩm không thỏa yêu cầu 210 = 1024 => 10 FFs đếm được tối đa 1024 > 1000 Thỏa yêu cầu bài toán 12
- Câu hỏi thảo luận 1. Đúng hay sai? Trong một bộ đếm bất đồng bộ, tất cả các FF thay đổi trạng thái tại cùng một thời điểm 2. Giả sử bộ đếm trong ví dụ 1 đang có giá trị DCBA = 0101. Giá trị bộ đếm sẽ bằng bao nhiêu sau 27 xung clock tiếp theo? 3. Hệ số bộ đếm trong ví dụ 1 bằng bao nhiêu nếu 3 FF được thêm vào bộ đếm? 14
- Bộ đếm có Hệ số bộ đếm < 2N (tt) Bộ đếm MOD-6 được tạo từ bộ đếm MOD-8 bằng cách clear bộ đếm khi trạng thái 110 xuất hiện 16
- Bộ đếm có Hệ số bộ đếm < 2N (tt) - Ngõ vào J,K của các FF được nối mức 1 - LED sáng khi ngõ ra FF mức cao 18
- Bộ đếm bất đồng bộ - Đếm xuống • Bộ đếm xuống bất đồng bộ được xây dựng gần giống với bộ đếm lên bất đồng bộ Lưu đồ chuyển trạng thái của bộ đếm xuống MOD-8 20
- Một vài ví dụ bộ đếm lên/đếm xuống bất đồng bộ Đếm lên Đếm xuống Chú ý: Q0 có trọng số nhỏ nhất (LSB) Q2 có trọng số lớn nhất (MSB) 22
- Thiết kế bộ đếm bất đông bộ MOD-X (tt) Ví dụ: Thiết kế bộ đếm lên bất đồng bộ MOD-5 dùng FF-T có xung clock kích cạnh xuống, ngõ vào Preset và Clear tích cực cao. Biết rằng trạng thái ban đầu của bộ đếm là 5. Bước 2: Vẽ lưu đồ chuyển trạng thái của bộ đếm - Trạng thái Reset của bộ đếm: Q2Q1Q0 = 010 - Trạng thái không có trong chu trình đếm Q2Q1Q0 = 011, 100 24
- Thiết kế bộ đếm bất đông bộ MOD-X (tt) Bước 3: Thiết kế mạch Reset của bộ đếm (tt) Trường hợp 2: 2N >= X . Nếu số FF sử dụng từ 6 trở lên: . Nếu số FF sử dụng nhỏ hơn 6: Sử dùng bìa Karnaugh để rút gọn: - Tùy thuộc vào chân PR và CLR của FF sử dụng tích cực cao hay thấp, ta sẽ điền giá trị 1 hay 0 tương ứng tại trạng thái Reset + PR, CLR tích cực cao: mức 1 tại TT Reset + PR, CLR tích cực cao: mức 0 tại TT Reset Mạch Reset của bộ đếm - Những trạng thái không có trong chu trình đếm, để giá trị x (tùy định) 26
- Thiết kế bộ đếm bất đông bộ MOD-X (tt) Ví dụ: Thiết kế bộ đếm lên bất đồng bộ MOD-5 dùng FF-T có xung clock kích cạnh xuống, ngõ vào Preset và Clear tích cực cao. Biết rằng trạng thái ban đầu của bộ đếm là 5. Bước 5: Vẽ lưu đồ trạng thái đầy đủ của bộ đếm (bao gồm các trạng thái không có trong chu trình đếm) - Mạch Reset của bộ đếm - Trạng thái không có trong chu trình đếm Q2Q1Q0 = 011, 100 • Với Q2Q1Q0 = 011 Z = 1 mạch bị Reset • Với Q2Q1Q0 = 100 Z = 0 mạch không bị Reset 28
- Ví dụ 6 Sử dụng FF-T để thiết kế bộ đếm bất đồng bộ MOD-10 đếm từ giá trị 0 đến 9. Biết rằng FF sử dụng kích cạnh xuống, ngõ vào Pr và Clr tích cực mức thấp. 30
- Delay của bộ đếm tích lũy trì hoãn (tt) Trạng thái CBA = 100 không xuất hiện • T=1000ns • T=100ns • t =50ns pd • tpd=50ns T 3 x t pd T < 3 x tpd Bộ đếm hoạt động đúng Bộ đếm hoạt động sai 32
- Nội dung • Bộ đếm bất đồng bộ (Asynchronous counters) – Hệ số của bộ đếm (MOD number) – Bộ đếm lên/xuống (Up/ Down counters) – Phân tích và thiết kế bộ đếm bất đồng bộ – Delay của mạch (Propagation delay) • Bộ đếm đồng bộ (Synchronous counters) – Phân tích bộ đếm đồng bộ (Analyze synchronous counters) – Thiết kế bộ đếm đồng bộ (Design synchronous counter) • Thanh ghi (Register) 34
- Bộ đếm đồng bộ (Synchronous Counters) • Bộ đếm đồng bộ hay bộ đếm song song là bộ đếm trong đó các FF được kích đồng thời bởi một xung Clock Tín hiệu Clock được kết nối tới ngõ vào CLK của tất cả các FF trong mạch Delay của mạch sẽ bằng với delay của mỗi FF • Khác với bộ đếm bất đồng bộ, bộ đếm đồng bộ có thể được thiết kế để tạo ra chuỗi đếm bất kì theo mong muốn của người thiết kế Bộ đếm đồng bộ thường sử dụng trong các mạch có tần số cao 36
- Phân tích bộ đếm đồng bộ (Analyze Synchronous Counters) Ví dụ: Phân tích mạch đếm ở hình bên Bước 2: Lập bảng chuyển trạng thái S1 = Q’1Q’0 R1 = Q1 S0 = Q’0 Bảng sự thật FF-S_R Bảng chuyển trạng thái R0 = Q’1 Q0 TTHT: Trạng thái hiện tại (Current State) TTKT: Trạng thái kế tiếp (Next State) 38
- Thiết kế bộ đếm đồng bộ (Design Synchronous Counter) • Bộ đếm đồng bộ có thể được thiết kế để tạo ra chuỗi đếm bất kì theo mong muốn của người thiết kế • Thiết kế bộ đếm đồng bộ? 40
- Mô tả đầy đủ của FF-D Ký hiệu Bảng sự thật Bảng đặc tính Bảng kích thích Phương trình đặc tính 42
- Mô tả đầy đủ của FF-S_R Ký hiệu Bảng sự thật Bảng đặc tính Bảng kích thích Phương trình đặc tính 44
- Thiết kế bộ đếm đồng bộ Ví dụ: Sử dụng FF-J_K để thiết kế một bộ đếm 3-bit có chuỗi đếm như bảng bên cạnh C B A 0 0 0 0 0 1 Lưu ý: Thuộc tính (đếm lên/xuống) của bộ đếm 0 1 0 đồng bộ chỉ phụ thuộc vào trạng thái hiện tại và 0 1 1 trạng thái kế tiếp mà không quan tâm đến tính chất của FF (kích cạnh lên/xuống) 1 0 0 Khác với bộ đếm bất đồng bộ 0 0 0 etc. Bước 1: Tìm số FF nhỏ nhất thỏa yêu cầu bài toán Ví dụ này đã chỉ ra sử dụng 3 FF ngay trong đề 46
- Thiết kế bộ đếm đồng bộ Bước 3: Lập bảng trạng thái (state table) - sử dụng biểu đồ chuyển trạng thái để lập một bảng bao gồm các trạng thái hiện tại và trạng thái kế CBA Bảng trạng thái của mạch 48
- Thiết kế bộ đếm đồng bộ Bước 5: Sử dụng bìa Karnaugh (bìa K) để tìm phương trình ngõ vào của các FF được sử dụng 50
- Câu hỏi thảo luận? Đúng hay Sai? 1. Thiết kế bộ đếm đồng bộ để thực hiện chuỗi đếm sau: 0010, 0011, 0100, 0111, 1010, 1111, và lặp lại. 2. Thiết kế bộ đếm đồng bộ để thực hiện chuỗi đếm sau: 00100010,, 0011, 01000100,, 0111, 1010, 0100, 1111 và lặp lại.lại Đáp án: 1. Đúng (có thể thiết kế được) 2. Sai (không thiết kế được) Trạng thái “0100” đã xuất hiện 2 lần trong chu trình đếm. 52
- Câu hỏi thảo luận? • Thế nào là bộ đếm có khả năng định giá trị ban đầu? • Mô tả sự khác nhau giữa định giá trị theo kiểu đồng bộ (synchornous presetting) và theo kiểu bất đồng bộ (asynchronous presetting)? 54
- Thanh ghi (Registers) 56
- Truyền dữ liệu thanh ghi (Register Data Transfer) Ngõ vào song song - ngõ ra song song (PIPO) (Parallel in/parallel out) 58
- Truyền dữ liệu thanh ghi (Register Data Transfer) Ngõ vào song song - ngõ ra nối tiếp (PISO) (Parallel in/serial out) SH/LD = 0 parallel in/serial out SH/LD = 1 serial in/serial out 60
- Bộ đếm thanh ghi dịch (Shift Register Counter) • Bộ đếm thanh ghi dịch sử dụng feedback—dữ liệu ngõ ra của FF cuối được kết nối ngược lại ngõ vào của FF đầu tiên 62
- Bộ đếm thanh ghi dịch Bộ đếm vòng tròn (Ring counter) • Tần số tại ngõ ra của mỗi FF bằng 1/N tần số xung Clock đối với bộ đếm vòng tròn MOD-N – Bộ đếm vòng tròn MOD-N cần N flip-flop – Bộ đếm vòng tròn yêu cầu nhiều FF hơn bộ đếm Binary thông thường có cùng hệ số đếm (ví dụ: MOD-8 cần 8 FF so với 3 FF trong bộ đếm thông thường) – Sự giải mã cho mỗi trạng thái đạt được bằng cách lấy giá trị ngõ ra tương ứng của mỗi FF mà không cần dùng đến mạch giải mã. • Để hoạt động chính xác, bộ đếm vòng tròn phải bắt đầu với chỉ một FF có ngõ ra bằng 1 và các FF còn lại có ngõ ra bằng 0. – Khi mới bật nguồn, giá trị của các FF sẽ không dự đoán được, bộ đếm sẽ sử dụng chân Preset để định giá trị cho một FF và chân Clear để xóa các FF còn lại trước khi xung Clock được đưa vào 64
- Bộ đếm thanh ghi dịch Bộ đếm Jonhson (Jonhson counter) • Với hệ số bộ đếm là N (N là số chẵn), bộ đếm Johnson chỉ cần N/2 flip-flop • Dạng sóng ở ngõ ra của mỗi FF là một xung vuông (50% duty cycle) và tần số bằng 1/N tần số của xung Clock • Dạng sóng ở ngõ ra của mỗi FF sẽ bị dịch đi một chu kì so với dạng sóng ở ngõ ra của FF trước nó (giống bộ đếm vòng tròn) Bộ đếm Johnson 3-bit (MOD-6) (Q0: MSB, Q2: LSB) Dạng sóng của bộ đếm Jonhson 66
- Câu hỏi thảo luận? 1. Bộ đếm thanh ghi dịch cần nhiều FF hơn bộ đếm Binary thông thường với cùng hệ số bộ đếm (MOD number)? 2. Bộ đếm thanh ghi dịch cần mạch giải mã phức tạp hơn bộ đếm Binary thông thường? 3. Làm sao để chuyển đổi bộ đếm vòng tròn sang bộ đếm Johnson? 4. Đúng hay Sai? a) Ngõ ra của bộ đếm vòng tròn luôn luôn là xung vuông b) Mạch giải mã cho bộ đếm Johnson đơn giản hơn bộ đếm Binary thông thường? c) Bộ đếm vòng tròn và Johnson là bộ đếm đồng bộ? 5. Cần bao nhiêu FF để thiết kế bộ đếm vòng tròn MOD-16? Bộ đếm Johnson MOD-16? 68