BCD 카운터 회로
BCD 카운터는 클록 신호를 적용하면 10까지 셀 수 있는 특별한 유형의 디지털 카운터입니다.
우리는 이전에 토글 T형 플립플롭이 개별적인 2분할 카운터로 사용될 수 있다는 것을 보았습니다. 여러 개의 토글 플립플롭을 직렬 체인으로 연결하면 특정 카운트 시퀀스가 발생한 횟수를 저장하거나 표시하는 디지털 BCD 카운터를 생성할 수 있습니다.
클록 T형 플립플롭은 이진수 분할 카운터 역할을 하며 비동기 카운터에서는 한 카운팅 단계의 출력이 다음 단계에 대한 클록 펄스를 제공합니다. 그런 다음 플립플롭 카운터에는 두 가지 가능한 출력 상태가 있으며 더 많은 플립플롭 단계를 추가하여 2N으로 나누는 카운터를 만들 수 있습니다 . 그러나 4비트 이진 카운터의 문제점은 0000 부터 1111 까지 계산된다는 것입니다 . 즉, 십진수로 0부터 15까지입니다.
1부터 10까지 계산하는 디지털 카운터를 만들려면 카운터가 이진수 0000 부터 1001 까지만 계산해야 합니다 . 이는 10진수로 0부터 9까지이며 다행히도 카운팅 회로는 비동기식 74LS90 10진 카운터 와 같은 회로를 갖춘 집적 회로로 쉽게 사용할 수 있습니다 .
디지털 카운터는 클록 신호를 적용할 때 0부터 미리 결정된 카운트 값까지 위쪽으로 카운트됩니다. 카운트 값에 도달하면 재설정하면 카운터가 다시 0으로 돌아가 다시 시작됩니다.
10진 카운터는 10을 순서대로 세고 9를 세고 나면 다시 0으로 돌아갑니다. 분명히 이진수 값 9까지 계산하려면 카운터는 표시된 대로 각 소수점 자리를 표시하기 위해 체인 내에 최소한 4개의 플립플롭을 가져야 합니다.
BCD 카운터 상태 다이어그램
그런 다음 10진 카운터에는 4개의 플립플롭과 16개의 잠재적 상태가 있으며 그중 10개만 사용되며 일련의 카운터를 함께 연결하면 100 또는 1,000 또는 우리가 선택한 최종 카운트 숫자로 셀 수 있습니다.
카운터가 셀 수 있는 총 카운트 수를 MODULUS 라고 합니다 . n 카운트 후에 0으로 돌아가는 카운터를 모듈로-n 카운터 라고 합니다 . 예를 들어 모듈로-8(MOD-8) 또는 모듈로-16(MOD-16) 카운터 등이며 "n비트 카운터의 경우" ”, 카운트의 전체 범위는 0 부터 2n-1까지 입니다 .
그러나 비동기 카운터 튜토리얼에서 본 것처럼 이진수 0000 ( 십진수 "0")부터 1001 (십진수 "9") 까지 10으로 나누는 카운트 시퀀스를 사용하여 10회 카운트 후에 재설정되는 카운터를 "이진수"라고 합니다. -coded-decimal counter” 또는 줄여서 BCD 카운터 및 MOD-10 카운터는 최소 4개의 토글 플립플롭을 사용하여 구성할 수 있습니다.
10 상태 시퀀스가 BCD 코드의 시퀀스이고 직선 이진 카운터와 달리 규칙적인 패턴을 가지지 않기 때문에 BCD 카운터라고 합니다. 그런 다음 74LS90과 같은 단일 스테이지 BCD 카운터는 십진수 0부터 십진수 9까지 계산하므로 최대 9개의 펄스까지 계산할 수 있습니다. 또한 디지털 카운터는 입력 제어 신호에 따라 카운트 업, 카운트 다운 또는 카운트 업 및 다운(양방향)할 수 있습니다.
2진화-10진수 코드는 4개의 2진수로 구성된 8421 코드입니다. 8421 지정은 사용된 4자리 숫자 또는 비트의 이진 가중치를 나타냅니다. 예를 들어, 2 3 = 8, 2 2 = 4, 2 1 = 2 및 2 0 = 1입니다. BCD 코드의 가장 큰 장점은 10진수와 2진수 형식의 숫자를 쉽게 변환할 수 있다는 것입니다.
74LS90 BCD 카운터
74LS90 집적 회로는 기본적으로 BCD 출력 코드를 생성하는 MOD-10 10진 카운터입니다. 74LS90은 MOD-2(2까지 카운트) 카운터와 MOD-5(5까지 카운트) 카운터를 제공하기 위해 내부적으로 연결된 4개의 마스터-슬레이브 JK 플립플롭으로 구성됩니다. 74LS90에는 표시된 대로 CLK A 입력에 의해 구동되는 1개의 독립 토글 JK 플립플롭과 CLK B 입력 에 의해 구동되는 비동기 카운터를 형성하는 3개의 토글 JK 플립플롭이 있습니다.
74LS90 BCD 카운터
카운터의 4개 출력은 BCD 카운터 회로 코드에서 해당 비트의 이진 가중치와 동일한 숫자 아래 첨자와 함께 문자 기호 Q 로 지정됩니다. 예를 들어 Q A , Q B , Q C 및 Q D 입니다. 74LS90 카운팅 시퀀스는 클럭 신호의 음의 상승 에지, 즉 클럭 신호 CLK가 로직 1(HIGH)에서 로직 0(LOW)으로 바뀔 때 트리거됩니다.
추가 입력 핀 R 1 및 R 2 는 카운터 "재설정" 핀이고 입력 S 1 및 S 2 는 "설정" 핀입니다. 논리 1에 연결되면 재설정 입력 R 1 및 R 2는 카운터를 다시 0, 0( 0000 )으로 재설정하고, 설정 입력 S 1 및 S 2 가 논리 1에 연결되면 카운터를 최대로 설정합니다. 실제 카운트 수나 위치에 관계없이 9 ( 1001 )입니다.
이전에 말했듯이 74LS90 카운터는 동일한 패키지 내에서 2분할 카운터와 5분할 카운터로 구성됩니다. 그런 다음 두 카운터 중 하나를 사용하여 2로 나누기 주파수 카운터만 생성하거나 5로 나누기 주파수 카운터만 생성하거나 두 카운터를 함께 사용하여 원하는 10으로 나누기 BCD 카운터를 생성할 수 있습니다.
5로 나누기 카운터 섹션을 구성하는 4개의 플립플롭이 비활성화된 상태에서 클록 신호가 입력 핀 14( CLK A )에 적용되고 핀 12( Q A ) 에서 가져온 출력을 사용하면 표준 나누기를 생성할 수 있습니다. 그림과 같이 주파수 분할 회로에 사용하기 위한 x2 이진 카운터.
74LS90 2분할 카운터
표준 5로 나누기 카운터를 생성하려면 위의 첫 번째 플립플롭을 비활성화하고 그림과 같이 핀 11( Q D )에서 출력 신호를 가져오면서 클럭 입력 신호를 핀 1( CLK B )에 직접 적용할 수 있습니다. .
74LS90 5분할 카운터
이 5로 나누기 카운터 구성을 사용하면 출력 파형이 대칭이 아니지만 마크 공간 비율이 4:1입니다. 즉, 4개의 입력 클록 신호는 LOW 또는 논리 "0" 출력을 생성하고 다섯 번째 입력 클록 신호는 HIGH 또는 논리 "1" 출력을 생성합니다.
10 BCD 10진 카운터를 생성하려면 두 내부 카운터 회로 모두를 사용하여 2×5 분할 값을 제공합니다. 플립플롭 " A "의 첫 번째 출력 QA 는 내부적으로 다음 단계에 연결되어 있지 않으므로 그림과 같이 이 QA 출력 을 CLK B 입력 에 연결하여 카운터를 확장하여 4비트 BCD 카운터를 형성할 수 있습니다.
74LS90 10분할 카운터
그러면 BCD 카운터는 0000 부터 1001 까지 계산 한 다음 9번째 카운트 이후 모든 플립플롭을 지울 수 있으므로 재설정되는 이진 카운터라는 것을 알 수 있습니다 . 푸시버튼 스위치( SW 1 )를 클록 입력 CLK A 에 연결하면 푸시버튼 스위치를 놓을 때마다 카운터가 1씩 계산됩니다. 그림과 같이 발광 다이오드(LED)를 출력 단자 Q A , Q B , Q C 및 Q D 에 연결하면 발생하는 이진 코드 십진수 카운트를 볼 수 있습니다.
74LS90 BCD 10년 카운터
푸시 버튼 스위치인 SW 1 을 연속적으로 적용 하면 카운트가 최대 9, 1001까지 증가합니다. 10번째 적용에서 출력 ABCD 는 다시 0으로 재설정되어 새로운 카운트 시퀀스를 시작합니다. 이러한 MOD-10 라운드 펄스 수를 사용하면 10진 카운터를 사용하여 디지털 디스플레이를 구동할 수 있습니다.
7세그먼트 디스플레이를 사용하여 카운트 시퀀스를 표시하려면 BCD 출력을 표시하기 전에 적절하게 디코딩해야 합니다. 74LS90 BCD 카운터의 4개 출력을 디코딩하고 디스플레이의 필요한 세그먼트를 밝힐 수 있는 디지털 회로를 디코더라고 합니다 .
디스플레이 구동
다행히도 이를 수행하기 위해 누군가 이미 74LS47과 같은 BCD-7세그먼트 디스플레이 디코더 IC를 설계하고 개발했습니다. 74LS47에는 BCD 숫자 A , B , C 및 D 에 대한 4개의 입력 과 7세그먼트 디스플레이의 각 세그먼트에 대한 출력이 있습니다.
표준 7세그먼트 LED 디스플레이에는 일반적으로 각 LED 세그먼트에 하나씩, 모든 내부 디스플레이 세그먼트에 대한 공통 터미널 또는 연결 역할을 하는 8개의 입력 연결이 있습니다. 일부 디스플레이에는 소수점(DP) 옵션도 있습니다.
74LS47 BCD - 7세그먼트 드라이버
74LS47 디스플레이 디코더는 BCD 코드를 수신하고 적용된 펄스 수를 표시하는 적절한 LED 세그먼트를 활성화하는 데 필요한 신호를 생성합니다. 74LS47 디코더는 공통 양극 디스플레이를 구동하도록 설계되었으므로 LOW(논리-0) 출력은 LED 세그먼트를 밝히고 HIGH(논리-1) 출력은 이를 "OFF"로 바꿉니다. 정상적인 작동을 위해서는 LT (램프 테스트), BI/RBO (블랭킹 입력/리플 블랭킹 출력) 및 RBI (리플 블랭킹 입력)가 모두 열려 있거나 로직 1(HIGH)에 연결되어야 합니다.
74LS47에는 활성 LOW 출력이 있고 공통 양극 7세그먼트 LED 디스플레이를 디코딩하도록 설계되었지만 74LS48 디코더/드라이버 IC는 공통 음극 7세그먼트 디스플레이를 디코딩하도록 설계된 활성 HIGH 출력이 있다는 점을 제외하면 완전히 동일합니다. 따라서 7세그먼트 LED 디스플레이 유형에 따라 74LS47 또는 74LS48 디코더 IC가 필요할 수 있습니다.
74LS47 이진 코드 십진 입력은 74LS90 BCD 카운터의 해당 출력에 연결되어 푸시 버튼 SW1 을 누를 때마다 표시된 대로 7세그먼트 디스플레이에 카운트 순서를 표시할 수 있습니다 . 푸시 버튼과 1kΩ 저항의 위치를 변경하면 푸시 버튼 스위치 SW1 의 활성화 또는 해제 시 카운트가 변경될 수 있습니다 .
최종 4비트 BCD 카운터 회로
7세그먼트 디스플레이는 7개의 개별 발광 다이오드로 구성되어 디스플레이를 구성합니다. 7개 세그먼트 디스플레이를 통해 전류를 제한하는 가장 좋은 방법은 그림과 같이 7개 LED 각각과 직렬로 전류 제한 저항기를 사용하는 것입니다. 하지만 우리는 이를 두 가지 방법으로 할 수 있습니다.
전류 제한 저항기
단일 저항기 – 여기서는 단일 직렬 전류 제한 저항기 R이 사용됩니다. 일정한 디스플레이 밝기에 특별히 관심이 없다면 이것이 7세그먼트 디스플레이를 제어하는 가장 쉽고 간단한 옵션입니다.
LED에서 방출되는 빛의 양은 장치를 통과하는 전류에 따라 달라지며, 저항기를 통해 흐르는 전류는 디스플레이 세그먼트 수 간에 공유됩니다. 그러면 디스플레이의 밝기는 동시에 조명되는 세그먼트 수에 따라 달라집니다.
다중 저항기 - 위의 간단한 BCD 카운터 회로에 표시된 것처럼 각 세그먼트에는 자체 전류 제한 저항기가 있습니다.
일반적으로 7세그먼트 디스플레이는 세그먼트를 밝히는 데 약 12~20mA가 필요하므로 전류 제한 저항기(모두 동일함)의 저항 값은 전류를 이 값 내로 제한하도록 선택됩니다. 40mA 이상으로 구동할 경우 일부 디스플레이가 파손될 수 있습니다.
여기서의 장점은 특정 LED 세그먼트의 밝기가 다른 6개 LED의 상태에 의존하지 않고 디스플레이에 일정한 밝기를 제공한다는 것입니다. 주변광의 양에 따라 필요한 LED 강도도 결정되므로 정확한 밝기 양을 제공하기 위해 전류 제한 저항기의 값을 선택할 수 있습니다.
우리 회로는 74LS90 BCD 카운터 와 74LS47 7세그먼트 디스플레이 드라이버를 사용하는 간단한 0~9 디지털 카운터를 보여줍니다 . 10 이상을 세고 2자리 10진수 카운터와 디스플레이를 생성하려면 두 개의 별도 10으로 나누기 카운터를 함께 계단식으로 연결해야 합니다. 2자리 BCD 카운터는 00부터 99까지(0000 0000부터 1001 1001) 10진수로 계산된 다음 다시 00으로 재설정됩니다. 2자리 카운터이기는 하지만 A부터 F 까지 의 16진수 숫자를 나타내는 값은 그렇지 않습니다. 이 코드에서는 유효합니다.
마찬가지로 0에서 999까지(0000 0000 0000에서 1001 1001 1001)까지 계산하려면 3개의 계단식 10진 카운터가 필요합니다. 실제로 여러 개의 10진 카운터는 그림과 같이 개별 BCD 카운터 회로를 10년마다 하나씩 계단식으로 연결하여 간단하게 구성할 수 있습니다.
00부터 99까지의 2자리 BCD 카운터
BCD 카운터 요약
이 튜토리얼에서 우리는 BCD 카운터가 클록될 때 10개의 상태 시퀀스를 거치고 9를 카운트한 후 0으로 돌아가는 장치라는 것을 확인했습니다 . 위의 간단한 예에서 입력 클록 펄스는 푸시 버튼에서 나옵니다. 스위치이지만 카운터는 움직이는 물체 계산과 같은 많은 실제 이벤트를 계산하는 데 사용할 수 있습니다.
그러나 이러한 이벤트는 개별 시간 간격으로 발생할 수도 있고 완전히 무작위로 발생할 수도 있으므로 계산할 각 이벤트에 대한 전기 펄스를 생성하려면 적절한 회로가 필요할 수 있습니다.
많은 디지털 전자 회로 및 애플리케이션에서 디지털 카운터는 토글 플립플롭이나 필요한 스위칭 기능을 제공하기 위해 연결할 수 있는 다른 유형의 플립플롭을 사용하거나 74LS90과 같은 전용 카운팅 IC를 사용하여 구현됩니다. 이진 카운터는 이진 시퀀스를 통과하는 카운터이며 n비트 이진 카운터는 0부터 2n-1까지 계산되는 "n"개의 플립플롭으로 구성됩니다.
BCD 카운터는 10가지 상태의 순서를 따르며 0000 부터 1001까지 의 BCD 번호를 사용하여 계산 한 다음 0000 으로 돌아가서 반복됩니다. 이러한 카운터에는 각 십진수를 나타내기 위해 최소한 4개의 플립플롭이 있어야 합니다. 왜냐하면 십진수는 MOD-10 카운트를 제공하는 최소 4비트의 이진 코드로 표시되기 때문입니다.
우리는 또한 BCD 코딩 출력이 4개의 LED나 디지털 디스플레이를 사용하여 표시될 수 있음을 확인했습니다. 그러나 0부터 9까지의 각 숫자를 표시하려면 이진 코드 숫자 표현을 각 디스플레이 세그먼트의 적절한 논리 레벨로 변환하는 디코더 회로가 필요합니다.
디스플레이 디코더 회로는 조합 논리 소자로 구성할 수 있으며 74LS47 BCD - 7세그먼트 디코더/드라이버 IC와 같이 이 기능을 수행하는 전용 집적 회로가 시중에 많이 나와 있습니다.
대부분의 7세그먼트 디스플레이는 일반적으로 여러 자리 계산 응용 분야에 사용되므로 더 많은 BCD 카운터를 함께 계단식으로 연결하면 최대 판독값이 9999인 디스플레이를 제공하는 4자리 카운터를 구성할 수 있습니다.
74LS90 BCD 카운터는 매우 유연한 카운팅 회로이며 주파수 분배기로 사용하거나 적절한 출력을 IC의 Reset 및 Set 입력에 다시 공급하여 정수 카운트를 2에서 9까지 나누도록 만들 수 있습니다.