1k likes | 6.02k Views
10. 카운터 ( Counter). IT CookBook, 디지털 논리회로. 비동기식, 동기식 카운터의 설계 과정 및 동작을 이해한다. 링 카운터와 존슨 카운터의 동작을 이해한다. IC 카운터를 이용하여 다양한 형태의 카운터를 설계할 수 있는 능력을 배양한다. 카운터의 주요 응용으로서 디지털 시계와 주파수 카운터의 동작 원리를 이해한다. 학습목표. 목 차. 1. 비동기 카운터 2. 동기 카운터 3. 기타 카운터 4. IC 카운터 5. 카운터의 응용. Section 01 카운터 (Counter).
E N D
10 카운터 (Counter) IT CookBook, 디지털 논리회로
비동기식, 동기식 카운터의 설계 과정 및 동작을 이해한다. 링 카운터와 존슨 카운터의 동작을 이해한다. IC 카운터를 이용하여 다양한 형태의 카운터를 설계할 수 있는 능력을 배양한다. 카운터의 주요 응용으로서 디지털 시계와 주파수 카운터의 동작 원리를 이해한다. 학습목표
목 차 1. 비동기 카운터 2. 동기 카운터 3. 기타 카운터 4. IC 카운터 5. 카운터의 응용
Section 01카운터(Counter) • 카운터(Counter) • 입력펄스의 수를 세는 장치 – 대표적인 플립플롭 응용 장치 • n-비트 카운터 • 하나의 입력과 n개의 출력으로 구성(0~2n카운팅) • 카운터 시작, 끝, 카운팅 순서를 제어하는 별도의 제어단자를 가짐 • 클록과의 동기 방식에 따라 비동기 카운터/동기식 카운터로 분류 • 비동기식 카운터 • 직렬 카운터 – 플립플롭을 다수 종속으로 연결한 구조 • 공통의 클록펄스를 갖지 않으므로 플립플롭들의 상태가 동시에 변하지 않음 지연시간 누적 고속카운팅에 부적합 • 동기식 카운터 • 병렬 카운터 – 공통의 클록펄스을 이용하여 병렬로 연결 • 클럭펄스를 통해 동시에 크리거되어 고속 동작에 적합 회로가 복잡 • 상향 카운터(up counter)/하향 카운터(down counter)
Section 01비동기식 카운터 • 비동기식 카운터 • 첫 번째 플립플롭의 CP(clock pulse) 입력에만 클록펄스가 입력되고, 다른 플립플롭은 각 플립플롭의 출력을 다음 플립플롭의 CP입력으로 사용한다. • 플립플롭의 출력 전이가 다른 플립플롭을 트리거시키는 원인으로 작용 리플(ripple)카운터 • 카운터에서 구별되는 상태의 수가 m일 때 modulo-m(간단히 mod-m; m진)의 카운터라고 함 • n=ceil(log2m) 개의 플립플롭을 사용 • J-K플립플롭 또는 T플립플롭을 사용하여 구성 • J/K 모든 입력을 1로 하거나 T 입력을 1로하여 토클로 동작하도록 함
Section 01비동기식 카운터 1. 상향 비동기식 카운터 • 4비트 2진 상향 카운터 : 16진(mod-16) 카운터 계수 상태
Section 01비동기식 카운터 • 각 플립플롭은 클록펄스의 하강에지에서 변화한다. • QA에서는 입력 클록 주파수의 1/2, QB에서는 1/4, QC에서는 1/8, QD에서는 1/16의 주파수를 갖는 구형파가 얻어진다. 논리 회로도 타이밍 도
Section 01비동기식 카운터 상태도 4비트 2진 상향 카운터(상승 에지 트리거)
Section 01비동기식 카운터 2. 하향 비동기식 카운터 • 4비트 2진 하향 카운터 : 16진(mod-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개의 상태만을 사용 상태표
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으로 프리세트된다.
Section 01비동기식 카운터 • Modulus설정방법 여기서 n은 카운터에서의 플립플롭의 수
Section 02동기식 카운터 • 플립플롭에서의 전파지연 tPD인 경우 n개의 플립플롭을 종속 연결한 비동기 카운터의 전체 전파지연은 ntPD 가 된다. • 이러한 지연 때문에 입력 클록펄스를 모든 플립플롭에 공통으로 인가하는 동기식 카운터를 사용. 1. 2비트 동기식 2진 카운터 상태도 상태 여기표
Section 02동기식 카운터 2비트 동기식 카운터 회로 및 타이밍 도
Section 02동기식 카운터 2. 3비트 동기식 2진 카운터 • J-K플립플롭을 사용하여 설계 3비트 동기 2진 카운터의 상태도
Section 02동기식 카운터 3비트 동기식 카운터 회로 및 타이밍 도
Section 02동기식 카운터 3. 4비트 동기식 2진 카운터 • J-K플립플롭을 사용하여 설계 4비트 동기식 2진 카운터의 상태도
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이 되도록 한다.
Section 02동기식 카운터 • 카르노 맵
Section 02동기식 카운터 • 동기식 BCD 카운터 회로도
Section 02동기식 카운터 5. 3비트 동기식 상향/하향 카운터 • 외부 입력 x=0 : 증가 카운터 • 외부 입력 x=1 : 감소 카운터 • 3 비트 동기식 상향/하향 카운터의 상태도
Section 02동기식 카운터 • 3비트 동기식 상향/하향카운터의 상태 여기표
Section 02동기식 카운터 • 카르노 맵
Section 02동기식 카운터 • 3비트 동기식 상향/하향카운터의 회로도
예) 입력주파수 60Hz인 클럭펄스에 대해 1Hz 클럭펄스를 생성하려면? mod-6 mod-10 MSB 60Hz CP 1Hz CP MSB 60Hz CP 1Hz CP Section 02동기식 카운터 6. 주파수 분할 16진 카운터 블록도 (mn)분주회로 개념도
Section 03기타 카운터 1. 링 카운터 • 임의의 시간에 한 개의 플립플롭만 논리 1이 되고 나머지 플립플롭은 논리 0이 되는 카운터 • 논리 1은 입력펄스에 따라 그 위치가 한쪽 방향으로 순환 • 상태도
Section 03기타 카운터 • 상태 여기표
Section 03기타 카운터 • 카르노 맵
Section 03기타 카운터 • 처음에 Clear단자를 논리 0으로 하여 모든 플립플롭의 출력을 0으로 한 다음 처음 플립플롭의 출력을 1로 세트하고 Clear단자를 다시 논리 1로 하면 링 카운터의 최초의 출력은 QA QB QC QD =1000이다. • 이 후부터 클록펄스가 입력될 때마다 클록펄스의 상승 에지에서 오른쪽으로 한 자리씩 이동을 하며, QD의 출력은 다시 DA로 입력된다.
Section 03기타 카운터 • 링 카운터 응용 : 커피 자판기(vending machine) 동작순서
Section 03기타 카운터 • 처음에 를 논리 0으로 하여 QA=1이 되고 QB=QC=…QH=0이 된다. 이제 를 논리 1로 한다. 링 카운터를 응용한 커피자판기 동작도
Section 03기타 카운터 2. 존슨 카운터 • n개의 플립플롭으로 구성된 링 카운터는 n가지의 서로 다른 상태를 출력 • 존슨 카운터는 2n가지의 서로 다른 상태를 출력
Section 03기타 카운터 4비트 존슨 카운터의 상태표 • 존슨 카운터의 단점은 사용되지 않는 초기상태가 주어지면 사용되지 않는 계수의 순서만이 계속하여 반복하게 된다. 이 단점은 회로에서 세 번째 플립플롭의 입력을 다음 부울함수로 수정하면 해결할 수 있다.
Section 04IC 카운터 1. IC 비동기식 카운터 • 7493(16진 비동기 상향 카운터) • 2진 카운터와 8진 카운터가 독립적으로 내장 • 2진 카운터 : 입력은 InputA이고 출력은 QA. • 8진 카운터 : 입력은 InputB이고 출력은 QDQCQB. • 16진 카운터 : 입력을 InputA에 넣고, QA를 InputB에 연결하고 출력은 QDQCQBQA 에서 얻는다. 7493 핀 배치도
Section 04IC 카운터 • 7492(12진 비동기 상향 카운터) • 2진 카운터(mod-2)와 6진 카운터(mod-6)가 독립적으로 내장 • 사용법은 7493에 준한다. • 7490(10진 비동기 상향 카운터) • 2진 카운터(mod-2)와 5진 카운터(mod-6)가 독립적으로 내장 • 사용법은 7493에 준한다. 7490 핀 배치도