乐鑫技术交流
直播中

陈利妮

7年用户 1035经验值
私信 关注
[问答]

esp32s2 USB主机口使能后,SOF为什么是1.25ms间隔的?

我们自己做了hcd驱动,目前测试HID/HUB/MSC等等设备都可以跑起来,但是USB协议分析仪截取到的SOF间隔是1.25ms。
这个是怎么肥事?

U盘驱动,可以正常识别并且mount:                                                                                                                             
USB报文:                                                                                                                                                                                                                                                   
里面SOF的间隔是1.25ms,应该是1ms

希望有人可以协助解决吧
                                                                                                                                                               

回帖(1)

张玲

2024-6-24 16:33:49
这可能是由以下原因导致的:

1. **驱动实现问题**:您提到您自己实现了 hcd(Host Controller Driver)驱动。可能在驱动实现中,SOF 间隔的处理存在问题。检查您的驱动代码,确保 SOF 间隔设置正确。

2. **硬件问题**:如果硬件时钟或定时器存在问题,可能导致 SOF 间隔不准确。检查硬件设计和时钟配置,确保它们符合 USB 标准。

3. **软件配置问题**:在某些情况下,软件配置错误可能导致 SOF 间隔不正确。检查您的软件配置,确保所有与 USB 相关的设置都是正确的。

4. **USB 协议分析仪误差**:也有可能是 USB 协议分析仪在测量 SOF 间隔时存在误差。尝试使用不同的分析工具或方法来验证 SOF 间隔。

5. **固件或操作系统问题**:如果 ESP32-S2 的固件或操作系统存在问题,可能会影响到 USB 主机功能的正常工作。检查固件和操作系统的版本,确保它们是最新的,并且没有已知的与 USB 主机功能相关的问题。

解决这个问题的步骤可能包括:

- **审查代码**:检查您的 hcd 驱动代码,特别是与 SOF 间隔相关的部分。
- **检查硬件设计**:确保硬件设计和时钟配置正确无误。
- **更新固件和操作系统**:确保您的设备运行的是最新版本的固件和操作系统。
- **使用其他分析工具**:尝试使用不同的 USB 协议分析工具来验证 SOF 间隔。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分