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.

[参考译文] CCS/TMS320F28027:在 TMS320F28027 Launchpad 中配置多个 ADC。

Guru**** 2039090 points
Other Parts Discussed in Thread: TMS320F28027
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/841273/ccs-tms320f28027-multiple-adc-configure-in-tms320f28027-launchpad

器件型号:TMS320F28027

工具/软件:Code Composer Studio

您好!

我是 Sourcabh、负责 TMS320F28027 Launchpad。 我无法在 TMS320F28027板上配置多个 ADC 输入。  

是否有人可以建议我如何配置它?

 我按照示例代码中的规定成功配置了2个 ADC、但我需要多个 ADC。

谢谢、

Sourcabh  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Sourabh、

    首先、我要参阅快速入门指南、了解哪些 ADC 输入会引入 LP 接头:

    http://www.ti.com/lit/sprz413  

    我们有 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