在看ti公司提供的数据手册中ACQPS的值代表着AD模块采样持续时间 AdcaRegs.ADCSOC0CTL.bit.ACQPS=20 代表着soc0将使用21个SYSCLK周期的采样时间
而在adc模块的同步操作的过程中
匀 具有不均匀SOC 编号的同步操作
如果只使用一个触发源,则一个ADC可以使用比其他ADC更多的SOC,同时仍然同步操作。
: 示例:SOC 编号不同的同步操作
AdcaRegs.ADCSOC0CTL.bit.CHSEL = 4; // SOC0将转换ADCINA4
AdcaRegs.ADCSOC0CTL.bit.ACQPS = 19; // SOC0将使用20个SYSCLK周期的采样持续时间
AdcaRegs.ADCSOC0CTL.bit.TRIGSEL = 10; // SOC0将在ePWM3 SOCB上开始转换
AdcbRegs.ADCSOC0CTL.bit.CHSEL = 0; // SOC0将转换ADCINB0
AdcbRegs.ADCSOC0CTL.bit.ACQPS = 19; // SOC0将使用20个SYSCLK周期的采样持续时间
AdcbRegs.ADCSOC0CTL.bit.TRIGSEL = 10; // SOC0将在ePWM3 SOCB上开始转换
AdcaRegs.ADCSOC1CTL.bit.CHSEL = 4; // SOC1将转换ADCINA4
AdcaRegs.ADCSOC1CTL.bit.ACQPS = 30; // SOC1将使用31个SYSCLK周期的采样持续时间
AdcaRegs.ADCSOC1CTL.bit.TRIGSEL = 10; // SOC1将在ePWM3 SOCB上开始转换
AdcbRegs.ADCSOC1CTL.bit.CHSEL = 1; // SOC1将转换ADCINB1
AdcbRegs.ADCSOC1CTL.bit.ACQPS = 30; // SOC1将使用31个SYSCLK周期的采样持续时间
AdcbRegs.ADCSOC1CTL.bit.TRIGSEL = 10; // SOC1将在ePWM3 SOCB上开始转换
AdcaRegs.ADCSOC2CTL.bit.CHSEL = 0; // SOC2将转换ADCINA0
AdcaRegs.ADCSOC2CTL.bit.ACQPS = 19; // SOC2将使用31个SYSCLK周期的采样持续时间
AdcaRegs.ADCSOC2CTL.bit.TRIGSEL = 10; // SOC2将在ePWM3 SOCB上开始转换 为什么AdcaRegs.ADCSOC2CTL.bit.ACQPS = 19; // SOC2将使用31个SYSCLK周期的采样持续时间 不应该是 20个1个SYSCLK周期的采样持续时间
另外采样的同步操作是不是就是指采样所持续的时间一致
Green Deng:你好,这段程序及其说明是自己编写的吗?
ACQPS是设置采样窗口大小的,就是采样保持时间:
Acquisition window size. This bit field controls the width of SOC pulse, which, in turn, determines for what time duration the sampling switch is closed. The width of SOC pulse is ADCTRL1[11:8] + 1 times the ADCLK period.
上面的说明是不是有其他人更改错了?
另外,一般意义上的同步采样是指采样模式为Simultaneous Sampling Mode,区别于另一种采样模式Sequential Sampling Mode。
在看ti公司提供的数据手册中ACQPS的值代表着AD模块采样持续时间 AdcaRegs.ADCSOC0CTL.bit.ACQPS=20 代表着soc0将使用21个SYSCLK周期的采样时间
而在adc模块的同步操作的过程中
匀 具有不均匀SOC 编号的同步操作
如果只使用一个触发源,则一个ADC可以使用比其他ADC更多的SOC,同时仍然同步操作。
: 示例:SOC 编号不同的同步操作
AdcaRegs.ADCSOC0CTL.bit.CHSEL = 4; // SOC0将转换ADCINA4
AdcaRegs.ADCSOC0CTL.bit.ACQPS = 19; // SOC0将使用20个SYSCLK周期的采样持续时间
AdcaRegs.ADCSOC0CTL.bit.TRIGSEL = 10; // SOC0将在ePWM3 SOCB上开始转换
AdcbRegs.ADCSOC0CTL.bit.CHSEL = 0; // SOC0将转换ADCINB0
AdcbRegs.ADCSOC0CTL.bit.ACQPS = 19; // SOC0将使用20个SYSCLK周期的采样持续时间
AdcbRegs.ADCSOC0CTL.bit.TRIGSEL = 10; // SOC0将在ePWM3 SOCB上开始转换
AdcaRegs.ADCSOC1CTL.bit.CHSEL = 4; // SOC1将转换ADCINA4
AdcaRegs.ADCSOC1CTL.bit.ACQPS = 30; // SOC1将使用31个SYSCLK周期的采样持续时间
AdcaRegs.ADCSOC1CTL.bit.TRIGSEL = 10; // SOC1将在ePWM3 SOCB上开始转换
AdcbRegs.ADCSOC1CTL.bit.CHSEL = 1; // SOC1将转换ADCINB1
AdcbRegs.ADCSOC1CTL.bit.ACQPS = 30; // SOC1将使用31个SYSCLK周期的采样持续时间
AdcbRegs.ADCSOC1CTL.bit.TRIGSEL = 10; // SOC1将在ePWM3 SOCB上开始转换
AdcaRegs.ADCSOC2CTL.bit.CHSEL = 0; // SOC2将转换ADCINA0
AdcaRegs.ADCSOC2CTL.bit.ACQPS = 19; // SOC2将使用31个SYSCLK周期的采样持续时间
AdcaRegs.ADCSOC2CTL.bit.TRIGSEL = 10; // SOC2将在ePWM3 SOCB上开始转换 为什么AdcaRegs.ADCSOC2CTL.bit.ACQPS = 19; // SOC2将使用31个SYSCLK周期的采样持续时间 不应该是 20个1个SYSCLK周期的采样持续时间
另外采样的同步操作是不是就是指采样所持续的时间一致
user6034192:
回复 Green Deng:
这段程序来自于ti公司提供的技术手册,自己用谷歌翻译 汉化为了方便阅读,我觉得这里可能出现错误
在看ti公司提供的数据手册中ACQPS的值代表着AD模块采样持续时间 AdcaRegs.ADCSOC0CTL.bit.ACQPS=20 代表着soc0将使用21个SYSCLK周期的采样时间
而在adc模块的同步操作的过程中
匀 具有不均匀SOC 编号的同步操作
如果只使用一个触发源,则一个ADC可以使用比其他ADC更多的SOC,同时仍然同步操作。
: 示例:SOC 编号不同的同步操作
AdcaRegs.ADCSOC0CTL.bit.CHSEL = 4; // SOC0将转换ADCINA4
AdcaRegs.ADCSOC0CTL.bit.ACQPS = 19; // SOC0将使用20个SYSCLK周期的采样持续时间
AdcaRegs.ADCSOC0CTL.bit.TRIGSEL = 10; // SOC0将在ePWM3 SOCB上开始转换
AdcbRegs.ADCSOC0CTL.bit.CHSEL = 0; // SOC0将转换ADCINB0
AdcbRegs.ADCSOC0CTL.bit.ACQPS = 19; // SOC0将使用20个SYSCLK周期的采样持续时间
AdcbRegs.ADCSOC0CTL.bit.TRIGSEL = 10; // SOC0将在ePWM3 SOCB上开始转换
AdcaRegs.ADCSOC1CTL.bit.CHSEL = 4; // SOC1将转换ADCINA4
AdcaRegs.ADCSOC1CTL.bit.ACQPS = 30; // SOC1将使用31个SYSCLK周期的采样持续时间
AdcaRegs.ADCSOC1CTL.bit.TRIGSEL = 10; // SOC1将在ePWM3 SOCB上开始转换
AdcbRegs.ADCSOC1CTL.bit.CHSEL = 1; // SOC1将转换ADCINB1
AdcbRegs.ADCSOC1CTL.bit.ACQPS = 30; // SOC1将使用31个SYSCLK周期的采样持续时间
AdcbRegs.ADCSOC1CTL.bit.TRIGSEL = 10; // SOC1将在ePWM3 SOCB上开始转换
AdcaRegs.ADCSOC2CTL.bit.CHSEL = 0; // SOC2将转换ADCINA0
AdcaRegs.ADCSOC2CTL.bit.ACQPS = 19; // SOC2将使用31个SYSCLK周期的采样持续时间
AdcaRegs.ADCSOC2CTL.bit.TRIGSEL = 10; // SOC2将在ePWM3 SOCB上开始转换 为什么AdcaRegs.ADCSOC2CTL.bit.ACQPS = 19; // SOC2将使用31个SYSCLK周期的采样持续时间 不应该是 20个1个SYSCLK周期的采样持续时间
另外采样的同步操作是不是就是指采样所持续的时间一致
Green Deng:
回复 user6034192:
网站翻译确实会出现问题。这段程序的出处是哪里?
在看ti公司提供的数据手册中ACQPS的值代表着AD模块采样持续时间 AdcaRegs.ADCSOC0CTL.bit.ACQPS=20 代表着soc0将使用21个SYSCLK周期的采样时间
而在adc模块的同步操作的过程中
匀 具有不均匀SOC 编号的同步操作
如果只使用一个触发源,则一个ADC可以使用比其他ADC更多的SOC,同时仍然同步操作。
: 示例:SOC 编号不同的同步操作
AdcaRegs.ADCSOC0CTL.bit.CHSEL = 4; // SOC0将转换ADCINA4
AdcaRegs.ADCSOC0CTL.bit.ACQPS = 19; // SOC0将使用20个SYSCLK周期的采样持续时间
AdcaRegs.ADCSOC0CTL.bit.TRIGSEL = 10; // SOC0将在ePWM3 SOCB上开始转换
AdcbRegs.ADCSOC0CTL.bit.CHSEL = 0; // SOC0将转换ADCINB0
AdcbRegs.ADCSOC0CTL.bit.ACQPS = 19; // SOC0将使用20个SYSCLK周期的采样持续时间
AdcbRegs.ADCSOC0CTL.bit.TRIGSEL = 10; // SOC0将在ePWM3 SOCB上开始转换
AdcaRegs.ADCSOC1CTL.bit.CHSEL = 4; // SOC1将转换ADCINA4
AdcaRegs.ADCSOC1CTL.bit.ACQPS = 30; // SOC1将使用31个SYSCLK周期的采样持续时间
AdcaRegs.ADCSOC1CTL.bit.TRIGSEL = 10; // SOC1将在ePWM3 SOCB上开始转换
AdcbRegs.ADCSOC1CTL.bit.CHSEL = 1; // SOC1将转换ADCINB1
AdcbRegs.ADCSOC1CTL.bit.ACQPS = 30; // SOC1将使用31个SYSCLK周期的采样持续时间
AdcbRegs.ADCSOC1CTL.bit.TRIGSEL = 10; // SOC1将在ePWM3 SOCB上开始转换
AdcaRegs.ADCSOC2CTL.bit.CHSEL = 0; // SOC2将转换ADCINA0
AdcaRegs.ADCSOC2CTL.bit.ACQPS = 19; // SOC2将使用31个SYSCLK周期的采样持续时间
AdcaRegs.ADCSOC2CTL.bit.TRIGSEL = 10; // SOC2将在ePWM3 SOCB上开始转换 为什么AdcaRegs.ADCSOC2CTL.bit.ACQPS = 19; // SOC2将使用31个SYSCLK周期的采样持续时间 不应该是 20个1个SYSCLK周期的采样持续时间
另外采样的同步操作是不是就是指采样所持续的时间一致
user6034192:
回复 Green Deng:
是官方提供的技术手册 1315页
在看ti公司提供的数据手册中ACQPS的值代表着AD模块采样持续时间 AdcaRegs.ADCSOC0CTL.bit.ACQPS=20 代表着soc0将使用21个SYSCLK周期的采样时间
而在adc模块的同步操作的过程中
匀 具有不均匀SOC 编号的同步操作
如果只使用一个触发源,则一个ADC可以使用比其他ADC更多的SOC,同时仍然同步操作。
: 示例:SOC 编号不同的同步操作
AdcaRegs.ADCSOC0CTL.bit.CHSEL = 4; // SOC0将转换ADCINA4
AdcaRegs.ADCSOC0CTL.bit.ACQPS = 19; // SOC0将使用20个SYSCLK周期的采样持续时间
AdcaRegs.ADCSOC0CTL.bit.TRIGSEL = 10; // SOC0将在ePWM3 SOCB上开始转换
AdcbRegs.ADCSOC0CTL.bit.CHSEL = 0; // SOC0将转换ADCINB0
AdcbRegs.ADCSOC0CTL.bit.ACQPS = 19; // SOC0将使用20个SYSCLK周期的采样持续时间
AdcbRegs.ADCSOC0CTL.bit.TRIGSEL = 10; // SOC0将在ePWM3 SOCB上开始转换
AdcaRegs.ADCSOC1CTL.bit.CHSEL = 4; // SOC1将转换ADCINA4
AdcaRegs.ADCSOC1CTL.bit.ACQPS = 30; // SOC1将使用31个SYSCLK周期的采样持续时间
AdcaRegs.ADCSOC1CTL.bit.TRIGSEL = 10; // SOC1将在ePWM3 SOCB上开始转换
AdcbRegs.ADCSOC1CTL.bit.CHSEL = 1; // SOC1将转换ADCINB1
AdcbRegs.ADCSOC1CTL.bit.ACQPS = 30; // SOC1将使用31个SYSCLK周期的采样持续时间
AdcbRegs.ADCSOC1CTL.bit.TRIGSEL = 10; // SOC1将在ePWM3 SOCB上开始转换
AdcaRegs.ADCSOC2CTL.bit.CHSEL = 0; // SOC2将转换ADCINA0
AdcaRegs.ADCSOC2CTL.bit.ACQPS = 19; // SOC2将使用31个SYSCLK周期的采样持续时间
AdcaRegs.ADCSOC2CTL.bit.TRIGSEL = 10; // SOC2将在ePWM3 SOCB上开始转换 为什么AdcaRegs.ADCSOC2CTL.bit.ACQPS = 19; // SOC2将使用31个SYSCLK周期的采样持续时间 不应该是 20个1个SYSCLK周期的采样持续时间
另外采样的同步操作是不是就是指采样所持续的时间一致
user4493143:有同样问题,AD采样需校准补偿
TI中文支持网



