SDC-ACQ&DAC 板卡工程设计思路

说明:本文整理的是可交付、可复核的工程设计思路和关键取舍,不记录逐步的内部思维链。依据当前目录中的网表、STM32F407VET6 引脚资料、引脚规划文档和 Altium 工程包整理。

1. 设计目标

这块板子的目标是围绕 STM32F407VET6 做一块集成采集、通信和 DAC 输出的控制板。核心需求可以归纳为:

  • 使用 STM32F407VET6 作为主控,封装为 LQFP100。
  • 提供 15 路 SDC 电平输入采集,方便一次性读取一组外部状态信号。
  • 提供 4 路转速或脉冲输入捕获,用 MCU 定时器测频、测周期或读取 PWM。
  • 提供 2 路 CAN 通信接口,面向车载或工业现场总线。
  • 提供 2 路 DAC/模拟输出,网表中为 MC_L、MC_R。
  • 提供 I2C 接口,并通过电平转换兼容 3.3 V MCU 侧和 5 V 外设侧。
  • 提供 12 V 输入、5 V、3.3 V、模拟参考和必要的去耦滤波。
  • 保留 SWD、复位、启动配置、串口调试、状态 LED 等调试和量产必需接口。

2. 总体架构

板卡按功能分为以下模块:

模块 主要器件/网络 设计意图
主控 U23 STM32F407VET6 统一处理 SDC 输入、转速捕获、CAN、I2C、DAC 控制和调试接口
电源 +12V、+5V、VCC、VCCA、VREF 由外部 12 V 进入,生成数字 5 V、MCU 3.3 V 和模拟参考
SDC 输入 SDC_IN1SDC_IN15、SDC1SDC15 外部输入经电阻/三极管级进入 MCU,集中到 GPIOD
转速输入 ZQ_OUT、ZH_OUT、YQ_OUT、YH_OUT 经限流/下拉后进入 TIM 输入捕获通道
CAN CAN1_H/L、CAN2_H/L、CAN1_TX/RX、CAN2_TX/RX MCU 侧接 CAN 收发器,外部侧接总线并配置终端电阻
DAC DAC1、DAC2、MC_L、MC_R 通过 I2C 控制两路 DAC 输出
I2C 电平转换 I2C_SCL_33、I2C_SDA_33、SCL_5、SDA_5、U22 MCU 侧 3.3 V,DAC/外设侧 5 V
调试 SWDIO、SWCLK、NRST、USART1_TX/RX、STLED_1/2 下载、在线调试、日志输出和运行状态显示

3. MCU 引脚分配原则

引脚分配优先级不是单纯按外设功能堆叠,而是同时考虑 PCB 布线、调试保留、外设冲突和软件读取效率:

  1. 必需接口先保留:PA13/SWDIO、PA14/SWCLK、NRST、BOOT0、PB2/BOOT1、HSE、VCAP_1/2、电源和模拟电源脚不参与普通功能分配。
  2. 同类信号尽量靠近:CAN1/CAN2 放在 PB5/PB6/PB8/PB9 附近,便于两个 CAN 收发器并排布置。
  3. 大量状态输入尽量集中到同一端口:15 路 SDC 输入集中使用 PD0~PD14,软件可以直接读取 GPIOD->IDR 后按位解析。
  4. 转速/脉冲输入优先选定时器捕获脚:PA0/TIM5_CH1、PA2/TIM9_CH1、PA6/TIM3_CH1、PB14/TIM12_CH1 分别承担 4 路输入。
  5. I2C 使用相邻且 5 V 容忍的 PB10/PB11,便于布线并适配外部上拉和电平转换。
  6. PB0/PB1 保留给 ADC 相关功能,其中 PB0/ADC1_IN8 用于 24 V 分压检测,PB1/ADC1_IN9 可作备用模拟量。
  7. 调试 LED 放在 PE0/PE1,释放 PB0/PB1 给模拟输入。

4. 关键功能设计思路

4.1 SDC 输入采集

15 路输入从连接器进入后,经过电阻网络和三极管级再接入 MCU 的 PD0~PD14。这样设计的好处是:

  • 外部输入和 MCU 管脚之间有基本限流与隔离。
  • 所有 SDC 信号集中在 GPIOD,软件读取简单,适合周期扫描。
  • PD15 可作为第 16 路备用,后续扩展时不需要大改软件结构。

设计时需要特别确认外部 SDC 输入电平、有效极性、三极管反相关系以及默认上下拉状态,避免上电阶段误判。

4.2 四路转速/脉冲捕获

四路转速输入对应网表中的:

外部信号 MCU 网络 MCU 引脚
ZQ_OUT TIM5_CH1 PA0
ZH_OUT TIM9_CH1 PA2
YQ_OUT TIM3_CH1 PA6
YH_OUT TIM12_CH1 PB14

这些脚都可配置为定时器输入捕获。若只测频率,可以在捕获中断或 DMA 中记录相邻边沿时间差;若要测 PWM 高低电平宽度,应结合定时器通道和输入极性配置进一步确认。

4.3 双 CAN 接口

CAN1 使用 PB8/PB9,CAN2 使用 PB5/PB6。MCU 只连接收发器逻辑侧,外部接口为 CAN1_H/L 和 CAN2_H/L。

关键取舍:

  • 选择 PB5/PB6/PB8/PB9 是为了让两路 CAN 的 MCU 侧信号集中,收发器靠近 MCU 和连接器都更容易。
  • 网表中 R20、R21 为 120 欧终端相关器件,需要根据总线拓扑决定是否常接、跳线选择或预留不焊。
  • CANH/CANL 外侧应关注 ESD、共模干扰和走线差分/等长要求。

