비동기식 10진 카운터 회로 - bidong-gisig 10jin kaunteo hoelo

2진 리플 카운터의 작동을 이해하기 위해 그림 14-7에 주어진 카운터 순차를 살펴보자. 가장 낮은 자리의 비트 A1은 매 클럭펄스마다 보수가 되어야 한다. A1의 값이 "1"에서 "0"으로 변할 때마다, A2의 값은 보수가 될 것이다. 또 A2의 값이 "1"에서 "0"으로 변할 때마다, A3의 값은 보수가 될 것이다. A4도 마찬가지가 될 것이다. 예를 들어, 계수 0111에서 1000으로의 전이를 검사해 보자. 표에서 화살표는 이 경우의 전이들을 강조해서 표시한 것이다. A1은 CP에 의해 보수가 된다. A1의 값이 "1"에서 "0"으로 변하므로, 이것은 A2의 레지스터를 작동시켜, A2가 보수를 취하게 된다. 따라서 A2의 값도 "1"에서 "0"으로 변하며, A3를 보수시키고, A3는 "1"에서 "0"으로 보수가 되면서, 다시 A4를 보수로 만든다. 만일 A4가 다시 다음 순서의 레지스터에 같은 식으로 연결되어 있다고 가정하면 A4의 출력 값의 전이는 다음 레지스터를 작동시킬 수 없다. 왜냐하면, A4의 출력값이 "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의 회로에서 출력들은 플립플롭의 보수 단자 Q에서 빼낸다면 이 회로는 2진 다운 카운터로써 쓸 수 있다. 만일 플립플롭의 정상 출력 Q밖에 얻을 수 없을 경우, 그 회로를 다운 카운터로 쓰려면 다음과 같이 수정하여야 한다. 2진 다운 카운터의 카운트 순차를 생각해 보면, 우선 가장 낮은 자리의 비트는 매 CP마다 보수가 되어야 한다는 것을 알 수 있다. 순차 내에 있는 어떤 다른 비트이든지, 그것보다 바로 낮은 비트의 값이 "0"에서 "1"로 변하면 이 비트는 보수로 되어야 한다. 그러므로 모든 플립플롭이 펄스의 상승 모서리에서 작동하도록 하여, (즉 플립플롭이 CP입력 단자에 있는 작은 원을 없애면) Q를 다음단 플립플롭의 CP로 사용하면 된다. 만일 플립플롭이 하강 모서리에서 작동한다면, 각 플립플롭의 CP 입력 단자에 바로 앞의 플립플롭의 출력 Q를 입력시키면 된다. 그렇게 되면, Q가 0에서 1로 변할 때, A는 1에서 0으로 변하게 되어 다음 플립플롭을 작동시킨다. 따라서 2진 카운터로서 사용할 수 있는 것이다.

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

10진 카운터는 0에서 9까지 10개의 상태를 카운트하는 것으로 10진수를 2진 코드로 표현하는 데는 적어도 4비트가 필요하므로 10진 카운터의 대표적인 것은 BCD카운터이다.
10진 카운터의 카운트 순서는 2진 카운터와 비슷하다 단지 9에서 0으로 변화하도록 되어 있다.
그림 14-9는 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-10에서 보여주고 있으며, 10진 카운터의 타이밍도를 그림 14-11에 나타내었다.

실험 과정

1. M-14의 회로-3에서 그림 14-12과 같이 2진 리플 카운터를 구성한다.

2. 디지털 멀티미터를 이용하여 표 14-3과 같이 클럭의 수에 따라 출력전압을 측정하여 Hihg이면 1, Low이면 0으로 기록하고 16진수로 변환하여 해당란에 기록한다. 또한 LED 점등 상태를 점검하여 점등 시 “1”, 소등 시 “0”으로 기록해도 좋을 것이다. 클럭을 인가하기 전에 먼저, CL 스위치를 한 번 눌러 출력을 모두 “0”으로 한다.

tab1

실험 14-3.1 비동기 16진/10 카운터 회로 실험 (M14의 Circuit-3 회로)

<비동기 16진>카운터 회로

1.1. 결선 방법1.회로 결선

M14 보드의 Circuit-1에서 1a 단자와 Circuit-2의 2c 단자 간을 황색선으로 연결한다.

