《FPGA嵌入式项目开发实战》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:刘福奇编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121082207
  • 页数:463 页
图书介绍:全书从实用的角度出发,通过大量工程实例,详细介绍了FPGA项目程序设计的方法与技巧。全书共分25章4篇,第1篇为基础知识篇,简要介绍了FPGA硬件结构、 VHDL硬件编程语言、Verilog HDL与System C语言编程及FPGA常用开发工具;第2篇为FPGA 数字系统程序实例,通过12个设计实例,详细介绍了FPGA数字系统项目开发的技术和技巧。第3篇为FPGA通信系统程序实例,安排了6个实用通信程序;第4篇为NIOS II项目程序,通过4个典型实例,介绍了FPGA汽车电子程序的特点和开发技术。本书语言简洁,结构清晰,以实际工程为背景,实例典型、丰富,全部来自于实践并且调试通过,代表性和指导性强,利于读者举一反三,是作者多年开发经验的推广与总结。本书配有光盘一张,包含了全书所有实例的硬件原理图和程序源代码,方便读者学习和使用。

第1篇 FPGA基础知识篇 3

第1章 FPGA硬件结构知识 3

1.1 CPLD/FPGA概述 3

1.1.1 CPLD/FPGA的特点 3

1.1.2 CPLD/FPGA的发展方向 5

1.1.3 CPLD/FPGA的应用领域 6

1.2 FPGA体系结构 7

1.2.1 FPGA基本结构 7

1.2.2 FPGA的结构特点 10

1.2.3 FPGA的编程工艺 12

1.3 FPGA常用芯片与选用 12

1.3.1 FPGA常用芯片 12

1.3.2 FPGA器件的选用 15

1.4 本章小结 17

第2章 VHDL语言编程基础 19

2.1 FPGA系统的表示方法 19

2.2 VHDL语言的特点 20

2.3 VHDL语言结构与要素 22

2.3.1 实体说明 24

2.3.2 构造体 26

2.3.3 VHDL语言要素 29

2.3.4 VHDL顺序语句与并发语句 42

2.3.5 描述方式 55

2.4 组合逻辑电路的VHDL实现 60

2.4.1 简单门电路 60

2.4.2 译码器、编码器和选择器 62

2.4.3 加法器、乘法器和除法器 74

2.4.4 三态门和总线缓冲器 81

2.5 时序逻辑电路的VHDL实现 83

2.5.1 锁存器、触发器 83

2.5.2 寄存器 86

2.5.3 计数器 88

2.6 状态机的VHDL实现 98

2.6.1 状态机的结构和功能 98

2.6.2 状态机的VHDL模型 99

2.7 存储器的VHDL实现 108

2.7.1 ROM和RAM 108

2.7.2 FIFO 113

2.8 本章小结 117

第3章 FPGA常用开发工具 119

3.1 集成开发工具MAX+plus Ⅱ 119

3.1.1 功能与菜单说明 119

3.1.2 MAX+plus Ⅱ设计过程 123

3.1.3 MAX+plus Ⅱ综合设计选择项 141

3.2 硬件开发工具Quartus Ⅱ 154

3.2.1 Quartus Ⅱ简介 154

3.2.2 Quartus Ⅱ设计流程 155

3.2.3 Quartus Ⅱ设计方法 159

3.2.4 Quartus Ⅱ功能详解 160

3.2.5 时序约束与分析 169

3.2.6 设计优化 176

3.2.7 SignalTap Ⅱ 184

3.3 本章小结 189

第2篇 FPGA数字系统程序实例第4章 矩阵键盘扫描接口设计 193

4.1 实例内容说明 193

4.2 设计思路与原理 193

4.3 程序设计与验证 195

4.3.1 创建Quartus Ⅱ工程 195

4.3.2 VHDL代码设计 196

4.3.3 矩阵键盘扫描的验证 199

4.4 实例总结 203

第5章 PS/2键盘接口设计 205

5.1 实例内容说明 205

