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.

[参考译文] TMS320F28378S:将 ADC 时钟输出到 GPIO 引脚。

Guru**** 2406280 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1419505/tms320f28378s-output-adc-clock-to-the-gpio-pin

器件型号:TMS320F28378S
主题中讨论的其他器件:SysConfig

工具与软件:

我正在寻找一种配置 GPIO 引脚以输出 ADCCLK 的方法、用于测试和调试。

我想有一种方法可以 GpioCtrlRegs.GPAMUX1 for this but 使用 SysConfig 工具进行配置、我 在其中未找到任何设置来将 我的 GPIO 配置为 ADCCLK 输出。

非常感谢在这个问题上提供任何帮助。

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

    您好、Valeriy:

    ADCCLK 不能从器件中引出。  ADCCLK 是 SYSCLK 除以寄存器 ADCCTL2.PRESCALE 中的 ADC 时钟预分频器。  您可以 使用以下函数调用通过 XCLKOUT 引脚输出 SYSCLK:

      SYSCTL_selectClockOutSource (SYSCTL_CLOCKOUT_SYSCLK);

      SYSCTL_setXClk (SYSCTL_XCLKOUT_DIV_8);

      GPIO_setPinConfig (GPIO_73_XCLKOUT);

    上述例程将 GPIO73中的200MHz SYSCLK 输出为 GPIO/8 (25MHz)、因为200MHz 无法直接传递到200MHz。  必须将它预分频为较低的频率才能使其衰减。

    此致、

    Joseph

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

    Joseph、

    我按照您的指令操作、得到了一个非常不稳定的时钟输出。  

    我也误解了我的要求。 我不需要在输出上有专门的 ADCCLK、只需在非 GPIO73 (本例中为 GPIO94)的特定 GPIO 上具有4Mhz 频率输出。

    我应该使用哪个系统来生成4.096MHz 频率的稳定时钟?

    谢谢。

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

    您好、Valeriy:

    您可以通过多种方法尝试生成该时钟。  一种方法是 通过修改计时器周期并添加一个 GPIO 切换来输出所需的频率、从而使用计时器(请参阅 timer_ex1_cputimers 示例)。  另一种方法是使用 ePWM 模块生成输出。  请参见示例 epwm_ex2_updown_ac。

    此致、

    Joseph

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

    Joseph。

    我已经尝试了使用计时器时建议的第一个选项、但是无法获得远高于500kHz 的频率。 我想知道是错过了一些时钟设置使其运行更快、还是即将达到 C2000功能的极限?

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

    Valeriy:

    在进入计时器 ISR、对其进行服务和更改 GPIO 引脚状态之间、软件开销可能过大。  我建议您尝试 ePWM 方法、因为 PWM 能够准确控制 PWM 输出引脚的开关、而无需通过软件循环。  PWM 计数器和时基周期可以有效地定义切换频率。  ePWM 可按100MHz 的最大速度计时、并且可设置多个预分频选项。  这些设置与时基周期设置 TBPRD)和计数器比较设置(CMPx)相结合、应该能够使您获得准确的4.096MHz。  我建议您  通过修改预分频器、TBPRD 和 CMPx 值、使用一个 ePWM 上的 epwm_ex2_updown_ac 进行实验、看看这会如何影响 ePWM 输出开关速率。

    此致、

    Joseph

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

    Joseph、

    很容易将 ePWM 配置为输出4Mhz 时钟、但仅从其中一个 ePWM 使能引脚进行输出。 是否可以通过任何方式将此信号路由到内部的其他 GPIO? 输出 X-BAR 可以做到这一点吗?

    谢谢。

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

    Valeriy:

    是的、您可以将交叉开关用于此目的。  您可以做的是将输入交叉开关配置为使用 ePWM 测试中的任何切换 GPIO 连接到任何 Input1-6中的任何一个、因为这些输入直接连接到输出交叉开关。  还配置输出交叉开关、以将信号路由到任何 GPIO、但确保要使用的目标 GPIO 配置为输出。

    此致、

    Joseph

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

    Joseph、

    请说明:我是否可以将输出交叉开关配置为将信号路由到任何 GPIO 或仅路由到启用了输出交叉开关的 GPIO。 我要使用的端口是 GPIO94、但不确定是否可以: GPIO 多路复用引脚

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

    Valeriy:

    是的、您应该能够做到。  我忘记了附上一些有用的图表来说明这一点。  请参阅以下内容:

    此致、

    Joseph

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

    Josef、

    我可以将我的信号一直连接到输出 X-BAR、就像您在图片上显示的那样。 我一直在寻找将信号从输出 X-BAR 路由到 GPIO94的方法。 此引脚未明确表明其具有 OUTPUTXBAR 功能(请参阅我上面文章中的 GPIO 多路复用引脚链接)。  

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

    Valeriy:

    抱歉、我没有意识到在 F2837xS 中、您只能在来自输出 XBAR 多路复用器的图片中枚举的 GPIO 上路由信号。

    此致、

    Joseph

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

    感谢您的确认。

    我害怕我丢失了一些东西。