usb数据传输接入主板时,运用什么技术尽量不占用cpu时间???它和内存的数据交换是采用DMA吗???我看到说主板的主控制器是接入PCI总线和PC总线相连,请大虾赐教详解,欢迎大家讨论!谢谢!!!
回复(11) 2004-02-26 15:57 来自版块 - USB驱动开发
表情
zj0127关于usb主从式的协议架构,占用PC机CPU资源问题,我想是不是协议本身有改进的余地(不能光是传输速度的提高),或者USB主控制器硬件机制有完善的地方,因为和上位机采用DMA方式,就可以更好地节省CPU资源,在某些应用场合,是很有现实意义吧,请大家来讨论。 :)(2004-03-08 19:58)
zj0127jinghuiren分析得不错,我的问题不出在传输速度上,而在于PC进行数据处理时,耗费CPU的资源比较多,使我的整个系统(不光是处理USB数据)的实时性不好, jinghuiren说的PCI可以开虚拟内存,我想是因为PCI本身的硬件机制的原因吧,它可以通过编写驱动程序来实现吗...(2004-03-06 17:28)
jinghuirenusb中的dma主要是指设备芯片,如果要想在上位机上用dma,其实就是用dma的方式来转存数据! 设备方的数据必须经过host controller,你获得数据后可以有多种方法处理,最常用的方法就是从驱动返回到应用程序再写到文件里,这样速度越高占用cpu时间越多,而且像你那样达...(2004-03-06 14:07)
zj0127zmwk说得有道理, 我现在遇到的是pc机处理usb外设传来的数据,因为比较耗费CPU的问题,我用usb2.0采集卡传输速度能达到30M左右,主要是进入PC机后,由于不是采用DMA,比较耗CPU资源而导致失时性的难题。 我在想,如果主板上的USB主控制器能利用上DMA,是不是...(2004-03-06 13:55)
highbarlaoda,usb芯片在这里是指host上的呢,还是设备上的呢? ths!(2004-03-06 12:39)
zmwkDMA接口是为了能够让外设不经CPU干预(实际上是少量干预),就能将数据转到内存中去,并通知CPU操作结果(是否成功等)。CPU不干这个事,那得有别人干。谁呀?DMA控制器。虽然CPU闲着了,可以做一些运算或与被释放总线无关的事情,但在很多时候它也无事可做。所以如果CPU的CAC...(2004-03-05 23:42)
zj0127 :(很遗憾呀,由于USB2.0数据采集卡比较占用CPU时间,我的赛羊2G被耗掉接近40%的资源,加上显示就快60%了,而我还要同时在后台实时处理其它任务,这样势必导致整个系统的实时性不好,老板决定暂缓USB,采用PCI采集卡,请大家帮我想想办法,运用USB有啥法子解决实时性的难...(2004-03-04 09:31)
zj0127强烈恳求大师们前来灌水!!! :( :( :( :( :((2004-02-27 17:13)
zj0127大虾们快进来呀, :( :( :(, 请问usb芯片的 高速DMA接口的应用情况??? 它的FIFO可以和MCU/DSP直接相连,DMA用在那些接口呀??? 请大家帮忙呀!!!谢谢!!! (2004-02-27 16:45)
zj0127我看到有些usb芯片介绍有 高速的DMA接口,不太明白。通常是在主板上外部和内存数据交换实施DMA,我想请教:是不是主板usb主控制器选用高速的DMA接口的芯片,就可以和usb外设实现DMA?????(2004-02-27 15:33)

返回顶部