DA14580 --- adc

1.目的

   adc在项目中经常需要用到

2.分析

   da14580 是一个10位的adc,1.2v的参考电压。可以设置为单端输入也可以设置为查分输入

3.平台:

协议栈版本:DA1458x_SDK

编译软件:keil 5.20

硬件平台:开发板

例子:DA1458x_SDK5.0.3\DA1458x_SDK5.0.3\DA1458x_SDK\5.0.3\projects\target_apps\ble_examples\prox_reporter\Keil_4

4.步骤

ADC的特性

  ADC

  DA14580配有高速超低功耗的10位通用模拟-数字转换器(GPADC)。它拥有单极模式以及双相(微分)模式。ADC有自己的大小为1.2 V的稳压器(LDO)。

  -10位动态ADC 65 ns转换时间

  -最大采样率3.3 Msample / s

  -超低功耗

  -两个单端和差分输入

  •四单端或两个微分外部输入

  •电池监控功能

  •斩波函数

  •抵消和零刻度调整

  •共模输入电平调整


a.da14580有4路10位的adc,

 

b.adc对应的管脚映射如下

 ADC0--P0_0

ADC1_P0_1

ADC2--P0_2

ADC3--P0_3

DA14580 --- adc_第1张图片

c.adc参考电压.输入电压范围

 DA14580 --- adc_第2张图片

 可以看出adc的参考有一个1.2v的参考电压

 

 DA14580 --- adc_第3张图片


1.当GP_ADC_ATTN3X =0 的时候,输入电压最大为1.2v

  当GP_ADC_ATTN3X =1 的时候,输入电压最大为3.6v,输入电压衰减3倍即输入电压的1/3作为输入

 

测量的通道有如下:

DA14580 --- adc_第4张图片


通道有如下选择:

 P0_0 P0_1 P0_2 P0_3

AVS

VDD_REF :参考电压

VDDRTT VBAT3V VDCDC VBAT1V 几种选项



/*******************************************************************************
 *???? :      battery_init                                                                
 *??     :     µç³Ø³õʼ»¯
 *           ronny                                                              
 *?   ? :   void                                                                  
 *?   ? :   void
 *?   ? :   void                                                           
 *???? : 20160322                                                                 
 *******************************************************************************/
void battery_init(void)
{
 
     adc_init(GP_ADC_SE,0,0/*GP_ADC_ATTN3X*/);
      adc_enable_channel(ADC_BATTERY_CHANNNAL);
 
}

adc_init()   设置的是  单端输入  输入端信号不衰减

adc_enable_channel: 是能通道

 

/*******************************************************************************
 *???? :      Get_battery_adc                                                                
 *??     :    »ñµÃadc
 *           ronny                                                                  
 *?   ? :   void                                                                  
 *?   ? :   void
 *?   ? :   void                                                           
 *???? : 20160322                                                                 
 *******************************************************************************/
uint16_t Get_battery_adc(void)
{
 
             uint16_t adc_value = adc_get_sample();
             return adc_value;
}


#ifndef __BATTERY__H
#define __BATTERY__H







#include "stdio.h"
#include "adc.h"

#define ADC_BATTERY_CHANNNAL  ADC_CHANNEL_P02  //通道选择


void  battery_init(void);
uint16_t Get_battery_adc(void);

#endif




你可能感兴趣的:(DA14580)