4.4 I2C 与 DAC 输出

MCU 侧 I2C 为 PB10/PB11,网络名为 I2C_SCL_33、I2C_SDA_33;5 V 侧为 SCL_5、SDA_5,经 U22 做电平转换后连接 DAC。

这样安排的目的:

  • MCU 维持 3.3 V 逻辑,避免 5 V 直接进入非预期模式下的 MCU 引脚。
  • DAC 和外设侧可以使用 5 V 供电或 5 V 上拉。
  • 上拉电阻分布清楚,方便按总线速度和负载电容调整。

两路 DAC 输出网络为 MC_L 和 MC_R,需要在调试时确认 DAC 地址、I2C 上拉、电源纹波和输出负载范围。

4.5 电源与模拟参考

网表显示板上存在 +12V、+5V、VCC、VCCA、VREF、AGND 和 GND 等网络。设计意图是把输入电源、数字电源和模拟参考分层处理:

  • +12V 作为外部输入或上级电源。
  • +5V 给 CAN 收发器、DAC 或其他 5 V 侧器件供电。
  • VCC 作为 MCU 数字 3.3 V 供电。
  • VCCA、VREF 和 AGND 用于 ADC/DAC 相关模拟部分,需减少数字噪声耦合。
  • VCAP_1/2 必须接低 ESR 电容到地,不可悬空或作外部电源使用。

4.6 24 V 电压检测

PB0/ADC1_IN8 对应网表中的 ADC 网络,通过分压电阻把最高 20 V 压到 MCU ADC 安全范围内。当前规划建议过 100 k 与 20 k 量级分压,并在采样点加小电容滤波。

这部分的关键不是只算分压比,还要确认:

  • 最高输入电压、瞬态浪涌和误接风险。
  • ADC 采样时间是否能适配较高源阻抗。
  • 分压电阻精度、温漂对测量误差的影响。
  • 是否需要 TVS、串联电阻或钳位保护。

4.7 调试与量产接口

板上保留了 SWD、串口、复位、启动配置和状态 LED:

  • SWDIO、SWCLK、NRST 用于下载和在线调试。
  • USART1_TX/RX 可接 USB-TTL 作为日志口。
  • BOOT0 和 BOOT1 必须有确定上下拉,避免随机进入系统 Bootloader。
  • STLED_1、STLED_2 作为最小运行状态反馈,适合上电自检和故障定位。

5. PCB 布局布线重点

  1. MCU 放在板卡控制中心,SDC 输入、CAN、DAC/I2C、调试接口按功能分区引出。
  2. CAN 收发器靠近外部连接器,CANH/CANL 走线短、成对、少过孔,并在接口附近布置保护器件。
  3. HSE 晶振靠近 PH0/PH1,晶振回路短且远离高噪声开关电源和 CAN 总线。
  4. MCU 每个 VDD/VDDA 就近放 100 nF 去耦,电源入口和稳压输出放足够的储能电容。
  5. 模拟参考、ADC 分压和 DAC 输出尽量远离开关节点与高速边沿信号。
  6. I2C 上拉、电平转换器和 DAC 尽量靠近,SCL/SDA 避免长距离并行干扰源。
  7. SDC 输入通道重复结构保持一致,便于生产检查、维修和软件映射。

6. 软件配置映射

功能 CubeMX/固件配置
SDC 输入 PD0~PD14 配置为 GPIO 输入,按实际硬件极性设置上下拉
转速 1 PA0 配置为 TIM5_CH1 输入捕获
转速 2 PA2 配置为 TIM9_CH1 输入捕获
转速 3 PA6 配置为 TIM3_CH1 输入捕获
转速 4 PB14 配置为 TIM12_CH1 输入捕获
CAN1 PB8/PB9 配置为 CAN1_RX/TX
CAN2 PB5/PB6 配置为 CAN2_RX/TX,固件中同时注意 CAN1 时钟依赖
I2C PB10/PB11 配置为 I2C2_SCL/SDA,开漏,外部上拉
ADC PB0 配置为 ADC1_IN8,按分压比换算真实电压
串口 PA9/PA10 配置为 USART1_TX/RX
LED PE0/PE1 配置为 GPIO 输出

7. 原理图复核清单

  • STM32 所有 VDD/VSS/VDDA/VSSA/VREF+/VCAP 是否按数据手册完整连接。
  • BOOT0、BOOT1、NRST 是否有明确默认状态。
  • SWD 下载口是否包含 SWDIO、SWCLK、GND、VCC,必要时包含 NRST。
  • HSE 晶振负载电容和器件封装是否匹配。
  • CAN 收发器供电、TX/RX 方向、终端电阻和接口定义是否正确。
  • I2C 电平转换方向、上拉电阻、电源域连接是否正确。
  • DAC 地址冲突、输出范围、负载能力和滤波是否满足需求。
  • 24 V 分压到 ADC 的最高电压是否低于 VREF+,并留足异常保护。
  • 15 路 SDC 输入的硬件反相、上下拉和软件逻辑是否一致。
  • 连接器针序是否和外部线束定义一致,特别是 CAN、12 V、电源地和 DAC 输出。
S
Description
A11安全回路信号采集及电机控制器数模转换
Readme
7.6 MiB
Languages
C 95.2%
Assembly 4.4%
CMake 0.3%