没有合适的资源?快使用搜索试试~ 我知道了~
首页VC编程实现与USB设备通信
上位机界面应用 VC++6.0 软件来编写,为了简单适用,在创建工程时采用对话框类型。 一个好的应用程序首先要有好的用户界面, 看起来赏心悦目,使用起来简单、 方便。显示界面上的各个元素需要和 USB 设备上的元件摆放位置相对应。把要完成的一系列功能的显示元素分成不同的模块来进行程序的编写,每一个模块分别完成一种功能,这样既方便检查程序,也方便在通信发生错误时的对错误进行分析。
资源详情
资源评论
资源推荐
1
第 1 章 绪论
1.1 USB 简介
USB 是由世界著名计算机和通信公司等共同推出的新一代接口标准,全
称为 Universal Serial Bus(通用串行总线)
[1]
,是一种快速、 灵活的总线接口。
它是为了解决日益增加的 PC 外设与有限的主板插槽和端口之间的矛盾而制
定的一种串行通信标准。 USB 应用十分广泛,并具有下述优点:
1、适用于多种外设,使它不需要为不同的外设准备不同的接口和协议;
2、Windows 能自动检测到 USB 设备的热插拔,并自动配置;
3、PC机上的接口线非常紧缺, 而 USB 设备并不需要用户设置端口故无
论从用户使用方便性,或从对资源的占用方面看, USB 都很优秀;
4、当接入一个 USB 设备时,全速 USB 接口可达 12Mbit/s。考虑到状态、
控制和出错信息,最大理论速度仍可达到 9.6Mbit/s,这是其他串行接口协议
所不能比拟的,且 USB 也支持 1.5Mbit/s 的低速传输。
5、USB 接口芯片价格低廉,这也大大促进 USB 设备的开发与应用。
在 USB 出现之前, 计算机典型接口有并行口、 串行口、鼠标口、键盘口、
显示器口,及各种卡式接口等,与这些接口对应的有各种不同的电缆,在传
输速度方面,这些接口都存在速度偏低的问题。在技术方面,这种设计容易
产生 I/O 冲突,中断不够用,以及对于每一种新的外设都必须设计新的接口
卡等缺点。当今的计算机外部设备,都在追求高速度和高通用性。 USB 接口
适应了这种要求,并以其速度快、使用方便、成本低等优点,迅速得到了众
多 PC 厂商和半导体厂商的大力支持,外设向 USB 过度成为必然趋势。
1.2 USB 驱动程序的意义
如果 PC 主机不知道如何与 USB 外设通信,那么这个 USB 外设一点用
处都没有,人机接口设备( HID )
[2]
类是 Windows 完全支持的 USB 设备类型
2
中的一种,应用程序可以使用操作系统内设置的驱动与 HID 通信,但与 HID
通信不像打开一个端口,设定几个参数,然后就可以读写数据那么简单,在
应用程序能与 HID 交换数据之前, 它先要找到设备, 获取有关它的报告信息。
为做到这些,应用程序必须通过访问通信 API 函数,使位于上层的应用程序
与位于下层的设备驱动程序进行数据交换。应用程序可以使用任何能访问
API 函数的程序语言,VC++是一种能访问 API 函数的功能强大的语言, 因此,
我们应用 Visual C++6.0 环境下编写与 USB 设备通信的 Windows 程序。
1.3 VC++软件的介绍
应用基于 MFC AppWizard 的应用程序。MFC ( Microsoft Foundation Class
Library ) 中的各种类结合起来构成了一个应用程序框架,它的目的就是在此
基础上来建立 Windows 下的应用程序,这是一种相对 SDK 来说更为简单的
方法。因为总体上, MFC 框架定义了应用程序的轮廓,并提供了用户接口的
标准实现方法,要做的就是通过预定义的接口把具体应用程序特有的东西填
入这个轮廓。 Microsoft Visual C++提供了相应的工具来完成这个工作:
AppWizard 可以用来生成初步的框架文件 (代码和资源等);资源编辑器用于
帮助直观地设计用户接口; ClassWizard用来协助添加代码到框架文件; 最后,
编译,则通过类库实现了应用程序特定的逻辑。
1.4 系统方案设计
上位机界面应用 VC++6.0 软件来编写,为了简单适用,在创建工程时采
用对话框类型。 一个好的应用程序首先要有好的用户界面, 看起来赏心悦目,
使用起来简单、 方便。显示界面上的各个元素需要和 USB 设备上的元件摆放
位置相对应。把要完成的一系列功能的显示元素分成不同的模块来进行程序
的编写,每一个模块分别完成一种功能,这样既方便检查程序,也方便在通
信发生错误时的对错误进行分析。
为了实现 PC 机对 USB 设备的识别,上位机端需要有一个 USB 设备的
3
驱动程序来识别和支持 USB 设备,否则 PC 机将无法识别 USB 设备。这里
选用 DriverStudio 软件来编写,它能生成一个简单的驱动程序的框架,根据
需要,可以在此基础上进行更深层的开发。
1.5 预期结果
通过上位机软件和驱动程序的编写实现以下功能:
1、完成上位机软件的编写,并可以在设备没有连接时显示连接错误。
2、完成驱动程序的编写,实现上位机能发现 USB 设备,并使上位机能
正确配置设备。同时在显示界面上显示出找到设备。
3、实现双向传输。在上位机软件中可以控制 USB 设备中的相应显示,
同时可以接收到 USB 设备传回的消息,并在显示界面上显示。达到一个 PC
机与 USB 设备信息的交互,完成通信。
4、利用 VC 编程实现对计算机底层硬件的操作, 培养在此方面工程开发
的能力。
4
第 2 章 USB 协议
2.1 USB 系统的使用分类及系统的描述
USB 设计的初衷是针对桌面电脑而不是应用于可移动的环境下的。软件
体系通过对各种主机控制器提供支持以保证将来对 USB 的扩充
[3]
。USB 是一
种电缆总线,支持在主机和各式各样的即插即用的外设之间进行数据传输。
由主机预定的标准的协议使各种设备分享 USB 带宽,当其它设备和主机在运
行时,总线允许添加、设置、使用以及拆除外设。
USB 系统的描述:
一个 USB 系统主要被定义为三个部分: USB 的互连、USB 的设备、USB
的主机。
USB 的互连是指 USB 设备与主机之间进行连接和通信的操作,主要包
括以下几方面:
(1)总线的拓扑结构: USB 设备与主机之间的各种连接方式;
(2)内部层次关系:根据性能叠置, USB 的任务被分配到系统的每一
个层次;
(3)数据流模式:描述了数据在系统中通过 USB 从产生方到使用方的
流动方式;
(4)USB 的调度: USB 提供了一个共享的连接。对可以使用的连接进
行了调度以支持同步数据传输,并且避免的优先级判别的开销。
USB 的设备如下所示:
(1)网络集线器,向 USB 提供了更多的连接点;
(2)功能器件:为系统提供具体功能,如 ISDN 的连接,数字的游戏杆
或扬声器。
USB 设备提供的 USB 标准接口的主要依据:
(1)对 USB 协议的运用;
5
(2)对标准 USB 操作的反馈,如设置和复位;
(3)标准性能的描述性信息;
USB 传输方式:
USB 总线属一种轮讯方式的总线, 主机控制端口初始化所有的数据传输。
每一总线执行动作最多传送三个数据包。按照传输前制定好的原则,在每次
传送开始时,主机控制器发送一个描述传输运作的种类、方向, USB 设备地
址和终端号的 USB 数据包,这个数据包通常称为标志包 (token packet)。USB
设备从解码后的数据包的适当位置取出属于自己的数据。数据传输方向不是
从主机到设备就是从设备到主机。在传输开始时,由标志包来标志数据的传
输方向,然后发送端开始发送包含信息的数据包或表明没有数据传送。接收
端也要相应发送一个握手的数据包表明是否传送成功。发送端和接收端之间
的 USB 数据传输,在主机和设备的端口之间, 可视为一个通道。存在两种类
型的通道:流和消息。流的数据不像消息的数据, 它没有 USB 所定义的结构,
而且通道与数据带宽、传送服务类型,端口特性(如方向和缓冲区大小)有
关。USB 中有一个特殊的通道 —— 缺省控制通道,它属于消息通道,当设备
一启动即存在, 从而为设备的设置、 查询状况和输入控制信息提供一个入口。
2.2 USB 物理接口的电器特性
2.2.1 USB 物理接口
USB 传送信号和电源是通过一种四线的电缆,两根线是用于发送信号。
存在两种数据传输率:
图 2.1 USB 物理接口
剩余49页未读,继续阅读
bonorobot
- 粉丝: 1
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
- SPC统计方法基础知识.pptx
- MW全能培训汽轮机调节保安系统PPT教学课件.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0