|
|
|
|
| |
积分:20 帖子:12
精华:5 等级:学徒 注册时间:2008-12-23 最后登录:2010-07-26 |
|
| |
|
| 图解STM3210x系列USB固件库内核 |
| |
终于吧STM3210xUSB固件库源代码看完了!整理了一下笔记。希望给搞STM_USB开发的朋友一点帮助。 因为是第一版,也请大家来查错。 好像图片太大了。给个压缩包下载吧!
附件:请先登陆查看附件!
|
| | |
| |
|
相关主题
生命短暂 这一次却如此强大,超越了他仰赖着立足于世的力量.——威士忌安魂曲
|
|
|
|
|
|
| |
积分:20 帖子:12
精华:5 等级:学徒 注册时间:2008-12-23 最后登录:2010-07-26 |
|
| |
|
| RE:图解STM3210x系列USB固件库内核 |
| |
补充一句:是用Microsoft Visio画的。
|
| | |
| |
|
生命短暂 这一次却如此强大,超越了他仰赖着立足于世的力量.——威士忌安魂曲
|
|
|
|
|
|
| |
积分:20 帖子:12
精华:5 等级:学徒 注册时间:2008-12-23 最后登录:2010-07-26 |
|
| |
|
| RE:图解STM3210x系列USB固件库内核 |
| |
COMPOSITE DEVICE应该就是有多个接口的设备。 我正在整理USB描述符的相关资料。敬请关注!
|
| | |
| |
|
生命短暂 这一次却如此强大,超越了他仰赖着立足于世的力量.——威士忌安魂曲
|
|
|
|
|
|
| |
头衔:版主
积分:20 帖子:39
精华:0 等级:学徒 注册时间:2008-12-03 最后登录:2011-11-16 |
|
| |
|
| RE:图解STM3210x系列USB固件库内核 |
| |
不错,很有意义。 请注意:除非你发现ST提供的USB库中有BUG,请不要修改任何库中的文件:usb_core.c, usb_int.c,
usb_init.c, usb_mem.c, usb_regs.c,所有的USB设备功能都能够通过设置的回调函数处理。 不建议修改库中任何文件的理由有二,一是ST的这个USB库已经通过了USB-IF的认证,擅自修改可能对你的产品以后的认证造成麻烦;二是在以后发现BUG后,ST会更新库文件,客户只需把新文件拷贝进自己的项目中即可,如果自己修改了库文件将为已有的更新造成困难。 COMPOSITE DEVICE与普通的设备没有什么本质区别,要实现COMPOSITE DEVICE只需注意2件事即可: 1)在配置描述符(Configuration
Descriptor)中描述多个Interface,如在PC端希望识别出两个设备,就需要有2个Interface的描述。 2)在接到USB主机来的命令后,通过USBwIndex0识别是哪个Interface的请求,再做相应处理。 使用ST提供的可以很容易地实现上述功能。
|
| | |
| |
|
|
|
|
|
|
|
| |
积分:20 帖子:12
精华:5 等级:学徒 注册时间:2008-12-23 最后登录:2010-07-26 |
|
| |
|
| RE:图解STM3210x系列USB固件库内核 |
| |
谢谢指教 
|
| | |
| |
|
生命短暂 这一次却如此强大,超越了他仰赖着立足于世的力量.——威士忌安魂曲
|
|
|
|
|
|
| |
积分:20 帖子:12
精华:5 等级:学徒 注册时间:2008-12-23 最后登录:2010-07-26 |
|
| |
|
| RE:图解STM3210x系列USB固件库内核 |
| |
我想实现一个COMPOSITE DEVICE,这个COMPOSITE
DEVICE有两个设备,一个是HID,一个是音频,从USB的标准来看你认为是可以的吧?但从STM32来说不知道是否可行呢?因为有以下要求,主要是速度和带宽方面的考虑, 1. HID设备最快要达到300BYTES/SECOND 2. 音频设备是一个四道I2S输出,每通道48K采样,16bit精度。48000 x 16 x 4 = 3072000 请问如果我想选用STM32F103VC,是否有可能做出符合要求的设备?
谢谢!
|
| | |
| |
|
生命短暂 这一次却如此强大,超越了他仰赖着立足于世的力量.——威士忌安魂曲
|
|
|
|
|
|
| |
积分:20 帖子:12
精华:5 等级:学徒 注册时间:2008-12-23 最后登录:2010-07-26 |
|
| |
|
|
生命短暂 这一次却如此强大,超越了他仰赖着立足于世的力量.——威士忌安魂曲
|
|
|
|
|
|
| |
头衔:版主
积分:20 帖子:39
精华:0 等级:学徒 注册时间:2008-12-03 最后登录:2011-11-16 |
|
| |
|
| RE:图解STM3210x系列USB固件库内核 |
| |
不错,用STM32可以实现你的要求,但这不表示Windows也可以支持这样的要求。 记得我曾经说过这个问题的关键是要看Windows上的驱动是否能够支持这样的需求,因为我曾经遇到过Windows的Composite设备驱动不支持某些组合的情况,但具体情况记不清了;不知道你得到的答复说最好用两个STM32,是否与这个Composite设备驱动有关;或者你还有什么其它具体的要求没有在这里说明,但在与STM32的技术支持沟通时他们看到了你的问题。
|
| | |
| |
|
|
|
|
|
|
|
| |
积分:20 帖子:12
精华:5 等级:学徒 注册时间:2008-12-23 最后登录:2010-07-26 |
|
| |
|
| RE:图解STM3210x系列USB固件库内核 |
| |
__STM32__, 其实我得到的答复是这样的, 1. 对于COMPOSITE DEVICE ST是不支持的,而HID和AUDIO DEVICE都能分别支持,所以最好用两个来实现。 2.
支持的技术人员说速度有可能跟不上,我说USB2.0的12M速度在我的设备上应该只用了3072000,他说这只是纯数据的速度,还有一些USB的控制数据还没包括在内,另外还有一个原因就是STM32上USB的FIFO只有512,说这个也是一个限制。他没有说过关于windows驱动方面的原因。 对于第一点原因我是明白的,但对于第二个原因就不太明白。音频部分需要传输的速度是3072000,HID部分需要2400,这样加起来大概就是12M的1/4,USB的控制数据要占到剩下的部分吗? 我也注意到STM32提供的USB例子AUDIOSPEAKER插到WindowsXP上也认作是一个COMPOSITE DEVICE的。
|
| | |
| |
|
生命短暂 这一次却如此强大,超越了他仰赖着立足于世的力量.——威士忌安魂曲
|
|
|
|
|
|
| |
头衔:版主
积分:20 帖子:39
精华:0 等级:学徒 注册时间:2008-12-03 最后登录:2011-11-16 |
|
| |
|
| RE:图解STM3210x系列USB固件库内核 |
| |
你好,我已经问过深圳ST的FAE,他们也曾经问过我们上海的工程师,他们说没有提到过一定要用2片来处理。 估计大家有某些误解。FIFO不是问题,因为音频数据传输使用的是同步(Isochronous)模式,你的数据量只用48000 x 16
x 4 / 8 =
384000字节/秒,每ms只传送384字节,既每个数据包为384字节。根据USB协议,同步传输优先于所有其他传输,所以音频数据传输不会受突发的HID传输干扰。 我可以明确地说,你的这种需求使用一片STM32完全可以处理,响应时间也没有问题。如果音频的驱动是自己写,我前面谈的Windows端的驱动问题也不存在了,你只须实现一个由HID和一个自定义类设备的复合设备即可。
|
| | |
| |
|
|
|
|
|
|
|
| |
头衔:版主
积分:2042 帖子:182
精华:15 等级:助理研究员 注册时间:2007-07-31 最后登录:2011-11-04 |
|
| |
|
| RE:图解STM3210x系列USB固件库内核 |
| |
精之 
|
| | |
| |
|
|
|
|
|
|
|
| |
积分:45 帖子:32
精华:0 等级:学徒 注册时间:2008-12-16 最后登录:2011-11-01 |
|
| |
|
| RE:图解STM3210x系列USB固件库内核 |
| |
谢谢指教  
|
| | |
| |
|
|
|
|
|
|
|
| |
积分:7 帖子:9
精华:0 等级:学徒 注册时间:2009-03-11 最后登录:2010-11-19 |
|
| |
|
|
|
|
|
|
|
|
| |
积分:20 帖子:4
精华:0 等级:学徒 注册时间:2008-12-16 最后登录:2009-10-01 |
|
| |
|
| RE:图解STM3210x系列USB固件库内核 |
| |
谢谢 
|
| | |
| |
|
|
|
|
|
|
|
| |
积分:22 帖子:80
精华:0 等级:学徒 注册时间:2008-05-16 最后登录:2011-12-26 |
|
| |
|
| RE:图解STM3210x系列USB固件库内核 |
| |
呵呵不错收藏了 
|
| | |
| |
|
|
|
|
|
|
|
| |
积分:12 帖子:14
精华:0 等级:学徒 注册时间:2009-03-26 最后登录:2011-01-29 |
|
| |
|
| RE:图解STM3210x系列USB固件库内核 |
| |
呵呵不错收藏了 
|
| | |
| |
|
|
|
|
|
|
|
| |
积分:25 帖子:38
精华:0 等级:学徒 注册时间:2009-01-14 最后登录:2011-12-19 |
|
| |
|
|
|
|
|
|
|
|
| |
积分:13 帖子:16
精华:0 等级:学徒 注册时间:2009-05-07 最后登录:2011-11-01 |
|
| |
|
|
|
|
|
|
|
|
| |
积分:42 帖子:49
精华:1 等级:学徒 注册时间:2007-11-11 最后登录:2012-02-10 |
|
| |
|
| 回复:图解STM3210x系列USB固件库内核 |
| |
bucuo ,kankan m,,,,,,,,,,,,,,,,,,,,,
|
| | |
| |
|
|
|
|
|
|
|
| |
积分:21 帖子:15
精华:0 等级:学徒 注册时间:2008-12-03 最后登录:2012-01-20 |
|
| |
|
|
|
|
|
|
|
|
| |
积分:20 帖子:8
精华:0 等级:学徒 注册时间:2008-05-27 最后登录:2010-11-16 |
|
| |
|
|
|
|
|
|
|
|
| |
积分:0 帖子:28
精华:0 等级:学徒 注册时间:2009-04-23 最后登录:2012-02-01 |
|
| |
|
|
|
|
|
|
|
|
| |
积分:0 帖子:2
精华:0 等级:学徒 注册时间:2009-07-08 最后登录:2011-06-20 |
|
| |
|
| 回复:图解STM3210x系列USB固件库内核 |
| |
谢谢咯!
|
| | |
| |
|
|
|
|
|
|
|
| |
积分:20 帖子:11
精华:0 等级:学徒 注册时间:2007-09-10 最后登录:2010-12-07 |
|
| |
|
|
|
|
|
|
|
|
| |
积分:72 帖子:59
精华:0 等级:学徒 注册时间:2009-08-18 最后登录:2011-12-13 |
|
| |
|
|
|
|