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.

[参考译文] TMS320F28334:GPIO22和 GPIO52作为输入时出现问题

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1047242/tms320f28334-problem-with-gpio22-and-gpio52-as-inputs

器件型号:TMS320F28334

我使用 GPIO20至 GPIO24、GPIO50至 GPIO58作为输入。  它们都配置为输入、并且除 GPIO22和 GPIO52外都能正常工作。  这两个 GPIO?点是否有不同之处?

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

    我不知道有什么区别。

    首先在运行时检查配置。 验证 GPADIR 和 GPBDIR。 验证 GPAMUX2和 GPBMUX2。 这应该验证它们是输入并且被用作 GPIO、而不是用于某些外设功能。

    其次、如何切换 GPIO? 对某些寄存器的连续写入可能会丢失。https://processors.wiki.ti.com/index.php/General_Purpose_IO_(GPIO)_FAQ_for_C2000#Q:_Back-to-back_DAT_register_writes_do_not_work_as_expected 

    以上整篇文章可能值得阅读。

    此致、
    Cody  

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

    感谢 Cody 的回应。  我已经使用 GEL 检查了 MUX 和 DIR 寄存器、它们都正常。  我还在加电后立即放入一个无限循环、以确保其他任何东西都不会访问这些寄存器。  GPIO 引脚 通过光学隔离器 TLP292-4 (LA-TR、e.  GPIO 引脚上有一个4.7K 上拉电阻器连接到3.3伏、 我用于输入的其他46个引脚以相同的方式连接并正常工作。

    您引用的文章已删除。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="481948" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1047242/tms320f28334-problem-with-gpio22-and-gpio52-as-inputs/3874726 #3874726")您引用的文章已删除。  [/报价]

    我认为处理器 Wiki 现在仅在 TI 网络内部可见。

    认为本文现在位于 [常见问题解答] C2000 GPIO 常见问题解答中

    否则 、请在 https://web.archive.org/web/20200930225801/https://processors.wiki.ti.com/index.php/General_Purpose_IO_(GPIO)_FAQ_for_C2000上找到原始处理器 Wiki 页面的存档副本 

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

    感谢您的链路切斯特。  我正在查看具有示波器的 GPIO 引脚。  当我尝试(通过光电隔离器)切换输入时,引脚不会改变状态。  所有其他输入工作正常。   我可以设置一个断点来在输入打开时进行陷阱、并可以通过将 GPIO 引脚直接接地来触发它。  我不知道4.7K 上拉电阻器是否具有太低的 A 电阻、以便隔离器将 GPIO 引脚接地。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="481948" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1047242/tms320f28334-problem-with-gpio22-and-gpio52-as-inputs/3874747 #3874747"]我不知道4.7K 上拉电阻器的电阻是否过低、无法使隔离器将 GPIO 引脚接地。

     您能否在相关 的光学隔离器打开时测量 GPIO22和 GPIO52引脚上的电压,以查看输入与 VIL 的接近程度?

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

    GPIO 引脚上的电压为3.1伏。  当光电隔离器打开时、它不会改变。  光隔离器输入确实会从24伏变为0伏。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="481948" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1047242/tms320f28334-problem-with-gpio22-and-gpio52-as-inputs/3874820 #3874820"]打开光电隔离器时,它不会发生变化。  [/报价]

    您是否有多个显示问题的电路板?

    想知道是否连接到  GPIO22和 GPIO52引脚的光电隔离器通道上存在故障、而 TMS320F28334中的 GPIO 中存在故障。

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

    我已经测试了5块电路板、它们都表现出相同的行为。

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

    Fred、

    它似乎必须在内部服务器上进行刷写。 但是、正如 Chester 指出的、这些信息可在该常见问题解答中找到。 假设您没有使用对 DAT 寄存器的背靠背写入操作、是否安全?  

    该器件应该能够为4.7K 上拉电阻器提供过功率、但可能值得取消对该电阻器的配置以验证问题是否存在。 从这个角度来看、我更希望出现组装问题、或者由于这是在5个电路板上、BOM 中可能列出了错误的值? 不过、这是一个很容易排除的问题、所以为什么不排除。

    我不确定您是如何使用 GEL 验证寄存器值的。 我建议使用寄存器查看器读回它们、前提是您可以在连接到 CCS 时运行。 您可以通过转到"View->Registers"来访问该寄存器。 请务必单击 Continuous Refresh 按钮。

    此致、
    Cody  

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

    您好 Cody 、是的、谢谢您、我找到了您提到的文档。   由于这些 GPIO 引脚用作输入、因此我不会向 DAT 寄存器写入任何内容。    

    我检查了所有电阻器的值是否正确、但这是一个很好的建议。   我确实将两个电阻器更改为16k、以查看较弱的上拉电阻是否起作用。 这不奏效。  移除引脚 GPIOon 上的上拉电阻也没有任何作用。

    这是我使用的电路。  我用作输入的所有48个 GPIO 引脚都以相同的方式连接、但只有2个引脚无法正常工作。  我已经通过 在代码运行后设置一个观察来检查所有 MUX、PUD 和 DIR 寄存器。  所有寄存器都正确。

    我可以将我的场输入重新定位到不同的 GPIO 引脚(但不会这样做)。  感谢您提供的任何其他帮助。

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

    Fred、

    很抱歉、我看到您表示您之前在线程中使用 GPIO 作为输入。

    只需确认即可。 当您在 GPIO 上驱动3.3V 电压时、您会看到1、当您强制节点为0V 时、您可以在 C2000器件中看到0? 这将向我表明器件已设置且工作正常。  器件内部有一个非常弱的上拉电阻、可启用或禁用该电阻、但该电阻不够强大、无法影响您的光耦合器。  

    如果换用新的光耦合器无法解决该问题、您可能可以对相邻引脚进行去焊并跨越光耦合器通道。 这很可能可以通过 GPIO 21和22轻松实现。 如果光耦合器通道问题、我们可以排除任何 C2000问题。  

    此致、
    Cody   

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

    I Cody。 我只是读了你的答案、就有了同样的想法。 我尝试交换隔离器上的通道、发现处理器工作正常。  然后、我非常仔细地重新检查了电路板布局、发现隔离器上的引脚13到接地端的迹线在这两点上缺失。  这是我错过它们的原因。 我添加了一个焊接桥接器来将引脚接地、并且所有器件都正常工作!  
    非常感谢您对此的帮助!!

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

    很高兴听到您发现了问题。 很遗憾听到即将发布的硬件版本。

    祝您好运、
    Cody