【TMS320F2837xS】ADC模块学习过程记录


在这里插入图片描述

ADC配置的三要素

  1. 启动SOC的触发源
  2. 转换通道
  3. 采样窗口大小

当采样完成后,数据会存在ADCRESULTx寄存器(对应SOCx)

EOC和中断操作

EOC:ADC转换结束,会产生相应的信号

  • 采集窗口结束或电压转换结束时产生EOC信号,用于产生ADC中断信号
  • 一共有16个EOC信号,可以配置的4个ADC中断信号

在这里插入图片描述

中断溢出(目前用不上,不深究)

当EOC信号触发中断,并对寄存器ADCINTFLG设置中断标志位时,发现该中断标志位已经是置位情况了,这种现象称为中断溢出。

  • 默认情况,溢出中断信号不会送到PIE
  • 中断溢出发生时,会将ADCINOVF寄存器置位

持续中断模式(Continue to Interrupt Mode)

  • 通过设置寄存器ADCINTSEL1N2ADCINTSEL1N2中的INTxCONT位配置该模式
  • 开启持续中断模式,ADC中断信号会始终送往PIE(我推测应该是开启该模式后,就算是发生中断溢出情况,ADC中断信号还是会触发PIE)

提前中断模式(Early Interrupt Configuration Mode)

  • 在ADC转换结果出来之前就可以进入ADC中断服务程序(可用于预处理,便于获取ADC结果后能立即采取操作)

  • ADCCTL1寄存器中的INTPULSEPOS位设置为0开启该模式

  • 为了防止过早进入ADC中断服务程序(浪费时间),可以通过配置ADCINTCYCLE寄存器中的DELAY字段配置,DELAY值需要设置为SYSCLK周期数,其范围是从SOC脉冲信号下降沿开始,到ADC中断标志位置位之间所需的SYSCLK周期数

后处理模块(Post-Processing Blocks)

(暂时用不到,不深究)
每一个ADC模块包含4个PPB,PPB能通过寄存器ADCPPBxCONFIG.CONFIG字段与16个ADC结果寄存器任何一个相关联

PPB功能:

  • 对ADC的结果进行校准
  • 与参考值作差
  • 标记过零点(zero-crossing point)、最高和最低的比较限制,并可选择trip pwm和产生中断
  • 记录SOC触发与ADC实际采样时间之间的延迟

ADC时序

ADC转换过程分为两部分:S+H阶段、转换阶段

S+H阶段:ADC采样和保持过程,由SYSCLK计时

  • 持续时间=(正在转换的SOC的ACQPS+1)*SYSCLK周期
  • 持续时间必须超过1个ADCCLK周期,以及数据表(参考手册Table10-12和Table10-13)中指定的最小S+H持续时间
  • 12位模式下,转换时间约为10.5个ADCCLK周期
  • 16位模式下,转换时间约为29.5个ADCCLK周期
  • 但确切转换时间一定时SYSCLK周期的整数倍

转换阶段:由ADCCLK计时(基于SYSCLK分频生成的时钟)

在这里插入图片描述

ADC时序中的四个描述时间

tSH:S+H阶段时间
tLAT:从S+H阶段结束后到ADC将结果存放到ADCRESULTx寄存器花费的时间
tEOC:当前S+H时间结束到下一个ADC转换的S+H时间开始
tINT:S+H阶段结束到ADCINT标志位置位

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值