基于USB双机通信
第6卷 第19期 2006年10月1671 1815(2006)19 3093 04
科 学 技 术 与 工 程
ScienceTechnologyandEngineering
l6 No.19 Oct.2006 Vo.
2006 Sc.iTech.Engng.
基于USB双机通信的设计与实现
朱泽民
(黄冈师范学院计算机科学与技术学院,黄冈438000)
摘要USB由于其速度快、支持热插拔、稳定性好、用户使用方便、支持即插即用等优点,现已成为PC机的标准总线接口。
介绍了一种利用USB总线接口来实现的双PC机互联的技术方案。关键词
USB 双机互联 AN2720SC
中图法分类号 TP334.7; 文献标识码
A
有许多方法能够实现PC的双机通信,常用的如移动存储设备拷贝、网卡互联、串口/并口线互联、红外线设备互联、无线网卡互联、蓝牙设备互联等。本文设计和实现了一种基于USB接口的双机直接通信方案。相对于其他方法而言,此方法具有速度高(USB1.1可达12Mb/s;USB2.0可达480Mb/s)、支持热插拔、稳定性好、用户使用方便、支持即插即用等优点。
实时。USB的传输速度包括低速、全速与高速。低速最快每秒可以传输1.5Mb的数据,全速最快每秒可以传输12Mb的数据,高速最快每秒可以传输480Mb的数据。
在USB通信系统中,主要由USB主机和USB设备构成,USB设备又可分为两大类:集线器和功能设备。USB主机是整个USB系统的大脑,负责完成主机和USB设备之间的物理数据传输。其主要功能有动态检测USB设备的连接和拆除,管理主机和USB设备之间的数据通信,给新接入的设备分配地址和配置参数,为连接的USB设备提供电源。集线器用来扩展接口,使系统连接更多的外设。USB设备指带有USB接口的外部设备。USB采用层次星型的总线拓扑结构
[1]
1 USB的特点及数据传输方式
USB(UniversalSerialBus,通用串行总线)是外围设备与计算机进行连接的新型接口,其最早是由Compaq、IBM等7家公司于1994年共同提出的,目的是简化外设的连接过程,使PC机接口的扩展变得更加容易。总的来说,USB具有即用、热插拔、接口体积小巧、节省系统资源、传输可靠、提供电源、良好的兼容性、共享式通信和低成本等优点,是计算机外设技术的重大变革,特别是USB2.0版本的发布,使USB越来越流行,目前它已经成为PC的标准接口。
USB的数据传输类型包括控制、中断、批量与
2006年5月22日收到
黄冈师范学院青年科研基金
(04CQ87)资助
第一作者简介:朱泽民(1978 ),男,湖北长阳人,黄冈师范学院讲师,工程师,武汉理工大学在读硕士,研究方向为计算机应用。
,主机控制器包括根集线
器,这是该拓扑的起点。
在新式的PC系统中,都有一个USB主机控制器和一个根集线器及其USB接口。USB主机控制器管理信道,将数据转换成在信道传输的格式进行传输。当采用USB接口实现双机通信时,如果直接利用USB线缆将两台PC连接起来,由于在USB系统两台主机不能彼此传送数据,除非经过一个外围设备。不过,有一个办法可以让两台PC使用它们的USB连接端口来通信,每一台PC可以连接到一个USB外围设备,两个外围设备可以透过分享缓冲区来彼此通信。CyPress的AN2720SC芯片设计就
基于USB双机通信
3094科 学 技 术 与 工 程6卷
USB连接控制器芯片AN2720SC来实现双机互联。之间的数据传送,从而使得一台计算机送出的USB数据通过AN2720SC能被另一台计算机接收,数据的传送可以双向同时进行;
(6)为两个SIE共用的晶体振荡电路PLL,频率为12MHz;
(7)一个IIC接口,用于连接存放VID(供应商ID),PID(产品ID)和DID(设备出厂编号)等信息的EEPROM。
2 AN2720SC的介绍
AN2720SC是一个单芯片,包含两个USB核心。每一个USB核心连接到一个USB收发器,以及一个共享的2KB缓冲区。CyPress提供驱动程序,让一台PC将另一台PC当成网络连接的PC。
AN2720SC是Cypress公司推出的单芯片USB到USB连接控制器,采用SQFP封装的民用芯片产品,利用该芯片只需加少量外围电路就可以实现双机通过USB接口通信。此外,AN2720SC在驱动程序的支持下,还可以实现USB网络、文件传输、打印共享等功能。
2.1 AN2720SC的内部结构
AN2720SC的内部结构框图如图1
所示。
2 AN2720SC的数据传送方式
USB系统中所有的配置和数据传输都是通过端点进行,AN2720SC的端点如图2
所示。
图1 AN2720内部结构框图
由图1可知,芯片包括:
(1)两个(3-5)V电压调节器,为芯片和连接到D+线上的上拉电阻提供标准电源,调节器的输入端连接到计算机USB接口的5V引脚;
(2)两个USB收发器,用于分别与两台计算机相连;
(3)两个相互独立的USB内核,每个USB内核由一个SIE(SerialInterfaceEngine,串行接口发生器)和一个能响应标准USB请求的智能模块组成,SIE用于编解码串行数据、错误检测、位填充以及其他信号级的处理;
(4)2K字节的共享存储缓冲区,两个SIE通过此缓冲区采用FIFO(FirstInFirstOu,t先进先出)的方式交换数据;
(5)一个控制逻辑功能块,用于控制两个SIE
图2 AN2720端点图
端点0是缺省控制端点。USB规范规定每个设备都必须有一个缺省的控制端点,用来配置设备、控制设备状态以及实现设备操作的其他方面。端点1是一个中断端点,用于与主机驱动程序通信。端点2和3用于实现USB块传输,其中端点2对应可以容纳15个64字节数据包的缓冲区,用于传送高带宽数据。端点3对应一个64字节数据包的缓冲区,为主机驱动程序提供高优先权通信通道。端点2和端点3的操作方式相似,只是数据缓冲区的
基于USB双机通信
19期朱泽民:基于USB双机通信的设计与实现3095
下面以端点2为例说明数据是如何在计算机间传送的。计算机A先向out2端点发送一个out令牌包,再发送数据包。USB内核将该数据包存储到缓冲区并发回确认包,计算机B向in2端点发送in令牌包,另一个USB内核将对应缓冲区的数据送出,计算机B接收数据发回确认包。如果计算机A发送out令牌包时缓冲区已经存有15个数据包,而计算机B没有发送in令牌包,则USB内核返回非确认包,AN2720包含一个接口,支持5种可选配置方式(方式0-4)。其中方式1,3和4为测试模式,由Cypress公司保留。方式0下,端点0配置为控制端点,端点2为块传输端点,其他端点不用。方式0支持非固定带宽,以保证AN2720总能通过USB总线枚举成功。方式2下,端点0配置为控制端点,端点1为中断端点,用于提供设备状态,端点2和端点3为块传输端点。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说医药卫生基于USB双机通信的设计与实现在线全文阅读。
相关推荐: