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.

[参考译文] MSP430F5510:USB12勘误表

Guru**** 2604225 points
Other Parts Discussed in Thread: MSP430F5510

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/650773/msp430f5510-usb12-errata

器件型号:MSP430F5510

大家好、

请告诉我们 MSP430F5510的 USB 勘误表 USB 12。

"从器件到主机传输的第二个字节被发送两次。" 这个2字节将被发送到什么时序?

USB 总线变为未确定状态时、它是否只发送一次? 还是会多次发送?

解决方法是"如果需要自动检测错误、则主机和器件上的软件可以通过 CRC 检查数据有效载荷(在 USB API 上方)来检测额外的字节。"

此 CRC 校验是否有一个示例程序?

此致、

Takashi

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

    第2个字节将与 USB 通信中其余字节的时序相同。 我相信这个额外的字节将在每次从设备到主机事务发生时被发送、这就是为什么 USB 模块在这个不确定的状态发生时需要 t 被复位和重新初始化的原因。

    至于 CRC 校验、只要主机和器件端的软件使用相同的 CRC 实现、就可以使用任何 CRC 算法。 这只是为了检查发送到主机的字节是否与应该发送的字节相同(额外的字节将导致接收到的数据产生不同的 CRC)。

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

    感谢你的答复。
    我联系了客户并在主例程中添加了变通办法中 USBEN 位的禁用/启用。
    因此、我被告知设备管理器已识别它、但 USB 通信未完成。

    通过 USB 事务、我得知最初8字节的通信、有9字节的传输。
    (尚未确认第二个字节是否已发送两次。)

    如上所述、设备管理器是否已识别它、但 USB 通信是否无法完成?

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

    为了澄清这一点、在添加 USBEN 权变措施之前、设备管理器中是否未识别 USB 端口? 如果您仍然看到发送了额外的字节、则可能不是 USB12。 无论采用哪种方式、只有当您能够确定发送的额外字节是什么时、才能知道这一点。

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

    您好、Nathan - San、

    我再次向客户确认。

    为了重现 USB12勘误表的内容、添加了打开/关闭 USBPLLEN 位的处理。

    然后、它们将硬件连接到 PC 并执行 PC 的重新引导测试。

    (未添加 USBEN 位开/关。 由于 USB 总线电源打开、MSP430的电源不关闭。)

    通常情况下、在枚举之后执行8字节通信、但有时很少执行9字节传输。

    之后、虽然设备管理器识别到 USB 通信、但无法执行 USB 通信。

    达到此状态后重新启动 PC、重复通信、将执行9字节传输。

    尽管8字节数据的所有内容都未知、但前导的2字节正在传输"0x00"。 (例如:0x00、0x00、0x12、0x34、0x56、 0x78、0x9a、0xbc)

    数据发送9个字节时、前3个字节为"0x00"。

    我不知道第1个字节或第2个字节、但我认为重复传输了"0x00"。

    上述状态是否为勘误表 USB12?

    此外、请告诉我。

    在勘误表 USB 12的说明中、它显示"当 USB 器件被主机挂起时、PLL 通常由软件禁用。

    禁用 PLL 的目的是什么? 是因为低功耗?

    此致、

    Takashi

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

    根据您提供的信息、我只能说它与 USB12一致。 客户能否使前2个字节的值不同以检查是否是正在重新发送的第二个字节? 这将有助于确认这是勘误表的行为。

    至于 PLL、我认为这只是一个好的做法、因为在这段时间内没有使用它。 这将节省功耗并防止 PLL 引起任何可能的问题。

    此致、
    Nathan