阅读:1239回复:8
D12+51/52系统如何和上位机联系阿??
D12上电后,初始化指令正常,PC机也可以找得到USB设备,可是没有驱动无法正常传输数据阿..我现在打算用PHILIPS的SMART BOARD驱动(自己不会编),但是不知道上电后上位机对D12有什么要求(最好具体的讲一讲),我需要给它什么数据,上位机才能认出它来啊.也就是说设备描述的具体格式应该是什么,应该给它填入什么字符......问题多多,真的希望你们能帮帮我....(又及,我是用汇编编的程序,不是c51的,c51开不太懂....:(....)
|
|
最新喜欢:![]() |
沙发#
发布于:2002-12-03 10:40
D12上电后,初始化指令正常,PC机也可以找得到USB设备,可是没有驱动无法正常传输数据阿..我现在打算用PHILIPS的SMART BOARD驱动(自己不会编),但是不知道上电后上位机对D12有什么要求(最好具体的讲一讲),我需要给它什么数据,上位机才能认出它来啊.也就是说设备描述的具体格式应该是什么,应该给它填入什么字符......问题多多,真的希望你们能帮帮我....(又及,我是用汇编编的程序,不是c51的,c51开不太懂....:(....) 你的设备枚举是否已经成功了,如果成功用USBView可以看到一些信息,如PID和VID等信息,你看到了吗? |
|
|
板凳#
发布于:2002-12-03 13:48
[quote
你的设备枚举是否已经成功了,如果成功用USBView可以看到一些信息,如PID和VID等信息,你看到了吗? [/quote] 我就是想知道如何才能使USBVIEW可以看到我的信息...怎么在程序中实现阿??我应该给它什么数据,如何给阿? |
|
地板#
发布于:2002-12-03 16:06
我大概的知道要送什么数据了.但是如何实现的那..是不是一上电上位机就向D12要求厂商信息什么的,然后D12就自动产生一个中断,我们就在单片机中断服务程序里把信息传过去啊????
如果是的话如何实现阿..我要把数据传到那里去啊,什么时候传啊?.. |
|
地下室#
发布于:2002-12-03 16:26
呵呵,你真走运,我正好这几天在做枚举这部分,并且已经成功了。下面告诉你我的过程:
根集线器检查到设备连接后,激活主机USB总线驱动程序,USBD发出一系列的SETUP包。这过程中并不要用到你自己编的驱动,会由系统的总线驱动来自动处理,所以你要自己还没编主机那的驱动,也能调枚举过程。 主机的第一个命令要求得到设备描述符,此SETUP包为8个字节数据(80,06,00,01,00,00,40,00),其具体含义自己看资料。40表示返回数据长度最大为40H个字节。实际上,你只只返回一个包,即数组DEV_DESC[]中的前8个字节。用于说明设备的描述符的真实长度和设备的类型。 接着是设置设备地址处理事件,主机发送一个含有指定地址的数据包(00,05,02,00,00,00,00,00),设备需返回一个0数据包(这一步一定要做)。在主机只有一个USB设备的时候,这个地址一般会是2。设置地址事件处理结束后,设备进入地址状态,主机会在指定地址处访问设备。 主机再次发送得到设备描述符的数据包(80,06,00,01,00,00,12,00),与上次不同的是,要求的数据的长度是实际的数据长度。因为设备每次只能发送16字节,因此它会分两次(18字节)完成此要求。 接着主机要求得到设备的配置描述符(80,06,00,02,00,00,09,00),包中数据“09”指定设备发送9个字节,这正是设备配置描述符的长度。 接着主机要求得到设备的配置描述符、接口描述符和节点描述符(80,06,00,02,00,00,FF,00),由于不知道设备描述符的真实长度,因此它要求得到256个字节, 以上过程主机都是总线驱动层在处理,你用USBVIEW能看到你发出的东西,下面的一步(最后一步)就需要你的设备驱动来做了: 最后主机发送设置设备配置SETUP包(00,09,01,00,00,00,00,00),设备处理此事件,将允许所有节点进入工作状态。 如果D12固件没问题,则只收到: 1,get_descriptor;d12发送8字节的设备描述符信息 2.set_address; 3,get_descriptor;获取全部设备描述符 4,get_decriptor:9byte配置描述符 5,get_decriptor:整个配置描述符,包括interface,endpoit 6,找驱动程序->终止,d12灯灭 |
|
5楼#
发布于:2002-12-03 17:25
谢谢楼上的解答..不过不幸的是我现在在做的是固件,不是驱动.(不过驱动是下一步要做的..你的解答对我也很有用)
我现在就是不知道如何实现固件与上位机的联系.就是说固件怎么响应上位机给我的命令阿...我是用汇编编,c51看不太懂,所以那几个函数如何运作的不是很清楚...郁闷中 |
|
6楼#
发布于:2002-12-04 15:42
主机的第一个命令要求得到设备描述符,此SETUP包为8个字节数据(80,06,00,01,00,00,40,00),其具体含义自己看资料。 要看什么资料阿... |
|
7楼#
发布于:2002-12-04 16:10
[quote]主机的第一个命令要求得到设备描述符,此SETUP包为8个字节数据(80,06,00,01,00,00,40,00),其具体含义自己看资料。 要看什么资料阿... [/quote] 我知道了...就是USB协议阿..我找到那一章了..不过上面的问题还是没有解决...不吝赐教 |
|
8楼#
发布于:2002-12-05 16:01
http://www.jobs2me.com/forum/html_28602.html?1039075203
问题转移了..但还是没有解决 |
|