这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » [分享]C2000系列TMS320F28335之ADC注意事项

共2条 1/1 1 跳转至

[分享]C2000系列TMS320F28335之ADC注意事项

助工
2020-04-13 10:52:27     打赏

1、ADC通道、结果寄存器对应关系:
AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x02U; // Setup ADCINA0 as 1st SEQ1 conv.
AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x03U;
AdcRegs.ADCCHSELSEQ1.bit.CONV02 = 0x00U;
AdcRegs.ADCCHSELSEQ1.bit.CONV03 = 0x01U;

ADCINA2 -> AdcRegs.ADCRESULT0;
ADCINA3 -> AdcRegs.ADCRESULT1;
ADCINA0 -> AdcRegs.ADCRESULT2;
ADCINA1 -> AdcRegs.ADCRESULT3;

由上面的代码可知,你的通道对应哪个CONVxx,则结果就存在哪个结果寄存器AdcRegs.ADCRESULTxx:
CONV00------------------AdcRegs.ADCRESULT0
CONV01------------------AdcRegs.ADCRESULT1

CONV15------------------AdcRegs.ADCRESULT15
这个对应关系是固定不变的,而A/D输入通道,可以根据自己选择排序控制寄存器的哪四位即CONVxx输入,然后进行转换。

2、为什么结果寄存器的值由进行右移4位
结果寄存器是16位的,而28335的ADC模块是12位的,一般使用的是映射在外设帧2,左对齐方式,,故前4位是保留的,所以需要右移4位才能得到实际值。

ADC结果寄存器是双映射。外设帧2(0x7108-0x7117)中的位置为2等待状态,且为左对齐。外设帧0空间(0x0B00-0x0B0F)的位置对CPU访问是1等待状态和对于DMA访问是0等待状态,右对齐。在ADC的高速/连续转换使用期间,使用0等待状态位置进行ADC结果到用户内存的快速转换。

DSP2833x_Headers_nonBIOS.cmd中
ADC_MIRROR : origin = 0x000B00, length = 0x000010 /* ADC Results register mirror /
ADC : origin = 0x007100, length = 0x000020 / ADC registers */





关键词: C2000     TMS320F28335     注意事项    

工程师
2020-04-14 21:42:46     打赏
2楼

感谢分享


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]