打印

请教一个USB开发的问题!!

[复制链接]
1546|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
TragicJun|  楼主 | 2007-5-5 20:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
以前从来没有研究过USB,现在需要搭建一个USB系统,大致是这样的:我们原来用凌阳的SPCE061A开发板做了个简单的物品管理器,现在想增加一个USB接口,目的是能从PC通过USB下载新的数据!听起来好象很简单,但是小弟从来没有接触过USB相关知识,最近看了很多介绍性的**,感觉有很多困难,我先说说我自己的理解,在软件方面:
    首先要在开发板这端编写固件,包括USB1.1协议的实现,对USB控制芯片的驱动 以及上层的应用;然后要在PC主机端编写USB设备驱动程序和实现数据下载功能应用程序。
    不知道我的认识对不对,但即使是正确,我感觉好象需要花费较长时间,硬件接口设计姑且不说,软件实现上,首先要熟悉USB协议,然后是USB控制芯片的控制命令;最困惑的是PC机USB驱动程序的开发,好象还要去学习WDM,然后是应用程序开发,整个过程似乎非常复杂。我想请问前辈们,如果想在比较短的时间内做成这样的系统有什么方法,即使是单纯去够买现成USB也需要自己开发特定的应用程序,如果不熟悉这整个协议与系统结构也是不行的,请教前辈们USB系统开发的正确步骤与开发方法!

相关帖子

沙发
平常人| | 2007-5-5 23:24 | 只看该作者

若不想自己开发PC端的驱动,只要你的数据量不大,可以考虑

首先,你的理解基本正确。

其次,若不想自己开发PC端的驱动,只要你的数据量不大(<100KB),可以考虑用HID;你可以向这方面看看。

但不管是自己写PC端的驱动还是用HID的驱动,你都要写PC端的应用程序。

使用特权

评论回复
板凳
TragicJun|  楼主 | 2007-5-5 23:59 | 只看该作者

恩,谢谢“平常人”大哥的回答

但是我还有疑问,请问你指的HID是什么啊?还有,不是网上有些什么USB万能驱动下载吗,那是不是对所有的USB设备都适用呢?

使用特权

评论回复
地板
平常人| | 2007-5-6 07:26 | 只看该作者

USB是有结构层次的,在USB的协议之上还定义了各种USB的类

不同的USB类适用于不同的传输类型,如:
HID=Human Interface Device,适用于鼠标、键盘、游戏棒等人机接口设备。
Mass Storage是大容量存储设备,常见的U盘、USB硬盘、USB光盘等。
Printer是打印设备。
CDC=Communications Device Class是通信设备,如Modem、以太网等。

这样分类是为了有效地区分不同的数据类型,达到高效传输的目的。

打个不十分恰当的比喻,USB通道好比铁轨,四种USB传输方式相当于不同速度的火车,分快车、慢车、客车、货车等;最基本的是空的车皮,可以装载任何货物,但为了有效地装卸,一般人们都不采取散货的运输方式,设计了各种不同的箱子包装不同类型的货物。USB的类相当于对于货箱的定义,最基本的USB传输相当于空的车皮;所谓USB万能驱动就相当于散货的运输方式,传输效率可想而知了。当然如果发货方和收获方对货物的装载方式有明确的约定,又不需要达到通用的目的,适用散货的方式倒是一种简便的途径。

使用特权

评论回复
5
平常人| | 2007-5-6 07:54 | 只看该作者

各种USB类的定义

请到usb.org查找不同类的定义:
http://www.usb.org/developers/devclass/

使用特权

评论回复
6
xujunchen| | 2007-5-6 09:57 | 只看该作者

用南京沁恒公司的CH372,配有驱动程序,不需要了解USB知识.

使用特权

评论回复
7
平常人| | 2007-5-6 10:06 | 只看该作者

嘿嘿,原来是个空车皮。。。。

使用特权

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

本版积分规则

13

主题

44

帖子

0

粉丝