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.

[参考译文] TMS320F280025:XTAL GPIO 忽略写入

Guru**** 2540720 points
Other Parts Discussed in Thread: C2000WARE, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1281478/tms320f280025-xtal-gpio-ignoring-writes

器件型号:TMS320F280025
主题中讨论的其他器件:C2000WARESysConfig

您好!

我有一个基于64引脚 F280025的定制设计。 我注意到、我无法使用 C2000Ware 中的 FATFS 模块读取板载 microSD 卡、我使用类似的 C2000器件在不同的定制设计中成功完成了该操作。

在探测电路板时、用于连接 microSD 卡的 SPI 总线的芯片选择线路似乎从未变为低电平、但我的调试断点和检测信号 LED 告诉我代码实际上正在执行。 以下是我尝试/验证过的内容:

-已验证引脚分配是否正确

-尝试分配一个不同的 GPIO 句柄到这个引脚和手动写入这个引脚低电平( SD 卡是这个总线上唯一的外设)

-取消选中此线路上的上拉电阻器

-在设计中切换其他 GPIO 引脚,以验证我实际上有 GPIO 控制。 这是成功的。

通过 我尝试的任何操作都无法使该 GPIO 引脚变为低电平。 它保持在恒定的3.3V。 此引脚是 XTAL 引脚之一(GPIO19_X1、引脚42)。 就像任何写入命令都被阻止一样。 控制器是否认为这些引脚处于外部振荡器模式? 我已经派生了时钟树、这样设计中就不会有来自外部时钟的输出、也不会有外部时钟。  

我使用的是 C2000Ware 5.0、最近执行了更新检查以验证软件包是否是最新的。 似乎不让我将 SysConfig 文件上传到此帖子。 如果有用、我会重试。  

有什么技巧吗?

谢谢

杰西

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

    您好、Jesse:

    感谢您的提问。

    请参阅此处的该主题、通常这是 pinmux 问题: https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1079047/tms320f280025-i2c-on-xtal-pins-not-working-gpio18-gpio19

    您是否能够验证您是否为您的引脚多路复用使用了正确的定义?

    此外、您能否尝试进行基本的 GPIO_ex2切换、首先使用默认引脚、然后再尝试使用 GPIO19? 基本上、我们需要看看是否可以让任何 GPIO 示例先工作(即使它们是不同的 GPIO)、然后调试 GPIO19引脚。

    此致、

    文斯

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

    您好、Vince。

    感谢您的回复。 您提到的帖子很有趣。 即使这些定义是由 SysConfig GUI 生成的、这些定义是否不正确? 我会确认它们是否准确。

    我知道我可以按原样切换此设计中的其他 GPIO 引脚。 我已经编写了 GPIO 写入命令来切换连接到 LED 的引脚。 LED 相应地进行切换。 我仍将尝试基本示例、看看这是否允许我切换 GPIO 19。

    谢谢

    杰西

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

    您好、Vince。  

    我加载了 GPIO_ex2_toggle 示例。 该示例可以在我的设计中切换 LED 引脚、但无法切换 GPIO19_X1引脚。  

    我还尝试了切换 GPIO_18_X2。 两个 XTAL 引脚都不能在我的控制器上写入。 我在设计中尝试过其他多个引脚、全部正常工作。 我已验证导通性以确保正确焊接这些引脚。

    即使我在 SysConfig 工具中将这些引脚定义为 GPIO、控制器似乎仍然认为这些引脚是 XTAL 功能的输入。

    在您链接的帖子中、TI 专家表示:  

    "

    Sandeep、

    除此之外、您需要断开这些引脚上的任何晶体/时钟连接、并且可能必须从系统控制寄存器关闭晶体功能才能将这些引脚用作 I2C 引脚

    此致、

    普拉芬

    "

    是否有关于如何执行此操作的信息?

    谢谢

    杰西

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

    您好、Jesse:

    是否有如何做到这一点的信息?

    只是为了确保、您能否确保在您的代码中完成了以下所有操作?

    *您的代码中有以下某处:GPIO_setPinConfig (GPIO_18_GPIO18_X2);

    *确保您使用 INTOSC 作为时钟源(device.h 应该具有该时钟源)。

    *确保"XTALCR"寄存器设置为"Oscillator Off",如 TRM 中所述(这可能是您的问题)

    此致、

    文斯

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

    您好、Vince。

    是的、看起来 XTAL 是以某种方式被启用的。 我发现这个 在 sysctl.h 中生成的函数可禁用外部振荡器:

    SysCtl_turnOffOsc(SYSCTL_OSCSRC_XTAL);

    在执行主例程之前调用此函数、我可以按预期控制这些引脚。

    仍不确定首先启用此功能的原因或方式。 如果我使用 SysConfig 工具将这些引脚配置为 GPIO、我会希望外部振荡器默认处于禁用状态、但这可能是一个不安全的假设。

    无论如何,感谢你的帮助!

    此致、

    杰西