面向使用 Digilent WaveForms / Analog Discovery 的模电实验自动化工具集。
本仓库整理了通用 DWF SDK 脚本、MOS 放大器实验示例脚本、Codex skill。
Digilent WaveForms、Analog Discovery、DWF SDK、dwf.dll、Wavegen、Oscilloscope、CH1/CH2、CSV waveform analysis、Python automation、electronics lab、analog circuit、MOS amplifier、common source、source follower、common gate、frequency response、gain phase clipping、Codex skill、WaveForms 自动化、模电实验脚本、示波器采集、波形发生器、共源极放大、源极跟随器、共栅极放大、两级级联放大。
scripts/
probe_waveforms.py # 检查 WaveForms / dwf.dll / 设备连接
wavegen_scope_capture.py # W1 正弦输出 + CH1/CH2 示波器采集
analyze_waveform_csv.py # 分析 WaveForms 导出 CSV
examples/
experiment3_mos/ # 单级 MOS 放大器实验脚本、输入电阻测量与 WaveForms 工作区打包工具
experiment4_cascade/ # 两级级联 MOS 放大器实验脚本
skills/
waveforms-control/ # Codex skill:WaveForms 控制工作流
docs/
github中文教程.md # 从安装到提交 GitHub 的完整教程
关键词工作流.md # 关键词、触发语、常见任务模板
- 安装 Digilent WaveForms。
- 接入 Analog Discovery。
- 用 Python 运行环境探测:
python .\scripts\probe_waveforms.py- 先干跑,不输出硬件信号:
python .\scripts\wavegen_scope_capture.py --frequency 5000 --vpp 0.1 --seconds 0.02 --sample-rate 100000 --out .\capture.csv --dry-run- 确认接线和幅度后,再显式加
--run:
python .\scripts\wavegen_scope_capture.py --frequency 5000 --vpp 0.1 --seconds 0.02 --sample-rate 100000 --out .\capture.csv --runexamples/experiment3_mos/ 包含 MOS 放大器采集脚本、绘图脚本和离线打包脚本,便于把已测 CSV、导入脚本、预览图和 .dwf3work 工作区整理成可打开的实验包:
python .\examples\experiment3_mos\create_waveforms_workspaces.py
python .\examples\experiment3_mos\build_waveforms_openbox.py
python .\examples\experiment3_mos\save_waveforms_projects.py --help其中 build_waveforms_openbox.py 会生成 live preset 和旧 CSV reference 双模式启动器;默认 live preset 只配置 WaveForms 窗口,不会自动开启输出,旧数据查看需使用 --import-csv。
新增或刷新这些脚本:
examples/experiment3_mos/build_waveforms_openbox.py
examples/experiment3_mos/measure_common_gate_input_resistance.py
examples/experiment3_mos/measure_common_gate_output_resistance.py
examples/experiment3_mos/plot_common_gate_input_resistance.py
examples/experiment3_mos/plot_common_gate_output_resistance.py
examples/experiment3_mos/plot_report_waveforms.py
examples/experiment3_mos/redraw_static_bias_plots.py
measure_common_gate_input_resistance.py 和 measure_common_gate_output_resistance.py 用于共栅极输入/输出电阻测量,默认只打印 dry-run 计划;只有显式加 --run 才会启用电源、W1 和示波器采集。绘图脚本只读取本地 CSV/JSON,不启用硬件输出;运行绘图脚本需要本地已有对应采集文件,并安装 matplotlib / numpy。
仓库包含 .github/workflows/python-ci.yml,会在 push 和 pull request 时运行 Python 语法检查:
python -m compileall scripts examples- 所有硬件输出必须显式使用
--run。 - 默认先用
--dry-run或--demo。 - 模电放大器实验先用小信号,例如
0.05 Vpp或0.1 Vpp。 - 脚本结束时应关闭 W1、W2、电源和设备句柄。
- 不确定接线时,只运行
probe_waveforms.py和 CSV 离线分析。
本项目使用 MIT License,详见 LICENSE。