전자일기

MOD 카운터

전자김치 2024. 2. 2. 13:22
320x100

MOD 카운터

MOD 카운터는 재설정하기 전에 설정된 모듈러스 값까지 계산하는 계단식 카운터 회로입니다.

카운터의 역할은 각 클록 펄스마다 카운터의 내용을 1카운트씩 증가시켜 계산하는 것입니다. 클록 입력에 의해 활성화될 때 숫자나 상태의 순서를 앞당기는 카운터를 "카운트업" 모드에서 작동한다고 합니다. 마찬가지로, 클록 입력에 의해 활성화될 때 숫자 또는 상태의 순서를 감소시키는 카운터를 "카운트다운" 모드에서 작동한다고 합니다. UP 및 DOWN 모드 모두에서 작동하는 카운터를 양방향 카운터라고 합니다.

카운터는 외부 타이밍 펄스 또는 클록 신호에 의해 활성화되거나 트리거되는 순차 논리 장치입니다. 카운터는 동기 회로 또는 비동기 회로로 작동하도록 구성될 수 있습니다. 동기식 카운터를 사용하면 모든 데이터 비트가 클록 신호 적용과 동시에 변경됩니다. 비동기 카운터 회로는 입력 클록과 독립적이므로 데이터 비트는 서로 다른 시간에 하나씩 상태를 변경합니다.

그런 다음 카운터는 외부 클록(CLK) 신호에 의해 트리거되는 미리 결정된 카운팅 상태 시퀀스를 따르는 순차 논리 장치입니다. 특정 카운터가 원래의 첫 번째 상태로 다시 돌아가기 전에 진행되는 상태 또는 카운팅 시퀀스의 수를 모듈러스 ( MOD)라고 합니다. 즉, 모듈러스(또는 그냥 모듈로)는 카운터가 계산하는 상태의 수이며 카운터를 나누는 수입니다.

모듈러스 카운터(Modulus Counters) 또는 간단히 MOD 카운터(Modulus Counters) 는 카운터가 원래 값으로 돌아가기 전에 거치는 상태 수를 기반으로 정의됩니다. 예를 들어, 이진수로 00 2 ~ 11 2 , 즉 십진수로 0 ~ 3을 계산하는 2비트 카운터의 모듈러스 값은 4(00 → 01 → 10 → 11이고 다시 00으로 돌아옴)입니다. 따라서 modulo-4 또는 mod-4 카운터라고 합니다. 또한 00에서 11까지 도달하는 데 4개의 클럭 펄스가 필요하다는 점에 유의하세요.

 

이 간단한 예에는 비트가 2개만 있으므로(n = 2) 카운터에 가능한 최대 출력 상태 수(최대 모듈러스)는 2n = 2 2 또는 4입니다. 그러나 카운터  다음과 같이 계산하도록 설계할 수 있습니다. 단일 모듈러스 또는 MOD-N 카운터를 생성하기 위해 여러 계산 단계를 함께 계단식으로 연결하여 시퀀스에 있는 2n개의 상태를 원하는 수만큼 생성 합니다 .

따라서 "Mod-N" 카운터에는 2n개의 서로 다른 출력 상태를 제공하면서 단일 데이터 비트를 계산하기 위해 함께 연결된 "N"개의 플립플롭이 필요합니다 ( n은 비트 수). N은 항상 정수 값입니다.

MOD 카운터는 사용된 플립플롭의 수에 따라 n비트 카운터를 생성하기 위해 2의 적분 거듭제곱인 모듈러스 값, 즉 2, 4, 8, 16 등을 갖고 있음을 알 수 있습니다. 연결 방법에 따라 카운터의 유형과 모듈러스가 결정됩니다.

D형 플립플롭

MOD 카운터는 "플립플롭"을 사용하여 만들어지며 단일 플립플롭은 0 또는 1의 카운트를 생성할 수 있으며 최대 2개의 카운트를 제공합니다. 사용할 수 있는 플립플롭 디자인에는 SR, JK 등 다양한 유형이 있습니다. , JK 마스터-슬레이브, D형 또는 심지어 T형 플립플롭을 사용하여 카운터를 구성합니다. 하지만 단순화를 위해 데이터 래치라고도 알려진 D형 플립플롭(DFF)을 사용하겠습니다. 단일 데이터 입력과 외부 클록 신호가 사용되고 포지티브 에지가 트리거되기 때문입니다.

