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.

[参考译文] AM62P:AM62P 使用 ISP 在生产环境中连接了 eMMC 刷写

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1650210/am62p-am62p-connected-emmc-flashing-on-production-using-isp

部件号: AM62P

您好、

我公司开发用于在生产线上对 MCU 和闪存进行系统内编程的产品。

我们的客户要求我们开发支持、以便将连接到 AM62P54CU 的 eMMC 刷写。

即使保持在复位状态、该器件似乎也会将 MMC0 接口的 CLK 和 CMD 线路驱动至低值。 这使得无法使用外部编程器直接对 eMMC 器件进行编程。

  • 观察到的这种行为对于 AM62P54CU 是否正确?
  • 是否有办法将这些线路置于高阻态模式、以便外部编程器能够驱动这些线路并对 eMMC 进行编程?

我们的客户在开发过程中使用 UART 来刷写 eMMC、但在生产过程中、认为速度太慢了。

 

此致、

Renato

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

    您好 Renato、

    感谢您的查询!

    根据 —   AM62P54CU 数据表表。 “引脚属性“一节的引脚属性(AMH 封装)(续)、 AM62Px SoC 电平引脚 MMC0_CLK 和 MMC0_CMD(基于 eMMC 专用高速 eMMCPHY 缓冲器) 是非多路复用的。 根据 AM62Px SoC 中集成的 eMMC 主机控制器、 没有 用于控制输出缓冲器或其他引脚属性状态的焊盘配置寄存器。  

    即使保持在复位状态、该器件似乎也会将 MMC0 接口的 CLK 和 CMD 线路驱动为低值。 这使得无法使用外部编程器直接对 eMMC 器件进行编程。

    Q1:当 AM62Px SoC 保持冷复位(MCU_PORz 置为有效)时、客户能否重新确认编程期间在 MMC0_CMD 线路上观察到的低电平?

    根据上表、 即使 AM62Px 通过 MCU_PORz 引脚保持冷复位、AM62Px 中的 MMCSD0 控制器也会将 MMC0_CLK 输出保持在“低“电平、并将 MMC0_CMD 输出保持在“高“电平。  

    根据我的 AM62Px TRM 研究、MMCSD0 本身 或者 AM62Px 控制模块 eMMC MMR 中没有可以强制 MMC0_CLK 和 MMC0_CMD 进入 Hi-Z 状态的任何“导出“位。 但是、我将与我们的 MMC 硬件专家一起详细讨论这一点、并告诉您。

    客户可能需要参考以下 E2E 主题 — 与   MMC0 cmd、clk、DS 和数据线相关的 POR 上的 AM64x eMMC CLK、CMD、DATA、DS I/O 配置(相对于其默认电平和内部(弱)拉电阻)、以了解有关这些 I/O 复位逻辑初始化的更多信息。 无论常见问题解答与 AM64x SoC 中的 MMCSD0 eMMC 集成相关、硬件实现都与 AM62Px 中的硬件实现非常相似。

    问题 2: 客户是否可以选择添加外部双向开关+一些基本逻辑(电阻器,跳线)、以便在生产刷写阶段将 eMMC 编程器(刷写器)输出与 AM62P54CU SoC 输出去耦?

    期待客户的反馈!

    谢谢你

    此致、

    Anastas Yordanov

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

    您好、Anastas、

    Q1:如您所述、CMD 线路保持高值。 我在写请求时犯了错误、并在同一句话中考虑了这两行。

    我确认、同样在复位情况下、CMD 线路保持高电平、CLK 线路保持低电平。

    我使用示波器查看线路进行了测试。

    CMD 线路保持高电平、但我们的编程器能够正确驱动该线路、但我担心 CPU 可能会受到损坏、因为文档指出该线路保持高值、而不是上拉至该值。

    对于 CLK 线路、情况最差、因为线路保持低电平、由编程器驱动时、电压仅上升至 680mV (EMCC VCCq 为 1.8V)、存储器无法识别时钟信号。

    问题 2:电路板在 CPU 和 eMMC 之间直接连接、中间没有任何元件。

    最常见的情况是线路在复位时处于高阻态、因此客户在设计电路板时没有预料到这种冲突。

    我们将在本周一与客户会面、 讨论可能的解决方案、但我认为他们不愿意重新设计电路板。

    此致

    Renato

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

    尊敬的 Renato:

    CMD 线路保持高电平、但我们的程序员能够正确驱动它、但我担心可能会对 CPU 造成损坏、因为文档指出该行保持高值、而不是上拉至该值。

     当 AM62Px CMD 在 PORz 期间输出高电平并且闪存器从外部将其驱动为低电平时、CMD 线路上可能会发生争用。 若要解决该问题、应在 AM62Px 处理器引脚与带有编程器和闪存存储器的结点之间施加一个电阻(即 1k Ω 或更高)来限制 CMD 输出电流。 这会显著导致信号完整性行为恶化 — 增加上升和下降时间等

    对于 CLK 线路、情况最糟糕、因为线路保持低电平、由编程器驱动时、电压仅上升到 680mV (EMCC VCCq 为 1.8V)、存储器无法识别时钟信号。[/报价]

    如果没有限流电阻器、这意味着 MMC0_CLK 总线争用。

    但我将与我们的 MMC 硬件专家一起详细讨论此问题并告诉您。

    我已经收到 eMMC 硬件专家确认、在 MCU_PORz 置为有效期间无法将这些 AM62Px 输出设置为 tri 状态 (HiZ):

    “数据表正确定义了这些引脚的初始状态、在这种状态下、CLK 被驱动为低电平、CMD 被驱动为高电平。 在复位期间无法更改这些引脚的工作方式。 “

    他还担心在高速模式下 AM62Px eMMC 主机控制器和 eMMC 闪存之间可能存在信号完整性问题、因此添加 2:1 多路复用器 LVCMOS 开关可能会引发信号完整性问题:

    “在信号路径中添加元件以隔离 AM62Px 引脚、可能会在信号路径中引入意外延迟、并产生信号完整性问题。  在信号布线上添加测试点时、我也遇到类似的信号完整性问题。  测试点可能会添加到信号布线中间的某个位置、而测试点可能会增加意外电容、这可能会导致信号完整性问题。“

    问题 3:客户是否会澄清所用 TI SDK 的类型 — Linux 或 MCU PLUS (RTOS) 以及 SDK 的版本? 客户电路板上是否可以访问 JTAG(可通过板载 XDS110,其他调试探针访问芯片)、以太网或 USB 端口(用于 USB DFU 刷写)?  

    根据 SDK 的不同、客户 AM62Px 板是否支持通过可用的更快非 UART 接口进行刷写、请咨询相关软件专家。

    谢谢

    此致、

    Anastas Yordanov

    [/quote]