BF:嵌入式高速串行总线技术-基于FPGA实现与应用 张峰 电子工业出版社 9787121

BF:嵌入式高速串行总线技术-基于FPGA实现与应用 张峰 电子工业出版社 9787121 pdf epub mobi txt 电子书 下载 2025

张峰 著
图书标签:
  • FPGA
  • 高速串行总线
  • 嵌入式系统
  • 通信技术
  • 电子工程
  • 张峰
  • 电子工业出版社
  • 9787121
  • 技术
  • 应用
想要找书就要到 新城书站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
店铺: 华裕京通图书专营店
出版社: 电子工业出版社
ISBN:9787121302794
商品编码:29355347794
包装:平装-胶订
出版时间:2016-11-01

具体描述

基本信息

书名:嵌入式高速串行总线技术-基于FPGA实现与应用

定价:68.00元

售价:54.4元

作者:张峰

出版社:电子工业出版社

出版日期:2016-11-01

ISBN:9787121302794

字数:

版次:1

装帧:平装-胶订

开本:16开

编辑推荐


内容提要


总线,早始于计算机领域,是指汇集在一起的多种功能的线路;后经深化并延伸,则是指计算机各模块及计算机之间的一种通信系统,涉及硬件(器件、线缆、电平)和软件(通信协议),其应用被引入嵌入式领域后,用于嵌入式系统的芯片级、板级、设备级的互连。本书主要涉及嵌入式系统中的高速串行总线技术,传输速率在Gbps量级。本书首先按时间的先后顺序梳理出计算机和嵌入式系统中常用的总线技术;然后介绍并基于FPGA实现了目前嵌入式系统中常用的高速串行总线技术,如Serdes、JESD204、SRIO、PCIE、Aurora、SATA总线,侧重于终端技术实现;后论述嵌入式系统中的常用总线架构,涉及CPCIE、VPX、FC、Infiniband总线架构技术,侧重于整机设计。

目录


目 录
第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/ISERDESE243
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公司及其FPGA67
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 Ether VS Others108
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

作者介绍


张峰,男,博士,高级工程师,从事通信领域10多年,对高速总线系统有深刻的理解,并且有丰富的科研和项目实践经验。

文摘


序言



