회원가입 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
번호 분류 제목 글쓴이 조회 수 날짜
55 Software & IDEs HOTAllegro OrCAD 16.6 파일 보내주실 수 있나요?2 jihE 476 2018.01.28
54 Software & IDEs 소스 분석툴 관련 질문드려요2 아톰신 160 2017.01.02
53 Software & IDEs 리눅스 커널에 대해 공부하려고 하는데 서적 한부 추천 부탁드립니다.1 아톰신 157 2017.01.02
52 Software & IDEs PADS.9.4.1 받을수 있는 방법(훈련병)2 하운드 294 2016.07.13
51 Software & IDEs 리눅스는 여기 사이트와 거리가 먼거죠?1 pcb훈련변 177 2016.06.05
50 Software & IDEs epm3128act100-10n 프로그램 확인 땡쟁이 208 2015.12.17
49 Software & IDEs 신입생입니다.3 sunni 218 2015.12.09
48 Software & IDEs gps단말기 펌웨어질문입니다1 힘술쟁이 242 2015.11.18
47 Software & IDEs HOTUSB를 사용하는 디바이스 펌웨어 개발 책? 문서?1 베이아터 474 2014.01.09
46 Software & IDEs HOT큐블럭 프로그래밍 관련 질문 올립니다.1 행복이아빠 589 2013.08.22
45 Software & IDEs HOTProteus 7.7 Professional2 Keyshaun 751 2013.07.12
Software & IDEs HOTmsp430f1611을 사용하고 있는데 ADC에서 읽어들인 값하고 직접 테스터기로 찍은 값이 달라요1 김진성짱 807 2013.06.25
43 Software & IDEs HOTOV9620 SXGA 모드 설정 좀 도와주세요1 로미옹 512 2013.03.25
42 Software & IDEs HOT주차 시스템 회로 구성하는데요.. peng2 1197 2011.10.09
41 Software & IDEs HOTFreescale 질문인데 아시는 분 없나요? ㅠㅠ2 jzho 1545 2011.07.19
40 Software & IDEs HOTkey board 관련1 jjhuem 2445 2011.07.06
39 Software & IDEs HOT펌웨어 하다가 막히는 부분이 있어서 질문 드립니다. 마모루 1552 2011.06.13
38 Software & IDEs HOT어셈블리어 공부하기1 아이스으 2189 2011.03.22
37 Software & IDEs HOT스마트폰 앱 개발시 음성필터요..1 귤씅 2204 2011.01.28
36 Software & IDEs HOTWDK 관련 문의 입니다.1 소보루 1292 2010.11.18
  • 사람은 무엇인가 좋은 일을 할 수 있는 동안에는 자살 등을 생각해서는 안 된다. 좋은 일을 함으로써 삶의 보람을 찾아야 한다.
    - 베토벤
  • * 납포인트 정보 *
  • 글 작성 : 3
  • 댓글 작성 : 1
  • 내 글이 추천받음 : 1
저작권법에 위배되는 콘텐츠는 등록 불가하며, 저작물에 대한 권리는 저작자에게 있습니다.
Copyright 2006-2021 © hardwareis.com, All rights reserved.