DSP学习之ADC补充说明

本文详细解析了排序器在连续自动排序模式和启动/停止模式下的工作原理,特别是在使用覆盖功能时如何通过软件控制自动返回,以及ADC模块如何通过时钟控制寄存器实现时钟频率的分频,延长转换脉冲宽度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、排序器的覆盖功能

排序器工作在连续的自动排序模式下:
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周期。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值