카운터란 무엇일까? 미리 정해진 상태천이 순서를 순환하면서 클럭 펄스의 수를 카운트하는 소자(장치)이다. 상태 머신의 대표적인 얘기도 하다. 카운터의 분류 기준으로는 아래와 같이 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플립플롭을 이용했다.
'반도체 기초 공부 > 논리회로' 카테고리의 다른 글
논리회로 PLA, PAL ( Programmable Logic Array, Programmable Array Logic, 프로그래밍 방식, 현장 프로그래밍) (0) | 2022.01.20 |
---|---|
논리회로 레지스터 ( 정의, 종류, register, 레지스터 길이, 신호 경로 및 전달 방식 ) (0) | 2022.01.20 |
논리회로 프리셋과 클리어 (preset, clear) (0) | 2022.01.11 |
논리회로 플립플롭 변환 ( JK F/F을 다른 F/F으로 변환 ) (0) | 2022.01.11 |
논리회로 플립플롭 F/F (D 플립플롭, JK플립플롭, T 플립플롭, SR플립플롭, 플립플롭과 래치의 차이) (0) | 2022.01.11 |
댓글