《嵌入式系统设计与FPGA应用开发实战》 内容简介: 本书旨在为读者提供一个全面而深入的嵌入式系统设计与FPGA(现场可编程门阵列)应用开发实战指南。从基础理论到高级应用,从软件编程到硬件实现,本书循序渐进地引导读者掌握嵌入式系统开发的各个关键环节,并充分发挥FPGA在高性能、定制化硬件加速方面的独特优势。 第一部分:嵌入式系统基础与微控制器入门 本部分将首先介绍嵌入式系统的基本概念、架构和工作原理。我们将探讨嵌入式系统的定义、特点、典型应用领域,以及其与通用计算机系统的区别。随后,本书将重点介绍嵌入式系统的核心组成部分,包括微控制器(MCU)、存储器、输入/输出设备、传感器等。 为使读者能够快速上手,我们选择一款主流的嵌入式微控制器平台(例如,基于ARM Cortex-M系列或RISC-V架构的微控制器)作为学习的载体。我们将详细讲解该微控制器的硬件架构,包括CPU核心、总线结构、中断控制器、定时器、ADC(模数转换器)、DAC(数模转换器)以及各种通信接口(如UART, SPI, I2C)。 在软件方面,本书将引导读者掌握嵌入式C语言编程。我们将重点讲解嵌入式C语言的特点、与标准C语言的差异,以及在内存管理、位操作、中断处理等方面的编程技巧。通过大量的实例,读者将学会如何编写高效、可靠的嵌入式程序,实现对微控制器的基本控制。 此外,我们还将介绍嵌入式操作系统(RTOS)的基本概念和应用。读者将了解RTOS在多任务调度、资源管理、进程通信等方面的重要作用,并学习如何使用一个简化的RTOS(如FreeRTOS或RT-Thread)来构建更复杂的嵌入式应用,例如实时数据采集、控制系统等。 第二部分:FPGA原理、开发流程与Verilog/VHDL入门 本部分将深入介绍FPGA技术及其在嵌入式系统中的应用。我们将详细讲解FPGA的内部结构,包括查找表(LUT)、触发器、分布式RAM、DSP片断等可编程逻辑单元,以及它们如何构成灵活的硬件平台。读者将理解FPGA与ASIC(专用集成电路)的区别,以及FPGA在原型验证、小批量生产和定制化硬件加速方面的优势。 本书将详细介绍FPGA的完整开发流程,包括需求分析、逻辑设计、HDL(硬件描述语言)编写、仿真验证、综合、布局布线、时序分析以及比特流生成。我们将重点讲解两种主流的HDL语言:Verilog和VHDL。 在Verilog方面,我们将从最基础的语法开始,逐步讲解数据类型、运算符、模块实例化、端口连接、过程块(always, initial)、赋值语句(blocking, non-blocking)等。读者将学习如何使用Verilog描述组合逻辑和时序逻辑,例如加法器、寄存器、计数器、有限状态机(FSM)等。 在VHDL方面,我们将介绍其结构化、面向对象的特点,包括实体(entity)、架构(architecture)、端口(port)、信号(signal)、变量(variable)等概念。读者将学习如何使用VHDL实现与Verilog相对应的逻辑功能。 本书将强调仿真验证的重要性,并介绍业界常用的仿真工具(如ModelSim, VCS)。读者将学习如何编写testbench来驱动设计模块,观察其行为,并发现设计中的错误。 第三部分:FPGA在嵌入式系统中的高级应用与集成 本部分将聚焦于如何将FPGA技术与嵌入式系统有机结合,实现高性能和定制化的解决方案。我们将探讨FPGA在嵌入式系统中扮演的关键角色,例如: 硬件加速器: 讲解如何将计算密集型任务(如数字信号处理、图像处理、加密解密、机器学习推理)从CPU offload到FPGA上,从而大幅提升系统性能和效率。我们将通过具体的例子,例如使用FPGA实现FFT(快速傅立叶变换)或图像滤波算法。 定制化接口设计: 介绍如何利用FPGA实现各种复杂的、非标准化的通信接口,以满足特定设备或协议的需求。这可能包括高速数据采集接口、专用传感器接口、协议转换器等。 片上系统(SoC)设计: 讲解如何构建基于FPGA的片上系统,将CPU核(如ARM Cortex-A系列或Soft-core CPU)、外设控制器以及定制化的FPGA逻辑集成到同一个芯片上。我们将介绍Xilinx的Zynq系列或Intel的Arria/Stratix SoC系列等平台。 软核处理器与硬核处理器的结合: 探讨在FPGA上实现软核处理器(如MicroBlaze, Nios II)的优势与劣势,以及如何与ARM硬核处理器协同工作。 本书将详细介绍嵌入式FPGA开发中的关键技术和流程,包括: IP核(Intellectual Property Cores)的使用与设计: 介绍业界成熟的IP核,如PCIe控制器、DDR内存控制器、Ethernet MAC等,以及如何将其集成到FPGA设计中。同时,也将指导读者如何根据需求设计自己的IP核。 AXI(Advanced eXtensible Interface)总线协议: 深入讲解AMBA AXI协议,这是ARM提出的用于SoC内部互联的标准总线。我们将重点讲解AXI4、AXI4-Lite、AXI4-Stream等不同协议类型,以及如何在FPGA设计中使用AXI接口与软核/硬核处理器进行高效通信。 嵌入式Linux与FPGA的交互: 讲解如何在嵌入式Linux系统中驱动FPGA中的定制化硬件。我们将介绍Linux设备驱动程序(Device Driver)的设计思路,以及如何通过用户空间应用程序与FPGA进行数据交互。 系统集成与调试: 强调在复杂的嵌入式FPGA系统中进行系统集成的重要性。读者将学习如何进行跨硬件、跨软件的联合调试,利用逻辑分析仪、示波器等工具来定位和解决问题。 第四部分:项目实战与案例分析 为了巩固读者所学知识,本书将提供多个涵盖不同领域的项目实战。这些项目将引导读者从零开始,完整地设计、实现和验证一个嵌入式FPGA系统。项目示例可能包括: 高速数据采集与处理系统: 利用FPGA实现高速ADC接口,对传感器数据进行实时采集、滤波和初步分析,并将处理结果通过SPI/UART发送给嵌入式处理器。 定制化通信协议接口: 设计一个FPGA模块,实现某种特定的工业通信协议(如Modbus RTU),并将其集成到一个嵌入式系统中。 基于FPGA的图像处理单元: 开发一个FPGA模块,实现图像的预处理功能,如灰度化、二值化、边缘检测,并将其作为加速器为嵌入式Linux系统提供服务。 简单的嵌入式AI推理加速: 演示如何将一个预训练好的轻量级神经网络模型移植到FPGA上,实现简单的AI推理功能,例如目标检测或手势识别。 通过这些项目实战,读者将能够: 理解完整的开发流程: 从需求定义到最终产品,掌握嵌入式FPGA项目的全生命周期管理。 熟练运用工具链: 熟悉主流的FPGA开发软件(如Vivado, Quartus)和嵌入式开发环境。 掌握调试技巧: 学习如何有效地进行硬件和软件的联合调试,解决复杂的系统集成问题。 培养工程实践能力: 提升独立解决复杂嵌入式FPGA设计问题的能力。 总结: 本书以实战为导向,内容涵盖了从嵌入式系统基础到FPGA硬件设计、再到两者深度集成的各个方面。通过理论讲解、代码示例和丰富的项目实战,读者将能够全面掌握嵌入式系统设计与FPGA应用开发的各项技能,为开发高性能、高可靠性、高效率的嵌入式产品奠定坚实的基础。本书适合从事嵌入式系统开发、FPGA设计、物联网应用、人工智能硬件加速等领域的工程师、研究人员以及相关专业的学生阅读。

