行业垂直门户网站

设为首页 | 加入收藏

您当前的位置:北极星智能电网在线 > 技术文章 > 正文

CPLD在有源电力滤波器中的应用(1)

关键词: CPLD 电力滤波器 VHDL

随着电力电子技术的飞速发展,电力电子装置的应用日益广泛,引起的谐波污染问题也越来越受到人们的关注。为了提高电能质量,抑制谐波污染,一条基本思路就是装设谐波补偿装置[1]。由于传统的LC滤波器易受电网阻抗和运行状态影响,容易与系统产生并联谐振而且只能补偿固定频率谐波,所以有源电力滤波器已经成为谐波补偿的一种新的发展趋势。有源电力滤波器能够对不同频率的谐波和变化的无功功率进行补偿,同时为了满足谐波检测的实时性、准确性要求,多采用以高速数字信号处理见长的DSP作为系统CPU。但是DSP只有两个I/O口,与多个外围器件的接口扩展受到限制,所以本文采用CPLD设计了DSP系统的组合逻辑电路,实现与外围器件的接口扩展和时序配合,并在QuartusⅡ波形编辑器中完成了系统的时序分析。

1 系统总体设计

本系统是并联有源电力滤波器,主要治理电流谐波,采用上、下位机的设计形式。下位机控制电路以TMS320C5416 DSP为核心,实现现场数据采集,谐波的实时检测与补偿、无功功率补偿和简单的数据显示功能;上位机采用工控机并利用Visual C++和SQL Server集成开发软件,实现电网数据的存储和进一步分析处理。系统总体框图如图1所示。

下位机硬件电路主要包括A/D转换模块、DSP数据处理模块、CPLD逻辑控制模块、存储器扩展模块、人机交互模块和异步通信模块。DSP选用 TMS320C5416,它是一款16位定点DSP,功耗仅为0.32 mV/MIPS,速度高达160 MIPS[2]。A/D转换器采用TLV1571芯片,是一种10位并行A/D转换器,是TI公司专为DSP配套设计的,具有速度高、功耗低、接口简单等特点[3]。异步串行通信芯片选用TL16V750,它将从DSP接收的并行数据转化成串行数据传给上位机,实现上、下位机的通信。

下位机基本工作原理如下:当A/D转换器完成模数转换时,给DSP一个中断信号,DSP读取转换后的数据并存储,然后在内部运用瞬时无功功率理论计算出补偿电流的指令信号,再利用该信号和实际的补偿电流设计滞环比较器,产生PWM信号控制主电路中IGBT的通断,从而生成合适的补偿电流回馈给电网。如果键盘有键按下,DSP接收键盘的中断请求转到中断服务子程序对键盘进行扫描,并将相关结果在LCD上显示出来。

2 CPLD逻辑电路设计

CPLD,即复杂可编程逻辑器件,具有应用灵活、运行速度快、集成度高、功能强大、支持在线编程、设计周期短、开发成本低、能够减小系统体积等优点[4]。作为下位机的组合逻辑控制中心,本系统采用altera公司的EPM3128 CPLD芯片,主要完成存储器的扩展控制、外围器件的读写控制(如AD、UART、键盘等)、DSP的中断管理(包括AD采样终端、键盘中断、UART通信中断)、人机接口控制和串行通信控制。开发平台使用QuartusⅡ5.0,可支持原理图、VHDL、Verilog HDL以及AHDL等多种输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程[5]。硬件描述语言采用VHDL,其功能强大,可移植性好,并且具有向ASIC移植的能力。

2.1 存储器的扩展控制

TMS320C5416共有16 KB的内部ROM,64 KB的片内DARAM和64 KB的片内SARAM[6],但有23条地址线,支持8 MB的存储空间寻址,同时考虑到存储的数据量较大,也为了方便以后系统升级,仍需扩展外部存储器。外部程序存储器选择体积小、功耗低、电可擦写的 Flash存储器Am29LV400B,该芯片读取周期短,工作电压可分为满负荷2.7 V~3.6 V和可调节3.0 V~3.6 V两种,可直接与3.3 V的DSP相连,简化了接口电路。外部数据存储器选用CY7C1041B-15,它的读取时间只需15 ns,插入等待周期少。Am29LV400B和CY7C1041B-15存储空间都是512 KB,与DSP接口如图2所示。

在连线时,将DSP的15位低地址线A0~A14直接与SRAM和Flash的A0~A14相连,DSP的A16与外存储器的A15相连,A17与外存储器的A16相连,A18与外存储器的A17相连,这样省去DSP的A15地址线,就将SRAM 和Flash分别分成32 KB长的块。以Flash为例,若A15=1,Flash的0000H~7FFFH对应于DSP的8000H~FFFFH,Flash的 8000H~FFFFH对应于DSP的18000H~1FFFFH,Flash的10000H~1FFFFH对应于DSP的28000H~2FFFFH,以此类推。分页用I/O口控制,这样存储器片选的CPLD实现只需如下两个语句:

flash_ce<=′0′ when(dsp_ds=′0′)and dsp_addH1(15)=′1′else′1′;

sram_ce<= ′0′ when(dsp_ds=′0′)and dsp_addH1(15)=′0′ else′1′;

SRAM定位到0X0000~0X7FFF,Flash定位到0X8000~0XFFFF,以便进行自举加载。

and dsp_addH1(15)=′0′ and dsp_addH1(14)=′1′else′1′;

由于TLV1571接口电平与DSP不匹配,故使用三态门双向总线收发器74LV164245做电平转换器。本模块使用两片 74ALV164245,A/D控制信号与键盘控制信号共用一片,该电平转换器直接将DIR接高电平,OE接低电平,信号传输由A到B。A/D传输的数据单用一片,便于控制A/D数据的传输方向。控制信号DIR和OE由CPLD译码产生,如下:

dsp_data_dir<=not dsp_rw;

dsp_data_oe<=′0′when(dsp_iostrb=′0′ and(dsp_is=′0′)

and dsp_addL="1111" anddsp_addH1(15)=′0′and

dsp_addH1(14) =′1′) else ′1′;

  

    

来源:电子技术应用
北极星投稿热线:陈女士 13693626116 邮箱:chenchen#bjxmail.com(请将#换成@)
最新新闻

新闻排行榜

今日

本周

本月

相关专题