基于FPGA技術(shù)的工程應(yīng)用與實(shí)踐
本書(shū)是作者結(jié)合多年來(lái)的教學(xué)經(jīng)驗(yàn)編寫(xiě)的專(zhuān)業(yè)技術(shù)類(lèi)教材,編寫(xiě)上盡力避免傳統(tǒng)理論化的教學(xué)思路,注重于FPGA技術(shù)的實(shí)踐性和應(yīng)用性。在內(nèi)容的編排上,為初學(xué)者提供了基礎(chǔ)知識(shí)部分,包括Quartus軟件的使用、硬件描述語(yǔ)言語(yǔ)句及語(yǔ)法、FPGA技術(shù)常用設(shè)計(jì)方法等;基本電路及應(yīng)用系統(tǒng)的設(shè)計(jì)實(shí)例,包括DDS電路、存儲(chǔ)器電路、顯示接口電路、溫濕度控制系統(tǒng)設(shè)計(jì)等;*后是工程應(yīng)用實(shí)例部分,在工程實(shí)例方面,選擇了目前應(yīng)用較為廣泛的圖像處理、觸摸屏、調(diào)頻調(diào)幅電源等。本書(shū)力求通過(guò)大量實(shí)例,為讀者提供一個(gè)較為開(kāi)闊的設(shè)計(jì)應(yīng)用視野,從而能盡快提升FPGA開(kāi)發(fā)及應(yīng)用能力。
更多科學(xué)出版社服務(wù),請(qǐng)掃碼獲取。
目錄
前言
第1章 可編程邏輯器件及開(kāi)發(fā)概述 1
1.1 可編程邏輯器件簡(jiǎn)介 1
1.1.1 可編程邏輯器件發(fā)展歷程 1
1.1.2 可編程邏輯器件特點(diǎn) 2
1.2 可編程邏輯器件設(shè)計(jì)應(yīng)用基礎(chǔ) 3
1.2.1 硬件描述語(yǔ)言 3
1.2.2 可編程邏輯器件 3
1.2.3 設(shè)計(jì)軟件 4
1.3 可編程邏輯器件開(kāi)發(fā)流程 4
1.4 可編程邏輯器件應(yīng)用領(lǐng)域 5
第2章 Quartus 軟件的使用 7
2.1 原理圖輸入設(shè)計(jì)流程 7
2.1.1 半加器的設(shè)計(jì)原理 7
2.1.2 創(chuàng)建工程 8
2.1.3 建立圖形設(shè)計(jì)文件 11
2.1.4 工程的編譯 13
2.1.5 引腳分配 13
2.1.6 工程的下載驗(yàn)證 13
2.2 硬件描述語(yǔ)言輸入設(shè)計(jì)流程 14
2.2.1 全加器的設(shè)計(jì)原理 15
2.2.2 半加器的硬件描述語(yǔ)言程序 15
2.2.3 創(chuàng)建工程 16
2.2.4 輸入半加器程序設(shè)計(jì)文件 16
2.2.5 生成元件符號(hào) 16
2.2.6 利用生成元件符號(hào)設(shè)計(jì)全加器電路 16
2.3 宏功能模塊 (LPM) 的調(diào)用 18
2.3.1 存儲(chǔ)器的初始化 18
2.3.2 宏功能模塊 LPM ROM 的創(chuàng)建 19
2.3.3 查看宏功能模塊 ROM 的設(shè)計(jì)文件 22
2.4 SignalTap Ⅱ嵌入式邏輯分析儀使用 23
2.4.1 SignalTap Ⅱ嵌入式邏輯分析儀的設(shè)置 23
2.4.2 編譯下載 25
2.4.3 信號(hào)波形的捕捉 26
第3章 Verilog HDL 簡(jiǎn)介 28
3.1 Verilog HDL 硬件描述語(yǔ)言概述 28
3.2 Verilog HDL 程序的構(gòu)成 28
3.2.1 二-十進(jìn)制編碼器及 Verilog HDL 描述 28
3.2.2 Verilog HDL 程序的基本構(gòu)成 30
3.3 Verilog HDL 語(yǔ)法規(guī)則 32
3.3.1 Verilog HDL 文字規(guī)則 32
3.3.2 數(shù)據(jù)對(duì)象 34
3.3.3 運(yùn)算符 36
3.4 Verilog HDL 中的語(yǔ)句 36
3.4.1 并行語(yǔ)句 36
3.4.2 順序語(yǔ)句 43
3.5 Modelsim 仿真工具的使用 48
3.5.1 程序中無(wú)宏功能模塊的 Modelsim 使用流程 49
3.5.2 宏功能模塊的 Modelsim 使用流程 53
3.5.3 Testbench 文件的編寫(xiě) 57
第4章 有限狀態(tài)機(jī)設(shè)計(jì) 61
4.1 有限狀態(tài)機(jī)設(shè)計(jì)簡(jiǎn)介 61
4.1.1 有限狀態(tài)機(jī)的特點(diǎn)及分類(lèi) 61
4.1.2 基于有限狀態(tài)機(jī)的電路設(shè)計(jì)步驟 61
4.2 Moore 型有限狀態(tài)機(jī)的設(shè)計(jì) 62
4.3 Mealy 型有限狀態(tài)機(jī)的設(shè)計(jì) 65
4.4 有限狀態(tài)機(jī)設(shè)計(jì)舉例:十字路口交通燈控制電路 67
4.4.1 設(shè)計(jì)要求 67
4.4.2 設(shè)計(jì)分析 67
4.4.3 設(shè)計(jì)實(shí)現(xiàn) 69
第5章 常用功能電路設(shè)計(jì) 72
5.1 DDS 電路 72
5.1.1 DDS 原理 72
5.1.2 基于 FPGA 的 DDS 電路實(shí)現(xiàn) 73
5.1.3 仿真與分析 75
5.2 m 序列信號(hào)產(chǎn)生電路 76
5.2.1 m 序列信號(hào)產(chǎn)生原理 76
5.2.2 設(shè)計(jì)舉例 76
5.2.3 仿真與分析 77
5.3 SPI 接口電路 78
5.3.1 SPI 通信協(xié)議 78
5.3.2 基于 FPGA 的 SPI 通信協(xié)議實(shí)現(xiàn) 79
5.3.3 應(yīng)用舉例 81
5.4 RAM 存儲(chǔ)器接口電路 85
5.4.1 SRAM 存儲(chǔ)器 85
5.4.2 基于雙 RAM 乒乓操作的數(shù)據(jù)存儲(chǔ)電路 86
5.5 CRC 校驗(yàn)電路 94
5.5.1 CRC 校驗(yàn)原理 94
5.5.2 CRC 校驗(yàn)碼的編碼原理 95
5.5.3 基于 FPGA 的逐比特比較法求解 CRC 校驗(yàn)碼設(shè)計(jì)實(shí)現(xiàn) 96
5.5.4 仿真與分析 97
5.6 LCD 控制電路 99
5.6.1 LCD 簡(jiǎn)介 99
5.6.2 基于 FPGA 的 LCD 控制電路設(shè)計(jì) 103
5.7 VGA 控制電路 107
5.7.1 VGA 簡(jiǎn)介 107
5.7.2 掃描原理 108
5.7.3 VGA 控制時(shí)序 108
5.7.4 數(shù)模轉(zhuǎn)換芯片 DAC ADV7123 109
5.7.5 基于 FPGA 的 VGA 彩條控制電路設(shè)計(jì) 109
第6章 應(yīng)用設(shè)計(jì)實(shí)例 115
6.1 溫濕度采集及顯示 115
6.1.1 設(shè)計(jì)要求 115
6.1.2 設(shè)計(jì)方案 115
6.1.3 相關(guān)原理簡(jiǎn)介 116
6.1.4 溫濕度模塊設(shè)計(jì) 118
6.1.5 串口通信模塊設(shè)計(jì) 124
6.1.6 JAVA GUI 設(shè)計(jì) 127
6.1.7 系統(tǒng)測(cè)試 130
6.2 頻率計(jì) 132
6.2.1 設(shè)計(jì)要求 132
6.2.2 設(shè)計(jì)方案 132
6.2.3 測(cè)頻原理簡(jiǎn)介 132
6.2.4 設(shè)計(jì)實(shí)現(xiàn) 134
6.3 基于 VGA 顯示的接球游戲 140
6.3.1 設(shè)計(jì)要求 140
6.3.2 設(shè)計(jì)分析 140
6.3.3 VGA 時(shí)序控制模塊設(shè)計(jì) 141
6.3.4 游戲邏輯產(chǎn)生模塊設(shè)計(jì) 144
6.3.5 游戲測(cè)試 149
第7章 基于 FPGA 的圖像采集處理系統(tǒng) 151
7.1 設(shè)計(jì)內(nèi)容 151
7.2 圖像采集模塊 152
7.2.1 圖像捕捉模塊 153
7.2.2 I2C 總線(xiàn)配置模塊 156
7.2.3 數(shù)據(jù)格式轉(zhuǎn)換模塊 165
7.3 SDRAM 控制模塊 170
7.4 VGA 顯示控制模塊 172
7.4.1 VGA 顯示原理 172
7.4.2 VGA 控制模塊 172
7.5 圖像處理算法及實(shí)現(xiàn) 175
7.5.1 圖像的透明算法及實(shí)現(xiàn) 176
7.5.2 圖像灰度處理算法及實(shí)現(xiàn) 181
7.5.3 圖像降噪算法及實(shí)現(xiàn) 183
7.5.4 邊緣檢測(cè)算法及實(shí)現(xiàn) 189
第8章 基于觸摸屏的電子相冊(cè)設(shè)計(jì) 193
8.1 設(shè)計(jì)要求 193
8.2 相關(guān)內(nèi)容簡(jiǎn)介 193
8.2.1 LCD 顯示驅(qū)動(dòng)芯片 TPG110 193
8.2.2 A/D 轉(zhuǎn)換器 (AD7843) 194
8.3 方案設(shè)計(jì) 195
8.4 基于 FPGA 的各模塊實(shí)現(xiàn) 196
8.4.1 LCD 串行控制模塊 196
8.4.2 ADC 串行控制模塊 196
8.4.3 觸摸檢測(cè)模塊 204
8.4.4 FLASH 到 SDRAM 控制模塊 206
8.4.5 4 端口 SDRAM 控制模塊 212
8.4.6 LCD 時(shí)序控制模塊 214
8.5 系統(tǒng)的測(cè)試 219
8.5.1 LCD 觸摸屏與 FPGA 的連接 219
8.5.2 FLASH 中圖片下載 220
8.5.3 設(shè)計(jì)驗(yàn)證 221
第9章 基于 FPGA 的調(diào)頻調(diào)幅電源設(shè)計(jì) 222
9.1 變頻電源的技術(shù)分析 222
9.1.1 SPWM 調(diào)制技術(shù) 222
9.1.2 SPWM 控制方式 222
9.2 變頻電源硬件的總體設(shè)計(jì) 223
9.3 基于 FPGA 的變頻電源控制電路的設(shè)計(jì) 224
9.3.1 變頻電源數(shù)字控制電路 224
9.3.2 SPWM 波形的實(shí)現(xiàn) 224
9.3.3 三路相位差 120±的SPWM波形的生成 231
9.3.4 DCPWM 模塊 233
9.4 變頻電源的性能測(cè)試及分析 236
9.4.1 變頻電源的性能 236
9.4.2 變頻電源測(cè)試結(jié)果及分析 237
第10章 電子設(shè)計(jì)競(jìng)賽綜合實(shí)例 238
10.1 第十屆全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽 F 題 238
10.1.1 任務(wù) 238
10.1.2 要求 238
10.1.3 說(shuō)明 239
10.2 參考設(shè)計(jì) 240
10.2.1 頻率可調(diào)時(shí)鐘產(chǎn)生電路 240
10.2.2 m 序列產(chǎn)生電路 242
10.2.3 曼徹斯特碼產(chǎn)生電路 242
10.2.4 從曼徹斯特碼提取已知頻率的同步時(shí)鐘的電路 243
10.2.5 從曼徹斯特碼中恢復(fù)數(shù)據(jù)的電路 246
10.2.6 從曼徹斯特碼提取未知頻率的同步時(shí)鐘的電路 247
10.3 有源低通模擬濾波器的設(shè)計(jì) 252
附錄A DE2開(kāi)發(fā)平臺(tái) 256
A.1 DE2板上資源及硬件布局 256
A.2 DE2電路組成 258
A.3 DE2平臺(tái)的開(kāi)發(fā)環(huán)境 260
A.4 DE2平臺(tái)的擴(kuò)展接口 261
A.5 DE2平臺(tái)上 EP2C35F672 的引腳分配表 261
附錄B DE2-115開(kāi)發(fā)平臺(tái) 273
B.1 DE2-115板上資源及硬件布局 273
B.2 DE2-115平臺(tái)上提供的資源 273
B.3 DE2-115平臺(tái)的擴(kuò)展接口 274
B.4 DE2-115平臺(tái)的開(kāi)發(fā)環(huán)境 275
B.5 DE2-115平臺(tái)上 EP4CE115F29C7的引腳分配表 275
參考文獻(xiàn) 282