회원가입 ID/PW 찾기
AA

msp430f1611을 사용하고 있는데 ADC에서 읽어들인 값하고 직접 테스터기로 찍은 값이 달라요.

왜 그런가요?

그리고 책에 Nadc = 4095 * Vin - Vr-/Vr+  - Vr-  이게 무엇을 의미하는 지 궁금합니다..

 

P6SEL = 0x01;

 

void adc_init()
{
 ADC12CTL0 = ADC12CTL1 = 0;

 /** must be ENC = 0 **/
 ADC12CTL0 |= ADC12ON;         //ADC core enable. (consumes power)
 //ADC12CTL0 |= REFON;         // internal reference voltage on
 //ADC12CTL0 |= REF2_5V;         // reference generator voltage 2.5V (or 1.5V). REFON must be set.
 //ADC12CTL1 |= CSTARTADD0;      // conversion memory register start adress[0~3] (ADC12MEM0~ADC12MEM15)
 
 ADC12CTL1 |= ADC12SSEL0; // ADC12CLK = ACLK. ADC12 clock source - 00:ADC12OSC (consumes power), 01:ACLK, 10:MCLK, 11:SMCLK
 //ADC12CTL1 |= ADC12DIV0; // ADC12 clock divider[0~2]  - divide by 1~8
 
 ADC12CTL1 |= SHP;         //ADC12 Pulse Sample Mode (or Extended Sample mode)
 ADC12CTL0 |= SHT01 | SHT00; // 32 ADC12CLK cycles sampling. SHT1x, SHT0x - sample and hold time. only for when SHP =1. 
 //ADC12CTL0 |= MSC;         // Multiple sample and conversion. only for sequence or repeated modes.(ref. CONSEQx)

 //ADC12CTL1 |= SHS0 | SHS1; // Sample-and-hold source - 00:ADC12SC bit, 01:TA1, 10:TB0
 /*******************/

 //ADC12CTL1 |= CONSEQ0 | CONSEQ1; // ADC12 conversion sequence select (00:single channel and conversion, 01:sequence channel, 10:repeat single channel, 11:repeat sequence of channels)
 //ADC12CTL0 |= ENC;         // ADC12 Enable Conversion
 //ADC12CTL0 |= ADC12SC;         // ADC12 start conversion
}


u16 adc_convert(u08 adc_channel)
{
 u16 adc_result;
       

 /** must be ENC = 0 **/
 ADC12CTL0 &= ~ENC;
 switch (adc_channel)
 {
  case 0 :
   ADC12MCTL0 = INCH_0; break;
  case 1 :
   ADC12MCTL0 = INCH_1; break;
  case 2 :
   ADC12MCTL0 = INCH_2; break;
  case 3 : 
   ADC12MCTL0 = INCH_3; break;
  case 4 :
   ADC12MCTL0 = INCH_4; break;
  case 5 :
   ADC12MCTL0 = INCH_5; break;
  case 6 :
   ADC12MCTL0 = INCH_6; break;
  case 7 :
   ADC12MCTL0 = INCH_7; break;
  case 10 :
   ADC12MCTL0 = INCH_10; break; // temperature diode
 }
 /*******************/

 ADC12CTL0 |= ADC12SC + ENC; // SHI = 1
 ADC12CTL0 &= ~ADC12SC; // SHI = 0
 // wait until the conversion completes; ADC12BUSY?
 while (ADC12CTL1 & ADC12BUSY);
 ADC12CTL0 &= ~ENC;
 
 // 12 bit data mode
 adc_result = ADC12MEM0;
  
        
 return(adc_result);
}

                                      이렇게 해서 값을 읽어 들인값하고 테스터기로 찍어보면 나온값하고 어떻게 비교를 해야 하나요..위에 공식으로 적용을 해야하는지..   

전압은 0.6V가 나오는데 위에 대로 읽어 들인값은 744 값이 나옵니다.. 

전압인가는 5V를 넣어주었고..  

