首页->【FPGA/CPLD助学小组】

2332 10

1 概述

 

         这一块小小的核心板,我们不希望它本身能做任何事,我们只是希望通过这个小小的板子以及它的两组可扩展的接口,将来连接各种各样的外设,作为一个电子爱好者无限DIY的平台。你热爱电子设计吗?你希望有一个自己可以随意扩展的DIY平台吗?我希望将来SF-CY3能够满足你的这些愿望!这个小小的板子将来会不断的推出配套接口的子板,并且我们将会通过文档的方式一直以最接近初学者的方法图文并茂手把手的展示每一个新的设计实例。想得到最新版本的文档吗?OK,请到特权同学的套件专属的FPGA/CPLD助学小组链接中寻找!

欢迎加入FPGA/CPLD助学小组一同学习交流:

EDN:                  http://group.ednchina.com/GROUP_GRO_14596_1375.HTM

         ChinaAET:        http://group.chinaaet.com/273

 

配套pdf开发指南目录

 

SF-CY3 FPGA套件开发指南... 1

1 概述... 6

1.1 功能框图... 6

1.2 Cyclone III 系列FPGA器件简介... 7

1.3 EP3C5E144C8器件资源一览... 9

2 SF-CY3硬件电路解析... 10

2.1 实物示意图... 10

2.2 原理图解析... 11

2.2.1 系统电源电路... 11

2.2.2 FPGA电源电路... 11

2.2.3 时钟和复位电路... 13

2.2.4 FPGA配置电路... 14

2.2.5 SDRAM电路... 17

2.2.6 LED指示灯... 18

2.2.7 连接器电路... 18

3 SF-CY3基本使用安装说明... 19

3.1 电路板安装... 19

3.2 Quartus IIModelSim软件下载与安装... 20

3.2.1 EDA工具概述... 20

3.2.2 软件下载和license申请... 21

3.2.3 Quartus II的安装... 25

3.2.4 ModelSim的安装... 28

3.3 USB Blaster驱动安装... 30

4 FPGA的下载配置... 32

4.1 FPGA的上电启动原理... 32

4.2 JTAG在线烧录FPGA. 34

4.3 JTAG烧录配置芯片... 37

5 SF-CY3工程实例... 41

5.1 逻辑(Verilog)实例1——LED闪烁... 41

5.1.1 新建工程... 41

5.1.2 输入源码... 45

5.1.3 ModelSim仿真... 47

5.1.4 管脚分配与编译... 52

5.1.5下载配置与板级调试... 54

5.2逻辑(Verilog)实例2——PLL配置... 56

5.2.1 新建工程... 56

5.2.2 PLL配置和例化... 57

5.2.3 ModelSim仿真... 66

5.2.4 管脚分配与编译... 69

5.2.5下载配置与板级调试... 69

5.3 基于QsysNIOS II实例1——LED闪烁... 70

5.2.1 新建工程... 70

5.1.2 Qsys硬件系统架构... 71

5.1.3 例化Qsys系统... 82

5.1.4 管脚分配与编译... 83

5.1.5 EDS中新建软件工程... 84

5.1.6 ModelSim仿真... 94

5.1.7 下载配置与板级调试... 98

5.4 基于QsysNIOS II实例2——Hello NIOS II 101

5.4.1 JTAG UART外设概述... 101

5.4.2 编写软件代码... 102

5.4.3 下载配置与板级调试... 103

5.5 基于QsysNIOS II实例3——集成SDRAM外设... 104

5.5.1 系统概述... 104

5.5.2 Qsys组件添加... 105

5.5.3 系统例化和管脚分配... 113

5.5.4 时序约束与工程编译... 115

5.5.5 软件工程... 124

6 SF-BASE子板开发指南... 125

6.1 功能与原理图介绍... 125

6.1.1 主要外设芯片及装配... 125

6.1.2 插座管脚定义... 126

6.1.3 蜂鸣器电路... 127

6.1.4 LED指示灯电路... 127

6.1.5 拨码开关电路... 128

6.1.6 数码管电路... 129

6.1.7 AD转换电路... 130

6.1.8 DA转换电路... 131

6.2 逻辑(Verilog)实例3——PWM驱动蜂鸣器... 131

6.2.1 实验原理... 131

6.2.2 Verilog参考代码... 132

6.2.3 仿真验证... 133

6.2.4 工程实践... 134