TTL 74LS74와 같은 D형 플립플롭은 포지티브 에지 또는 리딩 에지(0에서 1 전환)에서 상태를 변경하려는지 여부에 따라 SR 또는 JK 기반 에지 트리거 플립플롭으로 만들 수 있습니다. ) 또는 클록 펄스의 음수 또는 후행 에지(1에서 0으로의 전환)에 있습니다. 여기서는 포지티브 리딩 에지 ​​트리거 플립플롭을 가정합니다. D형 플립플롭 에 대한 자세한 내용은 다음 링크에서 확인할 수 있습니다 .

D형 플립플롭과 진리표

D형 플립플롭(DFF)의 작동은 "D"라고 하는 단일 데이터 입력과 추가 클록 "CLK" 입력만 있기 때문에 매우 간단합니다. 이를 통해 단일 데이터 비트(0 또는 1)가 클록 신호의 제어 하에 저장될 수 있으므로 입력의 데이터가 플립플롭의 출력으로만 전송되기 때문에 D형 플립플롭을 동기식 장치로 만들 수 있습니다. 클럭 펄스의 에지를 트리거합니다.

따라서 진리표에서 양의 클록 펄스가 적용될 때 데이터 입력에 논리 "1"(HIGH)이 있으면 플립플롭 SET은 논리 "1"을 "Q"에 저장하고 무료 " Q 에서 0”입니다 . 마찬가지로, 또 다른 양의 클록 펄스가 적용될 때 데이터 입력에 LOW가 있는 경우 플립플롭 RESET은 "Q"에 "0"을 저장하고 Q 에 결과 "1"을 저장합니다 .

그런 다음 D형 플립플롭의 출력 "Q"는 클록(CLK) 입력이 HIGH일 때 입력 "D"의 값에 응답합니다. 클록 입력이 LOW이면 "Q" 조건("1" 또는 "0")은 다음에 클록 신호가 로직 레벨 "1"로 HIGH가 될 때까지 유지됩니다. 따라서 "Q"의 출력은 클록 입력이 "0"(LOW) 값에서 "1"(HIGH)로 변경될 때만 상태를 변경하여 포지티브 에지 트리거 D형 플립플롭이 됩니다. 네거티브 에지 트리거 플립플롭은 클록 펄스의 하강 에지가 트리거링 에지라는 점을 제외하면 정확히 동일한 방식으로 작동합니다.

이제 우리는 에지 트리거 D형 플립플롭이 어떻게 작동하는지 알았습니다. 일부를 연결하여 MOD 카운터를 형성하는 방법을 살펴보겠습니다.

2분할 카운터

에지 트리거 D형 플립플롭은 MOD 카운터 또는 다른 유형의 순차 논리 회로를 구성하는 데 유용하고 다양한 빌딩 블록입니다. 그림과 같이 Q 출력을 "D" 입력에 다시 연결 하고 피드백 루프를 생성하면 Q 출력 신호가 항상 역수이므로 클럭 입력만 사용하여 이진 분할 2 카운터로 변환할 수 있습니다. Q 출력 신호.

2분할 카운터 및 타이밍 다이어그램

 

타이밍 다이어그램은 "Q" 출력 파형의 주파수가 클록 입력의 정확히 절반이므로 플립플롭이 주파수 분배기 역할을 한다는 것을 보여줍니다. "Q"의 출력이 두 번째 DFF의 입력이 되도록 다른 D형 플립플롭을 추가하면 이 두 번째 DFF의 출력 신호는 클록 입력 주파수의 1/4이 됩니다. 따라서 "n"개의 플립플롭의 경우 출력 주파수는 2단계로 2n으로 나뉩니다.

이 주파수 분할 방법은 순차 계산 회로에 사용하기에 매우 편리합니다. 예를 들어, 60Hz 주 주파수 신호는 60분할 카운터를 사용하여 1Hz 타이밍 신호로 줄일 수 있습니다. 6분주 카운터는 60Hz를 10Hz로 나눈 다음 10Hz로 나누어 10Hz를 1Hz 타이밍 신호 또는 펄스 등으로 나누는 10분할 카운터에 공급됩니다.

MOD-4 카운터

기술적으로 1비트 저장 장치일 뿐만 아니라 단일 플립플롭 자체는 MOD-2 카운터로 간주될 수 있습니다. 단일 출력이 0 또는 1의 2개 카운트를 생성하기 때문입니다. 클럭 신호의 적용에 관한 것입니다. 그러나 단일 플립플롭 자체는 제한된 계산 순서를 생성하므로 더 많은 플립플롭을 함께 연결하여 체인을 형성함으로써 계산 용량을 늘리고 모든 값의 MOD 카운터를 구성할 수 있습니다.

