제 장카운터와레지스터7 (CountersandRegisters) 7-1 (...

24
-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 2 N 까지 계수 -1 , mod-2 N 카운터 비트 리플 카운터 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 ? 풀이) 2 6 최소 개의 필요 = 64, 6 F/F

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

- 17 -

입력 함수- JK F/F

논리도-

- 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

- 21 -

정확한 샘플 펄스를 얻기 위한 회로-

완전한 주파수 카운터-

- 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