Other Parts Discussed in Thread: TMS570LS1224
如何使用HALCOGEN配置ADC?有操作例程吗?类似这种例程,越详细越好,谢谢!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
如何使用HALCOGEN配置ADC?有操作例程吗?类似这种例程,越详细越好,谢谢!
你好,请查看该页面:
1.启动 HALCoGen
2.创建新的 HALCoGen 项目:File→New→Project
3.如果您使用 TMS570LS1224 Lauchpad、请选择
系列:TMS570LS12x、
器件:TMS570LS1224PGE
4.定义项目的名称和位置
5.下一步是使能适当的驱动
6.使能MIBADC1 在“Driver Enable” 下
7.从 MIBADC1组1选项卡(或组2或组事件)中、配置 FIFO 大小、触发源和 ADC 通道
8. 生成代码:File→Generate Code
1、ADC 的周期时间和采样时间?
周期时间是 ADCCLK 的周期。 ADCCLK 是用于运行转换的参考时钟。
采样时间是器件 TRM 中的采样窗口。 最小采样时间在器件数据表中指定。
请参阅有关 ADC 源阻抗的应用手册。 其中详细说明了根据驱动 ADC 输入的电路的阻抗计算所需采样时间的要求。www.ti.com/.../spna118b.pdf
2.采样电容器放电模式和采样时间
放电模式允许在开始下一通道的采样阶段之前对 ADC 内核内部采样电容器上的电荷进行放电。 除非要转换的下一个通道的电平接近接地、否则采样电容器放电模式不会帮助减少所需的采样时间。 采样电容器上的电荷在外部输入的2个计数内稳定所需的实际采样时间由外部源阻抗特性决定。 请参阅 spna118b.pdf。
FIFO 大小
如果要在所有通道转换后生成 CPU 中断、则应将 ADC 通道数作为 FIFO 大小。 在我的示例中、选择了6个 ADC 通道(引脚0、引脚1、...引脚5)、因此 FIFO 大小为6。
如果不想产生中断,可以将 FIFO 大小配置为多个 ADC 通道,例如2*6或3*6
你好,你可以在你的应用中使用HAL生成的ADC APIs 。
例如:
/* initialize ADC */
/* Groupx and Pins, trigger source etc */
adcInit();
/* start adc conversion */
adcStartConversion(adcREG1,adcGROUP1);
/* wait and read the conversion count */
while((adcIsConversionComplete(adcREG1,adcGROUP1))==0);
ch_count = adcGetData(adcREG1, adcGROUP1,&adc_data[0]);
/* conversion results : */
/* adc_data[0] -> should have conversions for Group1 channel1 */
/* adc_data[1] -> should have conversions for Group1 channel2 */
id = adc_data[0].id;
value = adc_data[0].value;
下面的应用手册将帮助您为 CCS 创建基于 HALCoGen 的项目: