2019. 8. 3. 18:46ㆍ개발 관련 학습정리/AVR(atmega128) Register 분석
analog comparator에 대하여 알아보자.
용도는 인터럽트를 발생시키거나 / 타이머(카운터)를 트리거할 때 사용된다.
AIN0(+)와 AIN1(-)로 들어온 아날로그 값을 비교하여 AIN0이 더 전압이 클 경우 발생한다.
AIN0에서는 ACBG를 통해 bandgap reference의 고정 전압을 사용하거나 외부 전압을 사용할 수 있고,
AIN1에서는 ACME, ADEN, 그리고 ADC 멀티플렉서에서의 아웃풋을 받아 결정한다.
그럼 이제 Analog Comparator의 레지스터를 알아보자
1. ADCSRB : ADC control and status register B (ADCSRA 는 ADC에서만 사용)
ACME는 analog comparator multiplexer enable bit로, 말 그대로이다.
2. ACSR : AC control and status register
ACD - analog comparator disable bit
1일 경우 disable 한다
ACBG - analog comparator bandgap select
이 비트를 통해 1이면 bandgap 레퍼런스를 , 0이면 기존 AIN0을 사용한다.
ACO - analog comparator output
write 할 수 없고, 아웃풋 그 자체이다.
ACI - analog comparator Interrupt Flag
플래그 비트로, 이플 래그는 인터럽트 트리거 실행될 때 1로 세트 되고, 인터럽트 처리 시작하면 0으로 클리어 된다.
ACIE, ACIC - analog comparator Interrupt/Input Capture Enable
ACIE는 인터럽트를, ACIC는 input capture를 enable 시킨다.
ACIS1.. 0 - analog comparator interrupt mode select
3. DIDR1 : Digital Input Disable Register 1
AIN1... 0D - AIN1과 0의 input을 disable 시켜주는 비트이다.
추가 기능 : analog comparator multiplex input ->
ADC0... 7의 입력 신호를 받을 수 있는 기능이 있다.
ACME가 1일 때(analog comparator가 enable일 때)와 ADEN이 0일 때 (ADC가 꺼졌을 때) 받을 수 있으며,
ADC 채널 중에 1개가 AIN1 입력으로 설정되고, ADC 채널은 ADC 멀티플렉서 아웃풋이 정해준다.
analog comparator는 adc와 많은 연관이 있다.
따라서 adc를 이해해야 analog comparator도 완벽하게 이해할 수 있다는 것이다.
다음 편에서 adc에 대해 알아볼 것이다.
'개발 관련 학습정리 > AVR(atmega128) Register 분석' 카테고리의 다른 글
[Atmega128] 7. SPI 통신 (Serial Peripheral Interface Bus) (0) | 2019.08.05 |
---|---|
[Atmega128] 6. 아날로그 변환기 ADC (Analog to Digital Converter) (0) | 2019.08.05 |
[Atmega128] 4. 타이머 인터럽트 (clk/Timer mode/OC 단자 출력) (0) | 2019.08.03 |
[Atmega128] 3. 타이머 인터럽트 Timer/Counter Register (0) | 2019.08.03 |
[Atmega128] 2. 외부 인터럽트 External Interrupts Register (0) | 2019.08.02 |