개요 | |
EFM8 내장 ADC 이용하여 외부 아날로그 신호를 디지털로 변환하는 방법 정리함. ADC를 활용한다함은 세부 설정 파라메타가 많기 때문에 구현해야할 상황에 따라 적절한 선택을 해야한다. 본 예에서는 ADC를 활용하여 2개의 아날로그 신호를 입력받도록 하고, ADC는 이들 아날로그 전압 각각을 디지털로 변환하는 예를 보인다. 1. 아날로그신호 입력받을 핀 설정. 2. ADC 기본 설정. 3. Voltage Reference 설정. 4. 펌웨어에서 핀으로 입력된 2개의 아날로그 신호를 변환하여, 디지탈 값 확보. - 상기 2에서 설정한것만으로는 다채널 변환 목적에서는 충분하지 않으며 코드내에서 ADC0 관련 설정을 동적 변경하게 된다.
EFM8 ADC기본 정보 : http://igotit.tistory.com/332 위 1, 2를 수행하기 위한 필수 기반지식은 TRM에서 제공된다. | |
|
1. 아날로그 전압 입력 핀 설정. | |
P0.6, P0.7 에 외부 아날로그 전압을 입력한다고 하자. ADC 입력으로 사용가능한 핀은 P0.0~P0.7,P1.2,P1.3 이 가능하다. Simplicity Studio 프로젝트의 Configurator 에서 P0.6, P0.7의 설정을 아래 처럼 IOMode 를 Analog I/O 로 선택하고, Skip 에서 Skip 선택하는 걸로 설정완료된다. 이제 이 핀으로 아날로그 전압 입력가능하다.
| |
|
2. ADC 기본 설정. | |
Simplicity Studio 의 Configurator 에서 ADC설정하는 예를 보인다.
Configurator 에서 ADC0 을 선택하고 오른쪽 설정에서 옵션들을 선택한다. 각 항목의 설정은 아래와 같다.
Control - Enable ADC : Enabled - Burst Mode : Disabled - Start of Conversion : Write to 1 of ADBUSY (선택가능 : ADBUSY/Timer0/2/3 Overflow/Rising Edge CNVSTR) Multiplexer Selection - Positive Input Selection : ADC0.6 (P0.6), 앞의 단계1에서 우리는 2개의 입력을 선택하였고 이 중 임의 1개를 기본 설정으로 연결해둔것임. Configuration - Resolution : 10bit. (선택가능 : 12, 10, 8 , 12bit 를 사용하려면 앞의 Control - Burst Mode 를 enable 해야함.) - SAR Clock Divider : 30 (선택가능 : 1~32, SAR CLOCK SOURCE 주파수를 이 값으로 나눈 값이 SAKCLK 가 됨.) - Enable 8-bit mode : Normal Mode. (선택가능 : Normal 10,12bit, 8bit Mode) - Gain Control : 0.5x (선택가능 : 0.5x, 1x) - Result Shift and Justify : Right justified (선택가능 : Right just./R just. 1 right shift/R just. 2 r st/R just. 3 r s/Left justified ) - Track Mode : Delayed tracking (선택가능 : Normal, Delayed) Burst Mode Control - Burst Mode Repeat Count : 1conversion. (선택가능 : 1,4,8,16,32,64 ), 앞의 Control - Burst Mode를 disable 한 경우에는 1만 가능함. Power Control - Enable low Power Mode : Enabled. SARCCLOCK 이 4MHz 이하인 경우에는 enable시켜서 전력소비 줄일 수 있다. Accumulator Configuration - Enable 12 bit mode : Disabled. - Enable Accumulate : Disabled. Window Compare - Greater-Than Value : 0 - Less-Than Value : 0
| |
|
3. Voltage Reference 설정. | |
ADC에서 사용되는 Voltage Reference 설정은 REF0CN 레지스터에서 이뤄진다. confugurator 에서 설정할라면 아래 처럼 Volatge Reference 선택하고, 기준전압을 선택한다. 본 예에서는 1.65 V 내장 Voltage Reference 사용하는 경우다. 선택가능 : 1.65V(내장)/VDD/LDO/외부VREF핀에 인가된 전압.
| |
|
본 글이 포함된 상위 정리장소 :
|
///338.
'임베디드.일렉트로닉스 > EFM8' 카테고리의 다른 글
EFM8 UB1 스타터 키트. - SLSTK2000A (0) | 2015.11.28 |
---|---|
EFM8 소프트웨어 리셋 시키는법. (0) | 2015.11.05 |
EFM8 SB1 ADC (0) | 2015.06.19 |
EFM8 인트럽트 코드생성. (0) | 2015.06.10 |
EFM8 SB1 개발보드. (0) | 2015.06.09 |
댓글