差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
pbl2022winter [2021/11/30 17:39] gongyusu [项目3 - 基于ESP32的网络收音机] |
pbl2022winter [2022/12/06 11:48] (当前版本) gongyu |
||
---|---|---|---|
行 1: | 行 1: | ||
+ | [[pbl2023winter|2023年寒假在家一起练]] | ||
+ | |||
## 2022年寒假在家一起练项目 | ## 2022年寒假在家一起练项目 | ||
+ | |||
**活动的目的:** | **活动的目的:** | ||
* 通过一系列动手编程的项目加强对书本知识/理论的理解、分析问题解决问题的能力、撰写文档报告/展示自己的能力 | * 通过一系列动手编程的项目加强对书本知识/理论的理解、分析问题解决问题的能力、撰写文档报告/展示自己的能力 | ||
行 11: | 行 14: | ||
* 硬禾学堂会将参加活动发布项目的学生按照“学校”来进行组织、展示,以便未来同企业项目的对接 | * 硬禾学堂会将参加活动发布项目的学生按照“学校”来进行组织、展示,以便未来同企业项目的对接 | ||
* 硬禾学堂会选出最优秀的50个项目给予一定的奖励,并向知名企业内推实习的机会(上海、苏州、深圳、北京) | * 硬禾学堂会选出最优秀的50个项目给予一定的奖励,并向知名企业内推实习的机会(上海、苏州、深圳、北京) | ||
+ | * 各校实验室可以根据自己的情况自行命题并给同学搭配套件 | ||
行 43: | 行 47: | ||
* 姿态传感器的使用 | * 姿态传感器的使用 | ||
- | #### 题目- 总计4个项目,任选其中一个项目完成并按照要求开源、分享在电子森林的项目平台 | + | #### 题目- 总计8个项目,任选其中一个项目完成并按照要求开源、分享在电子森林的项目平台 |
##### 项目1 - 模拟信号采集及参数分析 | ##### 项目1 - 模拟信号采集及参数分析 | ||
行 67: | 行 71: | ||
##### 项目4 - 复古游戏移植 | ##### 项目4 - 复古游戏移植 | ||
- 设计或移植一款经典的游戏,通过LCD屏显示,通过按键和四向摇杆控制游戏的动作 | - 设计或移植一款经典的游戏,通过LCD屏显示,通过按键和四向摇杆控制游戏的动作 | ||
+ | - 经典的Pong | ||
+ | - 挖地雷 | ||
+ | - 打飞机 | ||
+ | - 俄罗斯方块 | ||
- 在游戏中要通过蜂鸣器播放背景音乐 | - 在游戏中要通过蜂鸣器播放背景音乐 | ||
- | 以上的4个项目不限用MicroPython或C/C++语言编写。 | + | ##### 项目5 - 制作MCU调试器 |
+ | - 使用板上的扩展端口 | ||
+ | - 支持SWD | ||
+ | ##### 项目6 - 制作FPGA调试器 | ||
+ | - 可以实现对FPGA的JTAG调试 | ||
- | ### 平台2 基于STM32G031的简易口袋仪器平台 | + | ##### 项目7 - 制作SPI/I2C调试器 |
- | 硬禾学堂会开源一套完整的、支持所有功能的程序做参考 | + | - 可以调试SPI/I2C的外设,对外设进行配置,并能够读取外设的参数信息 |
+ | - 可以使用PC界面或板上的LCD/按键来操作 | ||
+ | ##### 项目8 - 制作8位逻辑分析仪 | ||
+ | - 使用RP2040的PIO制作一个逻辑分析仪 | ||
+ | - 在LCD上显示数据波形 | ||
+ | - 可以使用PC界面或板上的LCD/按键来操作 | ||
+ | |||
+ | 以上的8个项目不限用MicroPython或C/C++语言编写。 | ||
+ | |||
+ | |||
+ | ### 平台2 基于STM32G031的数据采集和分析训练 | ||
+ | 硬禾学堂会开源一套完整的、支持所有功能的程序做参考 | ||
{{ :g031tm_3d.png |}} <WRAP centeralign> 基于STM32G031的测试测量学习套件的3D效果图 </WRAP> | {{ :g031tm_3d.png |}} <WRAP centeralign> 基于STM32G031的测试测量学习套件的3D效果图 </WRAP> | ||
行 106: | 行 129: | ||
- 改变测试信号的幅度,测试音频放大电路的动态范围 | - 改变测试信号的幅度,测试音频放大电路的动态范围 | ||
- 通过仿真软件对音频放大电路做仿真,并对比实际测试结果 | - 通过仿真软件对音频放大电路做仿真,并对比实际测试结果 | ||
+ | |||
+ | ##### 项目3 DC-100KHz的DDS任意波形发生器 | ||
+ | ##### 项目4 扫频信号分析仪 | ||
+ | ##### 项目5 幅频特性测试仪 | ||
+ | ##### 项目6 失真度测试仪 | ||
+ | ##### 项目7 数字电能表 (搭配外部传感器) | ||
### 项目3 - 基于ESP32-S2的物联网音频处理平台 | ### 项目3 - 基于ESP32-S2的物联网音频处理平台 | ||
+ | {{ :esp32board.jpg |}}<WRAP centeralign> ESP32-S2音频收发处理板 </WRAP> | ||
+ | |||
+ | {{ :esp32_audio_block.png |}} <WRAP centeralign> ESP32-S2音频收发处理板内部功能框图 </WRAP> | ||
+ | |||
#### 提升的技能: | #### 提升的技能: | ||
行 126: | 行 159: | ||
* 系统能够自动校时,开机后自动调节到准确的时间(年、月、日、时、分、秒) | * 系统能够自动校时,开机后自动调节到准确的时间(年、月、日、时、分、秒) | ||
- | ##### 项目2 音效处理和显示 | + | ##### 项目2 实现FM收音机的功能 |
- | * 通过Mic或耳机插孔输入语音,ESP32对采集量化后的语音信号进行处理(处理的内容待定) | + | * 可以通过FM接收电台信号,并播放出来 |
- | * 处理前和处理后的语音信号(数字信号)在电脑显示屏上进行显示(通过WiFi连接电脑),要求显示波形和频谱,能够对处理前和处理后的音频信号在时域和频域进行对比 | + | * 通过OLED显示电台的频率 |
- | * 处理后的信号通过DAC变换的到模拟信号,并通过喇叭或耳机进行音频播放 | + | |
##### 项目3 音频信号示波器/频谱仪: | ##### 项目3 音频信号示波器/频谱仪: | ||
- 将Mic或耳机插孔输入的语音信号进行ADC量化,并在OLED显示屏上将波形和频谱显示出来,并能够自动测量输入信号的参数 - 峰峰值、频率分量 | - 将Mic或耳机插孔输入的语音信号进行ADC量化,并在OLED显示屏上将波形和频谱显示出来,并能够自动测量输入信号的参数 - 峰峰值、频率分量 | ||
- 通过DAC生成一个单频的模拟正弦波信号,将生成的波形连接到麦克风输入端,并进行ADC采集,再将采集到的波形显示在OLED屏上,并测量出其峰峰值、平均值、频率/周期 | - 通过DAC生成一个单频的模拟正弦波信号,将生成的波形连接到麦克风输入端,并进行ADC采集,再将采集到的波形显示在OLED屏上,并测量出其峰峰值、平均值、频率/周期 | ||
+ | |||
+ | ##### 项目4 基于Web的音频示波器及FFT频谱分析 | ||
+ | * 利用开源的Web页面示波器显示软件,通过Wifi连接 | ||
+ | * 将板上音频信号进行采集通过WiFi发送到网页上进行显示、分析 | ||
+ | |||
+ | ##### 项目5 音效处理和显示 | ||
+ | * 通过Mic或耳机插孔输入语音,ESP32对采集量化后的语音信号进行处理(处理的内容待定) | ||
+ | * 处理前和处理后的语音信号(数字信号)在电脑显示屏上进行显示(通过WiFi连接电脑),要求显示波形和频谱,能够对处理前和处理后的音频信号在时域和频域进行对比 | ||
+ | * 处理后的信号通过DAC变换的到模拟信号,并通过喇叭或耳机进行音频播放 | ||
+ | |||
+ | ##### 项目6 本地语音识别和控制 | ||
+ | * 本地语音识别,能够用语音控制声音的播放/暂停 | ||
+ | |||
+ | ##### 项目7 制作一个本地气象台/温度计 | ||
+ | * 利用OLED显示 | ||
+ | * 显示当前本地的时间、温度和气象信息 | ||
+ | |||
+ | ##### 项目8 网络存储 | ||
+ | * 利用板上USB OTG制作网盘 | ||
+ | * 能够通过网页对该网盘进行保存和读取 | ||
+ | |||
+ | ##### 项目9 连接阿里云 | ||
+ | |||
+ | ##### 项目10 远程遥控 | ||
+ | * 利用板上的红外接收器,用遥控器控制网页界面上的按钮 | ||
+ | |||
+ | |||
### 平台4 - 基于iCE40UP5K FPGA的综合训练平台 | ### 平台4 - 基于iCE40UP5K FPGA的综合训练平台 | ||
+ | {{ :ice40_learning.png |}} | ||
- | #### 3 提升的技能 | + | #### 提升的技能 |
* FPGA编程 | * FPGA编程 | ||
* 协议原理 - SPI、I2C、UART | * 协议原理 - SPI、I2C、UART | ||
* 图形化显示 - OLED | * 图形化显示 - OLED | ||
* DDS产生任意波形、高速DAC的构成及使用 | * DDS产生任意波形、高速DAC的构成及使用 | ||
- | * 串行ADC的应用及数据采集 | + | * 串行ADC的构成、应用及数据采集 |
* 温度传感器数据采集及显示 | * 温度传感器数据采集及显示 | ||
* PWM的工作原理,应用及音乐播放 | * PWM的工作原理,应用及音乐播放 | ||
- | #### 4 题目,任选其中一个项目完成并按照要求开源、分享在电子森林的项目平台 | + | #### 题目,任选其中一个项目完成并按照要求开源、分享在电子森林的项目平台 |
##### 项目1 - 利用ADC制作一个数字电压表 | ##### 项目1 - 利用ADC制作一个数字电压表 | ||
行 166: | 行 226: | ||
- 产生的波形、波形的幅度、波形的频率都实时显示在OLED屏幕上 | - 产生的波形、波形的幅度、波形的频率都实时显示在OLED屏幕上 | ||
- | ##### 综合性题目 - 制作一个可以上位机控制的可调波形、幅度、频率输出的信号发生器 | + | ##### 项目4 - 声音控制的节日彩灯 |
- | {{ :fpga_labview.png |}} | + | |
- | - 能够产生正弦波、三角波、方波,可以通过小脚丫上的拨码开关控制波形的切换 | + | ##### 项目5 - 可定时的音乐时钟 |
- | - 产生信号的幅度0-3Vpp之间可调,调节分辨率精确到10mV,可以通过电位计进行调节 | + | |
- | - 产生信号的频率100Hz - 2MHz之间可调,频率调节分辨率可达10Hz | + | ##### 项目6 - 用彩灯显示的水平仪/节日焰火 |
- | - 将1KHz - 10KHz频率范围的信号同时送到蜂鸣器,驱动蜂鸣器发出声音,调节频率和信号的幅度会改变蜂鸣器的声音输出 | + | |
- | - 产生的波形、波形的幅度、波形的频率都实时显示在OLED屏幕上 | + | ##### 项目7 - 音频信号采集/FFT频谱分析 |
- | - 在PC上编写控制界面,可以采用LabView、Matlab或其它工具,在PC上通过界面改变波形、波形的幅度和频率参数,并通过UART将设置传输到FPGA板上对波形进行调节 | + | |
- | - PC的控制和板卡上的控制可以同时有效 | + | ##### 项目8 - 计数器/频率计 |
+ | |||
+ | ##### 项目9 - RISC-V软核的设计或移植 | ||
+ | |||
+ | ##### 项目10 - SDR通信数据收发系统 | ||
+ | {{drawio>ice40sdrblock.png}} | ||
----- | ----- | ||
### 平台5 基于小脚丫FPGA的电赛综合训练平台 | ### 平台5 基于小脚丫FPGA的电赛综合训练平台 | ||
+ | {{ :fpga_contest_board.png |}} <WRAP centeralign>基于小脚丫FPGA的电赛训练板 </WRAP> | ||
+ | |||
+ | {{ :fpga_contest_block.png |}} <WRAP centeralign>基于小脚丫FPGA的电赛训练板构成 </WRAP> | ||
#### 提升的技能点 | #### 提升的技能点 | ||
#### 项目设计 | #### 项目设计 | ||
+ | |||
+ | ##### 项目1 - 单通道示波器/OLED显示 | ||
+ | - 通过板上高速ADC(10bits/50Msps)采集模拟信号,并能够在OLED上显示出波形以及频率/幅度参数 | ||
+ | - 被采集信号的频率范围为DC - 1MHz | ||
+ | - 如没有外接信号源,可以通过板上的高速DAC产生任意波形或通过GPIO产生频率可调、占空比可调的PWM波形作为测试信号 | ||
+ | - 按键/旋转编码器可以控制波形的时间和幅度的缩放,按键的功能可以自行定义 | ||
+ | |||
+ | ##### 项目2 - 单通道示波器/PC页面显示 | ||
+ | - 通过板上高速ADC采集模拟信号,将采集到的数据通过串口发送到PC上,通过PC上的界面进行显示 | ||
+ | - 被采集信号的频率范围为DC - 1MHz | ||
+ | - PC上的界面显示可以使用Matlab、LabView或开源的串口调试工具 | ||
+ | - 如没有外接信号源,可以通过板上的高速DAC产生任意波形或通过GPIO产生频率可调、占空比可调的PWM波形作为测试信号 | ||
+ | - 按键/旋转编码器可以控制波形的时间和幅度的缩放,按键的功能可以自行定义 | ||
+ | |||
+ | ##### 项目3 - DDS任意波形发生器/本地控制 | ||
+ | - 通过板上的高速DAC(10bits/125Msps)配合FPGA内部DDS的逻辑,生成波形可调(正弦波、三角波、方波)、频率可调(DC-)、幅度可调的 | ||
+ | |||
+ | ##### 项目4 - DDS任意波形发生器/PC远程控制 | ||
+ | - | ||
+ | |||
+ | ##### 项目5 - 高速频率计/计数器 | ||
+ | |||
+ | |||
+ | ##### 项目6 - 元器件特性测试 | ||
+ | |||
+ | ##### 项目7 - 扫频仪 | ||
+ | |||
+ | ##### 项目8 - 频谱分析仪 | ||
+ | |||
+ | ##### 项目9 - 逻辑分析仪/协议分析仪 | ||
+ | |||
+ | ##### 项目10 - FM发射机 | ||
+ | |||
+ | ##### 项目11 - FM接收机 | ||
+ | |||
+ | ##### 项目12 - SDR无线数据传输系统 | ||