단일 플립플롭을 모듈로-2 또는 MOD-2 카운터로 간주할 수 있는 경우 두 번째 플립플롭을 추가하면 4개의 개별 단계로 계산할 수 있는 MOD-4 카운터가 제공됩니다. 전체적인 효과는 원래 클럭 입력 신호를 4로 나누는 것입니다. 그러면 이 2비트 MOD-4 카운터의 이진 시퀀스는 표시된 대로 00, 01, 10 및 11이 됩니다.

MOD-4 카운터 및 타이밍 다이어그램

단순화를 위해 위의 타이밍 다이어그램에서 QA, QB 및 CLK의 스위칭 전환은 이 연결이 비동기 카운터를 나타내더라도 동시로 표시됩니다. 실제로 CLK(양의 진행 클록) 신호 적용과 QA 및 QB의 출력 사이에는 매우 작은 스위칭 지연이 있습니다.

진리표와 상태 다이어그램을 사용하여 이 2비트 비동기 카운터의 작동을 시각적으로 보여줄 수 있습니다.

MOD-4 카운터 상태 다이어그램

클록 펄스 현재 상태   다음 상태 상태 다이어그램
큐비 _ QA _   큐비 _ QA _  
0(시작) 0 0 0 1
1 0 1 1 0
2 1 0 1 1
1 1 0 0
4(반복) 0 0 0 1

카운터의 진리표를 보면 QA와 QB의 값을 읽으면 QA = 0, QB = 0일 때 카운트가 00이 됩니다. 클럭 펄스를 인가하면 값은 QA = 1이 되고, QB = 0, 카운트 01 제공. 다음 클럭 펄스 도착 후 값이 변경되어 QA = 0, QB = 1이 되어 카운트 10이 됩니다. 마지막으로 값은 QA = 1, QB = 1, 11의 카운트를 제공합니다. 다음 클럭 펄스를 적용하면 카운트가 다시 00으로 돌아가고 그 후 00, 01, 10, 11, 00, 01 등의 이진 시퀀스로 계속해서 카운트됩니다.

그런 다음 MOD-2 카운터는 단일 플립플롭으로 구성되고 MOD-4 카운터에는 2개의 플립플롭이 필요하므로 4개의 개별 단계로 계산할 수 있다는 것을 확인했습니다. MOD-4 카운터 끝에 또 다른 플립플롭을 쉽게 추가하여 MOD-8 카운터를 생성하여 000에서 111까지 계산한 후 다시 000으로 재설정하는 2 3 이진 시퀀스를 제공할 수 있습니다. 네 번째 플립플롭 MOD-16 카운터 등을 만들 것입니다. 사실 우리는 원하는 만큼 플립플롭을 계속 추가할 수 있습니다.

MOD-8 카운터 및 상태 다이어그램

따라서 우리는 반복되기 전에 2, 4, 8, 16 등의 모드 개수를 갖는 카운터를 제공하는 2n 상태  자연 개수를 갖도록 모드 카운터를 구성할 수 있습니다 . 그러나 때로는 정상적인 계산 과정에서 카운트를 다시 0으로 재설정하고 2의 거듭제곱인 모듈러스가 없는 모듈러스 카운터가 필요한 경우가 있습니다. 예를 들어 모듈러스가 3, 5, 6인 카운터는 또는 10.

모듈로 "m" 카운터

동기식 또는 비동기식 진행 카운터는 설정된 이진 진행 방식으로 한 번에 하나씩 카운트되며 결과적으로 "n" 비트 카운터는 자연스럽게 모듈로 2n 카운터 로 작동합니다 . 그러나 우리는 하나 이상의 외부 논리 게이트를 사용하여 몇 가지 출력 상태를 건너뛰고 카운터를 다시 0으로 재설정하는 모든 카운트에서 종료함으로써 원하는 값으로 계산하도록 모드 카운터를 구성할 수 있습니다. 즉, 모든 플립플롭에는 Q =가 있습니다. 0.

모듈로 "m" 카운터의 경우 가능한 모든 상태를 계산하지 않고 대신 "m" 값까지 계산한 다음 0으로 돌아갑니다. 분명히 "m"은 2n 보다 작은 숫자입니다 ( m < 2n ) . 그렇다면 이진 카운터가 카운트를 통해 부분적으로 0으로 돌아가도록 하려면 어떻게 해야 할까요?

다행스럽게도 카운트 업 또는 다운 외에도 카운터에는 CLEAR  PRESET 이라는 추가 입력이 있어 카운트를 0으로 지우거나(모든 Q = 0) 카운터를 초기 값으로 미리 설정할 수 있습니다. TTL 74LS74에는 액티브 로우 프리셋 및 클리어 입력이 있습니다.

