본문 바로가기
반도체 기초 공부/논리회로

논리회로 카운터 ( 2진 카운터, 비동기식 카운터, 링 카운터, 존슨 카운터,그레이 코드 카운터)

by 전컴반 2022. 1. 13.
반응형

카운터란 무엇일까? 미리 정해진 상태천이 순서를 순환하면서 클럭 펄스의 수를 카운트하는 소자(장치)이다. 상태 머신의 대표적인 얘기도 하다. 카운터의 분류 기준으로는 아래와 같이 3가지로 나눌 수 있다.

 

세는 방향에 따른 분류

- 상향 카운팅 혹은 하향 카운팅으로 나눌 수 있다

 

클럭을 가하는 형태에 따른 분류

- 동기식 카운터, 비동기식 카운터

 

출력 코드의 형태에 따른 분류

- 2진 카운터, 링 카운터, 존슨 카운터, 그레이 코드 카운터

 

2진 카운터

 

2진 카운터는 입력되는 클럭의 개수를 세어 2진수로 출력하는 장치를 말한다. 비트 별로 토글링 동작이 많아 T F/F 을 이용하는 경우의 논리도가 가장 깔끔하다. 트랜지스터 레벨의 집적회로 구현에서 T F/F은 D F/F을 변형하여 설계된다. 이에 대부분 동기식 D F/F으로 구현된다고 봐도 무방하다.

 

3비트 동기식 업/다운 카운터의 상태도는 아래와 같다

 

저작권침해의사없음

 

제어 신호인 x의 값에 따라 카운팅의 방향을 바꾼다. x가 0일 때는 다운 카운터로 동작한다. 000일 때 왼쪽에서부터 CBA로 칭한다. 3비트가 있으므로 3개의 플립플롭이 필요하다. T F/F을 이용한다 하고 설계를 하는데 왜 위와 같은 값이 나오는지 x = 1 일 때를 기준으로 보자

 

현재 상태인 000에서 001로 바꿨기 때문에 A만 토글 됐다, 그래서 T F/F은 001이 된 것이다.

현재 상태인 001에서 010으로 바뀠기 때문에 B와 A가 토글 됐다. 그래서 T F/F는 011이 된 것이다.

다른 것도 이와 같이 동작한다. 

 

저작권침해의사없음

 

위와 같은 회로는 동일한 클럭이 들어가기 때문에 동기식 카운터이다. 동기식이 아닌 것을 다 비동기식이라고 한다.

아래 카운터들도 비슷한 원리로 동작한다

 

비동기식 카운터 ( = 리플 카운터)

 

클럭이 LSB에서 MSB 쪽으로 물결처럼 이동하면서 각 비트의 상태를 순차적으로 변화시킨다고 하여 리플 카운터라고 불린다. 아래와 같이 클록이 동시에 들어가는 것이 아니라 뒷단의 출력이 클럭으로 들어가기 때문에 비동기식 카운터이다.

 

저작권침해의사없음

 

회로의 클럭도를 보자. 4비트 리플 업 카운터인데 0000 -> 0001 -> 0010 ->....-> 1111로 변환한다. 입력이 1로 들어가기 때문에 Q1은 계속 입력이 바뀌는 것을 알 수 있다.

 

업/다운 카운터를 설계하려면 MUX를 집어넣어 0,1 중에 하나를 선택하여 출력하면 된다. 논리도는 아래와 같다.

 

저작권침해의사없음

 

링 카운터

 

최종 출력이 다시 최초 입력으로 피드백되는 링 형태로 구성된 카운터를 말한다. 4비트 링 카운터를 보자.

마지막 Q4의 출력이 입력 D1으로 피드백되는 걸 알 수 있다. 

 

저작권침해의사없음

 

초기 상태 설정 시 최소한 1비트는 반드시 1로 프리셋이 필요하다. 이유는 0000이라면 계속 0000만 출력되기 때문이다. 그래서 초기 상태가 0001로 시작하는 것이다.

D1 = Q4

D2 = Q1

D3 = Q1

D4 = Q3

1칸씩 밀린다고 생각하면 된다.

 

존슨 카운터

 

존슨 카운터는 n개의 플립플롭으로 2n개의 타이밍 신호를 만들어낸다. (링 카운터는 n개)

 

저작권침해의사없음

 

0000 입력에서 Q4가 1이 될 때까지 Q1은 1을 유지하는 걸 알 수 있다.

 

그레이 코드 카운터

 

그레이 코드는 이웃하는 숫자와 한 비트만 다른 코드를 말하는데 이와 마찬가지로 그레이 코드 카운터도 동작한다.

2진 코드와 같이 가중치에 따른 오차가 없기 때문에 아날로그-디지털 변환기나 입출력 장치 코드로 주로 쓰인다.

 

저작권침해의사없음

 

현제 상태에서 다음 상태로 넘어가기 위한 플립플롭 입력이다. 입력을 그대로 출력하는 D플립플롭을 이용했다.

반응형

댓글