제 장카운터와레지스터7 (CountersandRegisters) 7-1 (...
Transcript of 제 장카운터와레지스터7 (CountersandRegisters) 7-1 (...
- 1 -
제 장 카운터와 레지스터7 (Counters and Registers)
비동기 리플 카운터7-1 ( )
리플 카운터의 회로 연결 및 동작 :
모든 입력은 로 연결하여 토글 모드로 동작JK 1
클럭펄스는 에만 인가 클럭펄스의 에서 출력변화LSB F/F - NGT/PGT
나머지 의 는 그전단의 의 출력연결F/F CLK LSB -
그전단 출력의 에서 출력변화NGT/PGT
모든 입력은 동시에 연결clear
각 사이에는 시간 지연 발생F/F
개의 사용시 최대MOD : N F/F 2N 까지 계수-1 , mod-2N 카운터
비트 리플 카운터4
주파수 분주
한 개의 는 입력에 대해 입력주파수의 로 주파수를 분주- F/F CLK 1/2
그림 에서 클럭펄스가 이면 출력 의 파형은 출력 는- 7-1 16 , A 8 , B㎑ ㎑
출력 는 출력 는 으로 분주4 , C 2 , D 1 (1/16 )㎑ ㎑ ㎑
카운터의 마지막 출력 주파수는 입력 주파수를 수에 의해 분주MOD※
예제 출력을 내는 카운터는 몇 개의 이 필요< 7-3> 1 MOD-60 F/F ?㎐
풀이) 26 최소 개의 필요= 64, 6 F/F
- 2 -
수7-2 MOD 2〈 N 인 카운터
- 2N보다 작은 수로 동작하는 카운터MOD
에서- 0 2N이하의 수까지 연속적인 값으로 계수하는 회로MOD
예 비트 리플 카운터를 카운터로 설계- : 3 MOD6
모든 는 리플 카운터F/F
로 연결
게이트의 출력을NAND
모든 의 클리어 입력F/F
에 연결
입력에 및NAND B C
의 출력 연결F/F
CBA = 000 001 010 011 100 101→ → → → → → 110110 000→
↑
카운터를 클리어시키기 위한 임시상태
상태 출력이 가 되어 의 비동기 클리어가 바로 동작하여110 : NAND 0 F/F
모든 는 가 된다 이때 의 임시 상태는 잠시 나타났다가 바로F/F 0 . 110 000
가 되어 카운터는 로 동작Mod-6
글리치가 발생하는 출력 출력 는: B 1※ 01-110-00 의 파형 순서에서0
로 잠시 의 상태로 좁은 양의 펄스인 또는 발생0-1-0 1 spike glitch
카운터의 상태도- Mod-6
unused state : 111
unstable state : 110
- 3 -
수의 변환MOD
리플 카운터의 모드 수는 원하는 모드 값이 되었을 때 이 되는 모든 의1 F/F
출력을 게이트 입력으로 연결하여 를 강제로 리셋NAND F/F
예 카운터: mod-7
상태가 될때 로 리셋하기 위해 에 출력 연결111 000 NAND ABC F/F
예제 다음 카운터의 수와 출력 에서의 주파수< 7-5> mod D
그림 입력인(a) NAND
는 카운터가D,C,B 1110
에 도착하였을 때 으0000
로 리셋 카운터는- 0000
부터 까지의 안정된1101
개의 상태로14 mod-14
카운터
입력주파수= 30 ㎑
출력 주파수D =
30 / 14 = 2.14㎑ ㎑
카운터의 일반적 설계 과정MOD X :
1. 2N 를 만족하는 의 최소수 을 결정하고 리플카운터로 연결X F/F N≥
만약, 2N 라면 과정 와 은생략= X 2 3
모든 비동기 클리어 입력에 게이트의 출력 연결2. NAND
카운트값 에서 이 되는 의 출력들을 입력에 연결3. X 1 F/F NAND
예제 부터 까지 카운트할 수 있는 카운터 설계< 7-6> 0 9 MOD-10
24 이므로 개의 필요 이 되면 리셋하기 위하여= 16 4 F/F , Mod-10=1010 D
와 출력을 입력에 연결B NAND
진 카운터 카운터10 /BCD
카운터 진 카운터 임의 순서로 개의 상태를 가짐- MOD-10 = 10 : 10
카운터 의 이진순서로 계수BCD : 0000 - 0001 - ... - 1000 - 1001
예제 의 라인주파수를 로 분주하는 카운터 설계< 7-7> 60 1 MOD-60㎐ ㎐
26 개의 사용= 64 > 60 : <- N=6 F/F
을 카운트할 때 클리어 출력을 에 연결60(111100) <- C, D, E, F NAND
- 4 -
비동기식 카운터7-3 IC
등- 74293/74LS293, 7493
출력1. 74293 :
Q0 (LSB)
Q1, Q2, Q3(MSB)
두개의 클럭 입력2. :
은 의 입력Q0 ,
는 의 입력으로Q1
에 동작NGT
비동기 리셋입력3. :
는MR1,MR2 master
일 때reset, 11
모든 를 클리어F/F
는 비트 리플 카운터로 연결 카운터4. Q1, Q2, Q3 3 <- mod-8
카운터Q0 <- mod-2
예제 에 의 클럭을 입력하여 카운터로 동작하< 7-8> 74LS293 10 mod-16㎑
도록 결선
의 출력을Q0 에 연결하면
mod-2 x mod-8 =
카운터mod-16
의 펄스는 의10 Q0㎑
클럭인 에 인가
- 5 -
예제 을 카운터로 결선< 7-9> 74293 mod-10
은 개의 가 필요하므로 는mod-10 4 F/F Q0 에 연결
카운터가 수1010(mod =10)
이 될 때 Q3과 의 출력Q1
을 마스터 리셋에 연결
내부적으로 게이트( NAND
가 있으므로 이를 사용)
예제 을 이용한 카운터< 7-10> 74293 mod-14
에 도달하였을 때1110(14)
출력을Q3, Q2, Q1
로 입력 외부에NAND <-
게이트를 하나 사용AND
예제 을 개 사용하여 구성한 카운터< 7-11> 74293 2 mod-60
두 단계에 의해서 입력주파수를 으로 분주1/60
카운터는 일 때 리셋mod-10 1010
Q3 = fin 로 카운터의 에 입력/10 mod-6 CP1
카운터는 는 미사용 일 때 리셋mod-6 Q0 , 110
주파수Q3 : fout = (fin/10) / 6 = fin / 60
- 6 -
비동기 카운터CMOS
비트 비동기 카운터 마스터 리셋입력- 74HC4024 : 7 (mod-128) , 1
비트 카운터 입력- 74HC4040 : 12 (mod-2048) , 1 MR (active high)
비동기식 다운 카운터7-4
부터 증가하는 순서로 계수- up counter : 0
최대값으로부터 감소하는 순서의 카운터- down counter :
비트 다운 카운터 동작 순서- 3 mod-8
은 클럭 펄스마다 반전 토글A F/F(LSB) ( )
은 가 에서 로 될 때 토글B F/F A 0 1
는 가 에서 로 될 때 토글C B 0 1
리플 다운 카운터의 입력 클럭이 로 동작- A NGT
한다면 의 출력을 인버터로 반전하여야 다-> F/F
운 카운터로 동작
의 반전 출력을 다음 단의 에 연결-> F/F CLK
- 7 -
리플 카운터의 전달 지연7-5
번째 상태변화 클럭펄스 발생후- N F/F : N× 시간의 전달지연 누적
카운터의 동작 속도가 느리다 낮은 동작 주파수<- .
동작주파수가 낮은 경우 전달지연은 카운터 동작에 크게 영향이 없다-
주파수가 높으면 전달 지연 효과는 상대적으로 크다 오동작- . <-
지연시간과 최대 주파수의 관계-
Tclock = N × , fmax = 1 / (N × )
개의 을 리플 연결시 이하로 동작 가능N F/F fmax
동기식 병렬 카운터7-6 ( )
카운터를 구성하는 모든 이 한 개의 클럭에 의해 동시에 트리거링- F/F
각 의 상태를 결정하는 추가 논리회로 필요- F/F
속도 빠르다- .
비트 동기형 카운터- 4 MOD-16
- 8 -
동기식 카운터의 동작 원리-
의 는 이므로 가 발생할때 마다 토글A JK 11 NGT
는 인 상태에서 가 들어올 때마다 토글B A=1 NGT
일 때( A=1 JK=11)∵
는 일때 가 들어오면 토글C A=B=1 NGT
일 때(AB=11 JK=11)
는 일 때 신호가 들어가면F/F D A=B=C=1 NGT
토글 일 때(ABC=111 JK=11)
이와같이 수가 확장되더라도 유사하게 연결F/F
- IC
동기식 십진카운터74LS160/162, 74HC160/162 :
동기식 진카운터74LS161/163, 74HC161/163 : 16
병렬 다운 카운터와 업 다운 카운터7-7 /
병렬 다운 카운터의 구성- :
입력에 각 의 반전출력을 연결 카운터 출력은 정상출력 사용J, K F/F ,
예 그림 의 카운터의 대신에 를 각 에 연) 7-17 up A, B, C A', B', C' AND
결하면 비트 다운 카운터3
병렬 카운터- up/down :
카운터= 1 -> up : 000-001-010- .... -110-111-000
카운터= 0 -> down : 111-110-101-....-001-000-111
- 9 -
동기식 업 다운 카운터- IC : 74LS190, 74HC190 - /
프리셋 카운터7-8
비동기 클럭에 무관 또는 동기적으로 카운터의 시작점을- ( )
미리 설정할 수 있는 카운터
정상 카운터 동작= 1 :
병렬 데이터= 0 : ( P2,P1P0 를 비동기적으로 카운터에) load
비동기 프리세트 카운터- IC : 74190, 74191, 74192, 74193 - IC
동기식 프리세트 카운터 프리세트시 병렬 로드 입력이 클럭에 동기- :
74160, 74161, 74162, 74163
카운터7-9 74193
비동기 프리셋과 리셋을 가진 동기형 카운터- mod-16 up/down
- 10 -
두 개의 클럭 입력(CPU와 CPD 중 한 개가 클럭으로 사용될 때) ,
다른 한개는 로 유지1
와 출력이 최대값:
또는 최소값 에 도달하(1111) (0000)
였을때 발생하는 캐리로 카운터
확장시 클럭으로 사용
예제 이< 7-14> 74193
업 카운터로 동작하는
회로의 병렬 입력이
이고1011 , CPU, ,
을 그림과 같이 인MR
가.
카운터의 초기상태를
이라 할 때 카운터0000
의 출력 파형
- 11 -
예제 다운 카운터로 구성< 7-15>
된 병렬 입력은 로74193, 0111
연결 카운터의 초기상태가,
이라 할 때 출력파형0000
을 이용한 가변 수74193 MOD
프리셋을 이용하여 수 변화- MOD :
프리 세트 수부터 최대 최소 수 까지 카운트( )
은- 74193 0101(510 의 병렬)
로드입력을 가진 다운 카운터
- 를 에 연결 카운터-
가 이면0000 이 되고=0
이때 병렬입력 load
<- 는 반 주기 이전에
카운터가 이 되므로 다시0101
로 간다1 .(glitch)
카운터는- 5-4-3-2-1-(0,5)
로 프리셋시 반주기mod-5 :
는 반주기는 상태0000, 0101
다단계 배열 (multistage arrangement)
- 12 -
와 는 둘 이상의 카운터를 다단계로 연결할 때 사용
또는 의 카운터 동작0 255 (up) 255 0(down)→ →
비트 병렬 입력과 카운터 출력8
카운터의 디코딩7-11
카운터 의 상태를 표시하는 방법- F/F
각 출력에 연결F/F LED
디코딩 방법 타이밍 제어 순서처리기 등에 사용- ,
디코딩Active high
카운터는 개의 서로- mod-X X
다른 상태가 있으며 어떤 특정
한 상태를 인지하는 회로를
카운터 디코딩
디코더출력의 논리레벨에-
따라 또는active HIGH
디코더active LOW
카운터와 디코딩 회- mod-8
로 개의 입력 게이트: 8 3 AND
는 한번에 하나씩만 출력high
발생
카운터의 특정 상태를 이용한-
제어 파형 발생회로
디코딩- Active low :
게이트를 사용하여 디코NAND
딩 출력을 로active low .
- 13 -
디코딩 글리치7-12
리플 카운터에서 간의 전달지- F/F
연 시간 차이에 의하여 게이트AND
출력에서 글리치 발생
디코딩 파형에서의 글리치는 와 사이 지연이 원인- X0, X2 A B
글리치가 문제가 되는 경우 카운터의 출력을 다른 회로를 제어하기 위- :
하여 사용할 때
비동기 리플카운터 간의 지연시간 차이에 의해 임시적상태 발생- : F/F
예 카운터가 에서 변화시: 011 100
011 -> 01 -> 0 0 -> 으로 차례로 변화하므로00
과 의 임시상태 존재010 000
디코딩 글리치 문제가 심각한 경우 문제를 해결 방법-
동기식 병렬 카운터 사용(1)
모든 게이트의 입력에 스토로브 신호 연결(2) strobing : AND
모든 이 에서 응답하여 안정된 상태가 될 때까지 디코딩- F/F NGT AND
게이트를 동작시키지 않도록 스트로브 신호 사용
- 14 -
카운터7-13 Cascading BCD
카운터를 종속 연결하여 까지 카운트하고 그 결과를 진으- BCD 0-999 10
로 디스플레이하는 회로
동기식 카운터 설계7-14
임의 순서로 동작하는 카운터 설계-
순차 회로 설계--> (sequential circuit design)
을 이용하여 순차회로를 설계하는 일반적인 방법J-K F/F
기본 개념-
모든 의 클럭은 동시에 한 개의 마스터 클럭에 연결F/F
클럭의 에지 트리거링 전에 각 의 입력에는 다음 상태를 결정하기F/F JK
위한 상태 인가
여기표 의 다음 상태를 결정하기 위하여 인가- J-K (excitation table) : F/F
하여야할 입력JK
순차회로 설계 과정
단계 비트 수 수 를 결정하고 상태 변화 순서 결정[1 ] (F/F )
예 비트 카운터: 3
은101, 110, 111
미사용상태(unused state, undesired state)
- 15 -
[ 단계 상태 변화를 볼수 있는 상태 천이도2 ]
작성 미사용 상태 포함.
단계 상태천이표 작성 현재 상태와 다음[3 ] :
상태와의 관계 표시
단계 회로 여기표[4 ] (circuit
작성excitation table) :
상태천이표에 입력열 첨가J,K
현재 상태에서 다음 상태로-
의 천이를 일으키는 입력J,K
값을 각 열에 표시
비트이면 개의 열 필요- N 2N
단계 각 와 입력에 대한 최적화된 논리식 유도[5 ] J K
각 입력에 대한 맵을 회로 여기표로부터 작성 후 논리식유도- J,K K-
<-- F/F input function
, KA = 1
- 16 -
단계 논리도 작성 모든 는 병렬로 클럭에 연결[6 ] - F/F
각 의 입력은 입력 함수의 논리회로 연결F/F J,K F/F
순차회로 상태기억소자 조합회로 의 상태결정<-- = F/Fs( ) + (F/F )
의 각 출력은 상태표에서 다음 상태에 대한 입력으로 사용 입력의F/F :※
순서의 따라 의 출력이 결정되므로 순서회로라 한다F/F .
스텝 모터 제어
상 제어 코일 과 는 반대위상 코일 과 도 반대 위상2 , 1 2 , 3 4
방향제어 전류의 위상 변화로 제어: CW, CCW .
회로 여기표 입력은 상태 출력이 아닌 외부 독립 입력- JK : D
- 18 -
외의 다른 를 사용한 순차회로 설계JK F/F★
여기표 현재상태 다음상태- F/F : Q(t)- , Q(t+1)-
R/S D T F/F
Q(t) Q(t+1) S R
0 0
0 1
1 0
1 1
0 X
1 0
0 1
X 0
Q(t) Q(t+1) D
0 0
0 1
1 0
1 1
0
1
0
1
Q(t) Q(t+1) T
0 0
0 1
1 0
1 1
0
1
1
0
은 토글 으로 의 입력을 토글 상태인 으로T F/F F/F JK F/F 11※
연결한 것과 동일하다.
순차회로 설계단계의 단계 의 여기표를 위의 각 의* [ 4] F/F F/F
여기표를 사용하여 작성
단계 에서의 각 의 입력함수에 대한 논리식을 구한다[ 5] F/F .
비트 회로에서 를 사용할 경우 개의 여기 열 나 를N , RS 2N , D T
사용할 경우는 개의 여기 열 필요N
표 의 카운터를 이나 을 사용하여 동시에 설계- 7-3 D F/F RS F/F ( ) ,
단계 의 회로 여기표 작성[ 4]
현재상태
C B A
다음상태
C B A
여기RS
SCRC SBRB SARA
여기D
DC DB DA0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
0 0 1
0 1 0
0 1 1
1 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 x 0 x 1 0
0 x 1 0 0 1
0 x x 0 1 0
1 0 0 1 0 1
0 1 0 x 0 x
0 1 0 x 0 1
0 1 0 1 0 x
0 1 0 1 0 1
0 0 1
0 1 0
0 1 1
1 0 0
0 0 0
0 0 0
0 0 0
0 0 0
단계 각 입력에 대한 을 작성하고 최적화된 논리식[ 5] SR K-map
각 입력에 대한 을 작성하고 최적화된 논리식D K-map
단계 논리도 각 을 사용하여 클럭을 병렬연결하고[ 6] : F/F F/F
입력함수는 에서 구한 식을 사용하여 연결5
- 19 -
시프트 레지스터 카운터7-15
링 카운터
마지막 출력을- circulating shift register: F/F
첫단 입력으로 연결F/F feedback
구성 중 비트만 의 상태로 유지 시- F/F 1 1 -> power-on
개의 만을 로 하고 나머지는 상태로 프리셋하는 회로 필요1 F/F 1 0
클럭의 에- PGT
서 비트씩 우로1
이동 (shift right),
마지막 비트는 피
드백
비트 링 카운터는 카운터- N MOD-N
존슨 카운터
링 카운터의 마지막단의 반- twisted-ring counter : switched-tail ring,
전 출력을 첫단의 입력에 연결
비트로서 카운터 구성- N MOD-2N
각 출력 파형의 은- F/F duty cycle 50%
- 20 -
존슨 카운터의 디코딩
존슨 카운터는 링 카운터보다 의 를 사용하지만 카운터의 상태를- 1/2 F/F
알기 위해서는 디코딩 게이트가 필요하다.
디코딩 게이트는 항상 개의 입력 게이트가 필요- 2N 2 AND
카운터 응용 주파수 카운터7-16 :
주파수 카운터 주파수 신호를 측정하고 디스플레이할 수 있는 회로-
일정 샘플링 구간동안 입력되는 주파수를 카운팅하는 회로-
출력은 카운터의 클럭으로 사용하고 카운터는 초기 클리어Z
다단 카운터를 사용하여 그 결과를 직접 디스플레이BCD
- 22 -
카운터 응용 디지털 시계7-17 :
디지틀 시계의 블록도-
시간 회로-
레지스터 종류7-17 IC
1. Parallel in/parallel out, PIPO
2. Serial in/serial out
3. Parallel in/serial out
4. Serial in/parallel out
7-18 PIPO -74174, 74178
비트- 74174, 6 PIPO
비트 병렬데이터6 (D5-D0 는 클럭 의 에서 레지스터에 로드) CP PGT
리셋 입력 은 모든 를 비동기적으로 리셋F/F
- 23 -
비트- 74178, 4 PIPO with shift
직렬입력 병렬출력7-21 / - 74164/74LS164/74HC164
입력- : A and B
출력 비트병렬 시프트 레지스터- : 8
- 24 -
예제 레지스터의 초기 내용을 이라고 하면[ 7-24] 74164 00000000
클럭펄스가 인가될 때마다의 상태변화는?
- 74194/LS194/HC194
비트4 bidirectional universal shift register:
right shift, left shift, parallel load, hold
- 74373/LS373/HC373/HCT373
비트 레지스터로 상 출력을 가진 래치로 구성8 (octal) 3 D
- 74374/LS374/HC374/HCT374
비트 레지스터로 상 출력을 가진 에지 트리거하는8 3
으로 구성D F/F