{{ :welcometostepfpga.png?900 |}}
### 1. FPGA最小系统模块
基于小脚丫[[stepfpgaboard|FPGA核心模块]]的FPGA学习平台是苏州思得普科技公司专门针对FPGA初学者打造的性价比最高、学习门槛最低的学习模块系列。系列中所有板子的大小兼容标准的[[DIP40]]封装,尺寸只有52mm x 18mm,非常便于携带;并通过MicroUSB端口(最先版本支持USB Type C接口)进行供电和下载,板上选用的芯片兼具了FPGA和CPLD的优点,瞬时上电启动,无需外部重新配置FPGA,是学习数字逻辑绝佳的选择。而且能够直接插在面包板上或以模块的方式放置在其它电路板上以即插即用的方式,大大简化系统的设计。
[[stepfpgaboard|{{ :webidestepfgau.png?820 |}}]]
[[stepfpgaboard|FPGA核心模块]]
**特色**
* 小巧 — 是目前市场上最小的FPGA开发板,只有一根食指大小。兼容DIP40封装,尺寸52mm*18mm,即插即用;
* 方便 — MicroUSB供电(最新版本为Type C供电),携带方便;
* 易学 — 容易上手,只需花1到2个小时就能上手开始设计,自行开发的Web IDE不需要下载安装软件,在任何操作系统的浏览器里可以直接编程;
* 强大 — 精心挑选的FPGA芯片,兼具CPLD和FPGA优点,瞬时上电无需外接配置Flash,是性价比最高最适合的FPGA芯片;
* 灵活 — 既可作学习数字逻辑的FPGA开饭,也可作核心功能模块使用,适合各种DIY和原型设计,乃至产品中;
* 资源 — 丰富的实例、代码支持;
### 2. 扩展板卡
小脚丫FPGA模块是兼容标准[[DIP40]]封装的核心板,但该板的功能有限,只是支持一些简单的按键和开关输入、LED/数码管输出,因此更多的功能可以通过扩展来实现,扩展的方式主要有以下三种:
* 全功能学习平台:丰富的外设接口,非常适用于数字系统设计实验、EDA实验,并提供全套的设计资料和代码参考
* 综合训练板:在小巧的板卡上集成了常用的功能 - ADC、DAC、传感器、UART通信、蜂鸣器等,适合一些综合性项目的实战训练
* 扩展功能模块:基于我们定义的、基于mini PCIe连接器的扩展接口卡,我们开发了多种常用的功能模块,也方便用户自己开发功能模块
[[step-baseboard|{{ ::STEP BaseBoard V3.0.jpg?500 |}}]] [[step-baseboard|FPGA全功能学习平台]]
[[stepdevkit|{{ :steptraining.png?500 |}}]] [[stepdevkit|FPGA综合训练板 ]]
[[contest_training_board|{{ :fpga_contest_training_board.png |}}]] [[contest_training_board|电赛综合训练板]]
[[step_module|{{ ::dotmatrixshield正面.png?500 |}}]] [[step_module|FPGA扩展功能模块]]
### 3. 丰富、开源的项目示例
#### 3.1 数字电路实验教程
[[digital_circuit_exp|数字电路实验]]
- [[hb_led|LED心跳灯]]: 也叫“心跳灯”,软件编程从“Hello world”开始,FPGA编程从点亮LED灯开始,通过这个最基本的功能掌握LED工作原理和了解Verilog程序基本结构
- [[译码器]]: 掌握组合逻辑的设计
- [[乘法器]]:掌握乘法器的设计
- [[waterfall_led|流水灯]]:掌握时钟分频、时序控制
- [[序列检测器]]:掌握有限状态机的设计
- [[7-seg_disp_verilog|7段数码管]]:掌握数码管的驱动显示
#### 3.2 进阶实验
- [[按键消抖]]:掌握按键去抖动的设计
- [[pulse_gen|脉冲发生器]]:掌握PWM波形发生的设计
- [[breath_led|呼吸灯]]:通过PWM来控制LED灯的亮度
- [[rgb_led|三色灯颜色和亮度控制]]:通过控制RGB三个灯的亮度可以得到不同颜色和亮度的灯光效果
- [[旋转编码器控制]]:通过相位检测
- LCD显示:掌握LCD液晶显示驱动的设计
#### 3.3 高阶实验
- 带计时功能交通灯:
- 简易电子琴:
- 数字时钟:
- [[任意波形产生]]:通过[[DDS|直接数字合成的方式]]从内建的波形表中按照相位控制字获取相应相位的波形幅度值,再通过DAC得到模拟的任意频率的信号,改变波形表中的信号波形,即可得到不同的模拟波形输出。
- [[直流电压测量]]:通过SPI串行总线的低速模数变换器ADC将被测量的直流电压变换为数字量,在LED(8个)上通过点亮不同的LED显示其电压幅度,也可以通过4个7段发光数码管显示其电压值,或在LCD上以数字量的方式显示实际的电压值,将0-255的数字量转变为0-3.3V的直流电压值。
- [[简易示波器]]
#### 3.4 在FPGA内通过软核构成嵌入式系统
XO2-4000内部有足够的逻辑功能构成[[MCU]]中的[[ALU]],内部的块RAM可以构成MCU需要的内部存储寄存器,另外XO2系列有硬化的[[SPI]]、[[I2C]]以及定时器功能,可以构成各种8位、32位的微处理器MCU,[[Lattice_fpga|Lattice Diamond]]系统自带支持Wishbone总线的8位单片机[[MICO8单片机]]内核以及32位的[[MICO32处理器]]内核。据说这两个内核都是来自于著名的开源硬件网站www.opencores.org,在这个网站上可以看到各种经过工程师验证过的内核,比如[[8051]]、OpenRisc、[[AVR]]、MIPS32,有兴趣的同学可以移植到我们的小脚丫平台上。
- [[MICO8单片机]]
- [[MICO32处理器]]
- [[fpga_soft_core|fpga项目_软核处理器]]
[[AdamTaylorFPGA|FPGA大神Adam Taylor向FPGA开发者推荐的20个资源网站]]
### 4. 快速上手教程
* [[lattice_fpga|快速上手STEP-MXO2第二代]]
* [[快速上手STEP-MXO2-C|快速上手STEP-MXO2-C]]
* [[快速上手STEP-MAX10]]
* [[STEP-MXO2入门教程]]
* [[STEP-MAX10入门教程]]