基于C2000 的集成电力线载波通信功能(PLC)光伏逆变系统
时间:11-12
来源:互联网
点击:
4 TMS320F28069简介
TMS320F28069 是C2000 Piccolo 系列MCU,基于C2000 的实时处理C28 内核、硬件浮点运算器和90MHz 的主频使其拥有强大的实时运算能力, 具有256K 字节的片上Flash 和100K 字节的片上RAM;6 通道的DMA 可将ADC 等外设数据进行快速传输。针对光伏逆变系统,F28069 拥有转换时间为325ns 的12 位16 通道SAR 型ADC 以及19 路高性能PWM 和8 路超高分辨率PWM,可以输出最高达150ps 分辨率的PWM 信号。同时,针对基于OFDM 的PLC 通信,TI 增加了TMS320C2000 MCU 指令集,新增加的指令集由紧耦合的硬件单元VCU(Viterbi, Complex Math, CRC Unit)单元来实现,此运算单元可专门用于运算基于OFDM 的PLC 的大容量快速傅里叶变换(FFT)以及生成前向纠错码(FEC)和CRC 校验码,其内部还有一个浮点协处理器——控制率加速器(CLA),可与主内核并行运算以及拥有和主内核相同的外设使用能力,并且可使用C 语言在CCS 环境下进行编程。CLA 最多有8 个任务,每个任务都可以由外设(ADC/PWM/定时器)或软件触发。图7 为F28069 的性能和外设资源列表[3]。
图 7 F28069 性能和外设资源
5 基于F28035 和F28069 的集成PLC 通信功能光伏逆变系统
PLC 在通信时会占用较多的MCU 资源,所以在DC/AC+PLC 的单MCU 解决方案中,F28069 的主内核进行PLC 运算,其中ADC 的中断用于PLC 的高速采样及处理;F28069 内部的CLA 则用于逆变控制系统, 每次PWM 匹配事件发生后,触发CLA 读取ADC 转换结果然后更新逆变全桥的IGBT 驱动PWM信号占空比。
5.1 系统结构框图
图 2 C2000 光伏逆变系统PLC 内部集成系统框图
如图8 所示,光伏电池最大功率点追踪部分采用交错式BOOST 拓扑,由F28035 控制;母线电压通过LLC 隔离后输送至后级DC/AC 部分。F28069 则运行DC/AC 和PLC 两部分代码。DC/AC 部分为单相逆变全桥,PLC 部分则通过AFE031 模拟前端将数据耦合至电网。两颗MCU 通过UART 进行数据通信。
5.2 DC/AC 系统软件框图
为便于系统调试,DC/AC 部分系统分成3 个Level:Level1:开环系统;Level2:无PLL 闭环系统;Level3:带PLL 可并网系统。软件由5 个功能模块组成:主函数、CLA Task、PLC Run 函数、ECap1 中断和SCIB 中断。
主函数由两个部分组成:(1)内核、外设、变量的初始化;(2)任务状态机。函数开始部分,进行主内核运行变量、CLA 以及PLC 代码的初始化。然后进入PLC Run 函数、Task A、B、C 四个任务的轮询运行阶段。PLC Run 函数的功能为PLC 数据接收、发送、解析以及相关变量更新;Task A 为每毫秒运行一次的Task A0 函数,其中存在 A1 和A3 两个有效子函数。A1 的功能为每20ms 检测系统标志位并且更新当前系统状态;A3 轮询当前功能按钮状态以及发出LED 指示灯控制信号。Task B 是5ms 轮询的Task B0 函数,其中有 B1,B2,B3,B4 四个有效任务。B1 的功能是故障检测和系统欠过流、欠过压的保护;B2 主要进行参数运算,主要为线电压有效值、线电流有效值、当前输出功率的值等;B3用于系统运行状态检测;B4 的功能是处理两颗MCU 间的通信以及F28069 和GUI 之间的通信。Task C为0.5ms 运行一次的Task C0 函数,它用于检测SCIA 通信状态。
第二部分是CLA Task,分为Task 8 和Task 3。Task 8 在CLA 初始化时就通过软件触发,其功能主要是数字电源算法库DPLIB_C_CLA 以及CLA 运算参数初始化。Task3 是PWM3 事件匹配触发,同时会触发ADC SOC。Task 总体分为两部分:上升沿触发阶段和下降沿触发阶段。 下降沿触发阶段:如果触发任务时PWM 处于下降沿计数则运行此部分程序。其主要功能是运算线电压、电流的周期有效值,母线电压周期平均值、输出视在功的值并将其存于制定变量等待主内核读取。
上升沿触发阶段:此阶段同样在触发并且PWM 时基情况下运行。首先是读取外部采样电压、电流值,然后调用数字电源算法库函数中的2P2Z 模块进行母线电压调节(与DC/DC 板连接时有效,独自运行时使用常数作为输出结果)并将运算结果作为其中之一的参数输入电流环基准乘法模块。接下来会判断并网标志位状态,如果已经置位即表示当前为并网运行状态,则进行数字PLL 运算。如果此时为离网运行状态,就跳过此部分进行电流内环调节环运算。最后将电流环运算结果转换为PWM 占空比值用存入相应寄存器。
第三部分ECap1 中断服务程序用于检测电网相位和频率,作为PLL 的锁相基准。
第四部分SCIB 中断用于F28069 与前级F28035 通信。F28069 通过SCIB 采集前级DC/DC 的运行状态,并将其上传至上位机显示。
第五部分是整个系统的关键部分PLC Run 函数,在第一部分已提到,该函数会在系统状态机每次轮询的时候调用,其内部的定时器中断、ADC 中断服务函数以及底层解码函数都封装在PLC Lite 中。只需先设定中断函数入口地址、系统频率等参数后,调用初始化函数HAL_afeInit(), 即可完成底层外设的初始化。
整个系统的关键在于ADC 的复用和同步,上文已经提及,ADC 在PLC 中的采样频率为250KHZ,为了保证ADC 采样的同步,逆变系统的载波周期就必须与其成倍数关系,同时,由于输出正弦信号需为50HZ,所以同时也需要是50HZ 的倍数,由于IGBT 的开关频范围有限,故选择25KHZ 为输出SPWM信号的载波频率。这样PLC 每进行10 次采样,逆变部分的信号进行1 次采样,并且通过EPWM 模块的同步功能可保证两者的采样不冲突。 PLC 部分占用的ADC 会触发主内核中断。而逆变部分则如前文所述触发CLA 运算,这样系统就在同一时间并行运行两种功能,减小了整个系统的时间复杂度并且增加了MCU 的利用率。图9 为系统软件流程图。
图 9 F28069 PLC 内部集成系统软件流程图
TMS320F28069 是C2000 Piccolo 系列MCU,基于C2000 的实时处理C28 内核、硬件浮点运算器和90MHz 的主频使其拥有强大的实时运算能力, 具有256K 字节的片上Flash 和100K 字节的片上RAM;6 通道的DMA 可将ADC 等外设数据进行快速传输。针对光伏逆变系统,F28069 拥有转换时间为325ns 的12 位16 通道SAR 型ADC 以及19 路高性能PWM 和8 路超高分辨率PWM,可以输出最高达150ps 分辨率的PWM 信号。同时,针对基于OFDM 的PLC 通信,TI 增加了TMS320C2000 MCU 指令集,新增加的指令集由紧耦合的硬件单元VCU(Viterbi, Complex Math, CRC Unit)单元来实现,此运算单元可专门用于运算基于OFDM 的PLC 的大容量快速傅里叶变换(FFT)以及生成前向纠错码(FEC)和CRC 校验码,其内部还有一个浮点协处理器——控制率加速器(CLA),可与主内核并行运算以及拥有和主内核相同的外设使用能力,并且可使用C 语言在CCS 环境下进行编程。CLA 最多有8 个任务,每个任务都可以由外设(ADC/PWM/定时器)或软件触发。图7 为F28069 的性能和外设资源列表[3]。
图 7 F28069 性能和外设资源
5 基于F28035 和F28069 的集成PLC 通信功能光伏逆变系统
PLC 在通信时会占用较多的MCU 资源,所以在DC/AC+PLC 的单MCU 解决方案中,F28069 的主内核进行PLC 运算,其中ADC 的中断用于PLC 的高速采样及处理;F28069 内部的CLA 则用于逆变控制系统, 每次PWM 匹配事件发生后,触发CLA 读取ADC 转换结果然后更新逆变全桥的IGBT 驱动PWM信号占空比。
5.1 系统结构框图
图 2 C2000 光伏逆变系统PLC 内部集成系统框图
如图8 所示,光伏电池最大功率点追踪部分采用交错式BOOST 拓扑,由F28035 控制;母线电压通过LLC 隔离后输送至后级DC/AC 部分。F28069 则运行DC/AC 和PLC 两部分代码。DC/AC 部分为单相逆变全桥,PLC 部分则通过AFE031 模拟前端将数据耦合至电网。两颗MCU 通过UART 进行数据通信。
5.2 DC/AC 系统软件框图
为便于系统调试,DC/AC 部分系统分成3 个Level:Level1:开环系统;Level2:无PLL 闭环系统;Level3:带PLL 可并网系统。软件由5 个功能模块组成:主函数、CLA Task、PLC Run 函数、ECap1 中断和SCIB 中断。
主函数由两个部分组成:(1)内核、外设、变量的初始化;(2)任务状态机。函数开始部分,进行主内核运行变量、CLA 以及PLC 代码的初始化。然后进入PLC Run 函数、Task A、B、C 四个任务的轮询运行阶段。PLC Run 函数的功能为PLC 数据接收、发送、解析以及相关变量更新;Task A 为每毫秒运行一次的Task A0 函数,其中存在 A1 和A3 两个有效子函数。A1 的功能为每20ms 检测系统标志位并且更新当前系统状态;A3 轮询当前功能按钮状态以及发出LED 指示灯控制信号。Task B 是5ms 轮询的Task B0 函数,其中有 B1,B2,B3,B4 四个有效任务。B1 的功能是故障检测和系统欠过流、欠过压的保护;B2 主要进行参数运算,主要为线电压有效值、线电流有效值、当前输出功率的值等;B3用于系统运行状态检测;B4 的功能是处理两颗MCU 间的通信以及F28069 和GUI 之间的通信。Task C为0.5ms 运行一次的Task C0 函数,它用于检测SCIA 通信状态。
第二部分是CLA Task,分为Task 8 和Task 3。Task 8 在CLA 初始化时就通过软件触发,其功能主要是数字电源算法库DPLIB_C_CLA 以及CLA 运算参数初始化。Task3 是PWM3 事件匹配触发,同时会触发ADC SOC。Task 总体分为两部分:上升沿触发阶段和下降沿触发阶段。 下降沿触发阶段:如果触发任务时PWM 处于下降沿计数则运行此部分程序。其主要功能是运算线电压、电流的周期有效值,母线电压周期平均值、输出视在功的值并将其存于制定变量等待主内核读取。
上升沿触发阶段:此阶段同样在触发并且PWM 时基情况下运行。首先是读取外部采样电压、电流值,然后调用数字电源算法库函数中的2P2Z 模块进行母线电压调节(与DC/DC 板连接时有效,独自运行时使用常数作为输出结果)并将运算结果作为其中之一的参数输入电流环基准乘法模块。接下来会判断并网标志位状态,如果已经置位即表示当前为并网运行状态,则进行数字PLL 运算。如果此时为离网运行状态,就跳过此部分进行电流内环调节环运算。最后将电流环运算结果转换为PWM 占空比值用存入相应寄存器。
第三部分ECap1 中断服务程序用于检测电网相位和频率,作为PLL 的锁相基准。
第四部分SCIB 中断用于F28069 与前级F28035 通信。F28069 通过SCIB 采集前级DC/DC 的运行状态,并将其上传至上位机显示。
第五部分是整个系统的关键部分PLC Run 函数,在第一部分已提到,该函数会在系统状态机每次轮询的时候调用,其内部的定时器中断、ADC 中断服务函数以及底层解码函数都封装在PLC Lite 中。只需先设定中断函数入口地址、系统频率等参数后,调用初始化函数HAL_afeInit(), 即可完成底层外设的初始化。
整个系统的关键在于ADC 的复用和同步,上文已经提及,ADC 在PLC 中的采样频率为250KHZ,为了保证ADC 采样的同步,逆变系统的载波周期就必须与其成倍数关系,同时,由于输出正弦信号需为50HZ,所以同时也需要是50HZ 的倍数,由于IGBT 的开关频范围有限,故选择25KHZ 为输出SPWM信号的载波频率。这样PLC 每进行10 次采样,逆变部分的信号进行1 次采样,并且通过EPWM 模块的同步功能可保证两者的采样不冲突。 PLC 部分占用的ADC 会触发主内核中断。而逆变部分则如前文所述触发CLA 运算,这样系统就在同一时间并行运行两种功能,减小了整个系统的时间复杂度并且增加了MCU 的利用率。图9 为系统软件流程图。
图 9 F28069 PLC 内部集成系统软件流程图
逆变器 PLC 电压 电流 总线 智能电网 变压器 MCU DSP 模拟前端 ADC 电路 PWM IGBT LED 物联网 相关文章:
- 实现智能太阳能管理的微型逆变器应运而生(05-06)
- 只需少量器件的廉价自动复位断路器(07-31)
- 即将普及的碳化硅器件(10-19)
- IR2110驱动电路的优化设计(03-15)
- 关键电源及LED照明应用的最新高能效规范要求、设计挑战及解决方案(12-07)
- 基于FPGA的三相PWM发生器(06-23)