5.2 PS/2键盘接口标准 205

5.2.1 PS/2接口介绍 205

5.2.2 PS/2接口引脚 205

5.3 设计思路与原理 207

5.4 程序设计与验证 208

5.4.1 创建Quartus Ⅱ环境 208

5.4.2 VHDL代码设计 209

5.4.3 PS/2键盘接口设计的验证 213

5.5 实例总结 214

第6章 点阵发光管扫描接口设计 215

6.1 实例内容说明 215

6.2 设计思路与原理 215

6.3 程序设计与验证 217

6.3.1 创建Quartus Ⅱ工程 217

6.3.2 创建VHDL文件 217

6.3.3 程序验证 220

6.4 实例总结 222

第7章 VGA彩条信号发生器 223

7.1 实例内容说明 223

7.2 设计思路与原理 223

7.3 程序设计与验证 224

7.3.1 创建Quartus Ⅱ工程 224

7.3.2 创建VHDL文件 225

7.3.3 程序验证 228

7.4 实例总结 229

第8章 6层电梯控制器 231

8.1 实例内容说明 231

8.2 设计思路与原理 231

8.3 程序设计与验证 232

8.3.1 创建Quartus Ⅱ工程 232

8.3.2 创建VHDL文件 232

8.3.3 程序验证 243

8.4 实例总结 244

第9章 两种分频器设计 245

9.1 实例内容说明 245

9.2 硬件电路分析 245

9.2.1 半整数分频器 245

9.2.2 偶数与奇数分频器 246

9.3 程序设计与仿真 246

9.3.1 VHDL程序 246

9.3.2 时序仿真 252

9.4 实例总结 253

第10章 波形信号发生器的设计 255

10.1 实例内容说明 255

10.2 设计思路与原理 255

10.3 程序代码与注释 256

10.4 实例总结 258

第11章 交通灯控制的设计 259

11.1 实例内容说明 259

11.2 设计思路与原理 259

11.3 程序代码与注释 259

11.4 实例总结 263

第12章 常见的两种数字滤波器的设计 265

12.1 数字滤波器概述 265

12.2 FIR数字滤波器的设计 265

12.2.1 FIR数字滤波器设计原理 265

12.2.2 直接实现形式的FIR滤波器设计 266

12.2.3 直接FIR滤波器设计的改进 267

12.2.4 用查表法实现FIR数字滤波器 268

12.3 IIR数字滤波器的设计 273

12.3.1 设计思路与原理 273

12.3.2 程序实现与注释 275

12.4 实例总结 276

第13章 快速傅里叶变换FFT的设计 277

13.1 FFT的算法特点 277

13.2 旋转因子算法 278

13.2.1 设计思路与原理 278

13.2.2 VHDL代码实现 278

13.3 蝶形处理器 280

13.3.1 设计思路与原理 280

13.3.2 VHDL代码实现 280

13.4 实例总结 282

第14章 数字式频率合成器DSS的设计 283

14.1 DDS特点概述 283

14.2 设计思路与原理 284

14.3 程序实现与仿真 285

14.3.1 生成ROM的参数 285

14.3.2 DDS的VHDL程序代码 286

14.3.3 仿真结果 288

14.4 实例总结 290

第15章 数字电压计的设计 291

15.1 数字电压计概述 291

15.2 设计思路与原理 292

15.3 程序实现与注释 292

15.4 实例总结 295

第3篇 FPGA通信系统程序实例第16章 串行通信接口UART设计 299

16.1 UART协议基础 299

16.2 UART模块程序设计 301

16.2.1 时钟分频模块 301

16.2.2 异步接收模块 302

16.2.3 异步发送模块 305

16.3 实例总结 307

第17章 ASK编码器与译码器设计 309

17.1 实例内容说明 309

17.2 伪随机序列产生器 309

17.2.1 m序列的产生 310

17.2.2 m序列的VHDL语言设计 311

17.2.3 工程编译 312

17.2.4 m序列的仿真 313