단순화를 위해 CLEAR 입력이 모두 함께 연결되어 있고 Clear 입력이 0(LOW)과 같을 때 플립플롭이 정상적으로 작동할 수 있도록 하는 액티브 하이 입력이라고 가정해 보겠습니다. 그러나 Clear 입력이 논리 레벨 "1"(HIGH)이면 클록 신호의 다음 포지티브 에지는 다음 클록 신호 값에 관계없이 모든 플립플롭을 Q = 0 상태로 재설정합니다.

또한 모든 클리어 입력이 함께 연결되어 있으므로 카운트가 실제로 0에서 시작되는지 확인하기 위해 카운트가 시작되기 전에 단일 펄스를 사용하여 모든 플립플롭의 출력(Q)을 0으로 클리어할 수도 있습니다. 또한 일부 대형 비트 카운터에는 추가 ENABLE 또는 INHIBIT 입력 핀이 있어 카운터가 계산 주기의 어느 지점에서든 카운트를 중지하고 현재 상태를 유지한 후 다시 계산을 계속할 수 있습니다. 이는 출력을 0으로 재설정하지 않고도 카운터를 마음대로 중지하고 시작할 수 있음을 의미합니다.

Modulo-5 모드 카운터

MOD-5 카운터를 디자인한다고 가정해 보겠습니다. 어떻게 그렇게 할 수 있습니까? 먼저 "m = 5"라는 것을 알고 있으므로 2n은 5보다 커야 합니다. 2 1 =  2, 2 2  = 4, 2 3  = 8, 8이 5보다 크므로 최소한 다음을 갖는 카운터가 필요합니다. 3개의 플립플롭(N = 3)을 사용하면 000~111(십진수 0~7)의 자연 이진수를 얻을 수 있습니다.

위의 MOD-8 카운터 예제를 사용합니다. 자연 개수에 대한 진리표는 다음과 같이 주어집니다.

MOD-8 카운터 및 진리표

MOD-5 카운터를 구성하려면 위의 3비트 카운터 회로를 수정하여 5가 카운트된 후 다시 0으로 재설정되도록 해야 합니다. 이는 1→2→3→의 카운트 순서입니다. 4→5→리셋 등.

MOD-5 카운터는 000이 유효한 카운트 상태이므로 0에서 4까지의 3비트 이진 카운트 시퀀스를 생성하여 000, 001, 010, 011, 100의 이진 카운트 시퀀스를 제공합니다. 따라서 카운터가 필요합니다. 6의 카운트(다음 카운트)가 다음 상태 다이어그램에 표시된 것처럼 이진수로 QA = 1, QB = 0 및 QC = 1의 출력 조건을 생성하므로 다음 카운트 상태에서 자체를 재설정하는 회로입니다.

MOD-5 카운트 시퀀스

101(5)의 출력 상태를 디코딩하여 3입력 AND 게이트(TTL 74LS11)와 인버터 또는 NOT 게이트(TTL 74LS04)를 사용하여 카운터를 0으로 다시 지우는 신호(Clr)를 제공할 수 있습니다. ). 인버터와 디지털 논리 AND 게이트로 구성된 조합 논리 회로의 입력은 각각 QA, QB 및 QC의 3비트 카운터 출력에 연결됩니다.

따라서 3입력 AND 게이트의 출력은 우리가 원하는 입력 시퀀스 이외의 모든 입력 조합에 대해 논리 레벨 "0"(LOW)이 됩니다.

이진 코드에서 출력 시퀀스 개수는 000, 001, 010, 011, 100과 같습니다.

카운터가 101 상태까지 카운트하는 것처럼 보이지만 비동기 카운트 시퀀스가 ​​다음 이진 상태 101(5)에 도달하면 조합 논리 디코딩 회로가 이 101 조건을 감지하므로 AND 게이트는 논리 레벨 " 1”(HIGH) 출력은 카운터를 초기 0 상태로 재설정합니다. 따라서 카운터는 다시 000으로 재설정되기 전 몇 나노초 동안만 101 임시 상태로 유지됩니다.

따라서 AND 게이트의 입력 디코딩을 사용하여 필요한 MOD-5 카운터를 제공하는 5(십진수) 카운트 출력 후 카운터를 다시 0으로 재설정할 수 있습니다. 디코딩 회로의 출력이 LOW이면 카운팅 순서에 영향을 미치지 않습니다.

Modulus 5 Mod 카운터 및 진리표

그런 다음 기본 카운터 주위에 동기식 또는 비동기식의 조합 논리 디코딩 회로를 사용하여 각 카운터의 고유한 출력 상태를 디코딩하여 원하는 카운트에서 카운터를 재설정할 수 있으므로 필요한 모든 유형의 MOD 카운터를 생성할 수 있습니다.

