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.
背景。 -我们正在新的原型 PCB 上运行 AM3505AZCN。 该设计与之前的设计非常相同、只需进行极少的更改。
问题-要从 UART3引导、我们将 SYSBOOT5 ("引导模式")置为逻辑1、然后脉冲 SYS_NRESPWRON "PwR_ON_RESET_N)。
在复位(SYSBOOT 5仍为 logic1)发布时、我们可以看到 UART3上的数据突发很小-仅为大约3字节。 在我们之前的设计中、我们看到大约60-70字节的大突发。
ASCI ID 似乎开始传输、然后中止?
我们已经验证的内容是正确的:
ASIC ID 传输为何会"中止"?
请告知我们接下来应该检查的其他内容。
提前感谢。
您好!
您使用的是 RTOS 还是 Linux?
谢谢、
最大
您好、Max。
我们目前都没有使用--我们迄今尚未取得进展。
这是新原型 PCB 的第一个"启动"-由于 ASIC ID 不能正常工作、我们尚未设法加载任何内容。
谢谢、
Fraser
Fraser、您是否能够通过电路板上的 JTAG 进行连接? 这将有助于指示处理器的状态。 在前几个 UART 事务处理期间、还要检查电源轨和系统时钟。 UART 事务开始后、除了电源或时钟问题之外、我想不出它会中止的任何原因。
此致、
James
您好、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