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/F28M35H52C:ADC A1不能#39;t 工作

Guru**** 2535750 points
Other Parts Discussed in Thread: CONTROLSUITE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/611761/ccs-f28m35h52c-adc-a1-doesn-t-work

器件型号:F28M35H52C
Thread 中讨论的其他器件:controlSUITE

工具/软件:Code Composer Studio

您好!

我需要配置 ADCIN 0至4、因此我编码:

//配置 ADC

EALLOW;

GpioG2CtrlRegs.AIOMUX1.bit.AIO2 = 2;//为 A2 (模拟输入)操作配置 AIO2
GpioG2CtrlRegs.AIOMUX1.bit.AIO4 = 2;//为 A4 (模拟输入)操作配置 AIO4

Adc1Regs.ADCCTL2.bit.ADCNONOVERLAP = 1;  //将 ADC 设置为非重叠模式
Adc1Regs.ADCCTL1.bit.INTPULSEPOS = 1;       // INT 脉冲生成发生在 ADC 结果锁存在其结果寄存器之前的1个周期内
Adc1Regs.INTSEL1N2.bit.INT1E = 1;             //启用 ADCINT1
Adc1Regs.INTSEL1N2.bit.INT1CONT = 0;         //禁用 ADCINT1连续模式-用户必须为零标志
Adc1Regs.INTSEL1N2.bit.INT1SEL = 4;          // EOC4为 ADCINT1触发
Adc1Regs.SOCPRICTL.bit.SOCPRIORITY = 5;    // SOC0-SOC4为高优先级

//选择 SOC 的触发器
AnalogSysctrlRegs.TRIG1SEL.ALL = 11;//分配 EPWM3SOCA 来触发模拟子系统的1

//配置 SOC
//选择 ADC 输入通道
Adc1Regs.ADCSOC0CTL.bit.CHSEL = 0;//将 SOC0通道选择设置为 ADC1A0
Adc1Regs.ADCSOC1CTL.bit.CHSEL = 1;//将 SOC1通道选择设置为 ADC1A1
Adc1Regs.ADCSOC2CTL.bit.CHSEL = 2;//将 SOC2通道选择设置为 ADC1A2
Adc1Regs.ADCSOC3CTL.bit.CHSEL = 3;//将 SOC3通道选择设置为 ADC1A3 -未使用
Adc1Regs.ADCSOC4CTL.bit.CHSEL = 4;//将 SOC4通道选择设置为 ADC1A4

//为每个 SOC 选择触发器
Adc1Regs.ADCSOC0CTL.bit.TRIGSEL = 5;//将触发器1分配给 SOC0 TRIGSEL
Adc1Regs.ADCSOC1CTL.bit.TRIGSEL = 5;//将触发器1分配给 SOC1 TRIGSEL
Adc1Regs.ADCSOC2CTL.bit.TRIGSEL = 5;//将触发器1分配给 SOC2 TRIGSEL
Adc1Regs.ADCSOC3CTL.bit.TRIGSEL = 5;//将触发器1分配给 SOC3 TRIGSEL -未使用
Adc1Regs.ADCSOC4CTL.bit.TRIGSEL = 5;//将触发器1分配给 SOC4 TRIGSEL

//为每个 SOC 设置7个 ADC 时钟周期的 S/H 窗口
Adc1Regs.ADCSOC0CTL.bit.ACQPS = 6;//采样窗口的长度为7个周期(6 + 1个时钟周期)。
Adc1Regs.ADCSOC1CTL.bit.ACQPS = 6;//采样窗口的长度为7个周期(6 + 1个时钟周期)。
Adc1Regs.ADCSOC2CTL.bit.ACQPS = 6;//采样窗口的长度为7个周期(6 + 1个时钟周期)。
Adc1Regs.ADCSOC3CTL.bit.ACQPS = 6;//采样窗口的长度为7个周期(6 + 1个时钟周期)-未使用
Adc1Regs.ADCSOC4CTL.bit.ACQPS = 6;//采样窗口的长度为7个周期(6 + 1个时钟周期)。

EDIS;

所有 ADC-A0、ADC-A2、ADC-A3和 ADC-A4工作正常、但 ADC-A1不变。 我是否需要编写其他代码?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我写信告诉您、C2000团队成员已被分配到此帖子、应该很快回答。

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

    您好!

    我正在使用集线站、并将电缆连接到引脚 ADC-B0、现在我已经为 SOC1 (ADC1A1)实现了正确的转换。 但我需要连接到 A1引脚、而不是 B0引脚、因为我们已经拥有我们需要的所有 PCB。 我还不明白为什么我配置了 ADC1A1、正确的引脚是 ADCB0。 坞站出现错误?

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

    我不理解您的描述。 您是否有可共享的 ADC 引脚原理图?

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

    您好!

    感谢您的支持。 我在工作中的朋友说、Concerto 的扩展坞与其他 C2000控制卡相同、德州仪器没有更改 PCB 上的引脚名称。 因此、实际上、有许多引脚发生了变化、引脚 A0实际上是引脚 B0。

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

    扎里夫

    我想我现在已经理解了。

    是的、扩展坞物理上是相同的、但由于控制卡之间的差异、丝印可能不是100%准确。

    您可以参考 controlSUITE 中的控制卡原理图来检查 DIMM-100引脚映射。

    例如:

    Tommy