一、概述
本文档基于 SVG(静止无功发生器)的 DSP 程序代码,对其核心功能、模块架构、关键流程及技术细节进行全面解析。该代码基于 TI C28335 DSP 芯片开发,涵盖了 FPU 快速运算、PWM 生成、ADC 采集、DMA 数据传输、中断控制等核心功能模块,是 SVG 设备实现无功补偿、谐波治理的核心控制软件基础。
代码包包含 119 个文件,核心代码集中在 SVG_DSP0109 目录下,其中 INCLUDE 文件夹中的头文件定义了底层硬件抽象、寄存器映射、函数原型等关键接口,为上层控制算法提供了稳定、高效的硬件操作支撑。本文将重点围绕核心头文件展开,解析各模块的功能定位、接口设计及协同工作机制。
二、核心模块功能解析
2.1 基础数据类型与 FPU 快速运算模块(C28x_FPU_FastRTS.h)
2.1.1 数据类型定义
该文件定义了 C28x DSP 的标准数据类型,确保跨文件数据类型一致性,适配 FPU(浮点运算单元)的运算需求:
typedef int int16; // 16 位有符号整数
typedef long int32; // 32 位有符号整数
typedef long long int64; // 64 位有符号整数
typedef unsigned int Uint16; // 16 位无符号整数
typedef unsigned long Uint32; // 32 位无符号整数
typedef unsigned long long Uint64; // 64 位无符号整数
typedef float float32; // 32 位浮点数(FPU 核心运算类型)
typedef long double float64; // 64 位浮点数
2.1.2 快速运算函数
提供了 FPU 优化的核心数学函数,相比标准 RTS 库运算速度提升 30% 以上,适用于 SVG 实时控制场景:
float32 isqrt(float32 X):快速平方根运算,用于电压、电流幅值计算等场景。void sincos(float32 radian, float32 *PtrSin, float32* PtrCos):同步计算正弦和余弦值,核心用于 ABC-DQ 坐标变换、SVPWM(空间矢量脉宽调制)算法实现。


