打印

stm32f103系列USB问题,我是小白望大虾解释

[复制链接]
3153|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hycinthus|  楼主 | 2010-5-12 11:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人刚刚接触stm32F型单片机和uSB,很多地方都不清楚,望解释1. usb和can公用512B的RAM,但是RAm地址为0x40006000-0x40006400,分明为1KB啊,为什么还是说512B.
2. 若PC机读RAM中数据时,我同时对RAM进行写操作,怎么办,我感觉库中并没有对这种操作进行处理啊。
3. 对于缓冲区,不理解为什么给了个地址,又同时给了个USB本地地址,并且我认为,地址偏移应该为[USB_BTABLE]*2+n*16+(0,4,8,12),也就是缓冲区描述表也应该扩大2倍,不知道是不是
4.不理解为什么USB_BTABLE设置成13+3位的,反正一共就512B(我理解为1K),8位就够了

先问这么多,其他的容后再问。
谢谢各位指教了
沙发
gxgclg| | 2010-5-12 20:03 | 只看该作者
还不是很了解USB,学习中

使用特权

评论回复
板凳
香水城| | 2010-5-12 21:04 | 只看该作者
1)这个缓冲区是个双端口RAM,CPU一端是以32位宽访问,而USB一端是以16位宽访问,因此从CPU端看浪费了一半的地址空间,即从CPU端读出32位数据时只有16位是有效的;所以1KB的地址空间,实际只有512字节的存储空间。

2)因为这个缓冲区是个双端口RAM,所以你不用担心访问冲突的问题,硬件会协调它们之间的操作。

3)因为这个缓冲区是个双端口RAM,所以有2个地址空间,一个是从CPU端看,另一个是从USB收发器那一端看。

4)不明白你说的"USB_BTABLE设置成13+3位"是什么意思。

使用特权

评论回复
地板
hycinthus|  楼主 | 2010-5-13 12:01 | 只看该作者
谢谢楼上解释,不过还有一些疑问
1.您说的usb收发器应该指的的是stm芯片内核中的独立模块,这个我没有理解错吧,还有usb端写ram应该是按字对其的是吧,比方说写的地址为0x00,0x01,然后0x02,0x03不写,再写0x04和0x05,我没有理解错吧
2.即使是ram同一时刻也只能又一个控制器对指定地址进行操作啊,而开始时,usb控制器以及经addr和count读取到内部控制内核中了,cpu再一次操作后不就会改变addr和count,而usb控制器的addr和count也没有改变,怎么回事,我有点转不过来
3.我的意思是没必要把usb_btable设置成那么多位,因为就没有那么大的地址空间,可以寻址,比如说设置成0xfff8,这个已经超出缓冲区范围了

使用特权

评论回复
5
香水城| | 2010-5-13 17:32 | 只看该作者
1)可以这么理解。但更准确地说是,USB收发器写RAM时,如果从CPU端看,写的地址为0x00、0x01,然后0x02、0x03不写,再写0x04、0x05;但是USB收发器写RAM时,如果从USB端看,写的地址就是连续的,即0x00、0x01、0x02、0x03........。

2)你还没有明白双端口RAM的构造,它有2个地址总线和2个操作计数器,CPU端和USB收发器端各有一个地址总线和一个操作计数器。

3)不错,没必要把usb_btable设置成那么多位,即使这样与你的操作有什么关系吗?不管怎样你都不能设置超出缓冲区范围的参数。

使用特权

评论回复
6
hycinthus|  楼主 | 2010-5-13 20:15 | 只看该作者
谢谢,我基本上明白了,呵呵

使用特权

评论回复
7
zwll| | 2010-5-13 23:13 | 只看该作者
香主解释的好详细啊

使用特权

评论回复
8
chasedreamsl| | 2010-7-5 15:32 | 只看该作者
有香主这样耐心细致讲解,对我们这些初学者真是很大的鼓舞。 要是什么时候我也能成为香主那样,我也会帮助更多的人。

使用特权

评论回复
9
难得糊涂zsl| | 2010-7-23 16:01 | 只看该作者
我最近也是在弄USB  我用的是stm32f103  在加上一片isp1160db      
我想问下  是不是stm32f103中已经集成了USB Host Controller      这里的isp1160db  是不是没必要啊

使用特权

评论回复
10
香水城| | 2010-7-23 16:12 | 只看该作者
STM32F103没有集成USB Host Controller,STM32F105或STM32F107集成了USB Host Controller。

使用特权

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

本版积分规则

0

主题

3

帖子

1

粉丝