“硬禾电子基础学习十日谈”系列课程,是上海市学生事务中心、上海市电子学会,利用上海研究生创新实践系列活动平台“上海競创”,联合硬禾学堂,由硬禾资深讲师和业内多位一线专业人士主讲所推出的一系列线上课程,涵盖众多电子相关技术知识,并在5月1日前向所有在校学生开放免费注册。免费优惠券获取方式请见此文。
大家提起来FPGA,经常都是高大上的应用——人工智能神经网络加速,计算机视觉,视频接口,CPU软核等等。于是很多人都觉得FPGA很高深,要在技术门槛很高的领域应用,学习起来很困难。而实际上FPGA在非常多的场合都适合应用,硬禾学堂也持续给大家带来多个层次不同应用场景的FPGA课程。而下周我们来讲用一块简单的自己就能设计的FPGA板子,把在PC端用Matlab生成的波形送出,实现信号发生器的功能,且波形随时可变。
这门课程面向电子专业的学生和工程师,以硬禾实战营项目实战的训练方式,利用10期课程时间带领大家从项目分析到设计架构,从数字逻辑到FPGA开发,从Verilog HDL语言学习到功能模块设计,从UART串口协议到DDS原理解析,最终完成基于Matlab和FPGA的DDS可编程信号发生器设计。
课程由硬禾团队的资深硬件工程师和硬禾实战营资深导师王安然主讲。王老师多年从事FPGA硬件开发调试工作,对测试测量方面有深入的研究与见解,非常擅长PCB硬件设计、FPGA体系架构及开发。
总结起来,王老师将会在课程中带领大家掌握下面这些技能:
- FPGA基础知识及开发设计流程
- VerilogHDL语言编程应用
- IP核例化应用及Reveal在线分析
- UART通信协议和DDS原理分析及FPGA驱动模块的设计
- Matlab数据处理应用及与FPGA通信联调
- 虚拟仪器ADALM2000在测试测量中的日常使用
这对于提升硬件专业技能、备战电子设计竞赛或者电子产品DIY都是一次很好的训练。如果前两周还有跟着陈强老师的《十天学会用KiCad设计FPGA开发板》课程把外设板子做出来的话,结合本次课程,就能完成一个完整系统的制作,得到一个非常好用的信号发生器。对于电赛的同学来说,在电赛的时候拿起来就能用了。
如果没有自己做板子,也没关系,我们专门为本次课程做好了配套实验板,插上小脚丫FPGA开发板就能直接用了(识别下方二维码查看详情)。
配套实验板详情
点开下图长按识别二维码进入直播间,预定跟王老师的十天FPGA设计之旅吧。
最后送上课程大纲,我们下两周周一到五下午4点准时上课。
第一天:电子系统设计流程及项目介绍
- 可编程信号发生器项目介绍、功能演示
- 硬件平台介绍、环境搭建
- 项目需求分析
- 项目方案对比、选择
- 硬件平台及其Kicad设计介绍
- LatticeDiamond介绍
- Matlab介绍
第二天:认识FPGA
- FPGA的概念、架构、特点、实现原理及小脚丫FPGA核心板介绍
- FPGA的设计流程演示
- FPGA的仿真流程演示
- FPGA学习资源推荐
第三天:组合逻辑及Verilog HDL学习
- VerilogHDL语言和语法介绍
a. 基本变量类型:线网型变量、寄存器型变量 b. 基本描述方式:数据流描述、行为级描述、实例化模型 c. 基本赋值方式:阻塞赋值、非阻塞赋值
- 38译码器和数码管驱动设计
- FPGA设计报告的理解
a. 资源消耗
b. RTL Netlist c. Floorplan View d. Physical View
- 时序仿真理解组合逻辑
a. 竞争 b. 冒险
第四天:时序逻辑及Verilog HDL学习
- VerilogHDL语言和语法介绍
- 触发器和时序逻辑的理解
a. 触发器的时序性
i. 建立时间setup time ii. 保持时间hold time b. 设计最大运行速率 c. Pipeline“流水线”设计
- 计数器和流水灯设计实现
- FPGA层次化设计和模块化设计
- PWM脉宽调制的设计与应用
a. PWM调LED灯亮度 b. 呼吸灯 c. PWM+RC电路实现DAC
第五天:有限状态机FSM设计学习
- 有限状态机的概念、特征、结构、电路组成
- 状态编码和状态转移图
- 有限状态机的设计流程
- 交通灯设计实现
第六天:IP核和Reveal在线分析工具使用
- Pll核例化使用及仿真演示
- 初始化文件获取和DP_RAM核例化
a. Excel b. Matlab c. 波表生成工具
- Reveal在线分析工具介绍
- RevealInserter配置及Reveal Analyzer分析演示
第七天:DDS原理与信号发生实现
- R2R电阻网络DAC介绍
- FPGA+R2R产生模拟输出
a. 锯齿波 b. 三角波 c. 方波 d. 正弦波
- DDS原理介绍及调频调相功能实现
- 简易拨码信号发生器设计
第八天:UART串口通信协议及实现
- UART通信的特点和应用
- UART通信协议和逻辑构成
- UART通信接收功能的Verilog实现
- UART通信数据传输验证
第九天:Matlab串口功能实现
- 简易串口信号发生器产生常见信号波形实现
- Matlab串口通信实现
- 查看Matlab串口通信的工作方式
- Matlab+简易串口信号发生器控制实现
第十天:基于Matlab和FPGA的DDS实现
- Matlab数据处理和UART数据发送方式确定
- 可编程信号发生器Logic_ctrl模块逻辑实现
- 8位简化可编程信号发生器实现
- 基于Matlab和FPGA的DDS实现及演示
本课程可以通过PC端访问(点击学习):https://class.eetree.cn/index
也可以通过小程序进行访问:
硬禾团队一直致力于给电子工程师和相关专业的同学,带来规范的核心技能课程,帮助大家在学习和工作的各个阶段,都能有效地提升自己的职业能力。
在过往的每一期硬禾实战营,我们都会通过高强度的封闭式实战项目训练,帮助学员掌握电子系统设计,以及调试过程中每一个环节的规范要点,陪伴他们成长为各自项目里的中坚力量。现在,我们秉承同样的宗旨,在硬禾学堂为大家带来更多的在线课程。