完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
各位大神,小弟现在正在用STM32f205+PHY做一个高速usb的Device设备,需要使用两个端点,分别设置:端点2为OUT、端点6为IN的BULK模式。
正常逻辑应该是:枚举过程成功后,收到主机发送的SetConfig命令,STM32开始配置两个BULK端点。STM32接收到OUT端点主机发送的数据并做处理后通过IN端点发送至主机。 但是实际测试现象是:枚举过程结束后,STM32收到主机发送的SetConfig命令,并成功配置端点。OUT端点收到主机发送的数据并做处理后将待发送数据缓存在buf,等待IN令牌包到来后发送,但是IN端点一直发送不出去。 通过USB分析仪抓取到的数据发现主机发送IN令牌包后,从机无响应。 因为枚举过程数据正常,故怀疑是STM32配置BULK端点时出错,经过多次查找后发现,当配置端点2为OUT模式后,STM32寄存器会强制改写OTG_HS_DIEPCTL6、7寄存器的数值。配置端点的代码如下: /* Open EP2 OUT */ USBD_LL_OpenEP(pdev, EPIN2_OUT_ADDR, USBD_EP_TYPE_BULK, EPIN2_OUT_SIZE); pdev->ep_out[2].maxpacket = USB_HS_MAX_PACKET_SIZE; USBD_LL_PrepareReceive (pdev, EPIN2_OUT_ADDR, BulkRxBuf, USB_HS_MAX_PACKET_SIZE); USBD_LL_OpenEP(pdev, EPIN6_IN_ADDR, USBD_EP_TYPE_BULK, EPIN6_IN_SIZE); pdev->ep_in[6].maxpacket = USB_HS_MAX_PACKET_SIZE; 图片上寄存器值是在执行完 USBD_LL_OpenEP(pdev,EPIN2_OUT_ADDR,USBD_EP_TYPE_BULK,EPIN2_OUT_SIZE);尚未配置IN端点时就已经生成的。 很纳闷,为什么设置了端点2会改变端点6.7的DIEPCTL的数值。 如果两个openEP函数颠倒了顺序,则DIEPCTL6在执行完配置后仍然是0. 有没有哪位大哥做过相关的工作,能不能给小弟指点下迷津,谢谢。 |
|
相关推荐
1个回答
|
|
根据你的描述,STM32f205 + PHY 设备在高速 USB 设备模式下,使用两个端点(端点2为 OUT,端点6为 IN)的 BULK 传输模式时出现异常。以下是一些建议和可能的解决方案:
1. 检查 USB 描述符: 确保你的设备描述符、配置描述符、接口描述符和端点描述符都正确无误。特别是,确保端点2和端点6的地址和属性设置正确。 2. 检查 USB 驱动程序: 确保你的 STM32f205 设备的 USB 驱动程序正确安装,并且与你的操作系统兼容。如果需要,尝试更新或重新安装驱动程序。 3. 检查 PHY 设置: 确保 PHY 的设置正确,包括电源管理、时钟设置和高速/全速模式选择。此外,检查 PHY 是否与 STM32f205 兼容。 4. 检查 USB 堆栈: 确保你的 USB 堆栈(固件)正确实现了 BULK 传输模式,包括数据接收、处理和发送。检查是否有任何错误或异常处理逻辑。 5. 检查缓冲区管理: 确保你的缓冲区管理逻辑正确,包括接收和发送数据的缓冲区分配、同步和释放。避免缓冲区溢出或内存泄漏。 6. 检查 USB 分析仪捕获的数据: 仔细分析 USB 分析仪捕获的数据,查找可能的错误或异常,如数据包丢失、错误的传输类型或错误的端点编号。 7. 调试和测试: 使用调试工具(如 ST-LINK)逐步调试你的固件,检查关键变量和寄存器值。此外,尝试使用不同的 USB 主机和数据线,以排除硬件故障的可能性。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
2490 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1949 浏览 1 评论
1475 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
967 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
3065 浏览 2 评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
1265浏览 4评论
stm32f4下spi+dma读取数据不对是什么原因导致的?
543浏览 3评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
826浏览 3评论
789浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
803浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-6-25 07:55 , Processed in 1.056039 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191