Mạch đếm đồng bộ là gì?
Mạch đếm đồng bộ, trái ngược với mạch đếm không đồng bộ, là mạch đếm có các bit đầu ra thay đổi trạng thái đồng thời, không có gợn sóng.
Cách duy nhất chúng ta có thể xây dựng một mạch đếm như vậy từ flip-flops J-K là kết nối tất cả các đầu vào đồng hồ với nhau, để mỗi và mọi flip-flop nhận được cùng một xung đồng hồ chính xác tại cùng một thời điểm:
Bây giờ câu hỏi là, chúng ta làm gì với đầu vào J và K? Chúng ta vẫn phải duy trì cùng một mẫu tần số chia cho hai để đếm trong một chuỗi nhị phân và mẫu này đạt được tốt nhất bằng cách sử dụng chế độ "bật tắt" của flip-flop, vì vậy thực tế là đầu vào J và K đều phải (tại thời điểm) "cao" là rõ ràng.
Tuy nhiên, nếu chúng ta chỉ đơn giản kết nối tất cả các đầu vào J và K với đường dương của nguồn điện như trong mạch không đồng bộ, điều này rõ ràng sẽ không hoạt động vì tất cả các flip-flop sẽ chuyển đổi cùng một lúc với mỗi xung đồng hồ!
Chúng ta hãy kiểm tra lại chuỗi đếm nhị phân 4 bit và xem liệu có bất kỳ mẫu nào khác dự đoán sự chuyển đổi của một bit hay không.
Thiết kế mạch đếm không đồng bộ dựa trên thực tế là mỗi bit chuyển đổi xảy ra cùng lúc mà bit trước đó chuyển từ “cao” sang “thấp” (từ 1 đến 0).
Vì chúng ta không thể đồng hồ hóa việc chuyển đổi một bit dựa trên việc chuyển đổi một bit trước đó trong mạch đếm đồng bộ (làm như vậy sẽ tạo ra hiệu ứng gợn sóng), chúng ta phải tìm một số mẫu khác trong chuỗi đếm có thể được sử dụng để kích hoạt một bit chuyển đổi:
Kiểm tra chuỗi đếm nhị phân 4 bit, có thể thấy một mẫu dự đoán khác.
Lưu ý rằng ngay trước khi bit chuyển đổi, tất cả các bit trước đó đều là "cao"
Mẫu này cũng là thứ chúng ta có thể khai thác trong việc thiết kế mạch đếm.
Mạch đếm lên đồng bộ
Nếu chúng ta cho phép mỗi flip-flop JK chuyển đổi dựa trên việc tất cả các đầu ra flip-flop trước (Q) có "cao" hay không, chúng ta có thể nhận được cùng một chuỗi đếm như mạch không đồng bộ mà không có hiệu ứng gợn sóng, vì mỗi flip-flop trong mạch này sẽ được đồng hồ chính xác tại cùng một thời điểm:
Kết quả là một bộ đếm lên đồng bộ 4 bit. Mỗi flip flop có bậc cao hơn được tạo sẵn sàng để chuyển đổi (cả đầu vào J và K là “cao”) nếu đầu ra Q của tất cả các flip flop trước là “cao”.
Nếu không, các đầu vào J và K cho flip-flop đó đều sẽ ở mức “thấp”, đặt nó vào chế độ “chốt” nơi nó sẽ duy trì trạng thái đầu ra hiện tại ở xung đồng hồ tiếp theo.
Vì flip-flop (LSB) đầu tiên cần chuyển đổi ở mọi xung đồng hồ, đầu vào J và K của nó được kết nối với Vcc hoặc Vdd, nơi chúng sẽ luôn ở mức “cao”.
Flip flop tiếp theo chỉ cần “nhận biết” rằng đầu ra Q của flip flop đầu tiên cao để sẵn sàng chuyển đổi, vì vậy không cần cổng AND.
Tuy nhiên, các flip-flop còn lại chỉ nên sẵn sàng chuyển đổi khi tất cả các bit đầu ra bậc thấp hơn là “cao”, do đó cần có cổng AND.
Mạch đếm xuống đồng bộ
Để tạo một bộ đếm xuống đồng bộ, chúng ta cần xây dựng mạch để nhận ra các mẫu bit thích hợp dự đoán từng trạng thái bật tắt trong khi đếm ngược.
Không có gì đáng ngạc nhiên, khi chúng ta kiểm tra chuỗi đếm nhị phân 4 bit, chúng ta thấy rằng tất cả các bit trước đó đều "thấp" trước khi chuyển đổi (theo trình tự từ dưới lên trên):
Vì mỗi flip flop JK đều có đầu ra Q 'cũng như đầu ra Q, chúng ta có thể sử dụng đầu ra Q' để bật chế độ bật tắt trên mỗi flip flop tiếp theo, tức là mỗi Q 'sẽ "cao" mỗi thời gian mà Q tương ứng là "thấp"
Mạch đếm với các chế độ đếm lên và xuống có thể lựa chọn
Thực hiện ý tưởng này thêm một bước nữa, chúng ta có thể xây dựng một mạch đếm có thể lựa chọn giữa chế độ đếm lên và xuống bằng cách có hai dòng cổng AND phát hiện các điều kiện bit thích hợp cho chuỗi đếm lên và xuống tương ứng, sau đó sử dụng cổng OR để kết hợp đầu ra cổng AND với đầu vào J và K của mỗi flip-flop tiếp theo:
Mạch này không phức tạp lắm. Dòng đầu vào điều khiển lên hoặc xuống chỉ đơn giản cho phép chuỗi trên hoặc chuỗi dưới của cổng AND chuyển các đầu ra Q / Q ’đến các giai đoạn tiếp theo của flip-flop.
Nếu dòng điều khiển lên hoặc xuống là “cao”, các cổng AND trên cùng sẽ được bật và mạch hoạt động giống hệt như mạch đếm đồng bộ đầu tiên (“lên”) được trình bày trong phần này.
Nếu dòng điều khiển lên xuống được đặt ở mức “thấp”, các cổng AND phía dưới sẽ được bật và mạch hoạt động giống hệt với mạch thứ hai (bộ đếm “xuống”) được trình bày trong phần này.
Để minh họa, đây là sơ đồ mạch ở chế độ đếm "lên" (tất cả các mạch bị vô hiệu hóa được hiển thị bằng màu xám chứ không phải màu đen):
Ở đây là chế độ đếm "xuống", với cùng một màu xám đại diện cho mạch bị tắt:
Mạch đếm lên xuống là thiết bị rất hữu ích. Một ứng dụng phổ biến là trong điều khiển chuyển động của máy, trong đó các thiết bị được gọi là bộ mã hóa trục quay chuyển đổi chuyển động quay cơ học thành một chuỗi các xung điện, các xung này "tạo nhịp" cho mạch đếm để theo dõi chuyển động tổng:
Khi máy di chuyển, nó quay trục bộ mã hóa, tạo ra và phá vỡ chùm ánh sáng giữa LED và phototransistor, do đó tạo ra các xung đồng hồ để tăng mạch đếm.
Do đó, bộ đếm tích hợp, hoặc tích lũy tổng chuyển động của trục, đóng vai trò như một chỉ báo điện tử cho biết máy đã di chuyển bao xa.
Nếu tất cả những gì chúng ta quan tâm là theo dõi tổng chuyển động và không quan tâm đến những thay đổi về hướng chuyển động, thì cách sắp xếp này sẽ đủ.
Tuy nhiên, nếu chúng ta muốn bộ đếm tăng theo một hướng chuyển động và giảm theo hướng ngược lại của chuyển động, chúng ta phải sử dụng bộ đếm lên xuống và mạch mã hóa / giải mã có khả năng phân biệt giữa các hướng khác nhau.
Nếu chúng ta thiết kế lại bộ mã hóa để có hai bộ cặp LED / phototransistor, các cặp đó được căn chỉnh sao cho tín hiệu đầu ra sóng vuông của chúng lệch pha với nhau 90o, chúng ta có cái được gọi là bộ mã hóa đầu ra vuông góc.
Một mạch phát hiện pha có thể được tạo ra từ một flip-flop loại D, để phân biệt chuỗi xung theo chiều kim đồng hồ với chuỗi xung ngược chiều kim đồng hồ:
Khi bộ mã hóa quay theo chiều kim đồng hồ, sóng vuông của tín hiệu đầu vào “D” sẽ dẫn đầu sóng vuông đầu vào “C”, có nghĩa là đầu vào “D” đã ở mức “cao” khi “C” chuyển từ “thấp” sang "Cao", do đó thiết lập flip-flop loại D (làm cho đầu ra Q "cao") với mọi xung đồng hồ.
Đầu ra Q “cao” đặt bộ đếm vào chế độ đếm “lên” và bất kỳ xung đồng hồ nào mà đồng hồ nhận được từ bộ mã hóa (từ một trong hai đèn LED) sẽ tăng giá trị đó.
Ngược lại, khi bộ mã hóa đảo ngược vòng quay, đầu vào “D” sẽ tụt so với dạng sóng đầu vào “C”, có nghĩa là nó sẽ ở mức “thấp” khi dạng sóng “C” chuyển từ “thấp” sang “cao”, buộc D - loại flip-flop vào trạng thái thiết lập lại (làm cho đầu ra Q ở mức “thấp”) với mọi xung đồng hồ.
Tín hiệu “thấp” này ra lệnh cho mạch đếm giảm dần theo mỗi xung đồng hồ từ bộ mã hóa.
Mạch này là trung tâm của mọi mạch đo vị trí dựa trên cảm biến mã hóa xung.
Các ứng dụng như vậy rất phổ biến trong chế tạo rô bốt, điều khiển máy công cụ CNC và các ứng dụng khác liên quan đến việc đo chuyển động cơ học, thuận nghịch.
>>> Liên hệ ngay với Điện Tử Tương Lai nếu bạn cần thiết kế mạch điện tử theo yêu cầu
Hotline: 0979 466 469