fsau/DDSLockIn-STM32G4
GitHub: fsau/DDSLockIn-STM32G4
基于STM32G431的阻抗分析仪固件及配套工具,利用双ADC和DAC实现扫频信号生成与锁定放大分析。
Stars: 2 | Forks: 0
# STM32G31 阻抗分析仪 (开发中)
这是一套用于在 STM32G431 "blackpill" 开发板上生成和分析扫频的固件和工具集,利用了该芯片的双 4MSa/s ADC、DAC 等外设。
目录
- `src/` — 固件源代码 (`main.c` 以及每个模块对应的一对 `.c/.h` 文件)
- `libopencm3/` — libopencm3 固件库 (子模块)
- `app/` — 用于发送命令和接收数据的 Octave 和 Python 绑定 (lock-in 输出和 ADC 帧),附带示例 (开发中)。
- `docs/` — 参考资料 (数据手册、手册、引脚配置等)
环境要求
- ARM 嵌入式工具链 (例如 `arm-none-eabi-gcc`)
- `make`
- 作为子模块检出的 `libopencm3`
- 运行 GUI 的 Python 3 (`python3 sweepgui/app.py`);如果使用分析脚本,还需要 Octave 来运行 `getspec.m`
构建
- 初始化 libopencm3 (如果尚未初始化):
git submodule update --init --recursive
- 构建固件:
make
- 构建输出位于 `build/` 目录中 (ELF、反汇编、大小等)
烧录
- 使用您偏好的 SWD/烧录工具 (例如 `st-flash` 或 DFU) 来编程生成的 ELF/bin 文件。Makefile 中还包含两个编程命令:`make prog` (用于 st-flash) 和 `make dfu`。
注意事项
- 此仓库包含用于开发和测量的固件源码及桌面工具。请根据您的硬件和工具链调整烧录和构建步骤。
待办事项
- DDS/Lock-in 基础已完成,还缺少一些东西 (见 `ddsli.c`)。
- 用于控制 DDS/Lock-in 进行测量的 PLL 和应用程序代码。
- 改进 USB CDC/ADC 接口。
- 添加带有校验和和确认 (ack) 的数据包结构?
- 完善 octave/python 绑定和应用程序。
标签:ADC/DAC, ARM Cortex-M4, Blackpill, DDS, libopencm3, MATLAB/Octave, Python GUI, STM32G431, SWD烧录, USB CDC, 信号处理, 固件, 客户端加密, 客户端加密, 客户端加密, 嵌入式开发, 电子测量, 逆向工具, 锁相放大器, 阻抗分析仪, 频谱分析