当前位置:首页 > > 充电吧
[导读]    ADC支持多达14位模数转换,有效位数(ENOB)多达12位。ADC包括一个具有多达8个独立配置通道的模拟多路转换器和参考电压发生器,并且通过DMA将转换结果写入存储器。具有多种运行模式。AD

    ADC支持多达14位模数转换,有效位数(ENOB)多达12位。ADC包括一个具有多达8个独立配置通道的模拟多路转换器和参考电压发生器,并且通过DMA将转换结果写入存储器。具有多种运行模式。ADC主要特征如下:

可选的采样率,可设置分辨率(7~12位)。

8个独立的输入通道,单端或者差分。

参考电压可选为内部、外部单端、外部差分或AVDD5。

中断请求产生。

转换结束时DMA触发。

温度传感器输入。

电池测量能力。

ADC输入

     当使用ADC时,端口0引脚必须配置为ADC输入。ADC输入最多可以使用8个,这些端口引脚将被称为AIN0~AIN7引脚。输入引脚AIN0~AIN7连接至ADC。为了配置端口0的引脚为ADC输入,寄存器APCCFG的对应位必须设置为1.该寄存器的默认值为选择端口0的引脚为非ADC输入,即数字输入/输出。

 可以把输入配置为单端或者差分输入。在选择差分输入的情况下,差分输入包括输入对AIN0~1、AIN2~3、AIN4~5和AIN6~7。注意:这些引脚不能使用负电源,或者大于VDD(未校准电源)的电源。

    除了输入引脚AIN0~AIN7,片上温度传感器的输出也可以选择作为用于温度测量的ADC输入。为了实现作为温度测量的ADC输入,寄存器TR0.ADCTM和ATEST.ATESTCTRL必须分别进行设置。

    还可以选择一个对应AVDD5/3的电压作为ADC输入。这个输入允许实现例如要求电池检测功能的应用。注意,这种情况下的参考电压不能由电池电压决定,例如,AVDD5电压不能作为参考电压。

   单端输入AIN0~AIN7以通道号码0~7表示。通道8~11表示由AIN0~1、AIN2~3、AIN4~5和AIN6~7组成的差分输入。通道号码12~15分别表示GND(12)、温度传感器(14)和AVDD5/3(15)。这些值在ADCCON2.SCH和ADCCON3.SCH域中使用。

    ADC可以配置为使用通用I/O引脚P2.0作为一个外部触发来开始转换。当P2.0用于ADC外部触发时,它必须配置为输入模式下的通用I/O。

ADC运行模式

   ADC具有三个控制寄存器,即ADCCON1、ADCCON2和ADCCON3。这些寄存器用于配置ADC和报告状态。

(1)ADCCON1控制寄存器

    

位 名称 复位 读/写 描述 7 EOC 0 R/H0 转换结束,当ADCH被读取时清除。如果在前一个数据被读取之前,已经完成了一个新的转换,该位保持为高
0:转换未完成
1:转换完成 6 ST 0   开始转换。在转换完成之前都读为1
0:没有进行中的转换
1:如果ADCCON1.STSEL = 11且没有序列正在进行转换,就启动一个转换序列 5:4 STSEL[1:0] 11 R/W1 启动选择。选择哪个事件将启动一个新的转换序列
00:P2.0引脚上的外部触发;
01:全速。不等待触发
10:定时器1通道0比较事件
11:ADCCON1.ST = 1 3:2 RCTRL[1:0] 00 R/W 控制16位随机数发生器。如果写为01,当操作完成后该设置将自动返回0x00
00:正常运行
01:同步LFSR一次
10:保留
11:停止,随机数发生器关闭 1:0   11 R/W 未使用。总是置为11     ADCCON1.EOC位是一个状态位,当一个转换结束时该位置1,当读取ADCH时,清除该位。

    ADCCON1.ST位用于启动一个转换蓄力。当该位置1,ADCCON1.STSEL位为11,且当前没有正在进行的转换时,将启动一个序列。当这个序列转换完成,该位自动清除。

   ADCCON1.STSEL位选择哪个事件将启动一个新的转换序列。可以被选择的事件选项有:外部引脚P2.0上的上升沿,前一个序列的结束,定时器1通道0比较事件或ADCCON1.ST置1.


(2)ADCCON2控制寄存器



位 名称 复位 读写 描述 7:6 SREF[1:0] 00 R/W 选择用于转换序列的基准电压
00:内部基准
01:AIN7引脚上的外部基准
10:AVDD5引脚
11:AIN6~AIN7差分输入上的外部基准 5:4 SDIV[1:0] 01 R/W 为包含在转换序列里的通道选择抽取率,抽取率也决定了分辨率和完成一个转换所需的时间
00:64抽取率(7位分辨率)
01:128抽取率(9位分辨率)
10:: 256抽取率(10位分辨率)
11:512抽取率(12位分别率) 3:0 SCH[3:0] 0000 R/W 序列通道选择
0000:AIN0;0001:AIN1;0010:AIN2;0011:AIN3;
0100:AIN4;0101:AIN5;0110:AIN6;0111:AIN7
1000:AIN0-AIN1;1001:AIN2-AIN3;1010:AIN4-AIN5
1011:AIN6-AIN7;1100:GND;1101:保留;
1110:温度传感器;1111:VDD/3  

   ADCCON2.SREF用于选择基准电压,只有在没有选择进行的时候才能改变基准电压

   ADCCON2.SDIV位选择抽取率,因此也设置了分辨率、完成一个转换所需的时间和采样率。只有在没有转换的时候才能设置抽取率


