跳转到内容
新建笔记

FPGA、CPLD、MCU 与 SoC 的选择

器件擅长不擅长
MCU控制、协议栈、低成本、快速迭代大规模并行、极高吞吐、纳秒级确定性
CPLD上电即用、胶合逻辑、简单时序与电源管理大缓存、复杂算法、高密度数据通路
FPGA并行流水、定制接口、多通道同步、确定性延迟软件生态、开发周期、功耗与验证成本
应用处理器Linux、UI、网络、文件系统、复杂算法硬实时 I/O、精确周期级控制
FPGA SoC可编程逻辑和处理器紧耦合成本、启动链和软硬件协同复杂度
flowchart TD
A["明确采样率、通道数、协议和延迟"] --> B{"MCU / SoC 外设与 DMA<br/>能否稳定满足?"}
B -->|"能"| C["优先 MCU / SoC"]
B -->|"不能"| D{"问题是否来自并行吞吐、<br/>定制时序或多通道同步?"}
D -->|"是"| E["加入 FPGA / CPLD"]
D -->|"否"| F["重新审查接口、算法和系统分工"]

至少计算:

原始吞吐量 = 通道数 × 每通道采样率 × 每样本传输位数
链路利用率 = 原始吞吐量 / 可用有效带宽
缓冲时间 = 缓冲容量 / 原始吞吐量

有效带宽必须扣除编码、包头、空闲、流控和软件抖动。工程设计应保留余量,并定义溢出、丢包和背压策略。

  • FPGA:采样接口、时间戳、CDC、分包、滤波/抽取、硬件触发。
  • MCU/SoC:配置、状态管理、网络、存储、UI 和复杂可变算法。
  • CPLD:复位、上电时序、接口复用和简单安全逻辑。
  • 只因“FPGA 更快”就把所有算法放进 FPGA。
  • 只看平均带宽,不看峰值、背压和缓存耗尽时间。
  • 把尚未实测的器件性能、相位精度或成本写成确定结论。
  • 用器件选型替代系统架构:真正关键的是数据流、控制流、时钟域和故障策略。

具体 AD7768、XDMA 和 i.MX8MP 实现见振动分析仪 FPGA 数据链路项目。