DSP学习之ADC补充说明

一、排序器的覆盖功能

排序器工作在连续的自动排序模式下:
AdcRegs.ADCTRL1.bit.CONT_RUN=1;
排序器工作在启动/停止模式下:
AdcRegs.ADCTRL1.bit.CONT_RUN=0;

在连续运行模式下,ADC模块将转换结果存放到结果寄存器ADCRESULTn中,在一个转换序列完成后,排序器自动返回0,即排序器SEQ1和级联排序器指针返回CONV00,SEQ2指针返回CONV08。但使用排序器覆盖功能时,排序器的自动返回可通过软件控制,通过控制寄存器ADCTRL1.SEQ_OVRD位的置位,
AdcRegs.ADCTRL1.bit.SEQ_OVRD=1;
排序器更新MAX_CONV1个结果寄存器后不再回绕到0,而是继续增加,直到ADCRESULT15为止,当ADCRESULT15更新完毕,再返回到0.
注这个特点将结果寄存器看作了FIFO,用于ADC对连续数据的捕捉。

二、ADC的时钟控制

ADC时钟频率ADCCLK:是F283x的高速外设时钟HSPCLK通过控制寄存器ADCTRL3的ADCCLKPS来分频的,再通过控制寄存器ADCTRL1的CPS位来分频的。
分频公式为:
ADCCLK=HSPCLK/2*ADCCLKPS/CPS+1
ADCCLKPS[3~0]分频系数可达1-30;CPS分频系数为1和2,当CPS=0,不分频;当CPS=1,二分频。

注意,ADC模块通过控制寄存器ADCTRL1的ACQ_PS[3~0]扩展采样获取周期,来延长转换脉冲SOC的宽度,增加采样时间的长度,SOC脉冲宽度为:
(ACQ_PS+1)/ADCCLK
e.g:AdcRegs.ADCTRL1.bit.ACQ_PS=7; //SOC脉冲宽度等于8个ADCCLK周期。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值