21ic电子技术开发论坛 单片机与嵌入式系统 ST MCU STM32 HS USB Audio疑问
发新帖我要提问
返回列表
打印
[应用相关]

STM32 HS USB Audio疑问

[复制链接]
3446|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
schspa|  楼主 | 2016-8-11 18:27 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
近日在调试stm32f746的HS USB,但是出现了同步OUT端点无法接受到数据的问题,历程用的是STM32Cube_FW_F7_V1.3.0中的Projects\STM32746G-Discovery\Applications\USB_Device\AUDIO_Standalone,板子是自己画的(PHY芯片USB3320),例子中部分地方进行了修改。
修改如下:1.使用外部晶振8M作为时钟
               2.使用MCO1作为USB3320的始终输入,频率24MHz。
               3.stm32F746时钟频率92M
               4.始终usbd_audio_if_template代替了usbd_audio_if,故使用之时没有与音频硬件相关的任何东西。
               5.电脑可以识别麦克风,但是放声时会卡住,原因是没有USBD_AUDIO_DataOut触发,也没有端点1的中断产生。
usbd_audio.c中的函数调用如下:
..\Src\usbd_audio_if_template.c TEMPLATE_Init
DEBUG : ..\..\..\..\..\..\Middlewares\ST\STM32_USB_Device_Library\Class\AUDIO\Src\usbd_audio.c USBD_AUDIO_Setup
DEBUG : ..\..\..\..\..\..\Middlewares\ST\STM32_USB_Device_Library\Class\AUDIO\Src\usbd_audio.c USBD_AUDIO_EP0_TxReady
DEBUG : ..\..\..\..\..\..\Middlewares\ST\STM32_USB_Device_Library\Class\AUDIO\Src\usbd_audio.c USBD_AUDIO_EP0_TxReady
DEBUG : ..\..\..\..\..\..\Middlewares\ST\STM32_USB_Device_Library\Class\AUDIO\Src\usbd_audio.c USBD_AUDIO_EP0_TxReady
DEBUG : ..\..\..\..\..\..\Middlewares\ST\STM32_USB_Device_Library\Class\AUDIO\Src\usbd_audio.c USBD_AUDIO_EP0_TxReady
DEBUG : ..\..\..\..\..\..\Middlewares\ST\STM32_USB_Device_Library\Class\AUDIO\Src\usbd_audio.c USBD_AUDIO_Setup
DEBUG : ..\..\..\..\..\..\Middlewares\ST\STM32_USB_Device_Library\Class\AUDIO\Src\usbd_audio.c AUDIO_REQ_GetCurrent
DEBUG : ..\..\..\..\..\..\Middlewares\ST\STM32_USB_Device_Library\Class\AUDIO\Src\usbd_audio.c USBD_AUDIO_EP0_TxReady
DEBUG : ..\..\..\..\..\..\Middlewares\ST\STM32_USB_Device_Library\Class\AUDIO\Src\usbd_audio.c USBD_AUDIO_Setup
DEBUG : ..\..\..\..\..\..\Middlewares\ST\STM32_USB_Device_Library\Class\AUDIO\Src\usbd_audio.c USBD_AUDIO_GetCfgDesc
DEBUG : ..\..\..\..\..\..\Middlewares\ST\STM32_USB_Device_Library\Class\AUDIO\Src\usbd_audio.c USBD_AUDIO_EP0_TxReady
DEBUG : ..\..\..\..\..\..\Middlewares\ST\STM32_USB_Device_Library\Class\AUDIO\Src\usbd_audio.c USBD_AUDIO_GetCfgDesc
DEBUG : ..\..\..\..\..\..\Middlewares\ST\STM32_USB_Device_Library\Class\AUDIO\Src\usbd_audio.c USBD_AUDIO_EP0_TxReady
DEBUG : ..\..\..\..\..\..\Middlewares\ST\STM32_USB_Device_Library\Class\AUDIO\Src\usbd_audio.c USBD_AUDIO_GetDeviceQualifierDesc
DEBUG : ..\..\..\..\..\..\Middlewares\ST\STM32_USB_Device_Library\Class\AUDIO\Src\usbd_audio.c USBD_AUDIO_EP0_TxReady
DEBUG : ..\..\..\..\..\..\Middlewares\ST\STM32_USB_Device_Library\Class\AUDIO\Src\usbd_audio.c USBD_AUDIO_GetCfgDesc
DEBUG : ..\..\..\..\..\..\Middlewares\ST\STM32_USB_Device_Library\Class\AUDIO\Src\usbd_audio.c USBD_AUDIO_EP0_TxReady
DEBUG : ..\..\..\..\..\..\Middlewares\ST\STM32_USB_Device_Library\Class\AUDIO\Src\usbd_audio.c USBD_AUDIO_GetCfgDesc
DEBUG : ..\..\..\..\..\..\Middlewares\ST\STM32_USB_Device_Library\Class\AUDIO\Src\usbd_audio.c USBD_AUDIO_EP0_TxReady
DEBUG : ..\..\..\..\..\..\Middlewares\ST\STM32_USB_Device_Library\Class\AUDIO\Src\usbd_audio.c USBD_AUDIO_EP0_TxReady
DEBUG : ..\..\..\..\..\..\Middlewares\ST\STM32_USB_Device_Library\Class\AUDIO\Src\usbd_audio.c USBD_AUDIO_EP0_TxReady
DEBUG : ..\..\..\..\..\..\Middlewares\ST\STM32_USB_Device_Library\Class\AUDIO\Src\usbd_audio.c USBD_AUDIO_EP0_TxReady
DEBUG : ..\..\..\..\..\..\Middlewares\ST\STM32_USB_Device_Library\Class\AUDIO\Src\usbd_audio.c USBD_AUDIO_EP0_TxReady
DEBUG : ..\..\..\..\..\..\Middlewares\ST\STM32_USB_Device_Library\Class\AUDIO\Src\usbd_audio.c USBD_AUDIO_Setup
下图为USBlyzer抓到的数据包,可以看到主机已经发起了同步传输,但是失败了,求大神赐教。
这个可能会是硬件的问题吗??
https://bbs.21ic.com/forum.php?mod=attachment&aid=NzExMzM2fGM4NGEyOTE4ZGUwNjk0OTcwM2RmNzJmMTYyMDYyOWYyfDE3MTYzMjcxNzc%3D&request=yes&_f=.png

