ICE40UP5k FPGA学习平台电路的设计、项目需求以及相关参考资源
收藏
分享
脑图
ICE40UP5k FPGA学习平台电路的设计、项目需求以及相关参考资源
MCU vs FPGA
共性
逻辑/处理
输入输出
时钟/定时
多任务/多线程
总线
SPI
I2C
UART
模拟输入/输出
ADC
DAC
差异
MCU - 单兵作战
FPGA - 群殴
核心板
特性
基于Lattice的FPGA - ICE40UP5K
通过LPC11U35进行下载及UART配置/通信
U盘的方式拖拽下载
注意:需要生成rbt格式的文件
板上ISP焊点可以用于升级LPC11U35的固件
板上一颗R、G、B三色LED,分别连接FPGA的三根专用于驱动LED的管脚39、40、41,可以用于状态显示及数字逻辑实验
最高24mA
一个RESET按键,用于对RISC-V系统进行复位
总计28根输入/输出可用于扩展
板上晶体振荡器时钟产生12MHz供FPGA和LPC11U35工作(使用温度传感器的时候不能使用外部时钟),FPGA可以通过内部锁相环工作于更高频率。
一个温度传感器,用作温度测量 - 兼容树莓派Pico的功能
2个高速比较器,搭配FPGA的逻辑实现ADC的功能 - 兼容树莓派Pico的功能
同USB直接连接的5V输出以及经板上LDO产生的3.3V直流电压输出,可以给扩展板供电,电流为200mA
原理图
特性
2个按键输入
4个单色LED
12个WS2812B RGB三色灯(同核心板上的R、G、B三色灯不同)
1个姿态传感器
1个128*64 OLED显示屏,SPI总线连接
1个蜂鸣器
1个可调电位计(用于电压表,提供可变电压源)
1路音频信号输入(用做示波器信号源)
8位R-2R电阻网络构成的DAC(用于DDS信号发生器)
项目
项目1 - 利用ADC制作一个数字电压表
要求
旋转电位计可以产生0-3.3V的电压
利用板上的串行ADC对电压进行转换
将电压值在板上的OLED屏幕上显示出来
技能点
使用比较器制作一个Sigma Delta的串行ADC
OLED的显示驱动
数值的变换
项目2 - 利用PWM制作一个音乐播放器
要求
通过PWM产生不同的音调,并驱动板上蜂鸣器将音调输出
能够播放三首不同的曲子,每个曲子的时间长度为1分钟,可以切换播放
曲子的切换使用小脚丫核心板上的按键,需要有按键消抖的功能
播放的曲子的名字在OLED屏幕上显示出来(汉字显示)
技能点
PWM
按键输入及消抖
OLED的显示驱动
OLED的字符显示
项目3 - 利用DAC制作一个可调波形、频率、幅度、直流偏移的DDS信号发生器
要求
能够产生正弦波、三角波、方波,可以通过小脚丫上的拨码开关控制波形的切换
产生信号的幅度0-3Vpp之间可调,调节分辨率精确到10mV,可以通过电位计进行调节
产生信号的频率100Hz - 2MHz之间可调,频率调节分辨率可达10Hz
将1KHz - 10KHz频率范围的信号同时送到蜂鸣器,驱动蜂鸣器发出声音,调节频率和信号的幅度会改变蜂鸣器的声音输出
产生的波形、波形的幅度、波形的频率都实时显示在OLED屏幕上
技能点
DDS
波形改变
幅度调节
频率调节
按键控制
PWM
OLED显示驱动
项目4 - 声音控制的节日彩灯
要求
利用扩展板上的麦克风输入电路,将放大以后的音频信号通过核心板上的比较器构成的ADC进行量化(8bit分辨率即可)
量化后的音频信号的音量和频率来控制扩展板上12个WS2812B,来产生不同的效果
手机播放音乐,来控制彩灯
OLED上通过波形显示被量化的音频信号的波形和频谱,波形和频谱可以切换
技能点
利用高速比较器制作ADC
波形显示及FFT频谱分析
WS2812B彩灯单线时序控制
OLED的显示驱动
项目5 - 可定时的音乐时钟
要求
使用扩展板上的12颗彩灯对应于12个小时
核心板上的FPGA产生时钟,在OLED显示评上通过模拟或者数字的方式显示当前的时间 - 小时、分、秒
将“小时”的信息通过12颗彩灯来显示,效果自行设计
具有定时的功能,通过扩展板上的按键设置时间,到该时间点即(彩灯闪烁 + 音频播放),持续5秒钟时间
音频播放通过扩展板上的蜂鸣器来实现
技能点
时钟分频、计时、定时
按键输入、消抖
PWM、音频播放
WS2812B彩灯单线时序控制
项目6 - 用彩灯显示的水平仪/节日焰火
要求
利用扩展板上的MMA7660姿态传感器来感知板子的角度
用扩展板上的12颗彩灯以灯光流动的方式显示板子的角度信息
用扩展板上的12颗彩灯制作焰火的效果,并通过板子的角度变换来改变焰火的显示效果
同时通过蜂鸣器播放节日音乐
技能点
姿态传感器的信息读取及处理
I2C总线
数据处理
WS2812B彩灯单线时序控制
项目7 - 音频信号采集/FFT频谱分析
要求
扩展板上的麦克风将声音信号转变为模拟电信号
利用核心板上的比较器构成Sigma Delta ADC对音频模拟信号进行采集
量化后的信号在OLED显示屏上进行波形显示
同时利用FPGA内部的乘法器对采集到的信号进行FFT变换,将变换后的频谱显示在OLED上
能够计算并显示出信号的频率、幅度、谐波分量
技能点
串行ADC的制作
数据采集及信息处理
OLED的显示
SPI总线
FFT变换
数据计算
项目8 - 计数器/频率计
要求
利用核心板上的高速比较器 + PWM构成的直流偏置电压生成,对外部信号进行频率测量和占空比测量
将测量的频率和占空比的结果显示在OLED屏幕上
测试信号可以来自核心板自己产生的PWM信号 - 可调频率、可调占空比,通过杜邦线将PWM输出的信号连接到比较器的输入端
技能点
频率测量、周期测量、占空比测量
OLED显示驱动
SPI总线
PWM
项目9 - RISC-V软核的设计或移植
要求
设计或移植一款RISC-V软核(网上有很多)
基于该软核做一些简单的扩展:
能够点量核心板和扩展板上的LED
能够识别扩展板上的按键
扩展SPI接口功能,能够在扩展板的OLED上显示信息
扩展I2C接口功能,能够读取MMA7660姿态传感器的信息,并显示在OLED上
能够读取核心板上18B20的温度传感器的信息,显示在OLED上
技能点
RISC-V软核的移植
外设扩展
软件编程
项目10 - SDR通信数据收发系统(调制信号的观察需要测量仪器)
要求
FPGA+R-2R DAC产生FM信号,载波频率为10.7MHz,频带宽度为50KHz,可以用频谱仪查看产生信号的频谱
通过核心板的高速比较器+FPGA逻辑构成的ADC对输入的10.7MHz的载波调制信号进行采样
FPGA逻辑完成FM解调
FPGA将姿态传感器的状态信息通过FM调制发射出去,再通过FM解调将数据恢复出来,通过核心板上的UART总线发到上位机PC上,在PC的串口助手中显示当前姿态传感器的信息
技能点
DDS/数字调制
中频采样
数字变频
数字解调
UART
参考资源
搜索电子森林
图片模式
评论
0 / 100
查看更多
硬禾发布
2022-01-11
1373
FPGA
寒假在家一起练
ICE40
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号