Circuit-3의 LED1(A)의 3b 단자와 중앙에 숫자표시기(7-Segment Display)에 있는 (A) 단자 간을, 와 LED2(B)의 3c 단자와 (B) 단자간, LED3(C)의 3d 단자와 (C) 단자 간, LED4(D)의 3e 단자와 (D) 단자 간을 황색선으로 연결한다.

안녕하세요? 오늘도 어김없이 논리회로 포스팅차례 입니다!

오늘의 주제는 지난번에 배운 레지스터를 활용하여 동기 카운터, 비동기 카운터를 설계해보겠습니다.

1. 동기 카운터

동기 카운터는 모든 플립플롭에 공통으로 들어오는 클럭신호가 있습니다.

이때문에 하나의 펄스입력이 주어지면 모든 플립플롭이 동시에 동작한다는 장점이 있습니다.

지금부터 ①3비트 2진카운터를 동기식으로 설계해보겠습니다.

3비트 카운터의 상태도와 여기표

그리고 각 플립플롭을 카노맵을 통해서 회로를 간소화하고 설계를 마무리하겠습니다.

각 플립플롭의 논리식을 구했으니 회로를 바로 그려보도록 하겠습니다.

3bit 동기식 2진카운터

마지막으로 타이밍도를 보면서 회로의 동작을 보겠습니다.

3bit 동기식 2진카운터 타이밍도

0000값부터 1000 까지 타이밍도를 통해 회로의 동작을 살펴보았습니다.

상승에지 트리거 회로로 가정했기때문에, 상승에지가 있을때마다 회로의 값이 +1씩 더해져 카운터역할을 수행하고있습니다.

추가로 ②D플립플롭을 이용한 0부터 9까지 표현할 수 있는 4bit 카운터 설계를 해보겠습니다.

설계하고자 하는 카운터의 상태도와 여기표

위와 같은 과정으로 진리표를 그려서 입력에대한 논리식들을 작성해줍니다.

그리고 회로를 완성하면 아래와 같습니다.

마지막으로 ③3비트 동기식 상향/하향 카운터를 설계하고 동기식카운터에 대한 주제를 마치겠습니다.

상향/하향카운터 상태도

상향/ 하향 카운터는 x의 신호에 따라 숫자가 커지고 작아지는 카운터입니다.

x = 0 이면 숫자가 1씩 커지고, x = 1이면 숫자가 1씩 감소하는 원리입니다.

이러한 원리로 아래 여기표를 작성하겠습니다.

상향/하향 카운터 여기표

2. 비동기 카운터

비동기 카운터는 첫번째 플립플롭의 클럭입력에만 클럭신호를 사용하고, 다른 플립플롭은 각 플립플롭의 출력을 다음 플립플롭의 클럭입력으로 사용합니다.

즉, 플립플롭의 출력이 다른 플립플롭을 동작시키는 원인으로 작용하게 됩니다.

4bit 비동기 2진카운터

비동기 카운터는 정의에서 설명한 것 처럼 플립플롭의 출력이 다음 플립플롭의 클럭신호로 들어갑니다.

위 회로는 하강에지에서 동작하기 때문에 이전의 플립플롭이 1에서 0으로 떨어질때 ( 올림이 발생할때 )

다음 자리수가 증가하는 원리로 동작합니다.

( 위 회로에서 출력 Q'가 다음 플립플롭의 클럭신호로 들어가면 하향카운터로 동작합니다. )

동기 카운터보다 회로가 더 간결하게 설계가 되는 모습입니다.

하지만 비동기 카운터는 플립플롭의 수가 많아질수록 딜레이가 커지면서 문제가 발생할 수 있습니다.

비동기 상하향 카운터는 다음과 같이 설계됩니다.

4bit 비동기 상하향카운터

S라는 신호를 이용해서 MUX를 컨트롤합니다.

S=0일때 Q신호가 다음 플립플롭의 클럭입력으로 들어가기 때문에 상향카운터로 동작합니다.

반면 S=1일때 Q'신호가 클럭입력으로 들어가기 때문에 하향카운터로 동작합니다.

이상으로 동기식, 비동기식 카운터 설계에대한 포스팅 마치도록하겠습니다.

오류가있거나 틀린부분이있으면 바로바로 지적해주시면 감사하겠습니다.

그림이 많고 회로 입출력이 다소 많이 등장해서 정리하는데 애를 좀 먹었네요 :)

오늘도 긴 글 봐주셔서 감사합니다. 좋은하루보내세요

Toplist

최신 우편물

태그