Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- verilog
- Edge Detector
- ATMEGA128A
- vivado
- Linked List
- java
- BASYS3
- behavioral modeling
- half adder
- pwm
- dataflow modeling
- test bench
- Algorithm
- structural modeling
- prescaling
- DHT11
- D Flip Flop
- Recursion
- hc-sr04
- Pspice
- LED
- stop watch
- ring counter
- soc 설계
- KEYPAD
- gpio
- uart 통신
- atmega 128a
- FND
- i2c 통신
Archives
- Today
- Total
거북이처럼 천천히
비동기식 카운터 (Asynchronous Counter) 본문
1. Timer / Counter
1.1. Timer
- 일정한 시간 간격을 가지고, 이벤트를 발생시키거나 시간 측정하는데 사용한다.
- 주로 주기를 갖는 클럭 신호를 사용하여 시간 측정한다.
1.2. Counter
- 입력 신호를 발생 횟수를 카운트하는데, 사용한다.
- 주로 입력 신호나 클럭 신호의 Positive edge나 Negative edge을 감지하여 카운트한다.
즉, Timer와 Counter의 차이점은 다음과 같다.
- Timer는 일정한 주기를 갖는 클럭을 사용하여 시간 측정에 초점을 두고,
Counter는 일정한 주기를 갖지 않는 클럭을 사용하여 이벤트 카운트에 초점을 둔다. - Timer는 일정한 주기를 갖는 클럭을 사용하지만,
Counter는 일정한 주기를 갖지 않는 클럭을 사용한다. (주기를 갖는 클럭 카운트 가능) - Timer는 시간 기반 동작을 제어하는데 주로 사용하고,
Counter는 수량 및 빈도를 측정하는 데 주로 사용한다.
2. Counter의 구분
Counter는 카운트 방식에 따라 2^n 진 카운터와 Shift 카운터로 구분한다.
2.1. 2^n 진 카운터
- 여기서 n은 비트 수를 의미하며, 2진 (n = 1), 4진 (n = 2), 8진 (n = 3) 등의 카운터가 있다.
- 또한 n은 카운터를 구성하는 Flip-Flop의 갯수를 의미한다.
- 2^n 진 카운터는 0 ~ 2^n - 1까지 카운터할 수 있다.
2.2. Shift 카운터
- Shift 카운터는 왼쪽 혹은 오른쪽으로 Shift하면서 카운트한 카운터이다.
즉, 2^n 진 카운터와 Shift 카운터의 차이점은 다음과 같다.
- 2^n 진 카운터는 일반적으로 숫자를 카운터하는 방식과 유사하게 2진수로 카운트한다.
- 하지만, Shift 카운터는 비트의 자리를 Shift시키면서 카운트한다.
3. 비동기식 카운터와 동기식 카운터
3.1. 비동기식 카운터
- 첫 번째 플립플롭에만 클록 펄스와 동기화된 카운터를 말한다.
- 가장 기본적인 비동기식 카운터인 리플 카운터인 경우에는 첫 번째 Flip Flop만 클럭 펄스와 동기화되어 있고, 나머지 Flip Flop들은 이전의 Flip Flop의 출력을 입력으로 받아 이전의 Flip Flop의 출력의 변화에 동작하는 카운터이다.
3.2. 동기식 카운터
- 카운터를 구성하는 플립플롭들은 클럭 펄스와 동기화되어 있는 형태의 카운터를 말한다.
- 클록 펄스의 변화에 대해서 모든 플립플롭들이 한 번에 동시에 동작하게 된다.
3.3. 비동기식 카운터와 동기식 카운터 비교
비동기식 카운터 (Asynchronous Counter) | 동기식 카운터 (Synchronous Counter) | |
CP와의 동기화 | 첫 번째 플립플롭만 동기화되어 있고, 나머지 플릅플롭들은 동기화되어 있지 않다. |
카운터를 구성하는 모든 플립플롭들은 CP와 동기화되어 있다. |
동작 | 첫 번째 플립플롭부터 순차적으로 동작 | 모든 플립플롭들이 동시에 감지 및 동작 |
속도 | 느림 | 빠름 |
구조 | 단순 | 복잡 |
4. 4진 비동기 업 카운터 (JK Flip Flop으로 구성)
- 4진 카운터이기 때문에 2개의 JK Flip Flop으로 구성
- 비동기 카운터이기 때문에 첫 번째 플립플롭만 클록 펄스와 동기화 되어 있고, 두 번째 플립플롭인 경우에는 첫 번째 플립플롭의 출력을 CK 단자에 연결한다.
- QA를 LSB (Least Significant Bit), QB를 MSB (Most Significant Bit)라고 하여 4진 비동기 업 카운트에 대해서 클록 펄스에 대한 출력 값을 정리하면 다음과 같다.
4.1. 4진 비동기 업 카운터의 분석 (JK Flip Flop으로 구성 + Negative edge sensitive)
- 각각의 Flip Flop들의 CLK 단자에 invertor가 있기 때문에 해당 카운터는 negative edge sensitive임을 확인할 수 있다.
- 초기 출력 값, QA, QB는 0, 0 상태이지만, 첫번째 CP의 Negative edge에서 FF-A는 출력값, QA 를 0 → 1로 toggle시켜 출력한다.그러나,FF-B에서는 CLK인 QA 값이 Positive edge trigger가 발생했기 때문에 아직 동작하지 않는다.
- 두 번째 CP의 Negative edge에서 FF-A의 출력값, QA 를 1 → 0으로 toggle시키면 FF-B에서는 CLK인 QA 값이 Negative edge trigger가 발생했기 때문에 FF-B의 출력 값, QB도 0 → 1로 toggle된다.
- 이러한 과정을 거쳐 4진 비동기 업 카운터는 (QA, QB) → 00 → 01 → 10 → 11 → 00 → ..... 으로 카운터를 하게 된다.
5. 4진 비동기 다운 카운터 (JK Flip Flop으로 구성)
- 4진 카운터이기 때문에 2개의 JK Flip Flop으로 구성
- 비동기식 카운터이기 때문에 첫 번째 플립플롭만 클럭 펄스와 동기화되어 있고, 나머지 플립플롭에 대해서는 이전 플립플롭의 출력을 클럭 펄스로 받는 구조를 갖는다.
- 4진 비동기 다운 카운트에 대해서 클록 펄스에 대한 출력 값을 정리하면 다음과 같다.
5.1. 4진 비동기 다운 카운터의 분석 (JK Flip Flop으로 구성 + Negative edge sensitive)
- 각각의 Flip Flop들의 CLK 단자에 invertor가 있기 때문에 해당 카운터는 negative edge sensitive임을 확인할 수 있다.
- 초기 출력 값, QA, QB는 1, 1 상태이지만, 첫번째 CP의 Negative edge에서 FF-A는 출력값, QA 를 1 → 0로 toggle시켜 출력한다.그러나,FF-B에서는 CLK인 QA' 값이 Positive edge trigger가 발생했기 때문에 아직 동작하지 않는다.
- 두 번째 CP의 Negative edge에서 FF-A의 출력값, QA 를 0 → 1으로 toggle시키면 FF-B에서는 CLK인 QA' 값이 Negative edge trigger가 발생했기 때문에 FF-B의 출력 값, QB도 1 → 0로 toggle된다.
- 이러한 과정을 거쳐 4진 비동기 다운 카운터는 (QA, QB) → 11 → 10 → 01 → 00 → 11 → ..... 으로 카운터를 하게 된다.
'논리 회로 > 디지털 논리 회로' 카테고리의 다른 글
동기식 카운터 (Synchronous Counter) (0) | 2024.07.08 |
---|---|
리셋형 10진 비동기 업 카운터 (0) | 2024.07.07 |
JK Flip-Flop / T Flip-Flop (0) | 2024.07.06 |
SR Flip-Flop / D Flip-Flop (0) | 2024.07.06 |
Ring Counter (0) | 2024.07.04 |