第9章 高速串行总线
2.传输特点 传输速率 数据传输方向性 流量控制 数据包最大长度 数据的健壮性
9.3 PC机的USB应用及开发
RAM 扩展 ROM 扩展 CPU
USB 主机 控制器
根集线器 扩展模块
应用软件
设备功能
USB 接口
其他外设 接口
客户端驱动 程序
非0端点
USB 接口 供电模块
USB 连线 USBD 0端点 软件
• 数据处理的顺序规则由USB 主机总控,它 不会将一个事务处理分到不同的帧中。 • 在事务处理中,包是按顺序传输的,如令牌 包总是在数据包的前面发送。 • 所有的令牌包都由USB 主机发出,设备不 发送令牌包。 • 设备端根据令牌决定自己是否发送数据,而 不能未经允许发送数据包。
9.2.4 数据传输模式 1.传输类型 批量(Bulk)传输 中断(Interrupt)传输 同步(Isochronous)传输 控制(Control)传送
2.包的类型 (1)令牌包(Token Packet) 起始令牌包(SOF) 输入令牌包(IN) 输出令牌包( OUT) 设置令牌包(SETUP)
同步字段 (8位) PID (8位)
7位设备地址 4位端点 11位序列帧号
CRC5 (5位)
EOP (2~3位)
(2)数据包 • USB 1.X规范支持DATA0、DATA1类数据 PID 。 • 在USB2.0规范中,新添加了DATA2的数据 PID 。 • 其中DATA0表示的数据包是数据传输中的第 1、3、5 等奇数包,而DATA1所表示的数据 包是数据传输中的第2、4、6 等偶数包。
③具有供电功能:标准的USB HUB可以直接 向连接在接口上的USB设备提供5V、 500mA电流电源。USB设备携带方便。 ④可以连接多个设备:一个主USB控制器可以 连接多个USB设备,最高可以通过级联扩展 连接至127个设备) 。 ⑤速度快:USB1.1标准的传输速率为12Mbps, 而USB2.0标准传输速率480Mbps。 完全向 下兼容。 新的USB3.0标准传输速率5Gbps。
协议层在逻辑上将设备分成了三层实体: • 总线接口:传送和接收数据信号,识别设备 的当前唯一地址 • 端点:设备端用于传输数据的接收点和发送 点,它的功能相当于其它总线设备的I/O端 口。 • 功能接口:由一组端点组成,用来完成特定 的功能。
9.2.2 数据格式 • 1.包的组成
同步字段 包标识字段 (SYNC) (PID) 数据 字段 校验字段 (CRC) 包结尾字段 (EOP)
9.5 .1 IEEE1394的主要特点如下: ①数字接口。 ②支持热插拔和即插即用。 ③速度快。IEEE1394标准定义了三种传输速 率:98.304 Mbps,196.608 Mbps, 392.216 Mbps。因为这三种速率分别在 100 Mbps,200 Mbps,400 Mbps附近, 所以标准中亦称之为S100,S200,S400。 这个速度完全可以用来传输未经压缩的动 态画面信号。而IEEE 1394.b标准正在研讨 支持800 Mbps和1600 Mbps的传输速率。
• USB只有主机才能担当主控端。USB主机一 般具有以下功能: ①检测USB设备的插拔动作(通过根集线器来 实现); ②管理USB主机与USB设备之间的控制流; ③管理USB主机与USB设备之间的数据流; ④收集USB主机的状态和USB设备的动作信息。
2.USB集线器 • 集线器采用一对多的方式连接外设,7位地 址,共128个,USB主机控制器必须保留一 个,还有127个地址可以连接USB设备。 • USB规范中,USB设备与USB集线器的连接点 被称作为端口(Port)。每个USB 集线器 将一个连接点转化成多个连接点。
数据正确的事务过程 数据包错误的事务过程 设备未准备好。 设备出错 。 实时传输的输入事务处理
(2) 输出事务处理(OUT) • 表示USB 主机向总线上的某个USB设备发 送一个数据包的过程 。 • 正确情况下,USB主机先发出令牌包,接着 发出数据包,对方设备接着会向USB主机返 回一个ACK握手包,表示此事务处理过程正 确结束。 • 对方设备没有准备好接收数据时,就会在握 手时相返回一个NAK 握手包,表示设备没 有准备好或设备正忙。 • 当发送的数据包出现错误时,指定的设备不 返回任何握手包,导致USB主机超时重传。
9.1 高速串行接口USB简介 9.1.1.USB接口的特点 • USB (Universal Serial Bus,通用串行总线) 接口,是1995年11月由Compaq IBM 等大 公司联合推出的。目前已是个人计算机上的 主要接口。它具有以下特点: ①可以热插拔 :通电的情况下可以直接连接 USB设备或卸载USB设备,做到即插即用。 ②标准统一 :USB接口采用标准的4针插头座, 它们分别是VBus(电源端)、D+(数据 +)、D-(数据-)、GND(地)。插头座分A系 列和B系列。
USB 集线器 3
USB 集线器 4 3层
USB 设备 3
USB 设备 4
USB 设备 5
4层
复合设备
• USB框架中包含的硬件有: ①USB主机、 ②USB集线器 ③USB设备 • USB框架中包含的软件有: ① USB主机控制器驱动程序 ② USB驱动程序 ③ USB设备驱动程序。
1.USB主机
设备测试 USB 主机 USB 设备
USB设备开发流程
9.4 USB2.0简介 • 1999年2月,Compaq、HP、Intel等7家厂 商联合制定了USB2.0规范。USB2.0将设备 之间的数据传输速度增加到了480Mb/s,保 证了向下兼容。 • USB2.0支持:低速传输(1.5Mb/s);全速传 输(12Mb/s);高速传输(480Mb/s)。 • 支持4种不同类型的数据传输方式:批量传 输、中断传输、同步传输、控制传输。 • USB2.0增加了新的令牌数据包,如PING数 据包。广泛应用于实时图像数据传输、高速 存储设备的数据通信方面。
9.5高速串行接口IEEE1394简介 1394卡的全称是IEEE1394 Interface Card (IEEE1394 High Performance Serial Bus Standard),它是IEEE标准化组织 1994年制定的一项具有视频数据传输速度的 串行接口标准。IEEE1394接口最初由苹果 公司开发,据说早期是为了取代并不普及的 SCSI接口而设计的,英文取名为FireWare, 也即后来中文大家称其为火线。
1 号 2 号 3 号
4 号 5 号
上行端口 接pc或上一级集线器
7 6 号 号
7 个下行端口
8口USB集线器
3.USB设备 • 通过总线与USB主机相连的称为USB设备 • 全速设备(12Mb/s) • 低速设备(1.52Mb/s) • 高速设备(480Mb/s ; USB 2.0)
USB设备
•总线接口 是最底层的物理实 体,是USB发送和接收数据的 接口。 •逻辑设备 处于中间层次,基 本上就是USB协议的主体。 •功能单元 提供不同USB设备 各自的特定功能
同步字段: 用于数据包位同步 包标识符(PID、Packet Identifier)字段: 令牌包(Token Packet) 数据包(Data Packet) 握手包(Handshake Packet) 特殊包(Special Packet,也称为专用包)。 数据字段:携带主机与设备之间要传递的信息; CRC字段:用来检测包中数据的错误,只存在于令 牌包和数据包中。 包结尾字段 :作为包的结束标志 。
功能 模块1 USB 设备 功能 模块n
HC驱动程序
USB SID模块
USB 收发器
USB 接口
主机硬件
USB接口 硬件
USB SIE 注: :USB 串行接口引擎
(A)硬件结构
(B)软件结构
PC机中的USB应用
设备需求分析
驱动程序需求
设备硬件需求
设备软软硬件集成
9.2 USB通信协议 9.2.1 通信模型
主机 物理设备
客户软件
USB应用
USB系统软件
USB逻辑设备
USB主机控制器
USB总线接口
USB通信逻辑上分三层: • 信号层:实现在USB设备和主机的物理连接 之间传输位信息流的信息。信号层传输的位 信息流称为包(Packet) • 协议层(逻辑层):实现在USB设备和USB 主机端的协议软件之间传输包字节流的信息。 协议层传输的包信息流称为事务处理 (Transaction) • 数据传输层:实现在USB主机端的客户端驱 动程序和设备端的功能接口之间传输有一定 意义的信息,这些信息在协议层被打包成包 格式。数据传输层传输的信息流称为传输 (Transfer)。
④接口设备对等(peer-to-peer)。不分 主从设备,都是主导者和服务者。其中有 足够的智能用于连接,不需附加控制功能。 不通过计算机而在两台摄像机之间可以直 接传输数据,也可以让多台计算机共享一 台摄像机。 USB分主从设备。从设备只能接受主设备的 控制,所以两台从设备是无法通信的。 ⑤物理体积小,制造成本低,易于安装。 ⑥非专利性。使用IEEE 1394串行总线不存 在专利问题。
同步字段
(8位)
PID
(8位)
数据 (0~1023字节)
CRC16
(16位)
EOP (2~3位)
(3)握手包 ACK(应答Acknowledge) NAK(无应答No Acknowledge) STALL(中止)。
同步字段 (8位)
PID (8位)
EOP (2~3位)
(4)特殊包 • 当包中的PID 类型为PRE时,是一种特殊包。 PRE称为前同步,目的是为了提醒USB集线 器要传输的下一个包是一个低速包。 • 前同步是为了让系统区分全速设备和低速设 备。前同步的包结构和握手包类似,但是没 有包结尾字段EOP。