USB异常.PNG (370.86 KB )

USB异常.PNG
沙发
mmuuss586| | 2016-8-11 21:07 | 只看该作者
都能找到硬件肯定没啥问题,你再改下底层驱动程序看看;

使用特权

评论回复
板凳
dentsgot| | 2016-8-11 21:08 | 只看该作者
已经能找到audio了,看看是哪里出了问题吧

使用特权

评论回复
地板
schspa|  楼主 | 2016-8-12 10:49 | 只看该作者
mmuuss586 发表于 2016-8-11 21:07
都能找到硬件肯定没啥问题,你再改下底层驱动程序看看;

https://my.st.com/public/STe2eco ... 5B¤tviews=194
找到了一个问题一样的,我出现的中断也是 Incomplete isochronous OUT data transfers interrupt

使用特权

评论回复
5
陈其旦| | 2016-8-12 14:00 | 只看该作者
抓包软件有问题。没有破译完全

使用特权

评论回复
6
schspa|  楼主 | 2016-8-12 15:09 | 只看该作者
陈其旦 发表于 2016-8-12 14:00
抓包软件有问题。没有破译完全

为何这么说??

使用特权

评论回复
7
schspa|  楼主 | 2016-8-12 15:16 | 只看该作者
    今天找了个开发板,用全速的USB设备试了试,没有任何问题,但是高速外接的phy就会出现问题,官方的例子也是给全速的USB来用的。    除了Audio的例子外都是适配了USB HS的,只有Audio的例子没有适配USB高速模式,看来有坑啊。。

使用特权

评论回复
8
wdmfhvk| | 2017-4-22 16:37 | 只看该作者
楼主现在解决了吗?我也遇到同样的问题。。。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

70

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部