流程拆解

Topic Index | 总览 | 模块说明 | Project Index

1. 系统运行主流程

第一步:上位机下发配置

用户在 GUI 中设置工作参数,例如扫描方式、发射参数、波束方向等,然后通过 USB 将参数发给 STM32。

第二步:STM32 初始化系统

STM32 按顺序完成:

  • 电源时序控制
  • 时钟芯片配置
  • 频率合成器配置
  • 相控阵波束控制芯片配置
  • 传感器与电机准备

第三步:FPGA 产生雷达波形

FPGA 通过 DAC 产生 LFM/chirp 波形,然后通过射频链路上变频到 10.5GHz。

第四步:发射与接收

发射信号从阵列天线送出,打到目标后产生回波,回波经接收前端、混频器、ADC 后进入 FPGA。

第五步:FPGA 信号处理

FPGA 对接收到的回波数据做:

  • I/Q 解调
  • 抽取和滤波
  • 脉冲压缩
  • Doppler 处理
  • MTI 杂波抑制
  • CFAR 检测

第六步:结果上传与显示

FPGA 将检测结果通过高速 USB 送给电脑,上位机 GUI 将目标进行可视化显示。

2. 信号处理流程图

flowchart TD
    a[FPGA 产生 LFM / Chirp]
    b[DAC 输出波形]
    c[上变频到 10.5GHz]
    d[阵列天线发射]
    e[目标反射回波]
    f[接收前端放大/混频]
    g[ADC 采样]
    h[正交解调]
    i[抽取与滤波]
    j[脉冲压缩]
    k[Doppler 处理]
    l[MTI 杂波抑制]
    m[CFAR 目标检测]
    n[检测结果打包]
    o[USB 发送到上位机]
    p[GUI 显示目标]

    a --> b --> c --> d --> e --> f --> g --> h --> i --> j --> k --> l --> m --> n --> o --> p

    style a fill:#fef3c7,stroke:#d97706
    style h fill:#e0f2fe,stroke:#0284c7
    style j fill:#e0f2fe,stroke:#0284c7
    style k fill:#e0f2fe,stroke:#0284c7
    style l fill:#e0f2fe,stroke:#0284c7
    style m fill:#e0f2fe,stroke:#0284c7
    style p fill:#dbeafe,stroke:#2563eb

3. 控制流与数据流的区别

控制流

GUI → STM32 → 各种芯片/外设

控制流主要负责命令、配置、状态同步。

数据流

目标回波 → ADC → FPGA → USB → GUI

数据流主要负责高速回波处理和检测结果传输。

4. 控制流与数据流图

flowchart TD
    gui[GUI]
    mcu[STM32]
    chip[时钟/频综/波束芯片]
    motor[电机/风扇/传感器]
    fpga[FPGA]
    adc[ADC]
    usb[高速USB]
    pc[显示结果]

    gui -->|配置命令| mcu
    mcu -->|初始化/配置| chip
    mcu -->|管理控制| motor
    mcu -->|工作模式/协同命令| fpga

    adc -->|原始采样数据| fpga
    fpga -->|检测结果数据包| usb
    usb -->|高速传输| pc

    gui -.控制通道.-> mcu
    fpga -.状态同步.-> mcu

    style gui fill:#dbeafe,stroke:#2563eb
    style mcu fill:#dcfce7,stroke:#16a34a
    style fpga fill:#fef3c7,stroke:#d97706
    style pc fill:#dbeafe,stroke:#2563eb

5. 为什么这样设计

这种设计把“慢速控制”和“高速数据处理”分开:

  • 控制任务交给 STM32
  • 实时信号处理交给 FPGA
  • 图形显示交给 PC

这样职责清晰,系统更稳定,也更容易扩展。