用户评价

评分

我个人认为这本书的价值不仅仅在于教授“如何做”,更在于引导我们思考“为什么这样设计”。它在多个关键的性能瓶颈处,都留下了作者的“独家见解”,这些见解往往基于大量的实际调试经验。比如,在处理跨时钟域信号同步时,书中提到的特定握手协议和FIFO设计技巧,避免了许多常见的亚稳态问题,这在我的项目中是反复验证过的有效方法。这本书没有回避工程实践中的“灰色地带”,而是坦诚地告诉读者,在资源有限或时序紧张的情况下,哪些优化是首选,哪些妥协是必要的。它培养的不仅是工程师的技能,更是那种严谨细致、追求极致性能的工程素养。读完后,我感觉自己对整个嵌入式硬件加速和高速数据通路的设计,有了一种更深层次的敬畏和掌控感。

评分

说实话,刚翻开这本书的时候,我还有点担心内容会过于陈旧或者脱离当前的业界主流,毕竟技术更新速度太快了。但是,这本书的视野非常开阔,它在讲解核心概念的同时,也适当地加入了对未来趋势的展望。比如,它在讨论串行接口的眼图分析时,不仅仅停留在传统的抖动测试上,还引入了更先进的去嵌流(De-emphasis)和均衡技术在FPGA中的实现细节。这让我意识到,仅仅停留在“能跑起来”是不够的,要达到“跑得好、跑得稳”,就必须深入到物理层面的优化。这本书的深度和广度完美结合,让即便是我们这些已经工作多年的技术人员,也能从中挖掘出新的知识点和改进空间。它更像是一本可以长期放在手边,时不时翻阅参考的“工具书”,而不是那种读完一遍就束之高阁的快餐读物。

评分

这本书的排版和图示质量也值得称赞。在这个信息爆炸的时代,一本技术书籍的阅读体验往往会被差劲的插图毁掉。但这本让我感到非常舒适,无论是电路图、时序图还是FPGA内部的逻辑结构图,都清晰锐利,标注明确。尤其是那些剖析高速信号传输路径的示意图,那些层层叠叠的损耗和反射,通过精美的图示变得直观易懂。这极大地减轻了阅读理解的负担,很多复杂的概念,如果只靠文字描述,我可能需要花几倍的时间去消化,但配合图示,瞬间就“脑补”出来了。我特别喜欢它对各个IP核内部架构的剖析,那种模块化的展示方式,让复杂的ASIC/FPGA设计变得有迹可循,极大地降低了对黑盒IP的依赖,真正培养了读者的自主设计能力。

评分

天呐,最近入手了一本关于嵌入式系统和高速串行总线技术的书,简直是打开了新世界的大门!我之前对FPGA的理解还停留在比较基础的逻辑电路层面,这本书深入浅出地把高速串行通信的原理和FPGA实现结合起来,讲得非常透彻。特别是关于信号完整性和阻抗匹配那几个章节,作者的讲解细致入微,甚至连PCB设计中的一些“坑”都一一指了出来,对于我们这些在实际项目里摸爬滚打的工程师来说,简直是救命稻草。我记得我以前在调试一个高速接口时,被时序问题折磨了好几个星期,如果早点看到这本书,可能早就迎刃而解了。它不仅仅是理论的堆砌,更充满了实战经验的总结,那种踏实的感觉,是看那些纯理论书籍给不了的。我尤其欣赏它在不同总线协议(比如PCIe、SATA这些)上的对比分析,让读者能清晰地知道在不同应用场景下该如何取舍和设计。

评分

这本书的结构设计简直是一绝,逻辑流畅得让人佩服。它并没有一开始就抛出复杂的代码和IP核,而是像一位耐心的老师傅,先带你回顾了数字信号处理的基础,然后才慢慢引入到FPGA的硬件描述语言层面。我最喜欢它引入仿真和验证的部分,作者强调了在硬件搭建之前,软件层面的充分验证是多么重要。那种“先搭骨架,再添血肉”的开发思路,一下子就把我带入了正轨。我发现自己以前的开发流程中,很多验证步骤都是缺失或者草草了事,导致后期返工率很高。这本书里详细介绍了如何利用高级仿真工具来模拟真实的物理环境,对于提升设计鲁棒性有着立竿见影的效果。读完后,我感觉自己的设计思维方式都发生了一次质的飞跃,不再是零敲碎打地解决问题,而是从系统工程的角度去规划整个高速链路。

相关图书

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有