(3)ADCCON3控制寄存器


位 名称 复位 读写 描述 7:6 EREF[1:0] 00 R/W 选择用于单个转换的基准电压
00:内部基准
01:AIN7引脚上的外部基准
10:AVDD5引脚
11:AIN6~AIN7差分输入上的外部基准 5:4 EDIV[1:0] 01 R/W 为单个转换选择抽取率,抽取率也决定了分辨率和完成一个转换所需的时间
00:64抽取率(7位分辨率)
01:128抽取率(9位分辨率)
10:: 256抽取率(10位分辨率)
11:512抽取率(12位分别率) 3:0 ECH[3:0] 0000 R/W 单个通道选择
0000:AIN0;0001:AIN1;0010:AIN2;0011:AIN3;
0100:AIN4;0101:AIN5;0110:AIN6;0111:AIN7
1000:AIN0-AIN1;1001:AIN2-AIN3;1010:AIN4-AIN5
1011:AIN6-AIN7;1100:GND;1101:保留;
1110:温度传感器;1111:VDD/3

   ADCCON3寄存器控制单个转换的通道号码、基准电压和抽取率。在ADCCON3寄存器更新后,立即进行单个转换;或者如果有一个转换序列正在进行,那个在这个转换序列完成后立即进行单个转换。


SET_MAIN_CLOCK_SOURCE(CRYSTAL);   //设置系统时钟源为32MHz晶体振荡器
/*  AIN0通道采样   */
ADC_ENABLE_CHANNEL(ADC_AIN0);

/*配置ADCCON3寄存器以便在ADCCON1.STSEL = 11(复位默认值)且ADCCON1.ST = 1时进行单一转换*/
/*参考电压:AVDD_SOC引脚上的电压*/
/*抽取率:512*/
/*ADC输入通道:AIN0*/
ADC_SINGLE_CONVERSION(ADC_REF_AVDD | ADC_14_BIT | ADC_AIN0);
ADC_SAMPLE_SINGLE();           //启动一个单一转换
while(!ADC_SAMPLE_READY());    //等待转换完成
ADC_ENABLE_CHANNEL(ADC_AIN0);  //禁止AIN0
adc0_value[0] = ADCL;
adc0_value[1] = ADCH;
adc0_value[0] = adc0_value[0] >> 2;




本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

在我们家,WTW已经运行了14年了。它是一种非连接(不在线)的通风机,从房子外面吸收新鲜空气,经过过滤后空运到房子里。新鲜的环境空气是用从房子里大多数房间取出的空气预热的。再加热的能量是通过热交换器从流出的“脏”空气中获...

关键字: Zigbee LED 传感器

在智能家居系统中,无线传感器、控制器等设备对电源的稳定性与能效提出严苛要求。尤其在采用Zigbee协议的场景中,低功耗待机与智能唤醒机制成为延长设备续航、保障网络可靠性的核心设计要素。本文从电源架构设计、Zigbee模块...

关键字: Zigbee 低功耗

在物联网(IoT)技术生态中,低功耗广域网络(LPWAN)凭借其长距离、低功耗的特性,成为机器对机器(M2M)通信的核心支撑技术。LoRaWAN、NB-IoT与Zigbee作为三大主流技术,在能效管理、覆盖范围及应用适配...

关键字: LoRaWAN NB-IoT Zigbee

ZigBee是短距离通信的一种新兴双向无线通信技术。它具有近距离、低复杂度、低功耗、低数据速率、低成本的优点,使用2.4GHz波段。

关键字: Zigbee

为增进大家对智能家居的认识,本文将对智能家居技术ZigBee予以介绍。通过本文,您将了解到ZigBee技术的特点以及ZigBee和WiFi的区别。

关键字: 智能家居 指数 Zigbee

半导体技术持续向纳米尺度推进的过程,晶体管结构的创新成为突破物理极限的关键。从FinFET到GAA(全环绕栅极)晶体管的技术迭代,本质上是对量子隧穿效应、短沟道效应等微观物理现象的主动应对。GAA晶体管通过纳米片或纳米线...

关键字: LoRa Zigbee

Zigbee是智能家居生态系统中最流行的无线通信协议之一,以其可靠性、低功耗和强大的网状网络功能而闻名。在本教程中,我们将探讨如何利用Zigbee在强大而紧凑的DFRobot Beetle ESP32-C6微控制器上创建...

关键字: 智能照明 Zigbee Beetle ESP32-C6

如果您希望涉足Zigbee开发领域,那么这个项目非常适合您。在本教程中,我们将指导您使用Omnimo nRF52840开发板与Temp&Hum 24 Click (HDC3021传感器)配对构建无线温湿度传感器。...

关键字: Zigbee 传感器 HDC3021 Omnimo nRF52840

传感网作为物联网技术的核心支柱,其发展历程映射了从短距离通信到广域覆盖的技术跃迁。自2003年ZigBee协议问世以来,传感网技术经历了从局域网到广域网的范式转变,而LoRa等低功耗广域网(LPWAN)技术的崛起,更推动...

关键字: Zigbee LoRa

我想集成一个继电器与HomeAssistant来轻松控制我的LED条。最近,我一直在深入研究ESP32C6的Zigbee功能,我发现它的低功耗和易于连接非常适合我的需求。使用Zigbee可以让我无缝地将继电器集成到Hom...

关键字: LED EP32C6 Zigbee 继电器
关闭