실험 3 : 2진 계수기(Binary Counter)

【 이론 】

2진 리플 카운터 (binary ri pple counter)


2진 리플 카운터는 보수로 만드는 기능이 있는 플립플롭들(T 또는 JK 형태)이 직렬연결되는 즉, 각 플립플롭의 출력이 바로 다음의 플립플롭의 입력 단자에 연결되어 구성되어 있다. 가장 낮은 자리의 비트를 저장한 플립플롭에만 카운터 펄스가 연결되어 있다. 그림 14-5는 4비트의 2진 리플 카운터의 계통도로써 여기에 모든 J와 K의 입력단자에는 모두 1이 입력된다. CP입력 단자들에 표시된 작은 원은 하강 모서리, 즉 CP 입력단자에 입력되는 값이 "1"에서 "0"으로 변할 때 ( )플립플롭의 상태 값이 보수가 된다는 것을 표시한다.


2진 리플 카운터의 작동을 이해하기 위해 그림 14-6에 주어진 카운터 순차를 살펴보자. 가장 낮은 자리의 비트

A_1

 
은 매 클럭펄스마다 보수가 되어야 한다.

A_1

 
의 값이 "1"에서 "0"으로 변할 때마다,

A_2

 
의 값은 보수가 될 것이다. 또

A_2

 
의 값이 "1"에서 "0"으로 변할 때마다,

A_3

 
의 값은 보수가 될 것이다.

A_4

 
도 마찬가지가 될 것이다. 예를 들어, 계수 0111에서 1000으로의 전이를 검사해 보자. 표에서 화살표는 이 경우의 전이들을 강조해서 표시한 것이다.

A_1

 
은 CP에 의해 보수가 된다.

A_1

 
의 값이 "1"에서 "0"으로 변하므로, 이것은

A_2

 
의 레지스터를 작동시켜,

A_2

 
가 보수를 취하게 된다. 따라서

A_2

 
의 값도 "1"에서 "0"으로 변하며,

A_3

 
를 보수시키고,

A_3

 
는 "1"에서 "0"으로 보수가 되면서, 다시

A_4

 
를 보수로 만든다. 만일

A_4

 
가 다시 다음 순서의 레지스터에 같은 식으로 연결되어 있다고 가정하면

A_4

 
의 출력 값의 전이는 다음 레지스터를 작동시킬 수 없다. 왜냐하면,

A_4

 
의 출력값이 "0"에서 "1"로 변하기 때문이다. 그리하여 1000이 된다. 이 카운터의 플립플롭들은 한 번에 하나씩 빠르게 연결해서 변화한다. 신호는 리플 형태로 카운터를 통과하여 전달된다. 리플 카운터는 때때로 비동기식 카운터라 부르기도 한다.

2진 역방향 카운터 (binary down counter)


역순으로 카운트되는 2진 카운터(즉 1111에서 1110, 1101 순으로 감소하는 카운터)를 2진 역방향 카운터(binary down counter)라 한다. 역방향 카운터에서 2진 계수는 매 클럭펄스마다 1씩 감소하여 간다. 4비트 다운 카운터 계수는, 15의 2진수에서 출발해서 14, 13, 12, ..., 0으로 계속 계수 되다가, 15로 되돌아가서 다시 감소하며 계수된다. 그림 14-7의 회로에서 출력들은 플립플롭의 보수 단자

bar Q~

 
에서 빼낸다면 이 회로는 2진 다운 카운터로서 쓸 수 있다. 만일 플립플롭의 정상 출력

Q~

 
밖에 얻을 수 없을 경우, 그 회로를 다운 카운터로 쓰려면 다음과 같이 수정하여야 한다. 2진 다운 카운터의 카운트 순차를 생각해 보면, 우선 가장 낮은 자리의 비트는 매 CP마다 보수가 되어야 한다는 것을 알 수 있다. 순차 내에 있는 어떤 다른 비트이든지, 그것보다 바로 낮은 비트의 값이 "0"에서 "1"로 변하면 이 비트는 보수로 되어야 한다. 그러므로 모든 플립플롭이 펄스의 상승 모서리에서 작동하도록 하여, (즉 플립플롭이 CP입력 단자에 있는 작은 원을 없애면)

Q~

 
를 다음단 플립플롭의 CP로 사용하면 된다. 만일 플립플롭이 하강 모서리에서 작동한다면, 각 플립플롭의 CP 입력 단자에 바로 앞의 플립플롭의 출력

bar Q~

 
를 입력시키면 된다. 그렇게 되면,

Q~

 
가 0에서 1로 변할 때,

bar A~

 
는 1에서 0으로 변하게 되어 다음 플립플롭을 작동시킨다. 따라서 2진 카운터로서 사용할 수 있는 것이다.

비동기식 10진(BCD) 카운터

10진 카운터는 0에서 9까지 10개의 상태를 카운트하는것으로 10진수를 2진 코드로 표현하는 데는 적어도 4비트가 필요하므로 10진 카운터의 대표적인 것은 BCD카운터이다.

10진 카운터의 카운트 순서는 2진 카운터와 비슷하다 단지 9에서 0으로 변화하도록 되어 있다.

그림 14-8는 10진(BCD) 카운터의 상태도를 보인다.


카운트 순서는 다음과 같다.

1. A플립플롭의 출력은 매 클록 펄스 때마다 상태를 바꾸므로 J와 K를 1로 하여 토글될 수 있도록 한다.

2. B플립플롭의 출력은 D플립플롭의 출력이 0이고 A플립필롭의 출력이 1에서 0으로 바뀌면 상태를 바꾸며, D출력이 1이고 A출력이 1이면 B플립플롭의 출력이 0이 된다.

3. C플립플롭의 출력은 B플립플롭의 출력이 1에서 0으로 변할 때 상태를 바꾼다.

4. D플립플롭의 출력은 B와 C가 1이고 A가 1에서 0으로 변할 때 상태를 1로 바꾸고 B, C가 0이고 A가 1에서 0으로 변하면 D플립플롭의 출력이 0이 됨을 알 수 있다.


이런 상황을 근거로 설계한 10진 비동기식 카운터를 그림 14-9에서 보여주고 있으며, 10진 카운터의 타이밍도를 그림 14-10에 나타내었다.