6.3 逻辑(Verilog)实例4——流水灯... 136

6.3.1 实验原理... 136

6.3.2 Verilog参考代码... 137

6.3.3 仿真验证... 137

6.3.4 工程实践... 139

6.4 逻辑(Verilog)实例5——模式流水灯... 141

6.4.1 实验原理... 141

6.4.2 Verilog参考代码... 141

6.4.3 仿真验证... 142

6.4.4 工程实践... 144

6.5 逻辑(Verilog)实例6——数码管显示... 145

6.5.1 实验原理... 145

6.5.2 Verilog参考代码... 146

6.5.3 仿真验证... 149

6.5.4 工程实践... 149

6.6 逻辑(Verilog)实例7——基于In-System Sources and Probes EditorAD采集... 150

6.6.1 概述... 150

6.6.2 AD采样控制原理... 151

6.6.3 In-System Sources and Probes Editor例化... 152

6.6.4 Verilog参考代码... 156

6.6.5 仿真验证... 159

6.6.6 工程实践... 159

6.7 逻辑(Verilog)实例8——基于In-System Sources and Probes EditorDA输出... 163

6.7.1 概述... 163

6.7.2 DA采样控制原理... 163

6.7.3 In-System Sources and Probes Editor例化... 164

6.7.4 Verilog参考代码... 165

6.7.5 仿真验证... 170

6.7.6 工程实践... 170

6.8 基于QsysNIOS II实例4——PIO中断控制... 171

6.8.1 工程移植... 171

6.8.2 添加组件... 172

6.8.3 例化系统... 176

6.8.4 时序约束... 178

6.8.5 软件编程... 179

6.9 基于QsysNIOS II实例5——数码管定时器中断... 181

6.9.1 功能概述... 181

6.9.2 组件编辑... 182

6.9.3 组件添加... 185

6.9.4 例化系统... 194

6.9.5 软件编程... 197

6.10 基于QsysNIOS II实例6——AD/DA组件... 199

6.9.1 功能概述... 199

6.9.2 组件编辑... 200

6.9.3 组件添加... 207

6.9.4 例化系统... 214

6.9.5 软件编程... 216

7 SF-LCD子板开发指南... 218

7.1 功能与原理图介绍... 218

7.1.1 主要外设芯片及电路图解析... 218

7.1.2 装配示意图... 224

7.2 逻辑(Verilog)实例9——LCD的基本驱动... 229

7.2.1 LCD驱动原理... 229

7.2.2 Verilog代码... 232

7.2.3 工程实践... 235

7.3 逻辑(Verilog)实例10——LCD32级红色显示... 237

7.3.1 色彩显示原理... 237

7.3.2 Verilog代码... 238

7.3.3 工程实践... 241

7.4 逻辑(Verilog)实例11—基于FPGA内嵌RAMLCD字符显示... 242

7.4.1 字符取模... 242

7.4.2 字符显示原理... 245

7.4.3 内嵌RAM的配置和例化... 246

7.4.3 Verilog代码... 257

7.4.4 工程实践... 263

7.5 逻辑(Verilog)实例12—基于In-System Memory Content EditorLCD实时显示字符更改     265

7.6基于QsysNIOS II实例7——QsysLCD组件设计... 270

7.6.1 系统原理概述... 270

7.6.2 LCD驱动移植... 271

7.6.3 SDRAM控制器设计... 275

7.6.4 Avalon-MM从机接口设计... 279

7.6.5 数据缓存模块和FIFO配置... 281

7.6.6 PLL配置与复位设计... 292

7.6.7 Qsys系统构建... 297

7.6.8 管脚分配与时序约束... 308

7.6.9 软件工程实例... 318

附录A 实例与工程映射... 328

附录B 套件淘宝购买链接     330

  

8 SF-SENSOR子板开发指南... 328

8.1 功能与原理图介绍... 328

8.1.1 主要外设芯片及电路图解析... 328

8.1.2 装配示意图... 334

8.2基于QsysNIOS II实例8——SPI接口字库芯片控制... 338

8.2.1 Qsys系统——添加SPI组件... 338

8.2.2 SPI外设驱动——编程原理... 352

8.2.3 字库芯片驱动——编程原理... 354

8.2.4 软件工程实例... 362

8.3基于QsysNIOS II实例9——IIC接口实时时钟(RTC)芯片控制... 364

8.3.1 RTC实时时钟芯片驱动原理... 364

