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.
工具/软件:Code Composer Studio
您好!
我是 Sourcabh、负责 TMS320F28027 Launchpad。 我无法在 TMS320F28027板上配置多个 ADC 输入。
是否有人可以建议我如何配置它?
我按照示例代码中的规定成功配置了2个 ADC、但我需要多个 ADC。
谢谢、
Sourcabh
Sourabh、
首先、我要参阅快速入门指南、了解哪些 ADC 输入会引入 LP 接头:
我们有 ADCIN A0/A1/A2/A3/A4/A6/A7/B1/B2/B3/B4/B6可用。
现在、我相信您正在使用此示例 ADC_SOC 来转换 ADCINA2/A4
http://dev.ti.com/tirex/explore/node?node=AHUip0sqxJcu0jcAU7E37g__gYkahfz__LATEST
要添加更多通道、您需要对其他转换开始(SOC)位字段的 ADC 控制逻辑进行编程。
您将在示例中看到这一点:
//将 SOC0通道选择设置为 ADCINA4 // AdcRegs.ADCSOC0CTL.bit.CHSEL= 4; // //将 SOC1通道选择设置为 ADCINA4 // AdcRegs.ADCSOC1CTL.bit.CHSEL= 4; // //将 SOC1通道选择设置为 ADCINA2 // AdcRegs.ADCSOC2CTL.bit.CHSEL= 2;
您可以继续使用所需的频道(除了 A2/A4我假设)。 例如、如果您要对 ADCINB1和 ADCINB3进行采样、则需要添加
//将 SOC3通道选择设置为 ADCINB1 // AdcRegs.ADCSOC3CTL.bit.CHSEL= 9; //ADC 通道编号是顺序的、与 S/H A 或 S/H B 无关、因此 ADCINB0将为8 // //将 SOC4通道选择设置为 ADCINB3 // AdcRegs.ADCSOC4CTL.bit.CHSEL= 11;
然后、您需要为新 SOC 启用触发源
// //设置 EPWM1A 上的 SOC3启动触发器,因为循环 SOC0首先转换 //然后是 SOC1 // AdcRegs.ADCSOC3CTL.bit.TRIGSEL= 5; // //设置 EPWM1A 上的 SOC4起始触发器,因为先进行循环 SOC0转换 //然后是 SOC1 // AdcRegs.ADCSOC4CTL.bit.TRIGSEL= 5;
最后、我们需要配置 S/H 窗口
//将 SOC3 S/H 窗口设置为7个 ADC 时钟周期、(6个 ACQPS 加1) // AdcRegs.ADCSOC3CTL.bit.ACQPS= 6; // //将 SOC4 S/H 窗口设置为7个 ADC 时钟周期(6个 ACQPS 加1) // AdcRegs.ADCSOC4CTL.bit.ACQPS= 6;
所有 ADC 寄存器都是正交的、因此从此处添加更多通道(最高 SOC15)应该相当简单。 如果需要、您可以稍后更改触发源或 ACQPS。
此信息包含在此器件的 TRM 中 、http://www.ti.com/lit/ug/sprui09/sprui09.pdf 从第415页开始
最棒的
Matthew
您好、先生、
感谢您的宝贵答复、它很好。
谢谢、
Sourcabh