内容简介
本书以FPGA开发系统为平台,共安排17个实验,其中前12个实验为FPGA基础实验,后5个实验为电子专业实验。所有实验均详细介绍了实验内容、实验原理,并且都有详细的步骤和源代码,以确保读者能够顺利完成。每章的后都安排了一个任务,作为本章实验的延伸和拓展。本书中的程序均按照《VHDL语言程序设计规范》(LY-STD009―2019)编写。所有实验均基于模块化设计,以便于将模块应用在不同的项目和产品中。本书配有丰富的资括FPGA开发系统原理图、例程、软、硬,以及配套的PPT、等。这些资料会持续更新,下载链接可通过公众号“工程师培养系列”获取。本书既可以作为高等院校相关课程的教材,也可以作为FPGA系统设计及相关行业工程技术人员的参考书。
目录
第1章 FPGA和开发环境 11.1 FPGA基础概念 11.1.1 什么是FPGA 11.1.2 FPGA的基本结构 21.1.3 FPGA与ASIC之间的关系 31.1.4 FPGA、CPU与DSP之间的关系 31.1.5 VHDL与Verilog HDL 41.1.6 Xilinx与Altera 51.2 FPGA开发流程 61.3 XC6SLX16芯片介绍 71.3.1 Spartan-6系列介绍 71.3.2 XC6SLX16-2CSG324C芯片介绍 71.3.3 FPGA速度等级 81.3.4 FPGA可用I/O数量 81.3.5 FPGA逻辑单元 81.3.6 Spartan-6 FPGA配置 81.4 FPGA开发工具安装和配置 91.4.1 ISE 91.4.2 安装ISE 14.7 91.4.3 Synplify 141.4.4 安装Synplify 141.4.5 安装Xilinx USB Cable驱动程序 171.5 VHDL语法基础 191.5.1 库声明 191.5.2 实体 191.5.3 结构体 191.5.4 数据类型 201.5.5 常量定义 201.5.6 变量定义 211.5.7 信号 211.5.8 元件 211.5.9 直接赋值语句 221.5.10 process语句 221.5.11 when...else语句 231.5.12 if...else语句 231.5.13 case语句 241.5.14 运算符 241.6 FPGA开发系统简介 261.7 FPGA开发系统可以开展的部 分实验 281.8 本书配套的资 28本章任务 28本章习题 29第2章 分频器实验 302.1 实验内容 302.2 实验原理 302.2.1 分频器LED电路原理图 302.2.2 时钟分频原理 302.2.3 分频器模块内部电路图 312.3 实验步骤 32本章任务 54本章习题 54第3章 流水灯实验 563.1 实验内容 563.2 实验原理 563.2.1 流水灯实验LED电路原理图 563.2.2 流水灯工作原理 563.2.3 流水灯模块内部电路图 573.3 实验步骤 58本章任务 62本章习题 63第4章 独立按键去抖实验 644.1 实验内容 644.2 实验原理 644.2.1 独立按键电路原理图 644.2.2 按键去抖原理 644.2.3 状态机工作原理 654.2.4 独立按键去抖处理状态机 664.2.5 独立按键去抖实验内部电路图 674.3 实验步骤 68本章任务 74本章习题 74第5章 七段数码管显示实验 755.1 实验内容 755.2 实验原理 755.2.1 七段数码管 755.2.2 七段数码管显示模块电路原 理图 775.2.3 七段数码管显示原理 775.2.4 七段数码管显示实验内部电 路图 795.3 实验步骤 80本章任务 85本章习题 85第6章 矩阵键盘扫描实验 866.1 实验内容 866.2 实验原理 866.2.1 矩阵键盘扫描原理 876.2.2 双寄存器边沿检测电路 896.2.3 矩阵键盘扫描实验内部电路图 906.3 实验步骤 94本章任务 102本章习题 102第7章 OLED显示实验 1037.1 实验内容 1037.2 实验原理 1037.2.1 OLED显示模块 1037.2.2 SSD1306的显存 1047.2.3 SSD1306常用命令 1067.2.4 字模选项 1067.2.5 ASCII码表与取模工具 1077.2.6 OLED显示模块显示流程 1087.3 实验步骤 108本章任务 116本章习题 116第8章 串口通信实验 1178.1 实验内容 1178.2 实验原理 1178.2.1 UART电路原理图 1178.2.2 UART通信协议 1188.2.3 串口通信实验状态机 1208.2.4 串口通信实验内部电路图 1228.3 实验步骤 124本章任务 140本章习题 140第9章 读写外部EEPROM实验 1419.1 实验内容 1419.2 实验原理 1419.2.1 EEPROM电路原理图 1419.2.2 I2C协议 1419.2.3 I2C器件地址 1439.2.4 AT24C02芯片 1449.2.5 AT24C02芯片及其读写 时序 1459.2.6 读写外部EEPROM实验状 态机 1469.2.7 读写外部EEPROM实验内部 电路图 1489.3 实验步骤 150本章任务 160本章习题 160第10章 读写外部Flash实验 16110.1 实验内容 16110.2 实验原理 16110.2.1 SPI Flash电路原理图 16110.2.2 SPI协议 16210.2.3 W25Q128芯片 16210.2.4 SPI通信模式 16310.2.5 读写外部Flash实验状态机 16510.2.6 读写外部Flash实验内部电 路图 16710.3 实验步骤 169本章任务 177本章习题 178第11章 SHT20温/湿度测量实验 17911.1 实验内容 17911.2 实验原理 17911.2.1 SHT20温/湿度电路原理图 17911.2.2 SHT20 传感器 17911.2.3 SHT20传感器通信 18011.2.4 SHT20信号转换 18211.2.5 SHT20温/湿度测量实验内部 电路图 18311.3 实验步骤 183本章任务 193本章习题 193第12章 DAC实验 19412.1 实验内容 19412.2 实验原理 19412.2.1 AD/DA转换电路原理图 19412.2.2 AD9708芯片 19412.2.3 PCT通信协议 19812.2.4 DAC实验内部电路图 20312.3 实验步骤 206本章任务 215本章习题 215第13章 ADC实验 21613.1 实验内容 21613.2 实验原理 21613.2.1 AD/DA转换电路原理图 21613.2.2 AD9280芯片 21813.2.3 ADC实验内部电路图 22013.3 实验步骤 222本章任务 227本章习题 227第14章 体温测量与显示实验 22814.1 实验内容 22814.2 实验原理 22814.2.1 体温数的PCT通信协议 22814.2.2 体温测量与显示实验内部电 路图 22914.3 实验步骤 232本章任务 235本章习题 236第15章 呼吸监测与显示实验 23715.1 实验内容 23715.2 实验原理 23715.2.1 呼吸数的PCT通信协议 23715.2.2 呼吸监测与显示实验内部电 路图 23815.3 实验步骤 238本章任务 242本章习题 242第16章 心电监测与显示实验 24316.1 实验内容 24316.2 实验原理 24416.2.1 心电数的PCT通信协议 24416.2.2 心电监测与显示实验内部电 路图 24416.3 实验步骤 245本章任务 251本章习题 251第17章 血氧监测与显示实验 25217.1 实验内容 25217.2 实验原理 25317.2.1 血氧数的PCT通信协议 25317.2.2 血氧监测与显示实验内部 电路图 25317.3 实验步骤 253本章任务 259本章习题 259第18章 血压测量与显示实验 26018.1 实验内容 26018.2 实验原理 26118.2.1 血压数的PCT通信协议 26118.2.2 血压测量与显示实验内部电 路图 26118.3 实验步骤 264本章任务 271本章习题 272附录A FPGA开发常用模块引脚约束 273附录B 人体生理参数监测系统使用说明 276附录C 《VHDL语言程序设计规范》 (LY-STD009―2019)简介 279C.1 排版 279C.2 注释 280C.3 命名 280C.4 编码规范 281C.5 VHDL文件模板 282C.6 UCF文件模板 285附录D ASCII码表 286参考文献 287