17.3 ASK编码器设计 316

17.3.1 ASK编码器设计思路 316

17.3.2 ASK编码器代码设计 316

17.3.3 ASK编码器仿真 318

17.4 ASK译码器设计 319

17.4.1 ASK译码器设计思路 319

17.4.2 ASK译码器代码设计 319

17.4.3 ASK解制器仿真 321

17.5 实例总结 321

第18章 FSK编码器与译码器设计 323

18.1 实例内容说明 323

18.2 FSK编码器设计 323

18.2.1 FSK编码器设计思路 323

18.2.2 FSK编码器代码设计 324

18.2.3 FSK编码器仿真 327

18.3 FSK译码器设计 329

18.3.1 FSK译码器设计思路 329

18.3.2 FSK译码器代码设计 330

18.3.3 FSK译码器仿真 332

18.4 实例总结 332

第19章 CMI编码器与译码器设计 333

19.1 实例内容说明 333

19.2 CMI编码器设计 333

19.2.1 传号反转码(CMI)编码原理 333

19.2.2 CMI编码器设计思路 334

19.2.3 CMI编码器VHDL代码设计 334

19.2.4 CMI编码器仿真 338

19.3 CMI调制器设计 341

19.3.1 CMI调制器设计思路 341

19.3.2 ASK调制器代码设计 341

19.3.3 CMI译码器仿真 343

19.4 实例总结 343

第20章 曼彻斯特编码器与译码器设计 345

20.1 实例内容说明 345

20.2 曼彻斯特编码器设计 345

20.2.1 曼彻斯特编码器设计思路 345

20.2.2 曼彻斯特编码器代码设计 346

20.2.3 曼彻斯特编码仿真 349

20.3 曼彻斯特译码器设计 352

20.3.1 曼彻斯特译码器设计思路 352

20.3.2 曼彻斯特译码器代码设计 353

20.3.3 曼彻斯特译码器仿真 355

20.4 实例总结 356

第21章 HDB3编码器与译码器设计 357

21.1 实例内容说明 357

21.2 HDB3编码器设计 357

21.2.1 HDB3码编码原理 357

21.2.2 HDB3编码器设计思路 358

21.2.3 HDB3编码器插“V”模块代码设计与仿真 358

21.2.4 HDB3编码器插“B”模块代码设计与仿真 364

21.2.5 HDB3编码器的双单极转换模块的设计与仿真 367

21.3 HDB3译码器设计 369

21.3.1 HDB3译码器设计思路 369

21.3.2 HDB3译码器代码设计 369

21.3.3 HDB3译码器仿真 371

21.4 实例总结 372

第4篇 Nios Ⅱ项目程序实例第22章 Nios Ⅱ定时中断器的应用 375

22.1 实例内容说明 375

22.2 设计思路与原理 375

22.3 硬件设计 376

22.4 软件设计与程序代码 389

22.5 实例总结 392

第23章 基于Nios Ⅱ的I2C总线传输应用 393

23.1 实例内容说明 393

23.2 设计思路与原理 393

23.3 I2C总线介绍 394

23.3.1 I2C总线特点 394

23.3.2 I2C总线工作原理 394

23.4 AT24C02芯片应用介绍 395

23.4.1 AT24C02概述 395

23.4.2 AT24C02读写时序 396

23.5 SOPC系统的创建 397

23.6 软件设计与程序代码 413

23.7 实例总结 420

第24章 基于Nios Ⅱ的SPI总线的应用 421

24.1 实例内容说明 421

24.2 设计思路与原理 421

24.3 SPI总线介绍 422

24.4 AD7476介绍 423

24.5 SOPC系统的创建 424

24.6 软件设计与程序代码 439

24.7 实例总结 442

第25章 基于Nios Ⅱ的uCOS应用 443

25.1 实例内容说明 443

25.2 设计思路与原理 443

25.3 SOPC系统的创建 444

25.4 软件设计与程序代码 458

25.5 实例总结 463