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.

[参考译文] CCS/BQ76PL455A-Q1:读取寄存器与放大器;发送读取响应命令

Guru**** 2468460 points
Other Parts Discussed in Thread: TMS570LS0432

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/683514/ccs-bq76pl455a-q1-reading-registers-sending-read-with-response-command

器件型号:BQ76PL455A-Q1
主题中讨论的其他器件: TMS570LS0432

工具/软件:Code Composer Studio

大家好、我尝试检查我的 BQ76PL455A-Q1是否正常工作、我已经检查了进入 IC 的所有电压、一切似乎都正常。 我使用 CCS 对其进行编程、使用示例代码对 TMS570LS0432对我的程序进行编程、我有几个问题可以帮助检查其是否正常工作:

1 -在使用期间、唤醒电压应该是多少? 当前、当断电时电压为0V、当给出 WAKEUP 命令后跳转到1.8V、然后保持在该状态时、这是正确的吗?

2 -如何读取器件上的寄存器、例如、我将使用什么命令读取器件的地址寄存器、并将其打印到 CCS 中的控制台或在 CCS 中查看?

3 -“Read with Response”(带响应读取)命令应该返回什么,因为目前我正在尝试运行代码行:

Nsent = WriteReg (0、2、0x01、1、FRMWRT_All_R);

对通道进行采样、但 CCS 中显示的响应在哪里?

谢谢、

Alex

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

    尊敬的 Alex:

    必须将 WAKEUP 引脚驱动至至少2.3V 才能被识别为1、并且必须将该引脚识别为1并保持至少100us (类似于0-1-0的脉冲)。

    我建议您阅读软件设计参考文档并查看示例代码。 请查看 sys_main.c 和 PL455.c 这将非常有帮助。 软件设计参考可以在以下位置找到: http://www.ti.com/product/BQ76PL455A-Q1/technicaldocuments 、并几乎逐行浏览 sys_main.c 文件。

    要读回寄存器、必须为其提供一些存储来自 UART 外设的数据的位置。 我们的示例代码使用一个字节数组、表示为 bFrame。

    如果您想在 CCS 中读取数据、我通常会设置一个断点并通过 Variables 窗口读取每个变量中保存的数据。

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

    大家好、David、感谢您的回复、我已经浏览过文档、但找不到方法从代码中使用的十六进制发送值和响应值(WriteReg 等)。 我不完全理解的下一部分是 ReadReg 命令的&wTemp 部分是什么?

    CCS 中要读取的代码(例如第一个器件的器件地址寄存器)是否与此类似?

    bFrame = ReadReg (0、10、wTemp、2、0)

    谢谢、
    Alex

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在这里、您正在从器件地址0的寄存器10读取数据。 wTemp 是导致变量 wTemp 的参数、其中存储数据。 示例代码使用 wTemp 仅存储1个字节的数据、而 bFrame 存储多个字节(当读取跨越多个寄存器时)

    我想您也在单独的主题中发布了此问题、但我将在此复制我的回复:

    尊敬的 Alex:

    如果您查看 PL455.C 文件、您将看到详细列出的 WriteReg 和 ReadReg API。

    对于 WriteReg、

    int WriteReg (字节 bid、uint16 wAddr、uint64 dwData、字节 bLen、字节 bWriteType)

    论据包括:器件地址、寄存器地址、要写入地址的数据、数据字节数量、广播/组/单器件读取或写入

    我建议研究数据表的"事务帧"部分、以了解这些参数与要发送的十六进制文件之间的关系。

    同样、对于 ReadReg、

    int ReadReg (字节 bid、uint16 wAddr、void * pData、字节 bLen、uint32 dwTimeOut)

    参数为:

    器件地址、寄存器地址、存储传入数据字节的指针、预期字节数、响应超时


    在我们的示例代码中、* pData 指向一个名为 bFrame 的字节数组、这是在 sys_main.c 中传递的参数 您的数据将存储在该数组中、您可以在"Variables"窗口中查看该数组。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常好、感谢 David 的帮助、他真的很有用(对于询问相同问题的不同版本、很抱歉)。

    希望你有一个美好的一天!

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

    不是问题!

    我很高兴您发现它对您有所帮助。 我只是尝试将这些内容链接在一起、以便让某人更容易找到他们是否要通过 E2E 进行搜索。