위의 간단한 MOD-5 예에서는 3입력 AND 게이트를 사용하여 101 바이너리 출력 상태를 디코딩했지만 모든 논리 회로를 사용하여 필요한 카운트에서 플립플롭을 재설정할 수 있습니다.

그러나 원하는 카운트의 임의 크기의 MOD 카운터를 생성하기 위해 비동기 카운터를 사용하는 경우의 단점 중 하나는 카운터가 재설정 조건에 도달할 때 "글리치"라고 하는 원하지 않는 효과가 발생할 수 있다는 것입니다.

이 짧은 시간 동안 카운터의 출력은 잘못된 값을 가질 수 있으므로 모든 플립플롭이 동일한 클록 신호로 클록되므로 동시에 상태를 변경하므로 동기식 카운터를 모듈로-m 카운터로 사용하는 것이 더 좋습니다. .

모듈러스 10 Mod 카운터

모듈러스가 10인 카운터를 생성하기 위해 외부 조합 회로를 사용하는 모듈로-m 카운터 회로의 좋은 예는 디케이드 카운터(Decade Counter)입니다. TTL 74LS90과 같은 10진(10으로 나누기) 카운터는 계산 순서에 10개의 상태가 있으므로 디지털 디스플레이가 필요한 휴먼 인터페이스에 적합합니다.

10진 카운터에는 4비트 이진수를 생성하는 4개의 출력이 있으며 외부 AND 및 OR 게이트를 사용하여 9번째 카운팅 상태의 발생을 감지하여 카운터를 다시 0으로 재설정할 수 있습니다. 다른 모드 카운터와 마찬가지로 입력 클럭 펄스를 하나씩 수신하고 반복적으로 0부터 9까지 카운트업합니다.

카운트 9(이진수로 1001)에 도달하면 카운터는 1010으로 계속되는 대신 0000으로 돌아갑니다. 10진 카운터의 기본 회로는 상태를 음수로 전환하는 JK 플립플롭(TTL 74LS73)으로 만들 수 있습니다. 그림과 같이 클록 신호의 트레일링 에지.

MOD-10 디케이드 카운터

MOD 카운터 요약

우리는 MOD 카운터 에 대한 이 튜토리얼 에서 바이너리 카운터가 클록 신호의 결과로 비트의 바이너리 시퀀스를 생성하는 순차 회로이고 바이너리 카운터의 상태가 모든 카운터 출력에 의해 형성된 특정 조합에 의해 결정된다는 것을 보았습니다 .

카운터가 생성할 수 있는 다양한 출력 상태의 수를 카운터의 모듈러스 또는 모듈러스라고 합니다. 카운터의 모듈러스(또는 MOD 번호)는 하나의 완전한 계산 사이클에서 통과하는 고유 상태의 총 개수이며 mod-n 카운터는 n으로 나누기 카운터로도 설명됩니다.

카운터의 모듈러스는 다음과 같이 제공됩니다. 2n 여기서 n = 플립플롭의 수입니다. 따라서 3플립플롭 카운터는 최대 2 3 = 8개의 상태 카운트를 가지며 MOD-8 카운터라고 합니다. 카운터가 계산할 수 있는 최대 이진수는 2n –1 이며 최대 개수는 (111) 2 = 2 3 –1 = 7 10 입니다. 그런 다음 카운터는 0부터 7까지 계산됩니다.

일반적인 MOD 카운터에는 MOD 번호가 2, 4, 8, 16인 카운터가 포함되며, 외부 조합 회로를 사용하면 최대 2n 모듈러스 가 아닌 미리 결정된 값까지 카운트하도록 구성할 수 있습니다 . 일반적으로 "m"개의 플립플롭 배열을 사용하여 MOD 카운터를 구성할 수 있습니다.

잘린 시퀀스가 ​​있는 카운터의 공통 모듈러스는 MOD-10이라고 하는 10(1010)입니다. 10개의 상태가 순서대로 포함된 카운터를 10진 카운터라고 합니다. 디케이드 카운터는 디지털 디스플레이에 연결하는 데 유용합니다. 다른 MOD 카운터에는 디지털 시계에 시간을 표시하는 애플리케이션이 있는 MOD-6 또는 MOD-12 카운터가 포함됩니다.

320x100

'전자일기' 카테고리의 다른 글

간단한 LED 점멸 장치  (0) 2024.02.02
7세그먼트 디스플레이 카운터  (0) 2024.02.02
BCD 카운터 회로  (0) 2024.02.02
양방향 카운터  (0) 2024.02.02
동기 카운터  (0) 2024.02.02