单片机交流
直播中

贾飞世

7年用户 1764经验值
私信 关注
[问答]

模数转换器(ADC)的配置有哪些流程?

模数转换器(ADC)是什么?
模数转换器(ADC)的配置有哪些流程?配置流程的代码是什么?

回帖(1)

关睿

2021-7-14 13:52:53
  简介
  模数转换器(ADC)是SAR结构1,具有10个输入源,最高4096阶分辨率,将模拟信号传输到12位数字缓冲器。ADC建立在10通道输入源中,以测量10种不同的模拟信号源。ADC分辨率为12位。ADC具有四个时钟速率来决定ADC转换速率。ADC参考电压包括5个源。四个内部参考电源包括VDD,4V,3V和2V。另一个是来自AVREFH引脚的外部参考电压输入引脚。ADC在P1CON/PUCON寄存器中建立,以设置纯模拟输入引脚。ADC和ADS位设置后,ADC开始将模拟信号转换为数字数据。除了ADS位可以开始转换模拟信号外,PW1EN还具有转换模拟信号的ADC功能。ADC可以在空闲模式下工作。ADC运行后,如果中断启用,系统将从绿色模式唤醒到正常模式。
  ADC的配置流程
  在开始ADC转换之前,必须完全设置这些配置,使用以下步骤配置ADC:
  1、选择并启用转换开始ADC输入通道。 (通过CHS [3:0]位和GCHS位)
  2、必须将ADC输入通道的GPIO模式设置为输入模式。 (通过PnM寄存器)
  3、必须禁止ADC输入通道的内部上拉电阻。 (通过PnUR寄存器)
  4、必须设置ADC输入通道的配置控制位。 (通过PnCON寄存器)
  5、选择ADC高参考电压。 (通过VREFH寄存器)
  6、选择ADC时钟速率。 (通过ADCKS [1:0]位)
  7、设置ADENB位后,ADC准备将模拟信号转换为数字数据。
  所以配置流程变成代码就是:
  void InitAD(void){ // 设置通道 ADM = 0x80; // bit7置1使能ADC通道,低功耗模式下通过bit7置0来禁止ADC通道以降低功耗 ADM |= 0x02; // 低四位是ADC通道,P12、AIN2,具体参考ADC输入通道 // 设置时钟频率 ADR = 0x40; ADR |= 0x00; // 00 = fosc/16, 01 = fosc/8, 10 = fosc/1, 11 = fosc/2 // 设置参考电压源 VREFH = 0x00; // bit内部参考电压 VREFH |= 0x02; // 内部参考电压4V // 输入引脚配置 P1CON |= 0x0c; // P2CON |= 0;} 开始转换
   当ADENB位使能ADC IP时,需要通过程序进行ADC启动。除ADS位可以开始转换模拟信号外,PW1EN还具有转换模拟信号ADC功能。转换可以通过以下方式之一启动:
  ● 向寄存器ADM的ADS位写入1
  ● 当ADPWS位为“1”时,PWM1使能。
  在设置ADENB和ADS位后,ADC开始将模拟信号转换为数字数据。转换完成后,ADS位复位为逻辑0.当转换完成时,ADC威廉希尔官方网站 将EOC和ADCF位设置为“1”,数字数据输出设置为ADB和ADR寄存器。如果ADC中断功能使能(EADC = 1),ADC转换后,当ADCF为“1”时,ADC中断请求发生并执行中断服务程序。在中断过程中需要通过程序清除ADCF。
  注意,当ADPWS位为“1”时,如果将PWM使能触发用作转换源,则ADC将持续转换,直到禁用PWM。
  ADC输入通道
  ADC内置10通道输入源(AIN0 - AIN9),用于测量由CHS [3:0]和GCHS位控制的10个不同模拟信号源.AIN1为内部2V或3V或4V输入通道。外面没有任何输入引脚。此时ADC参考电压必须是内部VDD和外部电压,而不是内部2V或3V或4V。 AIN10可以成为电池系统的良好电池检测器。为了选择合适的内部AVREFH电平并比较值,系统内置了一个高性能,低成本的低电池检测器。
  ADC输入通道:
  以下为ADC外设的电气特性表:
  由上表可以看到,参考电压的使用,比如在 Viref 选择 内部2V参考电压、VDD为5V时,参考电压有正负0.04V的电压漂移。
  逐次逼近寄存器型(SAR)模拟数字转换器(ADC)是采样速率低于5Msps (每秒百万次采样)的中等至高分辨率应用的常见结构。SAR ADC的分辨率一般为8位至16位,具有低功耗、小尺寸等特点。这些特点使该类型ADC具有很宽的应用范围,例如便携/电池供电仪表、笔输入量化器、工业控制和数据/信号采集等。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分