特权同学图书《Altera FPGA伴你玩转USB3.0与LVDS》

所需积分/C币:14 2019-02-22 14:23:34 87.6MB PDF
122
收藏 收藏
举报

特权同学图书《Altera FPGA伴你玩转USB3.0与LVDS》扫描版。 编辑推荐 (1)《Altera FPGA伴你玩转USB3.0与LVDS》基于Altera Cyclone Ⅳ FPGA USB 3.0 LVDS的硬件开发平台,提供有丰富的例程讲解:从基础的FPGA入门实例到基于FPGA的UART、DDR3、USB 3.0、LVDS传输实例。(2)《Altera FPGA伴你玩转USB3.0与LVDS》提供一站式入门学习方案:板级设计、软件工具和相关驱动安装、丰富的例程讲解,让读者快速掌握FPGA各种片内资源的应用以及接口时序的设计。 内容简介 本书主要使用Altera公司的Cyclone Ⅳ FPGA器件(引出自带的LVDS接口)和Cypress公司的USB 3.0控制器芯片FX3,以及一些常见的DDR2存储器、UART电路、扩展接口等,由浅入深地引领读者从板级设计、软件工具、相关驱动安装、基础的FPGA实例以及基于FPGA的UART、DDR2、USB 3.0、LVDS传输实例入手,掌握FPGA各种片内资源的应用以及接口时序的设计。 本书基于特定的FPGA开发平台,既有足够的理论知识作支撑,也有丰富的例程进行实践学习,并且穿插着笔者多年FPGA学习和开发过程中的各种经验和技巧。对于希望基于FPGA实现LVDS和USB 3.0开发的工程师,本书所提供的很多实例是很好的参考原型,有助于实现快速系统原型的开发。 目  录 目录 Contents 第1章FPGA、USB与LVDS概述 1.1FPGA发展概述 1.2FPGA的优势 1.3FPGA应用领域 1.4FPGA开发流程 1.5USB接口概述 1.5.1USB发展史 1.5.2USB 3.0概述 1.6LVDS接口概述 第2章实验平台板级电路详解 2.1板级电路整体架构 2.2电源电路 2.3FPGA时钟与复位电路 2.3.1FPGA时钟晶振电路 2.3.2FPGA复位电路 2.4FPGA配置电路 2.5FPGA供电电路 2.6DDR2芯片电路 2.7UART芯片电路 2.8LVDS接口与液晶屏背光接口电路 2.8.1差分走线 2.8.2阻抗匹配 2.8.3LVDS和单端信号间的串扰 2.8.4电磁干扰 2.8.5LVDS线缆选型 2.8.6LVDS连接器定义 2.9USB 3.0控制器FX3电路 2.10扩展接口电路 2.11FPGA引脚定义 第3章软件安装与配置 3.1软件下载和许可证申请 3.2Quartus Ⅱ与ModelSimAltera的安装 3.3文本编辑器Notepad 安装 3.4QuartusⅡ中使用Notepad 的关联设置 3.5USBBlaster的驱动安装 3.5.1Windows XP系统的USBBlaster安装 3.5.2在Windows 7系统安装USBBlaster 3.5.3在Windows 8系统安装USBBlaster 3.6串口芯片驱动安装 3.6.1驱动安装 3.6.2设备识别 3.7USB 3.0控制器FX3的SDK安装 3.8USB 3.0控制器FX3的驱动安装 Altera FPGA伴你玩转USB 3.0与LVDS 第4章第一个例程与FPGA下载配置概述 4.1LED闪烁与PLL配置实例 4.1.1功能概述 4.1.2新建Quartus Ⅱ工程 4.1.3IP核配置——PLL 4.1.4引脚分配 4.1.5闲置引脚设置 4.1.6Verilog代码解析 4.2Altera FPGA配置方式概述 4.2.1AS配置方式 4.2.2PS配置方式 4.2.3JTAG配置方式 4.3基于JTAG的sof文件FPGA在线烧录 4.4基于JTAG的jic文件SPI Flash固化 第5章DDR2、UART以及Nios Ⅱ实例 5.1DDR2控制器集成与读/写测试 5.1.1功能概述 5.1.2IP核配置——片内RAM 5.1.3IP核配置——DDR2控制器 5.1.4DDR2引脚电平设置 5.1.5Verilog代码解析 5.1.6板级调试 5.2UART2USB的Loopback收发实例 5.2.1功能概述 5.2.2Verilog代码解析 5.2.3板级调试 5.3基于最小Nios Ⅱ系统的System ID打印实例 5.3.1Qsys系统概述 5.3.2Qsys工具基本使用 5.3.3Qsys组件添加与互连 5.3.4Qsys系统生成 5.3.5Quartus Ⅱ工程设计实现 5.3.6软件开发工具EDS 5.3.7System ID外设
前言 FPGA技术在当下各种电子设计应用中越来越火热,它的成本虽然还是高高在上,但是 给电子系统所带来的不可限量的速度和带宽,以及它在灵活性、小型性方面的优势,越来越 为各种对性能要求高、偏重定制化需求的开发者所青睐。而使用LVDS、USB接口进行高 速数据传输也是很多大数据采集应用的必备 因此,笔者结合实际工程项目的需求,为广大开发者量身打造了基于低成本、高性价比 的 Altera CycloneⅣFPGA器件+LVDS+USB3.0的硬件开发平台。基于这个平台,加 上本教材的实例讲解,相信可以帮助读者快速地掌握这个原型系统,甚至将其移植应用到具 体的项目或产品中。 全书共7章。 第1章阐释FPGA、LVDS和USB的一些基本概念和应用背景 第2章从FPGA开发平台的电路板设计入手,介绍FPGA板级硬件电路设计要点,以 及本书配套开发平台的周边外围电路的设计。 第3章讲述开发环境的搭建,包括 Altera fPga集成开发环境 QuartusⅡ、仿真工具 Modelsim、文本编辑器 Notepad十十、下载器驱动、UART驱动、USB3.0控制器芯片FX3 对应的SDK和驱动安装 第4章以一个最基本的FPGA实例引领读者掌握一个完整的FPGA开发流程,这也包 括了FPGA的下载配置和代码固化操作。 第5章既有开发平台板载的DDR2 SDRAM、UART外设的基础驱动实例,也包含如何 搭建一个软核处理器NIOSⅡ系统并运行嵌入式软件程序的实例 第6章集中在USB3.0控制器芯片FX3相关的实例上,既有单独FX3和PC的USB 3.0传输实例,也有FPGA+FX3和PC之间的USB3.0数据传输实例。 第7章讲解如何使用FPGA实现LVDS接口应用,包括LVDS液晶屏的驱动、LVDS 收发设计以及包含CRC校验的LVDS收发设计 本书配套例程请在清华大学出版社网站本书页面下载。 本书配套开发平台淘宝链接https://item.taobaocom/item.htm?spm=alz10.5-c s.w4002-1511330781.12. XApjMq8id=539571762506。 吴厚航(网名:特权同学) 2018年1月于上海 Foreword 冠录 第1章FPGA、USB与LVDS概述… .,垂.·...,,·,和·.··· 1FPGA发展概述 1.2FPGA的优势 1.3FPGA应用领域 11345 1.4FPGA开发流程 1.5USB接口概述……… 1.5.1USB发展史 1.5.2USB3.0概述 1.6LVDS接口概述…… 第2章实验平台板级电路详解 2.1板级电路整体架构 2.2电源电路 …12 2.3FPGA时钟与复位电路……………………………………………15 2.3.1FPGA时钟晶振电路 15 2.3.2FPGA复位电路 17 2.4FPGA配置电路 17 2.5FPGA供电电路 19 2.6DDR2芯片电路 20 2.7UART芯片电路………………………………………………………23 2.8LVDS接口与液晶屏背光接口电路… ……∴…∴…24 2.8.1差分走线 ………………………………25 2.8.2阻抗匹配…… 25 2.8.3LVDS和单端信号间的串扰……… 26 2.8.4电磁干扰… 26 2.8.5LVDS线缆选型… 单垂·垂 28 2.8.6LVDS连接器定义 ……………28 Contents ⅣA| tera fPga件你玩转USB3.0与LVDS 2.9USB3.0控制器FX3电路………………………………………………29 2.10扩展接口电路…… 34 2.11FPGA引脚定义 …………∴……………35 第3章软件安装与配置 39 3.1软件下载和许可证申请 39 3.2 Quartus与 Modelsin- Altera的安装……… 40 3.3文本编辑器 Notepad++安装… 41 3.4 QuartusⅡ中使用 Notepad++的关联设置…………45 3.5 USB-Blaster的驱动安装 ∴………47 3.5.1 Windows XP系统的USB- Blaster安装 47 3.5.2在 Windows7系统安装 USB-Blaster…………………………49 3.5.3在 Windows8系统安装 USB-Blaster………… 52 3.6串口芯片驱动安装 53 3.6.1驱动安装 53 3.6.2设备识别 54 3.7USB3.0控制器FX3的SDK安装 ……54 3.8USB3.0控制器FX3的驱动安装 59 第4章第一个例程与FPGA下载配置概述 62 4.1LED闪烁与PLL配置实例 62 4.1.1功能概述 ··, 62 4.1.2新建 QuartusⅡ工程 62 4.1.3IP核配置—PLL 67 4.1.4引脚分配 73 4.1.5闲置引脚设置 …………………………77 4.1.6 Verilog代码解析 78 4.2 Altera fpga配置方式概述 .·.·.....····.·· …………85 4.2.1AS配置方式 86 4.2.2PS配置方式 86 4.2.3JTAG配置方式 86 4.3基于JTAG的sof文件FPGA在线烧录 ······.:···. :··.::··.:.···.··· 87 4基于JTAG的jc文件 SPI Flash固化 0 第5章DDR2、UART以及NiosⅡ实例 94 5.1DDR2控制器集成与读/写测试 4 5.1.1功能概述 94 5.1.2TP核配置—片内RAM…… ∴……94 5.1.3PP核配置—DDR2控制器………………………………………100 目录 「V 5.1.4DDR2引脚电平设置 …………108 5.1.5 Verilog代码解析 111 5.1.6板级调试 122 5.2UART2USB的 Loopback收发实例… 123 5.2.1功能概述…………………123 5.2.2 Verilog代码解析… 124 5.2.3板级调试 132 5.3基于最小NiosⅡ系统的 System ID打印实例 134 5.3.1Qsys系统概述 ···.··.··:····.··:·····:··:··:····················.···· 134 5.3.2Qsys工具基本使用 134 5.3.3Qsys组件添加与互连 138 5.3.4Qsys系统生成 省,· 148 5.3.5 QuartusⅡ程设计实现 152 5.3.6软件开发工具EDS…… 153 5.3.7 System ID外设寄存器 …………………161 5.3.8板级调试 164 第6章USB3.0控制器FX3实例……………………167 6.1基于FX3内部DMA的USB传输 Loopback实例 ……167 6.1.1功能概述 …167 6.1.2固件编译与固化文件生成……………………………………………167 6.1.3硬件连接与设备识别 172 6.1.4FX3的 USB Boot加载 省着着指鲁·非·垂垂,垂垂 174 6.1.5板级调试 176 6.2FX3的 SPI Flash代码固化…… ……179 6.2.1启动设置 ∴…179 6.2.2 SPI Flash固化……………………………………………………………179 6.3基于FX3内部DMA的USB数据吞吐量测试 182 6.3.1硬件连接…………………………………………………182 6.3.2FX3的 USB Boot加载… 182 6.3.3FX3的基本 Streamer功能演示……… 184 6.4基于FX3的UVC传输协议实例…………………………………185 6.4.1硬件连接……………………………………………………………185 6.4.2FX3的 USB Boot加载 …185 6.4.3UVC设备识别………………………………………………………186 6.5FX3固件 SlaveFIFo配置修改说明… …………187 6.5.1功能概述 187 6.5.2GPIFⅡ Designer开启与工程加载………………………187 6.5.3GPIFⅡ接口配置与工程编译……… 188 Ⅵ Altera FPga伴你玩转USB3.0与LVDS 6.5.4IDE下固件工程加载……………………………………………189 6.5.5IDE下固件工程编译 193 6.6基于FPGA-FX3 SlaveFIFO接口的 Loopback实例……………………194 6.6.1功能概述 194 6.6.2固件下载 1,.,,.,,·,,·,,,,·,非非非非,,·非,,非,.非垂垂 194 6.6.3FPGA代码解析 195 6.6.4 SignalTapⅡ在线逻辑分析仪查看接口时序………………………197 6.7基于 FPGA-FX3 SlaveFIFO接口的 StreamOut实例 201 6.7.1功能概述……………………………………………………………………………201 6.7.2固件下载 201 6.7.3FPGA代码解析 …………………201 6.7.4 SignalTapⅡ在线逻辑分析仪查看接口时序… 203 6.7.5在 Streamer中査看数据吞吐量……………………………206 6.8基于FPGA-FX3 SlaveFIFO接口的 StreamIN实例 207 6.8.1功能概述 207 6.8.2固件下载 207 6.8.3FPGA代码解析 208 6.8.4 SignalTapⅡ在线逻辑分析仪查看接口时序………………………209 6.8.5 Streamer工具测试数据吞吐量 210 第7章LVDS收发传输实例 212 7.1LVDS液晶屏驱动实例 212 7.1.1功能概述 212 7.1.2IP核 ALTLVDS TX创建与配置…………………………………213 7.1.3IP核 ALTLVDS_TX功能与接口说明 217 7.1.4代码解析…………………………………………………218 7.1.5板级调试…… ∴221 7.2基于串口命令帧的LVDS液晶屏测试界面设计 222 7.2.1设计概述 222 7.2.2串口控制协议 223 7.2.3代码解析 224 7.2.4板级调试 230 7.3LVDS数据收发实例 231 7.3.1功能概述………………………………………………………231 7.3.2IP核 ALTLVDS TX创建与配置 232 7.3.3IP核 ALTLVDS RX创建与配置 236 7.3.4位对齐处理 章 239 5代码解析 240 7.3.6装配说明 246 目录 7.3.7板级调试…………………………………………………………246 7.4带CRC校验的LVDS数据收发实例……………………………248 7.4.1功能概述 …………………………248 4.2CRC校验基本原理……………………………………………249 7.4.3CRC8校验代码生成 250 7.4.4代码解析… 253 7.4.5装配说明 259 7.4.6板级调试………………………………………………………259 参考文献 262 FPGA、USB与LVDS概述 本章导读 本章从FPGA的一些基本概念入手,将ASIC、ASSP、ARM、DSP与FPGA同台比对 同时也论及FPGA开发语言及主要厂商;接着对FPGA技术在嵌入式应用中的优势和局 限性进行讨论;另外,我们也将论述FPGA的应用领域和开发流程;最后,对于USB3.0和 LVDS接口也会做一些基础的介绍。总而言之,本章不会给读者很高深的理论知识,力求以 浅显易懂的语言和描述让读者掌握本书随后章节将要接触到的FPGA、USB3.0和LVDS 技术。 1.1FPGA发展概述 20世纪60年代中期,TI公司设计制造了各式各样的实现基本逻辑门电路功能的芯 片,相信今天很多工程师仍然很熟悉这些主要面向军工应用的54XX和商业应用的74XX 芯片。据说,早期的工程师甚至能够单凭这些芯片架构出一个简单CPU的功能。还真别 小瞧这些基本逻辑门电路,如果说今天在嵌入式领域呼风唤雨功能强大的ARM7、ARM9、 DSP是万丈高楼,那么称这些基本的逻辑门电路为一砖一瓦倒是一点也不为过。 从1971年 Intel公司的第一个4位微处理器 Intel4004到20世纪80年代初被奉为经 典的8051单片机,再到今天各大嵌入式处理器厂商竞相使用的ARM公司推出的各种 Cortex内核,嵌入式处理器的发展不可不说是翻天覆地。如果深入处理器的底层结构,会 发现它们最本质的东西并没有太大的改变。而无论处理器再强大,一个芯片就可以将各种 外设嵌入其中,但对于任何一个已经批量出货的芯片而言,它的功能是固定的,若想在既有 外设功能的基础上有任何的扩展,可能不是遇到电气特性不支持的困难就是遇到I/O太少 的尴尬,而这些问题也就催生了可编程逻辑器件的诞生。今天的CPU周围已很难看见54 或74字样的ASIC了,取而代之的是引脚密集的CPLD或FPGA。在系统的可扩展性和灵 活性方面,FPGA和CPLD有着得天独厚的优势。当然,今天动辄上百万门的FPGA器件 可不是为干这点活而制造的,它更多地被应用到通信、数据采集、网络等对数据传输速率和 吞吐量有更高要求的场合。 2 Altera epga件你玩转USB30与LVDS 今天大家熟知的FPGA和CPLD也不是一开始就有的,第一款可编程逻辑器件(PLD) 是在1970年以PROM的形式进入人们视野的,这种PROM结构的可编程逻辑器件可以实 现简单的逻辑功能,很容易便可替代当时流行的54或74系列逻辑门电路。 受限于PROM的结构,第一款可编程逻辑器件输λ相对较少,因此可编程逻辑阵列 (PAL便应运而生,PAL由一个可编程的“与”平面和一个固定的“或”平面构成,或门的输 出可以通过触发器有选择地被置为寄存状态。PAL器件是现场可编程的,它的实现工艺有 反熔丝技术、 EPROM技术和 EEPROM技术。PAL的问题在于其实现方式使得信号通过 可编程连线的时间相对较长。在PAL的基础上,又发展了一种通用阵列逻辑GAL,它要比 PAL速度快许多,它采用 EEPROM工艺,实现了电可擦除和电可改写,其输出结构是可编 程的逻辑宏单元,因而它的设计具有很强的灵活性,至今仍有许多人使用。 这些早期PLD器件的一个共同特点是可以实现速度特性较好的逻辑功能,但其过于简 单的结构也使得它们只能实现规模较小的电路。电子领域的发展趋势总是朝着速度更快、 功能更强、体积更小、成本更廉价的方向迈进,复杂可编程逻辑器件(CPLD)的诞生也就顺 理成章了。 Altera公司于1984年发明了基于CMOS和 EPROM技术相结合的CPLD。 CPLD可实现的逻辑功能相比PAL和GAL有了大幅度的提升,已经可以胜任设计中复杂 度较高、速度较快的逻辑功能,尤其在接口转换、总线控制和扩展方面有着较多的应用。经 过几十年的发展,今天的CPLD功能和性能也得到了进一步的提升,其基本结构由可编程 I/O单元、基本逻辑单元、布线池以及其他相关辅助功能块组成。 Altera、 Xilinx和 Lattice 是主要的CPLD供应商。 其实,无论是前面提到的PAL、GAL或是CPLD,要实现大规模的复杂逻辑电路都显得 无能为力。而ASIC的设计耗时又费钱,功能又固定,在流片后很难随意更改。鉴于此, Xilinx创始人之一 Ross Freeman发明了现场可编程门阵列(FPGA)。FPGA是一块全部 由“开放式门”组成的计算机芯片,工程师采用该芯片可以根据需要进行灵活编程,添加各种 新功能,以满足不断发展的协议标准或规范,工程师们甚至可以在设计的最后阶段对它 进行修改和升级。 Freeman先生当时就推测低成本、高灵活性的FPGA将成为各种应用 中定制芯片的替代品,也正是由于此项伟大的发明, Freeman先生于2009年荣登美国发 明家名人堂。 伴随着制造工艺的不断进步,FPGA在深亚微米甚至深亚纳米时代一直走在了创新第 -线。如今的FPGA器件,其组成不仅限于基本的可编程I/O单元、可编程逻辑单元、丰富 的布线资源,而且还拥有灵活的时钟管理单元、嵌入式块RAM以及各种通用的内嵌功能单 元,很多器件还顺应市场需求内嵌了专用的硬件模块。近些年来,可编程器件的龙头老大 Xilinx和 Altera更是相继推出了硬核CPU+FPGA的产品,此举大有单芯片横扫千军的 架势。 电子行业在继续挑战摩尔定律的征程中,无论是可编程器件继续大放光彩,还是ASIC 能够重获新生。可编程器件,尤其是FPGA和CPLD的发明和大量应用让我们肃然起敬。 相信对于很多即将或者已经走上电子硬件设计的同仁们来说,对可编程器件的了解、熟悉甚 至精通是提升自身技术能力的基本技能之

