阅读:1737回复:5
usb通讯
我想问一下,怎么可以通过cpu查询usb。可否讲解,有资料也可以哦,有代码更好,谢谢哦,小女子刚闯江湖,业务不熟,谢了
|
|
沙发#
发布于:2005-03-11 09:43
usb刚刚接上的时候,usb控制器就会检测到设备发生变化,具体是有电压变化来感应的!当usb控制器发现设备发生变化的时候,它就会向主机发出一个要求主机询问的数据包!然后由主机来控制或许设备详细资料!
按你所说的 由主机自动发出询问,或许可以~但我觉得没这个必要~~ 如果由主机定时的询问usb控制器,有没有设备更新,这样会浪费cpu时间~。如果一个应用程序来发出询问,那更加没必要了~因为当你一插上你的usb设备,系统就给你自动初始化。你只需要管数据通讯就行了,这样不是更方便吗? |
|
板凳#
发布于:2005-03-10 17:41
现代计算机的体系结构是分层管理的,以USB设备为例,USB设备事实上是通过PCI总线于其它资源及管理器打交道,USB设备管理器在硬件上负责与PCI总线通讯,这就是说USB设备管理器就像一个桥把设备和pci总线连接在一起,没有它是不行的
|
|
地板#
发布于:2005-03-10 13:29
谢谢你的回答,我尽量说清楚我的意思,现在有个程序在setup_uhci
之前,要发个中断请求,我理解的就是usb控制器向cpu发出的中断请求,我想这个应该是通信的第一次握手,现在就有问题了,如果我想不通过usb控制器发出中断请求,而是cpu查询,可不可以!?(我想如果按照学校学的理论应该是还有这种方式),不知道我现在表达清楚我的意思没有,我是不明白,希望多多指导,多批评!!!(人身工攻击就不要了) |
|
地下室#
发布于:2005-03-10 12:41
哦。可能我表达错了,我的意思是等待主机查询,而不是usb控制器想cpu发出中断请求!!!
|
|
5楼#
发布于:2005-03-10 12:34
通过cpu查询usb???usb设备是通过usb主控制器和计算机进行通讯的~如果要访问usb端口,就需要和usb主控制器打交道。而主控制器控制usb是有专门的usb协议来支持的~
所以在固件开发上就必须严格遵循usb协议!! 如果只是开发上层的usb应用程序,那你可以去看看 MSDN! 用DDK开发的~ |
|