8.3.2 IIC控制器组件设计... 371

8.3.3 Qsys系统构建... 382

8.3.4 软件工程实例... 388

8.4逻辑(Verilog)实例13——超声波测距数据采集... 397

8.4.1 超声波模块驱动原理... 397

8.4.2 数据采集平台构建... 398

8.4.3 数据采集在线调试... 401

8.5基于QsysNIOS II实例10——超声波测距换算... 404

8.5.1 超声波模块组件创建... 404

8.5.2 硬件系统搭建... 406

8.5.3 软件工程调试... 410

8.6逻辑(Verilog)实例14——基于CMOS Sensor的视频采集显示... 414

8.6.1 CMOS摄像头应用背景与驱动原理... 414

8.6.2 采集系统设计概述... 416

8.6.3 IIC接口配置模块设计... 418

8.6.4 视频流采集模块设计... 426

1.1 功能框图

SF-CY3核心板除了一颗昂贵的FPGA芯片外,电源、复位、时钟、JTAG一个不能少。我们这可颗芯片的电源有三档,即3.3V、2.5V和1.2V。3.3V是供给FPGA的I/O电压,也是系统的其他外设芯片(如SDR SDRAM和SPI FLASH)的电源电压;2.5V是供给JTAG电路和FPGA的PLL电源所需要的;1.2V则是FPGA的内核电压。使用的时钟是25MHz,有人说这么低,不够用的?非也,FPGA内部的PLL就是专门负责管理时钟的,它可以对外部输入的25MHz时钟倍频或分频,甚至非整数倍的倍频或分频也能够办到。JTAG是用于PC和FPGA连接的电路,PC上的Quartus II下载烧录就是通过这个接口。

另外,有两颗存储器,SPI FLASH是用来给FPGA做配置芯片的,我们都知道FPGA是基于RAM结构的,下电后不能够保存,所以需要配一颗非易失的FLASH用于存储FPGA的配置数据,当FPGA上电后,它本身是空白的,但是通过专有的SPI接口连接到SPI FLASH将数据搬运到RAM上,然后FPGA就RUN起来了。SDR SDRAM是用于做扩展使用的,它既可以作为NIOS II处理器的RAM运行程序,也可以作为后续LCD等需要实时大数据量存储的应用。另外,上下两个32PIN的连接器,分别引出23个I/O管脚,将来各种扩展办卡就通过他们做文章了。

 

1.2 Cyclone III 系列FPGA器件简介

SF-CY3 FPGA核心板使用Altera公司的Cyclone III家族EP3C5E144C8器件,Cyclone III系列FPGA器件具有以下特性:

Cyclone III FPGA系列:一切皆有可能

前所未有的同时实现了低功耗、高性能和低成本

Cyclone® III FPGA系列前所未有的同时实现了低功耗、高性能和低成本,大大提高了您的竞争力。其特性以及Cyclone III FPGA体系结构为您的大批量、低功耗低成本应用提供了理想的解决方案。为满足您独特的设计需求,这一FPGA系列包括:

  • Cyclone III功耗最低、成本最低的高性能FPGA
  • Cyclone III LS具有安全特性、功耗最低的FPGA

Cyclone III LS器件具有200K逻辑单元、8 Mbits嵌入式存储器以及396个嵌入式乘法器,是高性能处理、低功耗应用的理想选择,包括:

轻松达到您的功耗目标

具有200K逻辑单元(LE)、8-Mbits存储器,而静态功耗不到1/4瓦,该系列设立了功耗标准。采用台积电(TSMC)的低功耗(LP)工艺技术进行制造,无论是通信设备、手持式消费类产品,还是软件无线电设备,这些FPGA都能够轻松满足您的功耗预算。

设计安全性

Cyclone III LS FPGA利用低功耗、高性能FPGA平台,在硬件、软件和知识产权(IP)层面上率先实现了一系列安全特性。一系列安全特性保护了您的IP不被篡改、逆向剖析和克隆。而且,这些器件还使您能够通过设计分离特性,在一个芯片中实现冗余功能,从而减小了实际应用的体积、重量和功耗。

全面的设计资源

为确保流畅、成功的设计流程,帮助您更快的将构思变为收益,Altera提供全面的Cyclone III FPGA设计环境,包括:

将您的设计从构思变为产品,更迅速推向市场。采用Cyclone III FPGA,一切皆有可能。

 

