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.

[参考译文] AM3505:UART3上的 ASIC ID 不完整-仅传输几个字节

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/933613/am3505-asic-id-on-uart3-is-incomplete---only-a-few-bytes-transmitted

器件型号:AM3505

背景。 -我们正在新的原型 PCB 上运行 AM3505AZCN。 该设计与之前的设计非常相同、只需进行极少的更改。

问题-要从 UART3引导、我们将 SYSBOOT5 ("引导模式")置为逻辑1、然后脉冲 SYS_NRESPWRON "PwR_ON_RESET_N)。

在复位(SYSBOOT 5仍为 logic1)发布时、我们可以看到 UART3上的数据突发很小-仅为大约3字节。 在我们之前的设计中、我们看到大约60-70字节的大突发。

ASCI ID 似乎开始传输、然后中止?

我们已经验证的内容是正确的:  

  • 电源上电顺序(虽然最初不正确-现在已修复)
  • 26MHz 时钟
  • 32kHz 时钟
  • SYS_NRESPWRON
  • 我们将位5置为逻辑1时、SYSBOOT (8:0)= 001110101

ASIC ID 传输为何会"中止"?  

请告知我们接下来应该检查的其他内容。

提前感谢。

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

    您好!

    您使用的是 RTOS 还是 Linux?

    谢谢、

    最大

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

    您好、Max。

    我们目前都没有使用--我们迄今尚未取得进展。

    这是新原型 PCB 的第一个"启动"-由于 ASIC ID 不能正常工作、我们尚未设法加载任何内容。

    谢谢、

    Fraser

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

    Fraser、您是否能够通过电路板上的 JTAG 进行连接?  这将有助于指示处理器的状态。  在前几个 UART 事务处理期间、还要检查电源轨和系统时钟。  UART 事务开始后、除了电源或时钟问题之外、我想不出它会中止的任何原因。

    此致、

    James

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

    您好、James。

    感谢您的回答。

    我需要添加一些"DNI"器件、以便通过 JTAG 进行连接。 但与此同时、我在正常上电期间附加了相关电源、时钟、复位和 sysboot (5:0)的一些示波器/逻辑分析仪波形。 (为了获取引导加载程序、我们将 SYSBOOT5置为有效、然后复位。 在复位释放时、SYSBOOT5应该会在 CPU TX 上看到 ASIC ID -但不会。)

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

    您好、Fraser、感谢您的示波器镜头。  从这些可以看出、问题的主要原因很可能是系统时钟(SYS_XTALIN)在 NRESPWRON 上升沿之后启动。  在上电复位的上升沿之前、系统时钟需要振荡和稳定(请参阅数据表的图5-3)。  SYSBOOT 信号被锁存、ROM 将尝试在上电复位上升沿运行、但在没有时钟的情况下不会发生这些情况。

    此致、

    James  

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

    您好、James。

    感谢您的支持。

    很抱歉耽误您的回复。

    我们采纳了您的建议、并将 SYS_XTALIN 移至 NRESPWRON 上升沿之前的一段时间内启动(尽管它在之前的设计中起作用-然后我们使用 SYS_CLKREQ 输出来启用它)。

    这本身并不能解决我们的问题。

    然而、当我们连接编程适配器时、我们意识到 UART_RX 引脚上有一个不确定的逻辑电平(由于我们的下拉电阻器和编程适配器中的串联电阻器的分压器效应)。

    一旦我们在 UART RX 中增加了下拉电阻器的值、ASIC ID 就会成功传输。

    此时我的最佳猜测是、UART RX 引脚上的不确定逻辑电平会导致 UART 逻辑中无法预测的行为、从而阻止完整的 ASIC ID 传输?

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

    好的、我没有预料到、因为之前的板在工作。  电路板上的下拉电阻器很可能与 ROM 配置的内部上拉电阻器相冲突。   内部拉动值可能因器件而异、因此我认为您的想法是正确的:  您的电路板下拉电阻很可能会覆盖这一点(在未驱动时将 RX 拉低而不是拉高)、或者创建分压器并产生中电平电压。  

    此致、

    James