10 카운터 (Counter) IT CookBook, 디지털 논리회로
학습목표 비동기식, 동기식 카운터의 설계 과정 및 동작을 이해한다. 링 카운터와 존슨 카운터의 동작을 이해한다. IC 카운터를 이용하여 다양한 형태의 카운터를 설계할 수 있는 능력을 배양한다. 카운터의 주요 응용으로서 디지털 시계와 주파수 카운터의 동작 원리를 이해한다.
목 차 1. 비동기 카운터 2. 동기 카운터 3. 기타 카운터 4. IC 카운터 5. 카운터의 응용
Section 01 비동기식 카운터 비동기 카운터는 첫 번째 플립플롭의 CP(clock pulse) 입력에만 클록펄스가 입력되고, 다른 플립플롭은 각 플립플롭의 출력을 다음 플립플롭의 CP 입력으로 사용한다. 즉, 플립플롭의 출력 전이가 다른 플립플롭을 트리거시키는 원인으로 작용한다. 비동기 카운터는 리플(ripple) 카운터라고도 부른다. 카운터에서 구별되는 상태의 수가 m일 때 modulo- m(간단히 mod- m; m 진)의 카운터이다. 비동기 카운터는 J-K 플립플롭 또는 T 플립플롭을 사용하여 구성 카운터는 상향 카운터(up counter)와 하향 카운터(down counter)가 있다.
Section 01 비동기식 카운터 1. 상향 비동기식 카운터 4비트 2진 상향 카운터 계수 상태 클록펄스 QD QC QB QA 10진수 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Section 01 비동기식 카운터 각 플립플롭은 클록펄스의 하강에지에서 변화한다. QA에서는 입력 클록 주파수의 1/2, QB에서는 1/4, QC에서는 1/8, QD에서는 1/16의 주파수를 갖는 구형파가 얻어진다. 논리 회로도 타이밍 도
Section 01 비동기식 카운터 상태도 4비트 2진 상향 카운터(상승 에지 트리거)
Section 01 비동기식 카운터 2. 하향 비동기식 카운터 4비트 2진 하향 카운터 계수 상태 클록펄스 QD QC QB QA 10진수 1 15 2 14 3 13 4 12 5 11 6 10 7 9 8 16
Section 01 비동기식 카운터 각 플립플롭은 클록펄스의 상승에지에서 변화. QA에서는 입력 클록 주파수의 1/2, QB에서는 1/4, QC에서는 1/8, QD에서는 1/16의 주파수를 갖는 구형파가 얻어진다. 논리 회로도 타이밍 도
Section 01 비동기식 카운터 상태도 4비트 2진 하향 카운터(하강 에지 트리거)
Section 01 비동기식 카운터 3. 비동기 상향/하향 카운터 S=0으로 하면 MUX의 입력 I0와 출력 F가 연결 : 상향 카운터 S=1로 하면 MUX의 입력 I1 과 출력 F가 연결 : 하향 카운터 비동기 4비트 상향/하향 카운터
Section 01 비동기식 카운터 4. modulo-m 비동기 카운터 비동기 10진 카운터(BCD 카운터, decade counter) 0에서 9까지의 카운트를 반복 BCD 카운터를 구성하려면 4개의 플립플롭이 필요 16개의 상태 중에서 10개의 상태만을 사용 상태표 클록펄스 QD QC QB QA 10진수 1 2 3 4 5 6 7 8 9 10
glitch는 카운터의 오동작 원인이 될 수 있다. Section 01 비동기식 카운터 카운터 출력이 (목표하는 최고 카운트)+1에 도달한 순간을 포착하여 모든 플립플롭을 0으로 Clear QB와 QD 출력을 NAND 게이트로 결합하고 그 출력을 모든 플립플롭이 clear 입력에 연결 glitch는 카운터의 오동작 원인이 될 수 있다.
Section 01 비동기식 카운터 3 자리 10진 카운터의 블록도 3 자리 10진수인 000~999까지 카운트할 수 있는 카운터
Section 01 비동기식 카운터 5. 프리세트 카운터 0보다 큰 수로부터 카운터를 시작할 수 있다. LOAD=0 : 정상적인 상향 카운터로 동작 LOAD=1 : 프리세트 입력으로 초기화.(PA PB PC=010 이면, QA QB QC=010)
Section 01 비동기식 카운터 이제 LOAD=0으로 하면 카운트 시작. 아래의 회로를 추가하여 modulus를 가변. QA QB QC =000일 때에 한해서 NOR 게이트의 출력 즉, LOAD=1이 되고, 기타의 경우에는 출력이 0이 된다. 따라서 PA PB PC =010으로 설정하고 카운터가 계수를 하여 QA QB QC = 000이 되는 순간 카운터의 출력은 010으로 프리세트된다.
(프리세트 카운터의 modulus) = (최대 modulus 2n ) - (프리세트된 수) Section 01 비동기식 카운터 Modulus 설정방법 (프리세트 카운터의 modulus) = (최대 modulus 2n ) - (프리세트된 수) 여기서 n은 카운터에서의 플립플롭의 수
Section 02 동기식 카운터 1. 2비트 동기식 2진 카운터 플립플롭에서의 전파지연 tPD인 경우 n개의 플립플롭을 종속 연결한 비동기 카운터의 전체 전파지연은 ntPD 가 된다. 이러한 지연 때문에 입력 클록펄스를 모든 플립플롭에 공통으로 인가하는 동기식 카운터를 사용. 1. 2비트 동기식 2진 카운터 현재상태 차기상태 플립플롭 입력 QB QA JB KB JA KA 1 x 상태도 상태 여기표
Section 02 동기식 카운터 2비트 동기식 카운터 회로 및 타이밍 도
Section 02 동기식 카운터 2. 3비트 동기식 2진 카운터 J-K 플립플롭을 사용하여 설계 3비트 동기 2진 카운터의 상태도
Section 02 동기식 카운터 현재상태 차기상태 플립플롭 입력 QC QB QA JC KC JB KB JA KA 1 x
Section 02 동기식 카운터 3비트 동기식 카운터 회로 및 타이밍 도
Section 02 동기식 카운터 3. 4비트 동기식 2진 카운터 J-K 플립플롭을 사용하여 설계 4비트 동기식 2진 카운터의 상태도
Section 02 동기식 카운터 현재 상태 차기 상태 플립플롭 입력 QD QC QB QA JD KD JC KC JB KB JA KA 1 ×
Section 02 동기식 카운터
Section 02 동기식 카운터
Section 02 동기식 카운터 논리 회로도 타이밍 도
Section 02 동기식 카운터 4-비트 동기식 2진 카운터의 상태표
Section 02 동기식 카운터 n-비트 동기 2진 카운터 상태표로부터 플립플롭의 입력함수를 추정할 수 있다. 하위의 모든 출력이 1일 때, 각 출력은 0은 1로, 1은 0으로 변화한다. 토글동작이 필요할 때, J와 K 입력은 모두 1이 되어야 한다. 따라서 플립플롭의 입력 함수는 간단하게 하위비트의 논리적 AND이다.
Section 02 동기식 카운터 4. 동기식 BCD 카운터 동기식 BCD 카운터의 상태도
Section 02 동기식 카운터 동기식 BCD 카운터의 상태 여기표 자리 올림수 출력 C는 BCD 카운터의 계수가 9(1001)가 되었을 때 논리 1이 되도록 한다. 현재상태 차기상태 플립플롭 입력 출력 QD QC QB QA JD KD JC KC JB KB JA KA C 1 x
Section 02 동기식 카운터 카르노 맵
Section 02 동기식 카운터
Section 02 동기식 카운터 동기식 BCD 카운터 회로도
Section 02 동기식 카운터 5. 3비트 동기식 상향/하향 카운터 3 비트 동기식 상향/하향 카운터의 상태도 외부 입력 x=0 : 증가 카운터 외부 입력 x=1 : 감소 카운터 3 비트 동기식 상향/하향 카운터의 상태도
Section 02 동기식 카운터 3비트 동기식 상향/하향 카운터의 상태 여기표 현재상태 입력 차기상태 플립플롭 입력 QCQBQA x JC KC JB KB JA KA 0 0 0 0 0 1 X 1 1 1 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0
Section 02 동기식 카운터 카르노 맵
Section 02 동기식 카운터 3비트 동기식 상향/하향 카운터의 회로도
Section 02 동기식 카운터 6. 주파수 분할 16진 카운터 블록도 (mn)분주회로 개념도
Section 03 기타 카운터 1. 링 카운터 임의의 시간에 한 개의 플립플롭만 논리 1이 되고 나머지 플립플롭은 논리 0이 되는 카운터 논리 1은 입력펄스에 따라 그 위치가 한쪽 방향으로 순환 상태도
Section 03 기타 카운터 상태 여기표 현재상태 차기상태 플립플롭 입력 QA QB QC QD DA DB DC DD 1 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 1
Section 03 기타 카운터 카르노 맵
Section 03 기타 카운터 처음에 Clear 단자를 논리 0으로 하여 모든 플립플롭의 출력을 0으로 한 다음 처음 플립플롭의 출력 을 1로 세트하고 Clear 단자를 다시 논리 1로 하면 링 카운터의 최초의 출력은 QA QB QC QD =1000이다. 이 후부터 클록펄스가 입력될 때마다 클록펄스의 상승 에지에서 오른쪽으로 한 자리씩 이동을 하며, QD 의 출력은 다시 DA 로 입력된다.
Section 03 기타 카운터 링 카운터 응용 : 커피 자판기(vending machine) 동작순서 [단계 1] 동전이 들어오는 것을 기다린다. [단계 2] 동전을 확인하고 적절한 잔돈을 돌려준다. [단계 3] 선택스위치(블랙, 크림, 및 설탕)을 읽어라. [단계 4] 공급창(커피를 빼내는 곳)에 종이컵을 떨어뜨린다. [단계 5] 종이컵에 인스턴트 커피를 붓는다. [단계 6] 선택된([단계 3])대로 크림이나(과) 설탕을 추가하라. [단계 7] 컵에 뜨거운 물을 붓는다. [단계 8] 물, 커피, 크림 및 설탕이 적절히 공급되었는지를 검사한다. 만약 적으면 적당한 메시지를 보이게 한다. [단계 9] 1 단계로 간다.
Section 03 기타 카운터 처음에 를 논리 0으로 하여 QA=1이 되고 QB=QC=…QH=0이 된다. 이제 를 논리 1로 한다. 링 카운터를 응용한 커피자판기 동작도
Section 03 기타 카운터 2. 존슨 카운터 n개의 플립플롭으로 구성된 링 카운터는 n 가지의 서로 다른 상태를 출력
Section 03 기타 카운터 존슨 카운터의 단점은 사용되지 않는 초기상태가 주어지면 사용되지 않는 계수의 순서만이 계속하여 반복하게 된다. 이 단점은 회로에서 세 번째 플립플롭의 입력을 다음 부울함수로 수정하면 해결할 수 있다. 4비트 존슨 카운터의 상태표 클록펄스 QA QB QC QD 10진수 1 8 2 12 3 14 4 15 5 7 6
Section 04 IC 카운터 1. IC 비동기식 카운터 7493(16진 비동기 상향 카운터) 2진 카운터와 8진 카운터가 독립적으로 내장 2진 카운터 : 입력은 Input A이고 출력은 QA. 8진 카운터 : 입력은 Input B이고 출력은 QDQCQB. 16진 카운터 : 입력을 Input A에 넣고, QA를 Input B에 연결하고 출력은 QDQCQBQA 에서 얻는다. 7493 핀 배치도
Section 04 IC 카운터 7492(12진 비동기 상향 카운터) 7490(10진 비동기 상향 카운터) 2진 카운터(mod-2)와 6진 카운터(mod-6)가 독립적으로 내장 사용법은 7493에 준한다. 7490(10진 비동기 상향 카운터) 2진 카운터(mod-2)와 5진 카운터(mod-6)가 독립적으로 내장 7490 핀 배치도
Section 04 IC 카운터 2. IC 동기식 카운터 74163(synchronous presettable mod-16 counter with synchronous clear) 74163은 4-비트 동기 2진 카운터로서 4개의 D 플립플롭으로 구성되며, 4 비트의 병렬입력과 병렬출력이 있다. LOAD ENP,ENT 기 능 1 X 플립플롭이 clear된다. 병렬입력이 수행된다. 불변상태가 된다. 카운터가 동작한다. 74163 핀 배치도
Section 04 IC 카운터 ENP와 ENT 입력 및 RCO 출력은 더 높은 계수순서를 갖는 카운터를 설계할 때 사용 임의의 modulus 카운터로 사용 가능 8-비트 카운터 Mod-11 카운터 Mod-13 카운터
Section 04 IC 카운터 74162(synchronous presettable BCD counter with asynchronous clear) 핀 기능, 동작, 사용법 등이 74163과 같으며, 74163은 4비트 동기 16진 카운터이지만, 74162는 4비트 10진 동기 카운터이다. 74161 (synchronous presettable mod-16 counter with asynchronous clear) 핀 기능, 동작, 사용법 등이 74163과 같은 presettable 16진 동기식 상향 카운터이다. 또한 비동기적인 클리어 입력을 갖는다. 74160 (synchronous presettable BCD counter with asynchronous clear) 74160은 74161과 동일한 입력과 출력을 가지며, 74161은 4비트 동기 16진 카운터이지만, 74160은 4비트 10진 동기 카운터이다.
Section 04 IC 카운터 74169(Synchronous presettable up/down mod-16 counter) 16진 상향/하향 동기식 카운터이다. 제어입력 U/ 를 논리 1로 하면 상향 카운터, 논리 0으로 하면 하향 카운터로 동작 프리세트 데이터 입력 DCBA는 를 논리 0으로 할 때 클록펄스의 상승 에지에서 출력을 프리세트시킨다. 카운트가 일어나려면 ENP와 ENT가 둘 다 논리 0으로 되어야 한다. 출력 QD, QC, QB, QA가 상향 모드 시에는 1111, 하향 모드 시에는 0000에 도달하면 RCO(ripple carry output)가 논리 0이 된다. 74169 핀 배치도
Section 04 IC 카운터 74168(synchronous presettable up/down BCD counter) 10진의 단일 modulus를 가지며 동작은 74169에 준한다. 74190(presettable synchronous up/down BCD counter) 핀 기능, 동작, 사용법 등이 74163과 같은 presettable 16진 동기식 상향 카운터이다. 또한 비동기적인 클리어 입력을 갖는다. LOAD ENABLE DOWN/UP 기 능 1 X 증가 카운터로 동작한다. 감소 카운터로 동작한다. 병렬입력이 수행된다. 불변상태가 된다. 74190 핀 배치도
Section 04 IC 카운터 74191(presettable synchronous up/down mod-16 counter) 74191은 4-비트 16진 상향/하향 동기식 카운터로서 핀 배치도는 74190과 같다. =0이면 계수가능 상태이고, 1이면 계수정지 상태가 된다. =0이면 상향 카운터로 동작하고, 1이면 하향 카운터로 동작한다. 이 외의 모든 동작은 74190에 준한다.
Section 05 카운터의 응용 1. 디지털 시계 발진회로 디지털 시계에 안정적인 클록(clock)을 제공할 목적으로 설계되는 회로 첫 번째 방법 : 가정용 220[V] 전원의 안정된 60Hz의 주파수를 이용 두 번째 방법 : CR 발진회로를 이용하는 방법 세 번째 방법 : 수정 발진자(crystal oscillator)를 사용하는 방법 디지털 시계의 블록 다이어그램
Section 05 카운터의 응용 분주회로 발진회로로부터 얻어진 구형파를 이용하여 디지털 시계의 기본 단위인 1초를 나타내기 위한 1Hz 주파수를 얻는 회로 CR 발진회로 수정 발진자를 사용한 회로 60Hz 정현파에서 1Hz 구형파를 얻는 회로
Section 05 카운터의 응용 4020을 이용하여 1Hz 구형파를 얻는 회로 카운터 회로의 블록도
Section 05 카운터의 응용 분, 초 단위의 카운터 디코더 및 드라이브 회로 시 단위의 카운터, 디코더 및 드라이브 회로
Section 05 카운터의 응용 디지털 시계의 전체 회로도
Section 05 카운터의 응용 2. 주파수 카운터 임의의 주기적인 파형의 주파수(frequency)를 측정하는 디지털 기기 측정 주파수는 t=1초이면 표시된 수치가 곧 주파수가 된다. t=10초이면 소수점을 한 자리 높인다. t=0.1초이면 소수점을 한 자리 낮춘다. 주파수 카운터의 블록도
Section 05 카운터의 응용 Reset용 파형정형 Gate 신호 주파수 카운터 회로도
Section 05 카운터의 응용 주파수 카운터의 타이밍 도
10장 카운터 끝