流程拆解
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
这样职责清晰,系统更稳定,也更容易扩展。