搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
Xilinx FPGA伴你玩转USB 3.0与LVDS
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787302491811
  • 作      者:
    吴厚航编著
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2018
收藏
内容介绍

本书主要使用Xilinx公司的Artix7 FPGA器件(引出自带的LVDS接口)和Cypress公司的USB 3.0控制器芯片FX3,以及一些常见的DDR3存储器、UART电路、扩展接口等,由浅入深地引导读者从板级设计、软件工具、相关驱动安装到基础的FPGA实例,从基于FPGA的UART、DDR3、USB 3.0、LVDS传输实例入手,掌握FPGA各种片内资源的应用以及接口时序的设计。

本书基于特定的FPGA开发平台,既有足够的理论知识深度进行支撑,也有丰富的例程进行实践讲解,并且穿插着笔者多年FPGA学习和开发过程中的各种经验和技巧。对于希望基于FPGA实现USB 3.0和LVDS开发的工程师,本书提供的很多实例都是很好的参考原型,可以帮助其实现快速系统原型的开发。


展开
精彩书摘

本章导读

本章通过5个基础实例,熟悉使用Xilinx FPGA对LED指示灯、拨码开关、UART外设的控制,以及使用FPGA实现PLL、MicroBlaze处理器、IP核定制等。希望通过这些例程,读者可以掌握基于Xilinx Artix7系列FPGA器件和Vivado开发工具的使用。


5.1拨码开关的LED控制实例

本实例对应工程at7_ex02,如图5.1所示,AT7板子板载8个LED指示灯和8个拨码开关与FPGA相连。本实例所要实现的功能很简单,每个拨码开关对应控制一个LED指示灯的亮灭状态。



图5.1拨码开关与LED原理图



本实例的功能: 每个时钟周期,将最新的拨码开关输入赋值给LED指示灯,代码如下所示。




module at7(


input sys_clk_i,//外部输入50MHz时钟信号


input ext_rst_n,  //外部输入复位信号,低电平有效


input[7:0] switch,  //8个拨码开关输入,ON——低电平;OFF——高电平


output reg[7:0] led  //8个LED指示灯亮灭控制


);


//-------------------------------------


always @(posedge sys_clk_i or negedge ext_rst_n) 


if(!ext_rst_n) led <= 8'd0;


else led <= switch;


endmodule


展开
目录

Contents

 

目录

 

 

第1章FPGA、USB与LVDS概述

 

1.1FPGA发展概述

 

1.2FPGA的优势

 

1.3FPGA应用领域

 

1.4FPGA开发流程

 

1.5USB接口概述

 

1.6LVDS接口概述

 

第2章实验平台板级电路详解

 

2.1板级电路整体架构

 

2.2电源电路

 

2.3FPGA时钟与复位电路

 

2.3.1FPGA时钟晶振电路

 

2.3.2FPGA复位电路

 

2.4FPGA配置电路

 

2.5FPGA供电电路

 

2.6DDR3芯片电路

 

2.7UART芯片电路

 

2.8LVDS接口电路

 

2.9USB 3.0控制器FX3电路

 

2.10其他接口电路

 

2.11FPGA引脚定义

 

第3章软件安装与配置

 

3.1Xilinx账户注册与Vivado软件下载

 

3.1.1Xilinx账户注册

 

3.1.2Vivado下载

3.2Vivado安装与免费License申请

 

3.2.1Vivado安装

 

3.2.2免费License申请

 

3.3文本编辑器Notepad++安装

 

3.4Vivado中使用Notepad++的关联设置

 

3.5串口芯片驱动安装

 

3.5.1驱动安装

 

3.5.2设备识别

 

3.6USB 3.0控制器FX3的SDK安装

 

3.7USB 3.0控制器FX3的驱动安装

 

3.7.1PC与开发板的USB 3.0连接

 

3.7.2PC与USB连接

 

3.7.3USB 3.0控制器FX3驱动安装

 

Xilinx FPGA伴你玩转USB 3.0与LVDS

 

 

第4章第一个例程与FPGA的下载配置

 

4.1流水灯实例

 

4.1.1功能概述

 

4.1.2新建Vivado工程

 

4.1.3创建工程源码、约束和仿真文件

 

4.1.4功能仿真

 

4.1.5编译

 

4.2Xilinx 7系列FPGA配置概述

 