1.3 EP3C5E144C8器件资源一览

         在过去,衡量一个逻辑器件的资源情况,仅仅看他的逻辑资源便可知其一二,但随着制造工艺的不断进步,大量的存储器、乘法器资源可以很轻易的潜入到可编程逻辑器件之中,大大便利设用户的设计。所以,今天我们必须同时去衡量这些逻辑器件中所包含的存储器、乘法器甚至时钟、I/O的资源情况,毕竟他们也和我们的实际应用息息相关。Cyclone III器件采用了成熟的65ns工艺,除了拥有丰富的逻辑资源外,存储器资源、乘法器资源、时钟资源、I/O资源也非常丰富,可以满足大多数的中等规模以下的应用。从handbook中截下一个资源分布表,从这里我们便可对Cyclone III家族各个型号器件的资源情况一目了然。

         当然了,这里的资源情况,并不是我们SF-CY3板上那颗EQFP144封装器件的实际资源情况,它是EP3C5这个型号所有封装中最大支持的资源。不过,您也别嗤之以鼻,除了I/O数量不足182以外,其他的资源还真是实打实的。对于很多的工业应用来说,这个规模的FPGA器件足矣;对于初学者入门FPGA来说,那更是绰绰有余了,我还真不信有哪几个同学能够写下数万行代码充分的使用这颗芯片。总之,一句话,学习,不求最贵的(不过它已经够贵了),但求最适用的。

 

2 SF-CY3硬件电路解析

2.1 实物示意图

前面已经看过SF-CY3核心板的硬件框图,下面我们通过实物照片来认识下各个元器件。

 

3 SF-CY3购买清单

 

 

套件名称

主要配件

价格

淘宝链接

SF-CY3 PCB

SF-CY3PCB一块

资料光盘一张

RMB35

http://item.taobao.com/item.htm?spm=0.0.0.31.VcOHcT&id=22439740771

SF-CY3 单板

SF-CY3焊接好的板子一块

资料光盘一张

RMB168

http://item.taobao.com/item.htm?spm=686.1000925.1000774.6.2gQsNr&id=17149278627

SF-CY3 套件

SF-CY3焊接好的板子一块

资料光盘一张

5V/1A电压源一个

USB-Blaster下载线一条

RMB228

http://item.taobao.com/item.htm?spm=0.0.0.31.DRIlhF&id=22439872377

SF-BASE子模块

SF-BASE焊接好的板子一块

资料光盘一张

RMB99

http://item.taobao.com/item.htm?spm=686.1000925.1000774.5.Se3V7t&id=18922263863

SF-LCD子模块

SF-LCD电路板一块

3.5寸液晶屏一块

资料光盘一张

3M双面胶一片

RMB 139

http://item.taobao.com/item.htm?spm=0.0.0.0.4PtYiv&id=23699188598

 

 

 

SF-BASE子板

 

 

SF-LCD子板实验效果

 

 

SF-SENSOR/SF-LCD子板实验效果

 

 

 

 SF-CY3 FPGA套件开发指南Ver4.01 (by特权同学).part1.rar

SF-CY3 FPGA套件开发指南Ver4.01 (by特权同学).part2.rar

SF-CY3 FPGA套件开发指南Ver4.01 (by特权同学).part3.rar

 

 

 

 

 

楼主可见

  1. CrazyBingo 10#
    @特权同学
    。。。。。。。。。。。。。。
  2. 特权同学 9#
    谢谢各位的支持,节后会有V2.0,V3.0,......不断的送上
  3. 特权同学 8#
    @出口转内销
    如果速度比较低,影响可能不大;但是速度较高的时候,时钟网络延时多一点少一点就可能决定设计的成败。所以,非常重要。
  4. Hoki 7#
    这板子不错!
  5. lhlhualin 6#
  6. 陈晨 5#
  7. zhoujie9220 4#
    看看
  8. 出口转内销 3#

    特权同学:

    您在SF-CY3 FPGA核心板开发指南里提到SDRAM的时钟需要由专用的PLL时钟输出脚提供,这很重要吗?

    Cyclone I 的PLL时钟输出必须通过特定管脚,否则编译不能通过。可是Cyclone III似乎没有这个限制,不用专用管脚输出时钟到底有多大差别?

    望不吝赐教!

  9. king83585318 2#
    顶下  谢谢   学习了
  10. God_of_Death 1#
    哈哈,抢个沙发,支持一下。