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/TMS570LS3137:将 GIOB[2]配置为 GPIO 和多路复用

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/597035/ccs-tms570ls3137-configure-giob-2-as-gpio-and-multiplexing

器件型号:TMS570LS3137
主题中讨论的其他器件:HALCOGEN

工具/软件:Code Composer Studio

我只想将 GPIO 连接到引脚55上的 GIOB[2]。 这是可行的吗?

我使用 的是 PGE QFP (144引脚)封装。 在 spns162c 中、它列出了引脚55上的 MIBSPI3NCS[0]/AD2EVT/GIOB[2]/N2HET2_PIN_nDIS、 并附有以下说明:

"当配置为 GIOB[2]时、应用程序无法向该终端输出电平。 在该 μA 上启用了20k Ω 的上拉电阻。 该拉电阻不能被禁用、也不能使用 GIO 模块拉电阻控制寄存器进行编程。"

查看 halcogen 4.06.00中引脚55的引脚多路复用设置时、我只能找到 MIBSPI3NCS[0] 和 AD2EVT、但没有 GIOB[2]。

spnu499b 的表4-1提到了 GIOB[2]的多路复用引脚为55、但专用引脚为142 (我在 spns162中的任何位置都看不到这一点;实际上、引脚142是完全不同的)。 在 spnu499b 的4.3.3中、它提到将 N2HET2连接到 MIBSPI3NCS[0]/AD2EVT 以进行故障检测(显然是如何使用 GIOB[2]多路复用的?)。  对于多路复用、PINMMR29[16]被设定为1。 但是、如果 GIOB[2]多路复用被打开、它需要被连接至 MIBSPI 或者 AD2EVNT 模块吗?

当我在软件中轮询 GIOB[2]时、我没有得到任何响应。

谢谢、

Ryan

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

    PGE 没有专用的 GIOB[2]引脚。 BGA 封装有一个是引脚 F2 (专用 GIOB[2])。 GIOB[2]引脚:

    当被配置为 GIOB[2]时、应用程序不能在这个端子上输出一个电平。 您能否通过外部输入将该引脚拉低?

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

    您能否通过外部输入将该引脚拉低?

    是的、可以。 至少这是硬件方面应该发生的事情。 我将使用两个 PWM 和一个 RC 滤波器+另一个电压信号馈入比较器电路、该比较器电路应将 GPIOB[2]驱动为高电平或低电平。 PWM 的输出和与之比较的电压信号都很好(我在这些上有测试点)、但 GPIOB[2]上没有直接的测试点。

    当我在 GPIOB[2]中读取时、无论 PWM 是如何输出的、我都会得到0 (不应该是这样)。 我已经确认我正在代码中读取它、因为当我将 GPIOB[2]设置为 halcogen 中的上拉时、GPIOB[2]读取为1。

    这可能是一个硬件问题、但不太可能。 在我将所有内容归咎于硬件之前、我正在努力确保在 halcogen 和软件方面都设置正确。 注意:GPIOA 都正常运行。

    我有一点担心、在 pinmux 选项卡中、引脚55没有 GPIOB_2选项(而 GPIO_A 端口有)

    参考:

    谢谢、

    Ryan

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

    好的、我想我解决了。 spnu499b 非常令人困惑(表4-2和表4-3)、似乎表明 PGE 封装确实具有专用引脚、但在其他地方似乎没有。

    无论如何,我在仔细阅读了这一段并进行了一些试验和错误之后找到了答案。 根据 spnu499b 的第299页中的以下内容:

    '这个微控制器上的 N2HET 模块支持一个机制来响应它们的 PIN_nDIS 输入上标明的故障。 N2HET2模块的这个输入被连接至 MibSPI3_NCS[0]/AD2EVT 端子。 当这个端子被驱动为低电平时、N2HET2可被配置为三态来自 N2HET2的所有 PWM 输出。 发生这种情况时、能够生成一个到主机 CPU 的中断非常有用。 因此、MibSPI3_NCS[0]/ AD2EVT 信号也可连接到 GIOB[2]信号。 该器件还包含一个用于 GIOB[2]信号的专用端子。 这需要在到 GIOB[2]的输入连接上使用一个多路复用器。 该多路复用器的选择由 PINMMR29[16]控制。 当 PINMMR29[16]被清零(缺省值0)时、到 GIOB[2]的连接来自专用端子。 当 PINMMR29[16]被置位时、到 GIOB[2]的连接来自 MibSPI3_NCS[0]/AD2EVT 端子。 当外部故障监视器电路将 MibSPI3_NCS[0]/ AD2EVT 端子驱动为低电平时、启用与 GIOB[2]的连接可使应用生成一个到主机 CPU 的 GIO 中断、以指示 N2HET2模块的故障状态。'

    因此、如果 PGE 没有专用的 GPIOB[2]输入、那么对于 PGE 型号、没有理由将 PINMMR29[16]设置为0。 当 PINMMR29[16]设置为1时、引脚55 (MibSPI3_NCS[0]/ AD2EVT 端子)上的 GIOB[2]输入有效。 要在 halcogen 中更改此设置、请参阅以下屏幕截图。 对于 PGE 变体、此框应在 halcogen 中永久选中并变灰?

    谢谢、

    Ryan