發表於2024-12-21
本書主要使用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開發的工程師,本書提供的很多實例都是很好的參考原型,可以幫助其實現快速係統原型的開發。
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�睩X3 SlaveFIFO接口的loopback實例
7.6.1功能概述
7.6.2Firmware下載
7.6.3FPGA代碼解析
7.6.4ILA在綫邏輯分析儀查看接口時序
7.7基於FPGA�睩X3 SlaveFIFO接口的StreamOUT實例
7.7.1功能概述
7.7.2Firmware下載
7.7.3FPGA代碼解析
7.7.4ILA在綫邏輯分析儀查看接口時序
7.7.5Streamer中查看數據吞吐量
7.8基於FPGA�睩X3 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闆級調試
參考文獻
本章導讀
本章通過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
Foreword
前言
FPGA技術在當下各種電子設計應用中越來越火熱,它的成本雖然還是高高在上,但是它給電子係統帶來的不可限量的速度和帶寬,以其在靈活性、小型性方麵的優勢,越來越被各種對性能要求高、偏重定製化需求的開發者所青睞。而使用LVDS、USB接口進行高速數據傳輸也是很多大數據采集應用的必然選擇。
因此,筆者結閤實際工程項目的需求,在本書中講述基於Xilinx Artix��7 FPGA器件+LVDS+USB 3.0的開發,通過實例講解,相信可以幫助讀者快速掌握這個原型係統,甚至將其移植到具體的項目或産品中。
本書共8章。
第1章闡釋FPGA、USB和LVDS的一些基本概念和應用背景。
第2章從FPGA開發平颱的電路闆設計入手,介紹FPGA闆級硬件電路設計要點,以及本書配套開發平颱的外圍電路的設計。
第3章講述開發環境的搭建,包括Xilinx FPGA集成開發環境Vivado、文本編輯器Notepad++、下載器驅動、UART驅動、USB 3.0控製器芯片FX3對應的SDK和驅動安裝,幫助讀者迅速解決這些最棘手的“軟”問題。
第4章以一個最基本的FPGA實例引領讀者掌握一個完整的FPGA開發流程,包括FPGA的下載配置和代碼固化操作。
第5章為基礎外設實例,包含基本的LED流水燈、撥碼開關控製、PLL配置、用戶自定義IP、UART和搭建基於MicroBlaze處理器的嵌入式係統,通過這些基本的實例確保讀者能夠快速掌握基於Xilinx FPGA的開發。
第6章主要介紹DDR3 SDRAM的配置、仿真和闆級調試。
第7章集中在USB 3.0控製器芯片FX3相關的實例上,既有單獨FX3和PC的USB 3.0傳輸實例,也有FPGA + FX3和PC之間的USB 3.0數據傳輸實例。
第8章講解如何使用FPGA實現LVDS接口應用,包括LVDS基本的收發設計以及包含CRC校驗的LVDS收發設計。
吳厚航(網名:特權同學)
2017年12月於上海
Xilinx FPGA伴你玩轉USB 3.0與LVD
Xilinx FPGA伴你玩轉USB3.0與LVDS/電子設計與嵌入式開發實踐叢書 下載 mobi pdf epub txt 電子書 格式 2024
Xilinx FPGA伴你玩轉USB3.0與LVDS/電子設計與嵌入式開發實踐叢書 下載 mobi epub pdf 電子書Xilinx FPGA伴你玩轉USB3.0與LVDS/電子設計與嵌入式開發實踐叢書 mobi epub pdf txt 電子書 格式下載 2024