5.1 순서회로
- 사건들이 시간에 따라 순서가 부여되는 것을 의미하며
어떤 한 사건이 시간에 따라
독립된
다른 사건을 유발.
- 동기(synchronous)와 비동기(asynchronous)가 존재.
- 조합 논리와 저장 혹은 메모리를 주요 구성으로 함.
5.2 플립플롭(Flip Flop)
- 플립플롭이란 여기입력이 변화된 후 2진 정보를 저장할 수 있는 디지털 소자.
- 전자적인 2진데이타의 메모리 cell.
5.2.1 플립플롭 논리 심볼, 함수, 트리거링
- JK, SR, D, T 의 4가지 플립플롭.
여기 테이블이라는 특별한 진리표 이용하여 입력과 출력의 특징을 표현.
- 플립플롭 : 클럭 에지나 펄스에 의해서만 상태가 바뀜.
- 래 치
: 클럭이 없어도 바뀐다.
쌍안정이며 2진 데이터 저장.
가장 간단한 2진 저장회로.
NAND, NOR 의 출력을 입력에 교차하여 연결
5.3 디지탈 파형
5.4 카운터(Counter)
- 디지털 회로의 기본 기능. 상태가 변화(Set 혹은 Reset)하는 플립플롭의 조합.
- 플립플롭은 보통 카운터를 설계하는데 사용 - 일반적인 것은 Ripple Divider.
- J-K 플립플롭의 J와 K입력을 함께 묶어 토글 T 플립플롭으로
변환.
5.4.1 2, 4, 8 분주 카운터 (비동기)
- 어떠한 동기 클럭 입력도 플립플롭에 인가되지 않기 때문에 비동기.
- 실제로 클럭 입력은 데이터 입력으로 사용.
- J와 K 입력은 함께 연결되어 있으며 VCC로 풀-업.
- 플립플롭을 반전시키기 위해 강제로 여기 입력을 High Level로 함.
- 첫 번째 플립플롭은 입력 주파수를 2분주.
- 2번째 플립플롭은 2분주 된 첫 번째 플립플롭의 출력을 다시 2분주하여 4분주.
- 8분주 리플 카운터는 3개의 플립플롭
- 2의 멱급수로 주파수가 분주
- 3개의 간단한 분주 카운터는 하나의 플립플롭의 출력이 다음 플립플롭의 클럭을 제공하기
때문에 비동기 카운터로 불린다.
- 모듈로-n 카운터(Modulo-n Counter) : 모든 플립플롭의 출력이 유용할 때
- 모듈로-8 카운터 : 3개의 플립플롭 출력에 의해 엔코드된 8개의 상태
QCQBQA = 000, 001, 010, 011, 100, 101, 110, 111.
- 플립플롭 (상태변수)의 개수와 상태의 개수 사이의 관계식
n = 2의 플립플롭의 개수승( n : n진 카운터)
5.4.2 동기 존슨카운터(Johnson Counter)
- 하나의 플립플롭의 출력의 다른 플립플롭의 입력으로 직접 연결하여 구성
- 공통 동기 클럭이 모든 플립플롭이 동시에 인가되기 때문에 동기식 이라함.
- 같은 클럭 시간에서 모든
플립플롭에 영향을 준다.
5.4.3 링 카운터 (동기)
- 링 카운터는 플립플롭 출력으로부터
연속된 펄스의 형태를 만듬. 특별한 상태로 플립플롭을
로드할 수 있도록 반복된 출력 형태.
- 카운터는 플립플롭의 비동기
입력을 사용하여 적절한 데이터 형태로 초기화(독립된 프리셋과
클리어 입력).
5.5.4 카운터의 응용 : Digital Clock
- MOD-n 카운터예--- 12 시간 디지털 시계.
- 60Hz 입력 전원, 파형정형 회로, 카운터, 디코더를 사용
- 슈미트 트리거 회로 : 정현파로부터 60Hz 구형파로 변환. (74LS57)
- 60분주 카운터 : 1 Hz 주파수로 감소.
- 2번째 60분주 카운터 : 매 분당 1번 카운터
- 3번째 카운터 : 매 시간당 1번 카운터.
- 12분주 : AM과 PM.
- 10진 카운터 : 날짜용 2개.
- Display decoder.
5.6 레지스터(Registers)
- 플립플롭으로 구성
- 데이터 저장이 레지스터의 주요 기능
5.6.1 레지스터 데이터 입력과 출력
- 병렬 입력/병렬 출력(PIPO), 직렬 입력/직렬 출력(SISO)
- 병렬 입력/직렬 출력(PISO), 직렬 입력/병렬 출력(SIPO)
- 데이터는 내부적으로 load된 플립플롭으로부터 다음 플립플롭으로 연속으로 shift.
- 직렬 출력 데이터는 한번에 한 bit를 단일의 플립플롭으로부터 취해지게 된다.
- 직렬 데이터 입력과 출력 operation은 여러 클럭 펄스를 필요로 한다.
- 병렬 데이터 operation은 단 하나의 클럭 펄스를 요한다.
- 데이터는 하나의 format으로 load되고 다른 format으로 제거된다.
- 모든 시프트 레지스터는 2개의 기능 부분 즉,
(1) 데이터 저장 플립플롭 (2) 저장된 정보를 load, unload, shift하기
위한
논리를 필요로 한다.
[병렬 입력/병렬 출력(PIPO) : SN74xx174/5]
- 병렬 데이터를 로드하기 위하여 각 입력 데이터 비트는 그것에 상응하는 저장
플립플롭이 필요.
- 인에이블입력은 동기 레지스터에 클럭과 연관되어 사용.
- 비동기 병렬 로드 레지스터는 보통 활성화된 인에이블 입력 레벨에서 동작.
[직렬 입력/ 직렬 출력(SISO) 시프트 레지스터 : SN74xx166]
-
직렬 입력/출력 레지스터는 클럭 펄스와 연관하여 한번에 입력 데이터 stream
중 1-비트를 받는다.
- 데이터는 내부 입력/출력 관계에 의하여 레지스터 플립플롭간에 시프트.
- 각 클럭 펄스는 하나의 플립플롭에 저장된 데이터를 다음의 플립플롭으로 전송.
-
직렬 출력은 레지스터의 맨 끝에 있는 플립플롭으로부터 얻어진다.
[범용 시프트 레지스터 : SN74194]
- 입력과 출력의 조합으로 여러 용도로 사용될 수 있음을 의미.
- 4개의 병렬 데이터 입력은 외부 데이터를 병렬 load.
- 2개의 직렬 입력과 1개의 좌로 이동, 그리고 1개의 우로 이동 기능.
- 직렬 출력 데이터는 시프트 방향에 따라 QA 혹은 QD로부터 얻어진다.
- 2개의 비트 모드 제어는 방향을 결정.
-
비동기 클리어와 양의 에지 트리거 클럭이 사용.
5.6.2 3-상태 레지스터
- 인에이블 : 정상적 2진 스위치
- 디스에이블 : 고 임피던스(오픈)
- 3번째 상태 즉 고 임피던스 상태는 오픈 스위치로 모델화