bible
驱动牛犊
驱动牛犊
  • 注册日期2001-09-03
  • 最后登录2009-04-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:5247回复:13

USB支持DMA吗 ?

楼主#
更多 发布于:2002-04-25 17:34
dos
dos
驱动小牛
驱动小牛
  • 注册日期2001-06-13
  • 最后登录2010-02-24
  • 粉丝0
  • 关注0
  • 积分90分
  • 威望9点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-04-25 18:12
no
wang_wcj
驱动小牛
驱动小牛
  • 注册日期2002-04-14
  • 最后登录2010-05-14
  • 粉丝0
  • 关注0
  • 积分213分
  • 威望253点
  • 贡献值1点
  • 好评度82点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-04-25 19:13
用usb 的目的是为了解放更多的资源,
我可以肯定的告诉你它不是用dma
zhpingl
驱动牛犊
驱动牛犊
  • 注册日期2002-04-25
  • 最后登录2002-07-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-04-26 13:18
谁说不能,象硬盘之类的大数据量device不用dma能得到高速吗?
dos
dos
驱动小牛
驱动小牛
  • 注册日期2001-06-13
  • 最后登录2010-02-24
  • 粉丝0
  • 关注0
  • 积分90分
  • 威望9点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-04-26 13:31
usb设备的数据传输方式只有四种选择:控制,中断,块,等时。由于其特殊的物理结构,usb设备和dma之间不会有任何瓜葛。没办法,再大的硬盘你也只能用块传输。不满意的话,你可以使用2.0标准。但问题又来了,理论上2.0标准的480M速度,面对其他设备的低速又能发挥多大的效率呢?
bible
驱动牛犊
驱动牛犊
  • 注册日期2001-09-03
  • 最后登录2009-04-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-04-26 14:21
请zhpingl兄
发表高见。
zhpingl
驱动牛犊
驱动牛犊
  • 注册日期2002-04-25
  • 最后登录2002-07-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-04-26 14:43
其实usb只是一种接口,把数据放在buffer中,则用buffer与你的大数据量device之间用dma传输,对用户来说usb接口就相当一个存储器。这样就不用mcu来控制,buffer中的数据也能读写了。
bible
驱动牛犊
驱动牛犊
  • 注册日期2001-09-03
  • 最后登录2009-04-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2002-04-26 14:47
如何实现?
dos
dos
驱动小牛
驱动小牛
  • 注册日期2001-06-13
  • 最后登录2010-02-24
  • 粉丝0
  • 关注0
  • 积分90分
  • 威望9点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-04-26 15:13
看到zhpingl兄的答复,非常失望。不知道zhpingl兄是从哪儿听来的。
zhpingl
驱动牛犊
驱动牛犊
  • 注册日期2002-04-25
  • 最后登录2002-07-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-04-26 16:02
   什么听来的,d12的datasheet不是写了PDIUSBD12“支持多元和非多元的地址和数据总线还支持主端点与本地共享RAM 之间直接读取的DMA传输支持单周期和突发模式的DMA传输”,当然我没有做过usb
dma传输,你们可能误解我的意思了。我的理解是如用usb块传输
把数据放在主端点的buffer中,它与你的大数据量device之间用dma传输,当然要做点dma控制(也就一些计算器和控制信号),本地mcu不必读写数据包。只要给一定的控制就可以了。
         我对的d12还不是很熟悉,如有不对处,多点拨。
dos
dos
驱动小牛
驱动小牛
  • 注册日期2001-06-13
  • 最后登录2010-02-24
  • 粉丝0
  • 关注0
  • 积分90分
  • 威望9点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-04-26 16:49
我现在有些明白了。原来我们的立场不一样。
老兄是从设备端来看usb的,会涉及到mcu和dma。我是从host的角度来讲的。我是做driver的,所以当我看到bible兄的留言,我自然会从操作系统的角度来看这个问题。那么,usb就不支持dma。
bible
驱动牛犊
驱动牛犊
  • 注册日期2001-09-03
  • 最后登录2009-04-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-04-26 17:29
问题搞清楚就行。
不知各位的USB能达到多高的速度 ?
我用的是USB20芯片,CY7C68013,
NEC转接卡。
速度甚低。
1024bytes一般要20毫秒,最低也要1.5毫秒。

villon
驱动牛犊
驱动牛犊
  • 注册日期2007-03-13
  • 最后登录2010-04-06
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2007-03-27 17:09
引用第10楼dos2002-04-26 16:49发表的“”:
我现在有些明白了。原来我们的立场不一样。
老兄是从设备端来看usb的,会涉及到mcu和dma。我是从host的角度来讲的。我是做driver的,所以当我看到bible兄的留言,我自然会从操作系统的角度来看这个问题。那么,usb就不支持dma。


ISP1161做HOST时,是支持DMA mode的,而且支持单周期/突发 模式2种,请指教!
computer00
驱动小牛
驱动小牛
  • 注册日期2004-09-27
  • 最后登录2009-08-22
  • 粉丝0
  • 关注0
  • 积分1002分
  • 威望120点
  • 贡献值0点
  • 好评度110点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2007-03-28 14:34
理论上是可以支持的
理论上是可以支持的。一个USB HOST芯片,放在主板上,给它分配一个DMA通道,是完全可以的。不过我不大清楚主板的结构.
博客Http://computer00.21ic.org
游客

返回顶部