댓글 1
  • No Profile

    Nadc = 4095 * (Vin - Vr- ) / (Vr+ - Vr- ) 공식을 적용하여 값을 환산해야 입력된 전압 값을 알 수 있습니다. 

    4095 는 ADC가 12BIT로 2^12 의 Resolution을 갖기 때문에 변환 가능한 값의 범위가 0 ~ 4095 이고 , 그 최대 값을 나타내는 것 입니다.

    Vr- 는 마이너스 기준 전압 (보통 0v) , Vr+는 플러스 기준 전압 ( 보통 CPU 전원 3.3V ) 입니다.

    따라서 공식을 다시 쓰면 Nadc = 4095 * Vin / 3.3V 이 됩니다.

    Nadc = 4095 * 0.6V / 3.3V = 744

    더 예를 들어 보면

    입력 전압이 0V 이면 AD 값은 0 ,

    입력 전압이 1.65V 이면 AD 값은 2047

    입력 전압이 3.3V 면 AD값은 4095 가 됩니다.

하드웨어 설계 및 개발에 대하여 개발자들이 자유롭게 토론하는 공간입니다.
- Q&A, 자유주재 토론, 관련 정보 공유
- 분야 : 마이크로프로세서 응용, 전기/전자(아날로그/디지털) 회로 설계, C/C++ 프로그래밍, 펌웨어,
         PCB Artwork, 트러블슈팅 등 하드웨어 설계에 관한 전반인 내용
※ 게시글에 맞는 분류를 선택하여 글을 작성해 주시면 쾌적한 사이트 운영에 많은 도움이 됩니다.
※ 하드웨어 인사이트는 회원들간의 거래정보를 게재할 뿐이지, 그 어떤 책임과 의무도 가지지 않습니다.

search
번호 분류 제목 글쓴이 조회 수 날짜
174 구인구직 HOT외국계 자동차분야 Sales Engineer 신입 또는 2년이하 변재웅 1935 2013.06.26
173 구인구직 HOT외국계 자동차 소프트웨어 개발 2~5년 변재웅 2759 2013.06.26
172 구인구직 HOT외국계 제어기 회로 PCB Artwork(PADS) 5~10년 변재웅 9551 2013.06.26
171 구인구직 HOT외국계 IT Customer Program Manager 변재웅 2666 2013.06.26
170 구인구직 HOTUX디자인 UX리서치 등 서비스 디자이너 매니저급 변재웅 2733 2013.06.26
169 구인구직 HOTApplication 성능관리 솔루션 제품 QA 팀장/팀원 변재웅 3058 2013.06.20
168 구인구직 HOT초고압변압기 대형제관물등 수주영업 가능 임원급 변재웅 3234 2013.06.20
167 구인구직 HOT박막코팅 카메라모듈용 IR필터 생산기술 5년이하 변재웅 2699 2013.06.20
166 구인구직 HOT중국근무 박막코팅 카메라모듈용 IR필터 품질관리 변재웅 2523 2013.06.20
165 구인구직 HOT외국계 패션유통업 그룹웨어 POS 개발 및 유지보수 변재웅 7570 2013.06.20
164 구인구직 HOT외국계 Battery industry Sales Marketing 5년 이하 변재웅 1729 2013.06.20
163 구인구직 HOT외국계 자동차 부품 Sales Marketing 5년 이하 변재웅 1762 2013.06.20
162 구인구직 HOT외국계 CAN 또는 LIN통신 제어기 개발 엔지니어 변재웅 2573 2013.06.20
161 구인구직 HOT외국계 자동차 전장 EUC 엔지니어 5~10년 변재웅 1923 2013.06.20
160 구인구직 HOT외국계 PCB Artwork(PADS) 5~10년 변재웅 9734 2013.06.20
159 구인구직 HOT외국계 자동차 부품설계 및 개발 2~5년 변재웅 2893 2013.06.20
158 구인구직 HOT외국계 자동차 또는 전자 신뢰성 시험 3년 이하 변재웅 2920 2013.06.20
157 구인구직 HOT외국계 안전보건관리 5년 이하 영어가능자 변재웅 2646 2013.06.20
156 구인구직 HOT외국계 Automotive 전기 전자 모듈 구매 5년이하 변재웅 1778 2013.06.20
155 구인구직 HOT외국계 컨넥터 사출금형 기구설계 5년 이하 변재웅 2585 2013.06.20
Prev 1 2 3 4 5 6 7 8 9 10 ... 14 Next
  • 힘으로서 사람을 복종시키지 말고 덕으로서 사람을 복종시켜라.
    - 맹자
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.