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.

[参考译文] TPS2HCS10-Q1:CRC 实现详细信息

Guru**** 1989765 points
Other Parts Discussed in Thread: HSS-2HCS10EVM
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1433204/tps2hcs10-q1-crc-implementation-details

器件型号:TPS2HCS10-Q1
主题中讨论的其他器件:HSS-2HCS10EVM

工具与软件:

大家好、团队成员:

我有关于在 TPS2HCS 上实施 CRC 的问题

1) 1)对于 CRC 启用数据传输、是24位、正确吗?

2)。 帧是28位还是32位?  

     帧格式 CRC 地址数据是否正确?  最好在数据表中添加启用 CRC 的 SPI 帧格式。

3)使用了 https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1412989/faq-tps2hcs10-q1-crc-calculation-function-example?tisearch=e2e-sitesearch&keymatch=CRC-4#中提供的 CRC 计算结果

您是否有与之进行比较的参考表? 在启用 CRC 后未从器件获得任何内容。

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

    Krishna

    因此、这将在 RTM 版数据表中可用的最新版本中更新、但启用 CRC 后、32位。 找到下图:

    我们还没有参考表、但可以根据需要生成参考表(需要几天时间)。

    此致、
    TIM  

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

    Tim、您好!

    非常感谢您的快速回复、现在我正在使用 HSS-2HCS10EVM、这是否支持 CRC?

    最好提供参考表、 目前如果我必须读取/写入以下寄存器、预期的 CRC 是什么

    命令格式为

    读取全局故障 0x040000 ->  

    读取 PWM CH1  0x0E0000 ->

    写入 ILIM_CONFIG_CH1 -> 0x8F1638 ->  

    写入  DIAG_CONFIG_CH1 -> 0x904002 ->

    根据更新后的信息、使用了 https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1412989/faq-tps2hcs10-q1-crc-calculation-function-example?tisearch=e2e-sitesearch&keymatch=CRC-4#中提供的 CRC 计算结果

    未正确通信该器件  

    谢谢

    Krishna

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

    Krishna

    我们计划在年底之前更新、以便在 GUI 中实施 CRC。 我会查看您请求的格式、在 EVM (EVM 具有 JTAG 端口、我可以在其中沙盒代码)上对其进行测试、并在一周结束时收到具有确切写入序列的回复。

    此致、
    TIM  

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

    Timothy

    请告诉我有关请求的任何更新信息吗?

    谢谢!

    Krishna

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

    Krishna

    我目前正在处理这项工作。 您能告诉我您在 GUI 中想要什么、具体而言吗? 现在我添加了一个 CRC 按钮、启用该按钮后、对高侧开关的所有写入都将具有额外的 CRC 帧。 它还会在读取"Console"视图时提供 CRC 结果。 这就够了吗?

    为了说明其价值、我在 Patrick 实现的功能基础上稍微更新了该函数:

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    static uint8_t crcGetResult(uint8_t* dataBuffer, uint8_t len)
    {
    uint8_t crc_start = 0x0F;
    uint8_t crc_polynomial = 0x03;
    uint8_t crc_result = crc_start;
    uint8_t bitnum = 0;
    uint8_t bytenum = 0;
    for(bytenum = 0; bytenum < len; bytenum++)
    {
    for(bitnum = 0; bitnum < 8; bitnum++)
    {
    if((((dataBuffer[bytenum] >> (7-bitnum)) & 0x01) ^
    ((crc_result & 0x08) >> 3)) > 0)
    {
    crc_result = crc_polynomial ^ ((crc_result << 1) & 0x0F);
    }
    else
    {
    crc_result = (crc_result << 1) & 0x0F;
    }
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    这只是简单的 C 代码、应该能够在任何主机(GCC、Windows 等)下编译。  

    此致、
    TIM  

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

    Tim、您好!

    感谢您的响应、能够与芯片通信、启用了 CRC 选项、实现了技巧、Micro 我们使用的是小端字节序格式、我必须交换字节

    查找参考表以匹配在软件中完成的 CRC 计算与参考表相同。

    谢谢!

    Krishna