双通道周期信号的 采集 → 非易失存储 → 连续回放 → 实时测量显示 系统。 主控 TI MSP430FR2355(片内 12-bit ADC、32KB FRAM、双 SAC 内置 DAC/OA),整体功耗约 25 mW,断电后自动循环回放已存波形。
入口资料:
- 设计报告:
波形采集存储与回放系统-设计报告.md- 嵌入式工程(DriverLib):
firmware/- 原理图与 KiCad 网表:
schematic/
| 题目要求 | 实现 | 达成情况 |
|---|---|---|
| A 通道单极性(0–4V @1kHz)采集/存储/连放 | 片内 ADC12 + FRAM + SAC DAC | ✅ |
| 输入阻抗 ≥ 10 kΩ | RDIV 16.5k + 10k = 26.5k | ✅ |
| 输出阻抗 ≤ 1 kΩ | MCP6002 输出 + 100Ω | ✅ |
| 测量并显示 VH / VL / T(采集中与回放中) | meas_run + LCD1602 |
✅ |
| |ΔV| ≤ 50 mV | 0.1% 精密电阻 + 软件两点校准 | ≤ 40 mV ✅ |
| |ΔT| ≤ 5% | 采样 50 点/周期 | ≤ 2% ✅ |
| 总功耗 ≤ 50 mW、不用电池 | 单芯片 + 反射 LCD + LPM3 | ~25 mW ✅ |
| 断电恢复后连续回放 | FRAM 非易失 | ✅ |
.
├─ 波形采集存储与回放系统-设计报告.md 设计报告
├─ firmware/ 嵌入式工程 (基于 DriverLib)
│ ├─ README.md
│ ├─ inc/ config.h io.h adc12.h dac.h fram.h meas.h lcd.h
│ └─ src/ io.c adc12.c fram.c dac.c meas.c lcd.c main.c
└─ schematic/
├─ schematic.txt ASCII 原理图 + BOM + 设计要点
└─ netlist.net KiCad S-expression 网表
| 功能 | 引脚 | 外设 |
|---|---|---|
| A 通道 ADC | P4.0 | ADC12_A0 |
| B 通道 ADC | P4.1 | ADC12_A1 |
| A 回放 DAC | P1.1 | SAC0 OA out |
| B 回放 DAC | P1.3 | SAC1 OA out |
| LCD1602 4-bit | P3.0/3.1/3.4–3.7 | RS / EN / D4–D7 |
| 采集键 / 回放键 | P2.0 / P2.1 | 上拉输入 |
需要 TI MSP430Ware 的 msp430fr2xx_5xx_6xx_driverlib。CCS 新建 MSP430FR2355 工程,把 firmware/inc 加入 include 路径,firmware/src/*.c 加入编译,链接 driverlib;或使用 msp430-elf-gcc 指定 driverlib 源码。
详情见 firmware/README.md。
- 采样率 50 ksps(
__delay_cycles(160)@8MHz = 20us),每周期 50 点 → 周期量化误差 ≤2%。 - FRAM 非易失:800 字节波形 + 校准结构存入片内 FRAM,断电不丢,上电即循环回放。
- 测量:过零计数法求周期,最大/最小点求 VH/VL,按校准系数反算 mV/μs。
- 低功耗:平时 LPM3 + ACLK=REFO,ADC 仅在 ~4ms 采集窗开启,LCD 反射式关背光。
- 两点校准:上电自动校零点偏置;接 0V 与 4V 标定分压比 k,存 FRAM。
DriverLib 中个别 SAC/ADC12 宏名可能因 MSP430Ware 版本不同而略有差异,编译时按所装版本核对,逻辑不依赖具体命名。