嵌入式高速串行总线技术:基于FPGA实现与应用 epub pdf mobi txt 电子书 下载 2024
发表于2024-11-10
嵌入式高速串行总线技术:基于FPGA实现与应用 epub pdf mobi txt 电子书 下载 2024
总线,较早始于计算机领域,是指汇集在一起的多种功能的线路;后经深化并延伸,则是指计算机各模块及计算机之间的一种通信系统,涉及硬件(器件、线缆、电平)和软件(通信协议),其应用被引入嵌入式领域后,用于嵌入式系统的芯片级、板级、设备级的互连。本书主要涉及嵌入式系统中的高速串行总线技术,传输速率在Gbps量级。本书首先按时间的先后顺序梳理出计算机和嵌入式系统中常用的总线技术;然后介绍并基于FPGA实现了目前嵌入式系统中常用的高速串行总线技术,如Serdes、JESD204、SRIO、PCIE、Aurora、SATA总线,侧重于终端技术实现;*后论述嵌入式系统中的常用总线架构,涉及CPCIE、VPX、FC、Infiniband总线架构技术,侧重于整机设计。
张峰,男,博士,高级工程师,从事通信领域10多年,对高速总线系统有深刻的理解,并且有丰富的科研和项目实践经验。
第1篇 计算机和嵌入式系统中常用总线的发展历程及趋势
第1章 总线的发展历程及后续趋势 3
1.1 总线的出现及定义 3
1.2 PC总线的发展 5
1.2.1 ISA总线 6
1.2.2 PCI/PCI-X总线 7
1.2.3 PCIE总线 9
1.2.4 ATA/SATA――面向存储的高速总线 10
1.3 嵌入式系统总线的发展 12
1.3.1 嵌入式系统的出现 12
1.3.2 PC104总线――ISA总线的嵌入式系统应用 13
1.3.3 Compact PCI总线――PCI总线的嵌入式应用 15
1.3.4 Compact PCIE架构及其在嵌入式的应用 18
1.3.5 SRIO总线――嵌入式系统的多处理器间互连 19
1.3.6 JESD204总线――面向ADC、DAC的串行通信总线结构 21
1.3.7 FC标准――通道技术与网络技术的结合 22
1.3.8 VPX架构――嵌入式串行总线的集大成者 23
1.4 总线领域三次革命成因与效能分析 25
1.5 高速串行总线技术的优点及共同点分析 28
1.6 高速串行总线的后续发展方向 29
1.6.1 速率继续提升 30
1.6.2 采用多阶电平传输 30
1.6.3 激光通信可行性及其小型化考虑 31
1.6.4 延伸阅读――激光通信代替微波通信 32
1.7 参考文献 34
第2篇 嵌入式系统中常用的高速串行总线及其FPGA实现
第2章 基于SERDES的高速数据传输技术 39
2.1 SERDES技术简介 39
2.2 SERDES物理层――LVDS电平概述 40
2.3 基于FPGA的SERDES传输技术概述 42
2.3.1 FPGA对LVDS电平的支持 42
2.3.2 FPGA内部的并/串转换原语结构OSERDESE2/ISERDESE2 43
2.3.3 基于SERDES原语的传输速率分析 44
2.4 基于FPGA实现SERDES原语的高速数据传输 45
2.4.1 SERDES发送端设计――设置OSERDESE2相关参数 45
2.4.2 SERDES接收端设计――配置ISERDESE2的相关参数 54
2.4.3 实现SERDES通信功能 59
2.5 延伸阅读――FPGA时序优化以及自适应延时调整的SERDES传输技术 61
2.5.1 时钟位置优化――减少由时钟位置造成的延时 61
2.5.2 时序优化――OFFSET约束 63
2.5.3 时序优化――MAXSKEW约束 64
2.5.4 基于Idelay的延时调整技术 64
2.5.5 基于Idelay的自适应动态延时调整技术 66
2.6 小结 67
2.7 延伸阅读――后起之秀:Xilinx公司及其FPGA 67
2.8 参考文献 69
第3章 基于JESD204协议的ADC、DAC数据传输 71
3.1 JESD204协议概述 71
3.2 JESD204协议分析 74
3.2.1 JESD204物理层分析 74
3.2.2 帧填充 76
3.2.3 8B/10B编/解码 77
3.2.4 加/解扰码(Scrambling/De-Scrambling) 79
3.2.5 JESD204协议接收状态机分析 80
3.3 基于GTX实现JESD204协议 82
3.3.1 可行性分析――物理层规范兼容 83
3.3.2 物理层GTX结构分析 83
3.3.3 基于GTX的JESD204协议功能模块构建 88
3.3.4 JESD204协议若干技术点分析 99
3.4 小结 104
3.5 参考文献 104
第4章 基于SRIO总线的高速通信结构 105
4.1 SRIO总线――面向嵌入式系统互连 105
4.1.1 嵌入式总线与PC总线应用分道扬镳 105
4.1.2 SRIO技术针对嵌入式系统互连 107
4.1.3 SRIO VS PCIE VS Ethernet VS Others 108
4.2 SRIO协议分析 110
4.2.1 SRIO协议层次结构 110
4.2.2 SRIO物理层规范 111
4.2.3 数据包及操作类型 113
4.2.4 链路同步 115
4.2.5 链路编码 115
4.2.6 配置空间 117
4.3 基于SRIO总线的点对点通信功能实现 117
4.3.1 创建SRIO工程 118
4.3.2 SRIO工程结构分析 126
4.3.3 SRIO点对点通信的关键技术分析及实现 128
4.3.4 SRIO IP核点对点通信功能测试 130
4.4 基于SRIO总线的交换结构通信功能实现 131
4.4.1 基于SRIO总线的交换结构概述 131
4.4.2 SRIO交换芯片80HCPS1616简介 131
4.4.3 SRIO交换芯片80HCPS1616配置 133
4.4.4 80HCPS1616的I2C配置接口 137
4.4.5 Maintenance帧配置SRIO交换芯片 139
4.4.6 SRIO交换结构的通信性能测试 142
4.5 小结 144
4.6 延伸阅读――串行总线技术再提速,从信息不确定性说起 145
4.7 参考文献 146
第5章 基于PCIE总线的高速数据传输技术 149
5.1 PCIE总线概述 149
5.2 PCIE协议分析 151
5.2.1 PCIE 拓扑结构 151
5.2.2 PCIE分层结构 151
5.2.3 PCIE链路编码与扰码 153
5.2.4 PCIE 地址空间与事务类型 153
5.2.5 延伸阅读――PCIE总线链路同步 154
5.3 基于PCIE协议的点对点通信功能实现 157
5.3.1 FPGA内嵌PCIE硬核简介 157
5.3.2 建立PCIE点对点通信工程 158
5.3.3 PCIE IP核源代码分析 171
5.3.4 PCIE节点接收流程分析 173
5.3.5 PCIE节点发送流程分析 174
5.3.6 基于PCIE协议的点对点通信功能测试 175
5.4 小结 176
5.5 延伸阅读――再论马太效应:从PCIE代替AGP总线说起 177
5.6 参考文献 178
第6章 基于Aurora协议的高速传输技术 181
6.1 Aurora总线概述 181
6.2 Aurora总线协议分析 181
6.2.1 Aurora总线通信模型 181
6.2.2 Aurora物理层电气特性 182
6.2.3 Aurora数据帧结构 184
6.2.4 Aurora链路同步 185
6.3 基于Aurora总线的通信功能实现 188
6.3.1 建立Aurora总线测试工程 188
6.3.2 Aurora总线协议文件及接口分析 192
6.3.3 Aurora总线帧模式与流模式 194
6.3.4 Aurora总线通信性能分析及测试 196
6.4 小结 198
6.5 延伸阅读――Xilinx公司及其Aurora总线 198
6.6 参考文献 199
第7章 基于SATA总线的高速数据存储技术 201
7.1 多种高速数据存储方式涉及的总线形式 202
7.1.1 基于ATA总线标准的数据存储方式 202
7.1.2 基于SCSI总线标准的高速数据存储方式 203
7.1.3 基于SAS/SATA总线标准的高速数据存储方式 205
7.1.4 延伸阅读――基于Nand Flash阵列的高速数据存储方式 208
7.1.5 延伸阅读――基于eMMC及阵列的高速数据存储方式 209
7.1.6 多种存储实现方式的比较与分析 210
7.2 SATA协议分析 211
7.2.1 SATA的分层结构 211
7.2.2 SATA启动过程 212
7.2.3 SATA数据帧与编码 213
7.3 SATA协议IP核的FPGA实现 216
7.3.1 Virtex-5 FPGA GTX简介 216
7.3.2 SATA协议物理层实现 218
7.3.3 SATA协议的OOB通信 226
7.3.4 SATA协议的链路层及传输层关键技术分析 228
7.3.5 SATA协议的应用层实现分析 231
7.3.6 SATA 协议IP核测试 231
7.4 小结 232
7.5 延伸阅读――基于DNA的生物学存储技术 234
7.6 参考文献 236
第3篇 整机设计的嵌入式系统高速数据总线
第8章 CPCIE总线架构 239
8.1 CPCIE总线简介 239
8.2 CPCIE系统中功能模块分类 241
8.3 CPCIE系统连接关系与信号定义 242
8.3.1 连接器类型 242
8.3.2 系统板 245
8.3.3 外设板 248
8.3.4 交换板 249
8.4 CPCIE系统整机设计要素 251
8.4.1 功能模块标识 251
8.4.2 供电要求 252
8.4.3 时钟设计 253
8.5 小结 253
8.6 参考文献 254
第9章 VPX总线架构 255
9.1 VPX总线的起源 255
9.2 VPX协议族分析 257
9.3 VPX协议的典型应用 259
9.4 连接关系与信号定义 260
9.5 整机设计要素 265
9.5.1 模块防插错设计 265
9.5.2 电源设计 266
9.5.3 功能模块与背板信号映射关系 267
9.6 VPX架构与CPCIE架构的异同 270
9.7 小结 270
9.8 参考文献 270
第10章 FC总线技术的实现与应用 273
10.1 FC技术简介 273
10.1.1 FC技术的出现――从大数据、云及SAN存储说起 273
10.1.2 FC技术的优点 275
10.1.3 FC技术的发展路标 276
10.1.4 FC在机载航电系统中的应用 277
10.2 FC协议分析 277
10.2.1 拓扑结构 277
10.2.2 分层结构 278
10.2.3 协议组成 279
10.2.4 数据流程 281
10.2.5 数据帧结构与编码 281
10.2.6 分类服务 283
10.2.7 接口形式 286
10.3 FC协议通信实现分析 286
10.3.1 Xilinx公司IP核实现方案 286
10.3.2 FC专用ASIC芯片实现方案 288
10.4 小结 289
10.5 参考文献 289
第11章 Infiniband总线技术的实现与应用 291
11.1 Infiniband总线概述 291
11.2 Infiniband协议分析 293
11.2.1 分层结构 293
11.2.2 消息传输方式 294
11.2.3 链路编码与数据帧结构 295
11.3 Infiniband协议实现及应用 296
11.4 小结 297
11.5 参考文献 298
附录A 简写索引 299
附录B 插图目录 303
附录C 表格目录 309
附录D 本书创作过程中的随笔 313
致谢 320
自 序
人是什么单位,人生又如何衡量?
熊培云在《思想国》中讲,人是时间单位,因为我们在提到某人的时候,总是在人名后面跟上一个括号,并注明生卒年份,以示起止。
除了这个差值,还用什么衡量?
数学上,通常将时间看成一个维度,即以时间为坐标系的横轴,那纵轴呢?见仁见智,人的选择和作为应该是一个维度,人物传记是这样写的,什么时间做了什么事。
那号称知识分子的我们,若早已过了彷徨的年龄,其使命又当如何?
打破框架,探索未知。
打破框架,何其难也。文明得以发展,在于经验和知识的累积,而这种累积,多数又来源于各种权威的言传身教,就像父母告诫小朋友,冰激凌吃多会肚子痛一样,一一得到了验证,长此以往,框架得以形成,触碰不得。框架有利于知识的传授,也会束缚人的头脑,意大利的水手Amerigo Vespucci发现了一个大的岛屿,而权威《圣经》中竟然没有记载,就觉得不可思议,不可理喻。
而终有人会承认这种事实存在、证据确凿的未知,于是,框架终究会被打破,美洲America就此诞生。
所以人虽无往不在枷锁之中,却是生而自由的,知识分子在解决温饱问题后,可以思其力之所不及,忧其智之所不能,嫦娥奔月不也从神话变成了现实吗?
所以应心怀梦想,坚韧追寻,应王国维先生的“昨夜西风凋碧树,独上高楼,望尽天涯路”之境界,而社会的残酷、自扰、抵触、牵制、掣肘、诱惑终究共存,所以有隐忍、有退让,学胡适先生的“不降志、不屈身、不追赶时髦,也不回避危险”,虽有拘有束有碍,仍可自斟自饮自开怀。
人总是会老的,所谓百忧感其心,万事劳其形,渥然丹者为槁木,黟然黑者为星星,纵然头发稀少,两眼昏花,颈肩酸痛,双腿僵直,仍不觉辛苦,因为余心所善,不想了无意义。
本书的形成,历经波折,构思萌芽于2012年年底,苦于自身知识匮乏,算不上一份大餐,积累沉淀,到2014年年底渐觉内容充实,可一吐为快了,于是查阅典献,收集资料,匆忙恍惚间,2015年已过了大半,竟不能再迟疑。
总线技术是在多个项目实践中提取出来的,如高速存储、图像处理、信号处理、系统集成等,亲力躬行,才知深浅。本文中提到的各种总线,并不是3年之功,从2006年算起,已有10年。10年时间积累了这300多页内容,也不知是多还是少?2006年第一次接触PCI总线,2007年将PCI提升到了PCIX,2007年用会了SRIO总线,当时还是Virtex-2Pro盛行,现在已不见踪影,2008—2009年主要是SATA、SAS,2010年接触了PCIE/CPCIE,2011年闲暇时摸了Serdes技术,终于在2013年应用成熟,JESD204/Aurora也在这一年完成,2014年做了VPX架构的整机,2015年将SRIO的交换结构收入骰中。这也就是本书的主体内容,并在此基础上增加了对总线的发展历程、现状及后续趋势的描述与预测。而最后则是关于目前嵌入式系统中常用的其他串行总线(FC、Infiniband)了,作者并没有亲身实现,只是自行理解并资料汇编罢了。
当我们回首往事时,会发现很多激荡人心的故事,有的显焕一些,有的黯淡一些,当看到自己为发展而努力,为自由而奋斗,总是心底暖暖的。我们对于过去,固然可以看到无穷的光辉,对于将来,也必须抱着更大的期待。
努力吧,勤能补拙,不至虚度。
努力活吧,以时间的长度弥补智力的不足。
怀念过去,不畏将来,是为序。
张 峰
2016年9月于成都
前 言
总线概述及分类
总线,英文为“Bus”,Bus一词最初起源于拉丁文“omnibus”,意为“for all”,有三个含义:公共汽车、作家的作品合集、作为形容词意为综合性多功能的。最早始用于计算机领域,总线是指汇集在一起的多种功能的线路。后经深化和延伸,指计算机内各模块及计算机之间的一种通信系统,涉及硬件(器件、线缆)和软件(通信协议)。
IT行业以摩尔定律(Moore’s Law)在飞速发展,总线的性能也要与之适应并水涨船高。自从第一代计算机及总线问世以来,总线领域爆发了三次更新换代的革命:第一代总线以1984年IBM推出的PC/AT(Personal Computer/Advanced Technology)总线为蓝本,其速率最初不足1 Mbps,并最终形成了ISA(Industry Standard Architecture)标准,在1993年被PCI总线代替;PCI(Peripheral Component Interconnect Local Bus)总线是第二代总线的典型代表,2002年并行传输的PCI总线被串行传输的PCIE(PCI Express)总线代替;而目前PCIE 3.0版本的速率为8 Gbps,是最初的PC/AT总线的800倍,PCIE 4.0将支持16.0 Gbps,也即将问世。
在总线的发展过程中,有多种分类方式。
按传输速率分类:分为低速总线、高速总线。按业内规律,总线的传输时钟在66 MHz以下为低速总线,高于66 MHz为高速总线。
按连接类型分类:分为系统总线、外设总线、扩展总线等。
按适用范围分类:分为内部总线和外部总线。计算机机箱内的总线称为内部总线,如PCI;计算机机箱外的称为外部总线,如连接打印机的USB总线等。而有些总线内外都适用,如SATA为内部总线,而eSATA(external SATA)为外部总线。
按应用领域分类:有计算机系统应用总线、嵌入式系统应用总线等,PCI为计算机类总线,而CPCI(Compact PCI)则归为嵌入式系统类的应用总线。
按使用环境分类:分为航天、航空、车载、航载等总线,以满足不同的使用环境要求,如ARINC-429、ARINC-629、MIL-STD-1553B、CAN总线等。
按传输方式分类:分为并行总线和串行总线,并行总线通常采用1个时钟信号+多位并行数据信号的方式传输数据,如前面的ISA、PCI都为并行数据总线,在一个时钟周期内,传输多位数据;串行总线则将时钟嵌入到数据内,在一个时钟周期内传输1 bit数据,以串行比特流的方式实现数据通信。
本书关注的是嵌入式系统中的高速串行总线技术。
串行总线通信正当时
早期的总线多采用多位数据并行传输方式,通过提升并行数据位宽、数据运行频率,提升总线传输速率,如早期的PC/XT总线数据位宽是8 bit,运行频率为kHz级别,到1999年出现了PCIX总线,其数据位宽是64 bit,运行频率为133 MHz,总线的传输速率达到了1066 MBps。
<嵌入式高速串行总线技术:基于FPGA实现与应用 epub pdf mobi txt 电子书 下载 2024
嵌入式高速串行总线技术:基于FPGA实现与应用 下载 epub mobi pdf txt 电子书 2024嵌入式高速串行总线技术:基于FPGA实现与应用 mobi pdf epub txt 电子书 下载 2024
嵌入式高速串行总线技术:基于FPGA实现与应用 epub pdf mobi txt 电子书 下载宝贝不错,还会购买!
评分送货速度很快,购物很方便,好评
评分不错,从底层更加清晰的了解总线的实现。
评分内容很好,适合搞通信的拥有
评分讲的几种协议都是比较综合的 PCIE IP核有一个例子 讲的很详细 还不错
评分书是正版,字迹清晰,送货及时!
评分还不错,是我喜欢的类型。好好学习学习
评分正版的专业书籍,很有用的!
评分还可以吧,趁优惠买的。内容待看看再评。好好学习,天天进步!
嵌入式高速串行总线技术:基于FPGA实现与应用 epub pdf mobi txt 电子书 下载 2024