**这是本文档旧的修订版!**

数字逻辑、可编程逻辑及FPGA

数字逻辑基础

可编程逻辑

FPGA的构成及应用

FPGA设计流程

小脚丫FPGA学习平台介绍

小脚丫FPGA学习平台是摩尔吧孵化器专门针对FPGA初学者打造的一款性价比最高、学习门槛最低的学习模块,它以Lattice Semiconductor公司XO2-4000器件为核心,具有开关、按键输入以及单色LED、三色LED以及2个发光数码馆进行显示。其封装方式兼容标准的DIP40封装,能够直接插在面包板上或以模块的方式放置在其它电路板上以即插即用的方式,大大简化系统的设计。

功能介绍

  1. 食指大小——目前最小的FPGA开发板,尺寸52mm*18mm,即插即用;
  2. USB供电,自带板载编程器,无需额外配置FPGA下载线
  3. LCMXO2-1200,性价比最高最适合的FPGA芯片
  4. 既可作学习数字逻辑的FPGA开饭,也可作核心功能模块使用,适合各种DIY和原型设计
  5. 丰富的实例、代码支持

硬件连接

  1. FPGA芯片:LCMXO2-1200HC-4MG132
  2. USB 5V供电
  3. 25MHz时钟
  4. 3个LED,一路电源指示,两路用户LED
  5. 2个按键
  6. 2个RGB LED
  7. 一路I2C接口
  8. SPI接口(可设主从模式)
  9. JTAG接口
  10. 29个GPIO接口

使用方法

上电测试。Step FPGA开发板通过USB供电,采用了常见Micro USB接口。一般的安卓手机USB线均可使用。开发板出厂内置测试程序,上电后:

  1. Step FPGA开发板连接USB电源,电源指示灯点亮。
  2. 两个用户LED灯交替闪烁,间隔0.5秒。
  3. RGB LED闪烁分两种模式,上电默认流水灯模式。
    1. 流水灯:RGB LED交替闪烁红绿蓝。
    2. 交通灯:两个RGB LED异步闪烁红绿蓝,如同交通信号。
  4. 按键K2切换RGB LED显示模式。
  5. 按键K1用于复位功能。

扩展应用

Lattice Diamond综合开发环境

软件安装及配置

设计流程

综合

仿真

资源报告

经典案例

点亮LED灯

轮流点亮的流水灯

能够控制亮度的呼吸灯

旋转编码器控制

设计要求

FPGA接收编码器的信号,控制LED颜色的变换,编码器采用HRPG-AD32编码器。

方案设计
  1. 增量型旋转编码器有两路相位不同的信号输出,Phase A 和 Phase B,FPGA需要对这两路输入信号进行分析,判断出旋转的动作,输出一个加(up)或减(down)的脉冲信号。
  2. 同时,很多旋转编码器都有按键功能,除了旋转以外可以按下,这个按键和旋转是独立的。FPGA内部对按键进行了消抖动,并响应动作产生一个脉冲信号(keyout) - 改代码加入了现象的验证,输出为6位数据,可接上LED观看现象,旋转和按键会使LED产生流水灯效果 - 在小脚丫开发板上的现象如下图,两个三色LED会按照如图方式进行切换轮流显示。视频中可以观看到 ==硬件设计== 连接图中,主要有电源和GND,两路信号,按键信号(如果有按键),大地(接机壳,Avago HRPG-AD32#16F上没有按键,多了一个接机壳的地脚,仍然是5个脚) ==软件设计== FPGA程序结构 ==FPGA资源占用情况== 项目视频演示: ==本设计中用到的主要芯片== - LCMXO2-1200:Lattice FPGA,主频133Mhz,PBGA132封装(LCMXO2-1200数据手册) - Avago Technologies:HRPG AD32 16F,旋转编码器,(Avago HRPG-AD32#16F数据手册) - 小脚丫开发板:DIP40封装形式,小巧精悍的FPGA开发板,(小脚丫开发板相关信息) - 小脚丫FPGA开发板【自带编译器】至爱板网商城购买:点击购买 - 电路相关文件下载:http://www.cirmall.com/circuit/2704 ===交通灯控制=== ===简单的电子琴=== ===7段数码管=== ===LED点阵显示屏=== ===数字钟=== ===LCD显示控制=== ===DAC产生直流电压=== ===DAC生成正弦波=== ===基于DDS的任意波形产生=== ===直流电压测量=== ===简易示波器=== ===数字频率计=== ===超声波测距=== ===通用红外遥控=== ===MICO8单片机=== ===MICO32处理器===