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.

[参考译文] PGA450-Q1:检查 OTP 状态始终使用&quot 进行响应;被设定为跳转到 DEVRAM"

Guru**** 2611705 points
Other Parts Discussed in Thread: PGA450Q1EVM, PGA450-Q1, TIDA-00151

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

https://e2e.ti.com/support/sensors-group/sensors/f/sensors-forum/668796/pga450-q1-check-otp-status-always-response-with-programmed-to-jump-to-devram

器件型号:PGA450-Q1
主题中讨论的其他器件:PGA450Q1EVMTIDA-00151

您好!

我正在尝试使用 PGA450q1EVM 插座对原始的 PGA450q1器件进行 OTP 编程。

加载 hex 文件后、验证成功。 当我单击"Check OTP Status"时、响应始终为:"Programmed to jump to DEVRAM"。

请提供建议、

Eyal

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

    只需清除-我尝试加载的十六进制文件是根据随附的 PDF 进行配置的。

    e2e.ti.com/.../Keil-uVision-Settings-for-DEVRAM-or-OTP-Memory.pdf

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Eyal、
    您能否向我发送 Keil uVision 项目/代码的副本、以便我可以在工作台上的 EVM 上运行 OTP 编程序列? 如果您想在我们之间保密代码、您可以向我发送一封私人 E2E 消息。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Akeem、感谢您的回答。

    请查找所附项目。

    我们使用演示 UART  固件(OTP)的输出-我们没有做任何更改。

    我们还尝试了预编译 的十六进 制文件:PGA450-Q1_TIDA-00151_Rev2_7_OTP-UART.hex、该文件也位于项目文件夹中。

    请注意、我们尝试在 EVM-S 上检查 PGA450q1的状态(使用 TI GER 板)、应对其进行 OTP 编程、但得到相同的响应-"编程为跳转到 DEVRAM"。

    谢谢!

    Eyal

    e2e.ti.com/.../OTP.zip

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

    尊敬的 Akeem:

    是否有以上内容的新更新?

    谢谢、

    Eyal

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

    您好、Eyal、

    我已经检查了项目的 BL51定位选项和所附文件中的 startup.a51文件;这两个文件似乎都已针对 OTP 编程进行了正确配置。 对 OTP 存储器进行编程时、是否还提供 VPROG_OTP 引脚上所需的8V 电源? 由于您在 EVM 上使用插座、OTP 插座编程器需要安装 VPWR:VOTP 跳线。

    请确认您已按照数据表"7.3.15.2 OTP 程序存储器"部分的 OTP 存储器编程序列中的五个步骤操作:

    以下是 OTP 存储器编程过程:

    上电后、将 VPROG_OTP 引脚设置为8V

    2.通过 SPI 发送 OTP 写入命令。

    μs 完成 OTP 编程过程、CS 引脚至少设置为高电平100 μ s。 在 OTP 编程过程中、不要对 OTP 执行任何 SPI 写入操作。

    4.重复步骤2和3、直到所有所需的 OTP 地址都已编程。

    5.在 PGA450-Q1器件断电之前、断开 VPROG_OTP 引脚的8V 电源。

    请注意、当使用 GUI 对器件进行编程时、会自动处理步骤2-4。 您只负责将8V 电源连接到 VPROG_OTP 引脚并断开其连接。

    您可以通过直接读取 OTP 存储器来手动检查器件是否被编程为跳转至 DEVRAM。 在 OTP 控件页面的十六进制地址框中、键入以下值、然后单击 Read Selected 按钮以查看数据值。 如果器件被真正编程为跳转到 DEVRAM、那么长跳转无条件将在 OTP 中显示为:

      ADDR:0x0000 =数据:0x02

      0x0001 = 0x20

      0x0002 = 0x00

    其中、第一个地址(0x0000)将包含 LGMP 的十六进制代码、第二个和第三个地址(0x0001-0x0002)将组合的16位地址包含到 DEVRAM 的开头(位于地址0x2000)。

    我要附加旧版本的 UART OTP 代码、您也可以尝试。

    e2e.ti.com/.../PGA450Q1EVMSUARTDemo_2D00_2.6_2D00_windows_2D00_installer.exe.zip

    遗憾的是、我目前不在办公室、因此在本周结束之前、我将无法尝试使用 OTP 套接字程序。

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

    我唯一认为没有尝试的是步骤5。 那么、实际上、我是否需要在 OTP 编程后取出 VPWR:VOTP 跳线、并且只有在该跳线之后才能将 PGA450从插座中取出?

    我将尝试读取您提到的地址、以及您在此处发送的旧版本 OTP UART 演示。

    奇怪的是、在 OTP 编程过程中加载十六进制文件后、验证正常、这意味着 OTP 已正确编程(我对吗?)。

    总之、我会随时向您提供最新信息。

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

    尊敬的 Akeem:

    更新:

    我尝试执行上述每一个步骤、并获得相同的结果。

    我还尝试加载您在此处发送的旧版本 UART 演示固件、并获取结果。

    在所有情况下、第一个 OTP 地址(0x0000)= 02。 我还注意到 EVM-S 上加载的 OTP FW 应根据其 DS 进行 OTP 编程、而 DEV RAM 的地址为0x0000时的值为"02"(此外、当我单击"检查 OTP 状态"按钮时、状态为"编程为跳转到 DEVRAM")。

    请查找旧 OTP UART 演示固件前4个地址值的附加屏幕短路。  e2e.ti.com/.../old-OTP-FW-address.zip

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

    您好、Eyal、

    正确的做法是、EVM-S 附带的 PGA450单元应编程到 OTP。

    我将向您发送先前版本的 GUI。 请使用此版本(1.50.1)检查 OTP 状态以进行比较。

    e2e.ti.com/.../PGA450Q1EVMGUI_2D00_1.50.1_2D00_windows_2D00_installer.exe.zip

    检查 OTP 是否已真正编程到 OTP 的还有另外两种方法:

    1) 1)首次为 OTP 器 件上电时、您应该能够发送《PGA450Q1EVM-S 用户指南》"2.3 UART 命令列表"部分中讨论的 UART 命令、并从 PGA450接收响应。

    2) 2)读出完整的 OTP 存储器空间。 如果前三个以上的寄存器地址包含非0x00值、则 OTP 存储器已正确写入。 这可能是跳转命令将代码重定向到从 DEVRAM 运行的问题。 GUI 屏幕快照指示代码应从 OTP 运行、因为地址0x0001-0x0002处的值显示值0x0D49、该值将长时间跳转到 OTP 存储器中的另一个位置。 您能否从 OTP 地址0x0D49及以上读取一些 OTP 值以检查它是否为非0x00?

    我仍然不在办公室、但返回后将使用 OTP 设备验证此问题。 我们通常在将 DEVRAM 和 OTP 版本加载到 Web 之前验证它们是否按预期工作。 最新的 GUI 版本可能会错误地报告 OTP 状态。

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

    尊敬的 Akeem:

    我尝试过较旧的 UI 版本、但结果相同。

    我们正在尝试在定制板上加载 EVM-S OTP 版本。

    当我们从 EVM-S 中取出 PGA450q1并将其焊接到电路板中时、一切工作正常、但当尝试在原始 PGA 上加载 OTP 固件时、UART 不工作。

    我们可以看到 TX (从 CPU 端)数据进入 PGA450q1 RX 引脚、但 PGA450q1没有响应。

    除了将 UART 演示 OTP 固件加载到我们原始的 PGA450q1中、我们还需要其他什么吗?

    谢谢、

    Eyal

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

    您好、Eyal、

    我将回顾 UART 演示的 OTP 版本、以确保主器件的预期命令条目没有错误。 您是否尝试运行了 DEVRAM 版本的 UART 演示? 您是否能够成功运行 DEVRAM UART 演示、但无法运行 OTP 版本的演示?

    同时、我提高了 PGA450-Q1 GUI 确定 OTP 是编程为从 OTP 运行还是长时间跳转到 DEVRAM 的能力。 尝试附加的 GUI 版本以检查 OTP 状态。 它应更好地匹配我手头上的 OTP 和 DEVRAM 单元上测试的状态。 请在 zip 文件中找到随附的 GUI 预发布版本1.50.3:

    e2e.ti.com/.../PGA450Q1EVM-GUI-1.50.3-_2800_Pre_2900_.exe.zip

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

    Akeem、

    我使用编程的 PGAQ1检查了新的 GUI、它指示 OTP 已编程。

    现在我们感到困惑。 我们有一个与 EVM-S 上相同的 PGAQ1 我们从 EVM-S 中获取的 PGAQ1和焊接到定制板的效果良好、但当我们尝试通过编程与 PGAQ1进行通信时、UART 不响应。

    为了与 PGAQ1通信、我们是否需要配置其他设置(EEPROM 或 ESFR 寄存器、尽管我们知道 FW 应处理这些配置)? 我们希望定制板的工作方式与 EVM-S 完全相同  

    请告知、

    Eyal

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

    我们似乎发现了我们面临的问题:传感器地址被配置为0xAA、而不是0x01作为 UART 演示固件的预期地址。
    我们是否必须设置任何其他 EEPROM 配置、以便 PGAQ1的工作方式与 EVM-S 完全相同?
    例如、目前、PGAQ1的 TX 引脚被驱动为低电平、而不是 EVM-S 上的高电平 它是否可配置? 如果是、如何操作?

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

    我建议您使用 EVM-S 用户指南( www.ti.com/.../sldu019b.pdf )表3中的 EEPROM 寄存器映射值 作为与 EVM-S 单元的 PGA450-Q1设置匹配的起点。

    EEPROM 地址0x1F 中的前四位将确定每个命令的字节[2]中必须包含的传感器地址值。

    TX 引脚的初始状态可在 PGA450_init.c 部分进行配置:
    //*初始化端口*
    GPIO1=1;
    GPIO2 = 1;
    TXD = 1;
    RXD = 1;
    LSGA = 0;
    LSGB = 0;
    LINTX = 0;
    GPIO_CTRL = 0x00;// TX-weak

    两个 GPIO 和 TX 引脚可配置为强上拉或弱上拉模式。 有关设置 GPIO_CTRL 寄存器的详细信息、请参阅 PGA450-Q1数据表的"7.6.2.21 GPIO 控制寄存器"部分表83-85。 我建议您使用 DEVRAM 模式来检查这些更改是如何应用的。 寄存器位可总结如下:
    •GPIOx_CONFIG:0xx =正常微操作;11X =具有强 PU 的微操作;
    •UARTTX_CONFIG:0 =正常微操作;1 =具有强 PU 的微操作;
    •MIC_LIN_TX:0 = FSM 控制 LIN_TX;1 =微型驱动 LIN_TX;

    请注意、EVM-S 单元使用 OTP 代码的修订版2.6进行编程、而修订版2.7在线提供、仅作为重要功能版本的 EVM-S 代码。 这些命令都是相同的;但是、当设置#define keilTrialVer (版本2.7上的默认设置)时、这会禁用命令4、6、7以满足 Keil uVision 试用版2k 存储器限制。 发布了修订版2.7、以启用 LIN 选项、重新利用相同的命令。