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, 信号处理, 固件, 客户端加密, 客户端加密, 客户端加密, 嵌入式开发, 电子测量, 逆向工具, 锁相放大器, 阻抗分析仪, 频谱分析