MachXO开发板外设驱动入门
📚 共计 30 章节
01
MachXO开发板初识
了解MachXO系列FPGA特点、硬件资源(LED/按键/蜂鸣器/数码管/UART/SPI Flash)、Diamond环境安装激活
硬件概览
环境搭建
02
第一个工程
创建Diamond工程、Verilog点亮LED、综合布局布线、下载比特流
入门
LED
03
Verilog基础语法 (上)
模块结构、端口定义、assign、always块、阻塞与非阻塞赋值
语法
组合逻辑
04
Verilog基础语法 (下)
参数化设计、generate、任务与函数、状态机基础
参数化
状态机
05
LED流水灯驱动
流水灯原理、移位寄存器、计数器分频、参数化设计
LED
分频
06
按键输入与消抖
机械抖动原理、硬件/软件消抖、边沿检测、按键控制LED
按键
消抖
07
蜂鸣器驱动
有源/无源蜂鸣器、PWM原理、分频产生频率、播放简单旋律
PWM
蜂鸣器
08
数码管静态显示
共阴/共阳原理、段选位选、BCD译码器、静态驱动
数码管
静态
09
数码管动态扫描
动态扫描原理、刷新频率、多位数码管驱动、显示数字字母
动态扫描
刷新
10
UART串口通信 (上)
UART协议(起始/数据/校验/停止)、波特率发生器设计
UART
波特率
11
UART串口通信 (下)
发送模块、接收模块设计、回环测试
UART
回环
12
SPI Flash驱动 (上)
SPI协议(四线/CPOL/CPHA)、W25Q64指令集
SPI
Flash
13
SPI Flash驱动 (下)
SPI控制器设计、读ID、擦除/写入、数据验证
SPI
读写
14
I2C总线驱动
I2C协议(SCL/SDA/起始停止/应答)、控制器设计、读写EEPROM
I2C
EEPROM
15
PWM输出与呼吸灯
PWM详解、占空比调节、呼吸灯实现、软件/硬件PWM对比
PWM
呼吸灯
16
定时器与计数器
定时器原理、计数器设计、PWM生成、看门狗概念
定时器
看门狗
17
中断系统设计
中断概念、优先级、边沿/电平触发、按键中断实例
中断
优先级
18
状态机设计实践
Moore/Mealy型、三段式写法、交通灯控制器实例
状态机
交通灯
19
FIFO缓存设计
同步/异步FIFO、读写指针、空满标志、深度计算
FIFO
缓存
20
RAM与ROM实现
Block RAM/Distributed RAM、单/双口RAM、ROM初始化、查找表
RAM
ROM
21
时钟管理单元
PLL/DLL原理、Diamond配置PLL、多时钟域、分频倍频
PLL
时钟
22
跨时钟域同步
亚稳态、双级触发器同步器、多比特同步(FIFO/握手)、格雷码
跨时钟域
亚稳态
23
SPI外设驱动 (ADC/DAC)
SPI模式配置、ADS1115驱动、MCP4921驱动、数据采集输出
ADC
DAC
24
LCD1602液晶驱动
LCD1602时序、初始化、写命令/数据、显示字符串与自定义字符
LCD
字符显示
25
OLED显示屏驱动
SSD1306驱动、I2C/SPI接口、显示汉字图片、滚动显示
OLED
SSD1306
26
温度传感器驱动
DS18B20单总线协议、温度读取、CRC校验、数码管显示
温度
单总线
27
红外遥控解码
NEC协议、载波调制、红外接收头、解码键值、控制LED
红外
NEC
28
电机驱动控制
直流电机H桥、PWM调速、编码器测速、PID速度闭环
电机
PID
29
综合项目一:电子时钟
RTC(DS1302)驱动、按键调时、数码管显示、闹钟功能
项目
RTC
30
综合项目二:智能家居控制器
多传感器(温湿度/光照)、OLED显示、UART上报、继电器控制
项目
智能家居