IEEE 1394协议及接口设计 - 中国高校教材图书网
|
书名: |
IEEE 1394协议及接口设计
|
ISBN: | 7-5606-1311-X |
条码: | |
作者: |
张大朴
相关图书
|
装订: | 平装 |
印次: | 1-1 |
开本: | 16开 |
定价: |
¥45.00
折扣价:¥42.75
折扣:0.95
节省了2.25元
|
字数: |
707千字
|
出版社: |
西安电子科技大学出版社 |
页数: |
|
发行编号: | 158200 |
每包册数: |
|
出版日期: |
2004-01-01 |
|
内容简介: |
本书在对 IEEE 1394体系结构及协议进行分析的基础上,通过对几种有代表性的控制芯片功能的描述,从理论与实际应用相结合的角度出发,详细介绍了1394硬件接口及软件驱动程序的设计方法。注重实用性是本书的特点之一,作者总结了开发过程中的经验,尽量详细地介绍了实际过程中可能遇到的问题,以达到使读者可以更快地设计出自己产品的目的。本书共分为三部分,分别从协议、芯片及其硬件设计和驱动软件设计三方面对IEEE 1394 接口的开发进行了阐述。 本书适合所有关心IEEE 1394开发的软件或硬件工程师使用,也可满足大专院校电子专业和计算机专业师生及广大电子技术爱好者学习1394技术的需要。
|
作者简介: |
|
章节目录: |
第1章 IEEE 1394概述 1
1.1 IEEE 1394总线的出现 1
1.2 什么是IEEE 1394 2
1.3 采用1394的原因 2
1.4 IEEE 1394与其他总线的比较 3
1.4.1 与同类总线USB的比较 3
1.4.2 IEEE 1394与并行总线的比较 4
1.4.3 IEEE 1394与其他接口速度的比较 4
1.5 IEEE 1394的主要特点 4
1.6 IEEE 1394的应用 5
第2章 1394体系结构概述 7
2.1 IEEE 1394的拓扑结构 7
2.1.1 节点和模块体系 7
2.1.2 拓扑结构 8
2.1.3 寻址 9
2.2 协议结构 10
2.2.1 事务层 11
2.2.2 链路层 12
2.2.3 物理层 17
2.2.4 总线管理 18
第3章 通信模型及服务 19
3.1 异步传输模型和服务 19
3.1.1 请求子事务 20
3.1.2 响应子事务 23
3.2 等时传输模型和服务 26
3.2.1 等时传输的建立和保持 27
3.2.2 等时传输服务 28
3.3 锁定事务 30
3.3.1 锁定事务的模型 30
3.3.2 锁定操作提供的服务 31
第4章 物理及电气接口 32
4.1 连接器 32
4.2 线缆 35
4.2.1 线缆的信号 35
4.2.2 线缆的电气特征 35
4.2.3 线缆的物理结构 36
4.2.4 扩充槽(device bay) 36
4.3 电气参数和接口 38
4.3.1 信号幅度 39
4.3.2 共模电压 40
4.3.3 噪声 40
4.3.4 设备连接和拆卸的检测 41
4.3.5 速度信号的检测 41
4.3.6 仲裁信号 43
4.4 线缆电源和地 47
第5章 IEEE 1394的数据包 49
5.1 主数据包 50
5.2 异步数据包 52
5.2.1 无数据的异步包 52
5.2.2 具有4字节数据的异步包 54
5.2.3 具有数据块的异步包 56
5.3 确认包 60
5.3.1 确认代码 61
5.3.2 确认校验 61
5.4 等时数据包 62
5.5 异步数据流包 63
5.6 主数据包中的字段 64
第6章 仲裁 69
6.1 概述 69
6.1.1 仲裁信号 69
6.1.2 自然优先级 71
6.2 异步仲裁 72
6.3 等时仲裁 73
6.4 公平仲裁 74
6.5 混合仲裁 75
6.6 1394a中关于仲裁的内容 75
6.6.1 确认加速仲裁 75
6.6.2 Fly-by连接 76
6.6.3 优先级仲裁 77
6.7 多速度数据包连接 78
6.8 一个仲裁的简单例子 78
6.9 小结 81
第7章 事务重传 82
7.1 概述 82
7.2 事务重传次数限制 83
7.3 数据包错误及其处理 84
7.4 单步重传协议 85
7.4.1 单步输入重传 85
7.4.2 单步输出重传 86
7.5 两步重传协议 87
7.5.1 两步输入重传 87
7.5.2 两步输出重传 92
第8章 总线配置 94
8.1 总线初始化 94
8.1.1 总线复位状态机 96
8.1.2 1394a对总线复位的一些改进 97
8.2 树标识过程 99
8.2.1 树标识的信号 99
8.2.2 树标识状态机 100
8.2.3 树标识进程 101
8.3 自标识过程 105
8.3.1 自标识的主要功能 106
8.3.2 自标识状态机 106
8.3.3 自标识进程 108
8.3.4 拓扑结构的分析 115
8.3.5 自标识数据包 117
8.4 线缆环境下的总线配置 120
8.4.1 总线中有总线管理器和等时资源管理器时总线的配置 121
8.4.2 仅有等时资源管理器时总线的配置 125
8.4.3 等时资源管理器和总线管理器为同一节点的情况 126
第9章 总线管理及其服务 127
9.1 概述 127
9.2 网络中节点的几种功能 128
9.3 循环控制器 130
9.4 等时资源管理器 131
9.4.1 等时资源管理器的确定 131
9.4.2 等时资源管理器的使用 132
9.5 总线管理器 135
9.5.1 总线管理器的确定 135
9.5.2 拓扑结构图 136
9.5.3 间隔计数 137
9.5.4 速度图 139
9.6 串行总线管理服务 139
9.6.1 串行总线控制请求 139
9.6.2 串行总线控制确认 141
9.6.3 串行总线事件指示 142
9.7 串行总线管理变量 144
9.8 总线管理状态机 145
9.8.1 循环控制器状态机 145
9.8.2 等时资源管理器状态机 146
9.8.3 总线管理器状态机 148
第10章 物理层和链路层接口 150
10.1 概述 150
10.2 接口之间的操作 152
10.2.1 请求操作 153
10.2.2 状态操作 156
10.2.3 传输操作 157
10.2.4 接收操作 158
10.3 初始化和复位 159
10.4 链路层开启和中断指示 162
10.5 加速仲裁控制 162
第11章 CSR寄存器 164
11.1 CSR核心寄存器 164
11.2 依赖于串行总线的寄存器 170
11.3 单元寄存器 179
11.4 复位对CSR寄存器的影响 182
第12章 配置ROM 183
12.1 概述 183
12.2 配置ROM的一般格式 184
12.3 循环冗余校验码(CRC) 192
12.3.1 算法原理 192
12.3.2 算法分析 193
12.3.3 程序实现 193
12.4 配置ROM的例子 194
12.4.1 实例一 195
12.4.2 实例二 196
12.4.3 标识符的确定 200
第13章 挂起和恢复 201
13.1 概述 201
13.2 端口挂起操作 201
13.2.1 端口的挂起 201
13.2.2 挂起的连接 203
13.2.3 挂起域 204
13.3 恢复操作 204
13.3.1 端口的恢复 204
13.3.2 边界节点 206
13.4 挂起和恢复的例子 207
第14章 电源管理 209
14.1 概述 209
14.2 线缆电源分配 211
14.2.1 电源提供者 212
14.2.2 电源消耗者 214
14.2.3 自身提供电源者 214
14.2.4 注意事项及示例 214
14.2.5 小结 216
14.3 电源状态管理 217
14.4 新增加的CSR 219
14.5 新增加的配置ROM项 224
14.5.1 节点电源目录配置项 224
14.5.2 元件电源级别配置项 226
第15章 物理层寄存器 227
15.1 1394-1995物理层寄存器 227
15.2 1394a物理层寄存器 229
15.3 附加寄存器 232
15.3.1 端口状态寄存器页 232
15.3.2 生产商标识寄存器页 234
15.3.3 与生产商有关的信息页 235
第16章 物理层数据包 236
16.1 物理层数据包格式 236
16.1.1 自标识数据包 237
16.1.2 开启链路包 237
16.1.3 物理层配置包 238
16.2 扩展物理层数据包 239
16.2.1 试通包 239
16.2.2 远程存取包 240
16.2.3 远程应答包 241
16.2.4 远程命令包 241
16.2.5 远程确认包 242
16.2.6 恢复包 243
第17章 物理层控制芯片 245
17.1 概述 245
17.2 芯片管脚的功能 249
17.3 内部寄存器配置 251
17.3.1 基本寄存器 251
17.3.2 扩展寄存器 253
17.4 使用时注意的问题 257
17.5 TSB12LV01B与TSB41LV04A的接口 261
17.5.1 概述 261
17.5.2 接口之间的互操作 262
17.5.3 接口的复位和禁止 271
17.6 物理层芯片用作转发器 274
第18章 链路层控制器 278
18.1 概述 278
18.2 结构单元 282
18.3 内部寄存器 284
18.4 FIFO的存取访问 295
18.4.1 概述 295
18.4.2 ATF的存取 296
18.4.3 ITF的存取 297
18.4.4 通用接收FIFO(GRF)的存取 299
18.4.5 RAM测试模式 301
18.5 数据包格式 302
18.5.1 异步发送包(数据由主机发往芯片) 302
18.5.2 接收包(数据由芯片发往主机) 307
18.5.3 等时数据包 311
18.5.4 其他类型的数据包 313
18.6 批量数据接口(某些芯片的功能) 315
18.6.1 BDIF的结构 315
18.6.2 BDIF控制寄存器的配置 317
18.6.3 BDIF的工作模式 319
第19章 芯片的布局和布线 323
19.1 概述 323
19.2 布局的规则 323
第20章 1394 OHCI简介 330
20.1 概述 330
20.2 硬件描述 331
20.3 软件接口概述 335
20.4 1394 OHCI节点偏移址映像图 336
20.5 系统需求 337
20.6 物理请求 338
第21章 1394总线的测试 340
21.1 简介 340
21.2 配置环境的设置 340
21.3 循环开始 341
21.4 总线复位 342
21.5 树标识 343
21.6 自标识 344
21.7 数据传输 346
第22章 Windows WDM驱动程序模型 348
22.1 驱动程序概述 348
22.2 操作系统概述 351
22.3 WDM驱动程序的基本结构 353
22.3.1 驱动程序中的对象 353
22.3.2 I/O缓冲策略 358
22.3.3 WDM的层次化体系结构 360
22.3.4 IRP 364
22.3.5 WDM驱动程序的结构和基本例程 369
22.3.6 WDM驱动程序的安装 374
第23章 利用Windows 2000 DDK开发1394设备驱动程序 378
23.1 Windows对IEEE 1394的支持 378
23.1.1 1394的硬件资源 378
23.1.2 IEEE 1394驱动程序栈 378
23.1.3 IEEE 1394总线支持的内部IOCTL 379
23.1.4 IEEE 1394设备的异步传输 382
23.1.5 IEEE 1394设备的等时传输 388
23.2 设备驱动程序的例程 392
23.2.1 初始入口点 392
23.2.2 AddDevice例程 393
23.2.3 即插即用(PnP)的实现 399
23.2.4 电源管理 404
23.2.5 分发例程 408
23.3 Windows 2000 DDK 411
23.3.1 DDK简介 411
23.3.2 内存管理 412
23.4 客户应用程序的设计 414
23.4.1 枚举设备接口 414
23.4.2 客户应用程序与1394设备之间的通信 416
第24章 利用DriverWorks开发1394设备驱动程序 418
24.1 DriverWorks介绍 418
24.1.1 DriverStudio简介 418
24.1.2 DriverWorks特点 418
24.1.3 DriverStudio的安装与配置 419
24.2 DriverWorks提供的类 420
24.2.1 WDM驱动类 420
24.2.2 IEEE 1394类 422
24.3 DriverWorks的使用 424
24.4 DriverWorks驱动开发策略 432
24.4.1 PDO和FDO 432
24.4.2 设备接口 433
24.4.3 即插即用 434
24.4.4 电源管理 435
24.4.5 异步传输 436
24.4.6 等时传输 438
24.4.7 WMI例程 440
附录 442
附录A 电缆接口时常数 442
附录B 链路层芯片与DSP芯片接口实例 446
B.1 功能描述 446
B.2 一般读/写功能描述 448
B.3 TMS 320AV7100微处理器接口的时序要求 450
B.4 TMS320AV7100握手模式 451
B.5 TMS320AV7100盲访问模式 454
附录C 有关1394的一些问题 457
附录D 名词解释 460
参考文献 465
|
精彩片段: |
|
书 评: |
随着微机技术的发展,对总线带宽的要求越来越高。同时,出于对标准化的需要,还采用了标准接口技术,其目的是为了便于模块结构设计,可以得到厂商的广泛支持,便于生产与之兼容的外部设备和软件。IEEE 1394正是在这种情况下应运而生。可是为什么作为一个串行总线标准,IEEE 1394会受到如此的青睐呢?
首先,IEEE 1394总线是一种比并行总线便宜的设计。也许有人会认为像IDE或PCI这样的并行总线似乎更加可取,因为更多的导线将提供更大的带宽。其实,并行端口非常复杂,相对于串行总线来说需要更多的软件控制,而且系统开销也很大,因此,并行接口不一定能够提供更快的传输速度。此外,价格也是一方面的因素,更多的控制软件和连接导线都会增加技术实现的成本,而且并行导线容易产生信号干扰,解决这一问题同样也需要增加费用。
相对于并行总线,串行总线的另外一个优势就是节省空间,串联线体积更小,使用更加方便。此外,IEEE 1394的高速性也是其日益受到重视的原因之一,这是一般的串行总线所不能比拟的。作为一种数据传输的开放式技术标准,IEEE 1394应用在众多的领域中。目前来说,IEEE 1394技术使用最广的还是数字成像领域,支持的产品包括数字相机或摄像机等。然而IEEE 1394的潜在市场远非这些,无论是在计算机外设还是网络互联等方面都有其广阔的应用前景。
通过学习本书,你将对IEEE 1394的历史及现状有一个透彻的了解,对于想了解新技术的朋友来说是非常实用的。
本书是作者在实践的基础上完成的,所以本书可以对 IEEE 1394协议规范进行深入浅出的阐述。同时,在此基础之上,也能针对实际开发过程中遇到的一些问题结合实例来说明其解决办法,所以对于从事具体的电路设计人员以及计算机软、硬件工程师来说,本书也是一本非常好的参考手册。
此外,本书还可作为大中专院校有关专业学习“微机接口技术”的参考书目来使用。
你能从本书中学到什么
本书的目的就是使读者能够很快地进入到1394总线的设计工作中去,提供的都是和实际动手设计有关的内容,并结合了驱动程序的设计,使你能很快地开始并完成你的设计,所需时间至少应该比我们在开始学习1394总线时的摸索时间加上走弯路所花费的时间少得多。
本书的组织结构
本书共分为三大部分。
第一部分介绍了IEEE 1394的体系结构,并对协议规范进行了详细的描述,其中笔者认为比较难懂的地方,加入了一些实例,使读者可以更加直观地了解IEEE 1394协议。
此部分共分为14章 。第1章介绍了IEEE 1394的历史和现状,及其与USB总线相比的优缺点,并讨论了IEEE 1394的应用。第2章描述了1394的基本特征,同时总结了1394需要遵守的几个标准。第3章介绍了1394的两种重要事务——异步事务和等时事务的功能及其模型。
第4章着重说明了1394的物理接口(包括线缆和连接器)和它的信号环境。第5章分析了1394各种数据包的结构和格式,对不同事务的数据包进行了对比。第6章介绍了1394总线的各种仲裁类型,说明了各事务仲裁的实现过程。第7章的主题是事务的重传,对接收方不能立即对请求作出响应或在数据包的传递过程中出现错误的情况作了详细的分析。第8章的重点放在对加电后总线上先后出现的几个过程——总线复位、树标识、自标识的分析上。第9章主要介绍总线的管理活动,并对等时资源管理器和总线管理器的功能进行了详细的说明。第10章对物理层和链路层芯片之间的接口从时序及规范上作了说明,解决了同一节点上分离式1394控制芯片的通信问题。第11章介绍了CSR寄存器结构。第12章的内容以配置ROM的内容为核心,并结合实例介绍了ROM的配置过程。第13章和第14章对1394a协议中新增加或改进比较大的挂起/恢复和电源管理环境部分作了一定的描述,因为该部分的协议内容还在不断完善中,所以对这两章我们尽量从宏观的角度进行说明。
第二部分通过对TI公司的通用物理层芯片TSB41LV04A和链路层芯片TSB12LV01B的分析,详细介绍了芯片的使用方法及电路设计时需要注意的问题。
第15章和第16章分析了物理层寄存器和物理层数据包的结构,之所以没有将它们放在协议部分描述,是因为这两部分实践性比较强。
第17章主要介绍了物理层芯片TSB41LV04A的结构、特性及其使用时需要注意的问题,并从实际出发分析了它与一般链路层芯片的接口,同时还介绍了只有物理层芯片,而没有链路层芯片时节点作为转发器的使用。
第18章介绍了链路层芯片TSB12LV01B的结构和使用方法。第19章从实际出发,针对1394速度比较快的特点,说明了布线过程中需要注意的一些方面,对于硬件设计人员来说,先看这一章对设计工作会有很大帮助。
第20章的重点放在OHCI(开放式主机控制接口)方面,对其作了大致的描述,说明了主机端控制芯片设计需要注意的一些方面。第21章则对1394总线上信号的测试提出了一些看法,介绍了通过示波器观察波形的方法,在设备的调试过程中参照本章将会事半功倍。
第三部分介绍了1394驱动程序的设计方法。
第22章介绍了Windows WDM驱动程序模型,使读者对WDM模型有一个总体上的把握。第23章介绍了用Windows 2000 DDK开发基于WDM的1394设备驱动程序的方法。第24章介绍了用DriverWorks开发基于WDM的1394设备驱动程序的方法。
|
其 它: |
|
|
|