DSP双排序操作方式

本文详细介绍了DSP双排序操作,包括顺序采样和同步采样两种模式。在顺序采样中,通过配置ADC控制寄存器实现7个通道的转换,并将结果保存在结果寄存器中。同步采样模式下,两个排序器各自控制4对转换,实现16个通道的轮回转换。文中还提到排序器的手动复位功能及其在启动/停止排序器操作时的重要性。

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

双排序语句:AdcRegs.ADCTRL1.bit.SQE_CASC=0
1)当ADC工作在双排序工作方式下,2个8状态排序器SEQ1和SEQ2彼此独立,由各自的触发源触发转换。
2)在一次排序过程中,SEQ1/SEQ2能对8个任意通道进行排序转换。
3)每个排序器的最多转换通道个数依然受MAX_CONVn控制。
4)控制寄存器ADCTRL1中的连续运行状态位CONT_RUN置1时,转换序列重新自动开始;CONT_RUN没有被置位时,排序指针停留在最后的状态(排序器SEQn 状态停留在最后的状态,如CONV06).
5)不太理解:控制寄存器ADCTRL2中的RST SEQn位可以将排序器SEQn手动复位,这样SEQ1的状态复位到CONV00,SEQ2的状态复位到CONV08,这一特点在启动/停止排序器操作时十分有用。

一、双排序器顺序采样

使用排序器SEQ1完成7个通道的模数转换,分别是模拟输入A2、A3、A2、A3、A6、A7、B4。
//配置ADC
AdcRegs.ADCTRL1.bit.SQE_CASC=0; //设置双排序器操作方式
AdcRegs.ADCTRL3.bit.SMODE_SEL=0; ///设置顺序采样模式
AdcRegs.ADCTEL3.bit.ADCCLKPS=2; //HSPCLK四分频
AdcRegs.ADCTRL1.bit.CONT_RUN=1; //连续运行,转换序列重新开始
AdcRegs.ADCTRL1.bit.CPS=0; //预定标系数设为1
AdcRegs.ADCMAXCONV.bit.MAX_CONV1=0x6;//最大输入通道数为7
AdcRegs.ADCCHSELSEQ1.bit.CONV00=0x2; //设置ADCINA2为第一个转换
AdcRegs.ADCCHSELSEQ1.bit.CONV01=0x3; //设置ADCINA3为第二个转换
AdcRegs.ADCCHSELSEQ1.bit.CONV02=0x2; //设置ADCINA2为第三个转换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值