4.2.1不同配置模式的选择

 

4.2.2FPGA配置比特流的大小

 

4.2.3FPGA加载配置方式选择

 

4.2.4配置引脚功能定义

 

4.3XADC温度监控界面

 

4.4bit文件的FPGA在线烧录

 

4.5mcs文件的QSPI Flash固化

 

4.5.1FPGA配置设置选项

 

4.5.2生成mcs文件

 

4.5.3下载mcs件

 

第5章基础外设实例

 

5.1拨码开关的LED控制实例

 

5.2PLL配置实例

 

5.3用户自定义IP核

 

5.3.1创建IP核

 

5.3.2移植IP核

 

5.3.3配置、例化IP核

 

5.4UART的loopback实例

 

5.4.1功能概述

 

5.4.2代码解析

 

5.4.3板级调试

 

5.5MicroBlaze的Hello World实验

 

5.5.1功能概述

 

5.5.2MicroBlaze系统IP核配置

 

5.5.3MicroBlaze处理器软件工程创建

 

5.5.4板级调试

 

第6章基于FPGA的DDR3存储器控制实例

 

6.1DDR3 IP核配置与仿真

 

6.1.1DDR3 IP核概述

 

6.1.2DDR3 IP核配置

 

6.1.3DDR3 IP核仿真

 

6.2基于在线逻辑分析仪监控的DDR3数据读/写

 

6.2.1功能概述

 

6.2.2DDR3控制器IP接口时序解析

 

6.2.3代码解析

 

6.2.4在线逻辑分析仪配置

 

6.2.5在线逻辑分析仪调试

 

6.3基于UART命令的DDR3数据读/写

 

6.3.1功能概述

 

6.3.2代码解析

 

6.3.3板级调试

 

第7章USB 3.0控制器FX3实例

 

7.1基于FX3内部DMA的USB传输loopback实例

 

7.1.1功能概述

 

7.1.2固件编译与固化文件生成

 

7.1.3硬件连接与设备识别

 

7.1.4FX3的USB Boot加载

 

7.1.5板级调试

 

7.2FX3的SPI Flash代码固化

 

7.2.1启动设置

 

7.2.2SPI Flash固化

 

7.3基于FX3内部DMA的USB数据吞吐量测试

 

7.3.1硬件连接

 

7.3.2FX3的USB Boot加载

 

7.3.3FX3的基本Streamer功能演示

 

7.4基于FX3的UVC(USB Video Class)传输协议实例

 

7.4.1硬件连接

 

7.4.2FX3的USB Boot加载

 

7.4.3UVC设备识别

 

7.5FX3固件SlaveFIFO配置修改说明

 

7.5.1功能概述

 

7.5.2GPIF Ⅱ Designer开启与工程加载

 

7.5.3GPIF Ⅱ接口配置与工程编译

 

7.5.4IDE下firmware工程加载

 

7.5.5IDE下firmware工程编译

 

7.6基于FPGAFX3 SlaveFIFO接口的loopback实例

 

7.6.1功能概述

 

7.6.2Firmware下载

 

7.6.3FPGA代码解析

 

7.6.4ILA在线逻辑分析仪查看接口时序

 

7.7基于FPGAFX3 SlaveFIFO接口的StreamOUT实例

 

7.7.1功能概述

 

7.7.2Firmware下载

 

7.7.3FPGA代码解析

 

7.7.4ILA在线逻辑分析仪查看接口时序

 

7.7.5Streamer中查看数据吞吐量

 

7.8基于FPGAFX3 SlaveFIFO接口的StreamIN实例

 

7.8.1功能概述

 

7.8.2Firmware下载

 

7.8.3FPGA代码解析

 

7.8.4ILA在线逻辑分析仪查看接口时序

 

7.8.5Streamer工具测试数据吞吐量

 

第8章LVDS收发传输实例

 

8.1LVDS数据收发实例

 

8.1.1功能概述

 

8.1.2bit align处理

 

8.1.3代码解析

 

8.1.4装配说明

 

8.1.5板级调试

 

8.2带CRC校验的LVDS数据收发实例

 

8.2.1功能概述

 

8.2.2CRC校验基本原理

 

8.2.3CRC8检验代码生成

 

8.2.4代码解析

 

8.2.5装配说明

 

8.2.6板级调试

 

参考文献

 


展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证