毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

USB通信程序设计 第4页

更新时间:2010-3-14:  来源:毕业论文
USB通信程序设计 第4页
图2.5 USB数据流过程
从逻辑上讲,USB数据的传输是通过管道进行的。USB系统软件通过缺省管道(与端点0相对应)管道设备,设备驱动程序通过其它的管道来管理设备的功能接口。实际的数据传输过程是这样的:设备驱动程序通过对USBD接口(USB driver interface)的调用发出输入输出请求(IRP, I/O Request Packet);USB驱动程序接到请求后,调用HCD接口(host controller driver interface),将IRP转化为USB的传输(transfer),一个IRP可以包含一个或多个USB传输;然后HCD将USB传输分解为总线操作(transaction),由主控制器以包(packet)的形式发出。需要注意的是:所有的数据传输都是由主机开始的,任何外设都无权开始一个传输。
IRP是由操作系统定义的,而USB传输与总线操作是USB规范定义的。为了进一步说明USB传输,这里引出帧(frame)的概念。
帧:USB总线将1ms定义为一帧,每帧以一个SOF包为开始,在这1ms里USB进行一系列的总线操作。引入帧的概念主要是为了支持与时间有关的总线操作。
为了满足不同外设和用户的要求,USB提供了四中传输方式:控制传输;同步传输;中断传输;批传输。它们在数据格式、传输方向、数据包容量限制、总线访问限制等方面有着各自不同的特征:
控制传输(Control Transfer)
1. 通常用于配置、命令、状态等情形;
2. 其中的设置操作(setup)和状态操作(status)的数据包具有USB定义的结构,因此控制传输只能通过消息管道进行;
3. 支持双向传输;
4. 对与高速设备,允许数据包最大容量为8,16,32或64字节,对于低速设备只有8字节一种选择;
5. 端点不能指定总线访问的频率和占用总线的时间,USB系统软件会做出限制;
6. 具有数据传输保证,在必要时可以重试。
同步传输(Isochronous Transfer)
1. 是一种周期的、连续的传输方式,通常用于与时间有密切关系的信息的传输;
2. 数据没有USB定义的结构(数据流管道);
3. 单向传输,如果一个外设需要双向传输,则必须使用另一个端点;
4. 只能用于高速设备,数据包的最大容量可以从0到1023个字节;
5. 具有带宽保证,并且保持数据传输的速率恒定(每个同步管道每帧传输一个数据包);
6. 没有数据重发机制,要求具有一定的容错性;
7. 与中断方式一起,占用总线的时间不得超过一帧的90%。
中断传输(Interrupt Transfer)
1. 用于非周期的、自然发生的、数据量很小的信息的传输,如键盘、鼠标等。
2. 数据没有USB定义的结构(数据流管道);
3. 只有输入这一种传输方式(即外设到主机);
4. 对于高速设备,允许数据包最大容量为小于或等于64字节,对于低速设备只能小于或等于8字节;
5. 具有最大服务周期保证,即在规定时间内保证有一次数据传输;
6. 与同步方式一起,占用总线的时间不得超过一帧的90%;
7. 具有数据传输保证,在不要时可以重试。
批传输(Bulk Transfer)
1. 用于大量的、对时间没有要求的数据传输;
2. 数据没有USB定义的结构(数据流管道);
3. 单向传输,如果一个外设需要双向传输,则必须使用另一个端点;
4. 只能用于高速设备,允许数据包最大容量为8,16,32或64字节;
5. 没有带宽的保证,只要有总线空闲,就允许传输数据(优先级小于控制传输);
6. 具有数据传输保证,在必要时可以重试,以保证数据的准确性。
 图2.6 USB数据传输
2.5 USB的端点
端点是USB中一个独特的概念,它是一个可以与USB Host交换数据的硬件单元。USB
Host与USB设备之间都是通过端点来传输数据的,端点是桥梁和纽带,不同的端点其传输数据的能力不同,适于不同的应用场合。
PDIUSBD12的端点适用于不同类型的设备,例如图像打印机、海量存储器和通信设备。
端点可通过Set Mode命令配置为4种不同的模式,分别为:
1. 模式0 Non-ISO 模式:非同步传输
2. 模式1 ISO-OUT 模式:同步输出传输
3. 模式2 ISO-IN 模式:同步输入传输
4. 模式3 ISO-IO 模式:同步输入输出传输
这几种模式下可得到的端点情况如下表2.1:
表2.1 端点模式
端点2(主端点)是进行吞吐大量数据的主要端点。主端点执行主机的特性以减轻传输大数据的任务,包括:
1. 双缓冲。允许USB与本地CPU之间的并行读写操作,增加了数据的吞吐量。缓冲区切换是自动处理的,导致了透明的缓冲区操作。
2. 支持DMA(直接存储器访问)操作,可以和对其他端点的正常I/O操作交进行。
3. DMA操作中的自动指针处理,在跨过缓冲区边界时不需要本地CPU的干预。
4. 可配置为同步传输或非同步(批量和中断)传输。

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

USB通信程序设计 第4页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©751com.cn 辣文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。