...展开详情
试读 127P 特权同学图书《Altera FPGA伴你玩转USB3.0与LVDS》
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
上传资源赚积分or赚钱
最新推荐
特权同学图书《Altera FPGA伴你玩转USB3.0与LVDS》 14积分/C币 立即下载
1/127
特权同学图书《Altera FPGA伴你玩转USB3.0与LVDS》第1页
特权同学图书《Altera FPGA伴你玩转USB3.0与LVDS》第2页
特权同学图书《Altera FPGA伴你玩转USB3.0与LVDS》第3页
特权同学图书《Altera FPGA伴你玩转USB3.0与LVDS》第4页
特权同学图书《Altera FPGA伴你玩转USB3.0与LVDS》第5页
特权同学图书《Altera FPGA伴你玩转USB3.0与LVDS》第6页
特权同学图书《Altera FPGA伴你玩转USB3.0与LVDS》第7页
特权同学图书《Altera FPGA伴你玩转USB3.0与LVDS》第8页
特权同学图书《Altera FPGA伴你玩转USB3.0与LVDS》第9页
特权同学图书《Altera FPGA伴你玩转USB3.0与LVDS》第10页
特权同学图书《Altera FPGA伴你玩转USB3.0与LVDS》第11页
特权同学图书《Altera FPGA伴你玩转USB3.0与LVDS》第12页
特权同学图书《Altera FPGA伴你玩转USB3.0与LVDS》第13页
特权同学图书《Altera FPGA伴你玩转USB3.0与LVDS》第14页
特权同学图书《Altera FPGA伴你玩转USB3.0与LVDS》第15页
特权同学图书《Altera FPGA伴你玩转USB3.0与LVDS》第16页
特权同学图书《Altera FPGA伴你玩转USB3.0与LVDS》第17页
特权同学图书《Altera FPGA伴你玩转USB3.0与LVDS》第18页
特权同学图书《Altera FPGA伴你玩转USB3.0与LVDS》第19页
特权同学图书《Altera FPGA伴你玩转USB3.0与LVDS》第20页

试读结束, 可继续阅读

14积分/C币 立即下载 >