《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 设计应用 > CPLD在有源电力滤波器中的应用
CPLD在有源电力滤波器中的应用
来源:电子技术应用2011年第6期
蔺海艳1, 刘 海1, 王银照2
1 山东大学威海分校,山东 威海 264209; 2 山东滨州供电公司,山东 滨州 256610
摘要: 针对谐波污染问题,设计并实现了一种由上、下位机组成的并联型有源电力滤波器。以TMS320C5416 DSP为核心的下位机控制模块为背景,重点介绍了CPLD对其外围器件的逻辑接口设计,主要包括外围器件的片选和读写控制、DSP的中断管理和时钟信号的分频处理等。开发软件使用QuartusⅡ,通过硬件描述语言VHDL对其功能进行描述,并在波形编辑器中完成逻辑时序的仿真。
中图分类号: TM76
文献标识码: B
文章编号: 0258-7998(2011)06-087-04
The application of CPLD in active power filter
Lin Haiyan1, Liu Hai1,Wang Yinzhao2
1. Shandong University at Weihai, Weihai 264209, China; 2. Power Supply Company at Binzhou, Binzhou 256610, China
Abstract: In order to restrain harmonic pollution, we design a kind of shunt active power filter which consists of host computer and lower computer. TMS320C5416 DSP composing the control module of lower computer as the background, we describe the use of CPLD in design of logic interface between DSP and peripheral devices in detail. The design of CPLD includes peripheral devices chip selecting and R/W controlling, DSP interrupt management and frequency division of clock. Hardware description language, VHDL, is used to describe its function in QuartusⅡ used as the development of software. Finally we complete the logic simulation in the waveform editor.
Key words : DSP; CPLD; VHDL; time sequence simulation


    随着电力电子技术的飞速发展,电力电子装置的应用日益广泛,引起的谐波污染问题也越来越受到人们的关注。为了提高电能质量,抑制谐波污染,一条基本思路就是装设谐波补偿装置[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<=&prime;0&prime; when(dsp_ds=&prime;0&prime;)and dsp_addH1(15)=&prime;1&prime;else&prime;1&prime;;  
 sram_ce<= &prime;0&prime; when(dsp_ds=&prime;0&prime;)and dsp_addH1(15)=&prime;0&prime; else&prime;1&prime;;
 SRAM定位到0X0000~0X7FFF,Flash定位到0X8000~0XFFFF,以便进行自举加载。

         and dsp_addH1(15)=&prime;0&prime; and dsp_addH1(14)=&prime;1&prime;else&prime;1&prime;;

    由于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<=&prime;0&prime;when(dsp_iostrb=&prime;0&prime; and(dsp_is=&prime;0&prime;)
 and dsp_addL="1111" anddsp_addH1(15)=&prime;0&prime;and
 dsp_addH1(14) =&prime;1&prime;) else &prime;1&prime;;
2.3 人机接口控制
    人机接口主要包括一个4&times;4矩阵式键盘和液晶显示两部分,与CPLD接口如图4所示。键盘的主要功能是完成显示页面选择和查询参数设置。键盘控制使用CH452芯片,该芯片内置去抖动电路,提供按键释放标志位,可供查询按键按下与释放。CH452通过高速的4线接口与CPLD相连。在键盘扫描期间,当有键按下时,DOUT引脚产生低电平有效中断信号,该信号经CPLD译码后触发DSP的外部中断INT2,DSP通过串行接口读取按键代码,然后转到中断服务子程序执行相关操作。另外为了保证键盘扫描的正确性,一般要选择较低频的时钟。若DSP外接20 MHz的晶振,内部时钟电路输出最低频率为5 MHz,而CH452最高频率为2 MHz,因此CPLD需将DSP输出时钟分频后加到CH452芯片的DCLK引脚。分频实现如下:
 if rising_edge(clkin) then if counter=N then counter<=0;clk<=not clk;
 else counter<=counter+1; end if; end if; end process;clkout<=clk;

 液晶显示器因具有显示信息丰富、功耗低、体积小、重量轻等优点而得到广泛应用。本系统选用LCM12864ZK中文液晶显示模块,内含ST7920驱动控制器,提供串行/并行两用接口。本系统采用并行接口,即PSB引脚输入高电平。D0~D7直接接DSP数据总线,是复位信号,R/W为读写信号,1为读信号,0时写入,E是读写数据启始脚,RS选择寄存器,0为选择指令寄存器,1为数据寄存器。对液晶进行操作时,经CPLD译码,首先选通指令寄存器写入相应代码,再选通数据寄存器进行数据读写操作。部分译码程序如下:
 lcd_psb <= &prime;1&prime;; --1 并行总线 0 串行总线
 lcd_rs <= dsp_addL(0);--选择寄存器
 lcd_rw <= dsp_rw;
 lcd_e <= &prime;1&prime; when ( dsp_iostrb=&prime;0&prime; and (dsp_addL = "0001" or dsp_addL = "0000") and dsp_addH1(15) =&prime;1&prime; and dsp_addH1(14) = &prime;1&prime;) else &prime;0&prime;;    

3 CPLD时序仿真
 为了验证设计模块逻辑功能的正确性,需要对设计进行仿真。CPLD仿真验证可以有多种方式,本文选择用QuartusⅡ自带的波形编辑器进行逻辑时序仿真。本设计中各外围器件的片选、读写、键盘扫描时钟的分频等关键信号仿真波形如图6所示。

 从图中可以看出,各片选信号、读写信号满足设计要求,例如,在IS=0,地址为0x4000~0x4007时选通UART,时钟信号CLKIN经八分频输出CLKOUT等,都满足设计要求,所以本系统设计的逻辑电路是可以实现的。
 为了抑制谐波污染,提高电能质量,设计了一种基于DSP的并联型有源电力滤波器。该滤波器由上位机和下位机组成,上位机使用工控机,下位机以DSP系统为核心,并采用CPLD对外围电路进行接口扩展。本文重点分析了CPLD与外围器件的接口问题,并以QuartusⅡ开发平台为基础,用VHDL硬件编程语言描述了组合逻辑电路的实现。在波形编辑器中得出有效的时序分析结果,结果表明该设计是可行的。
参考文献
[1] 王兆安,杨军,刘进军,等.谐波抑制和无功功率补偿[M].北京:机械工业出版社,2006.
[2] 乔瑞萍,崔涛,张芳娟. TMS320C54X DSP原理及应用[M].西安:西安电子科技大学出版社,2005.
[3] TI. TLV1571 data sheet [DB].2000.
[4] 罗朝霞,高书莉.CPLD/FPGA设计及应用[M].北京:人民邮电出版社,2007.
[5] 赵艳华,曹炳霞,张睿.基于QuartusⅡ的FPGA/CPLD设计与应用[M].北京:电子工业出版社,2009.
[6] Texas Instruments Incorporated.TMS320C54X系列DSP的CPU与外设[M].梁晓雯,裴小平,李玉虎,译.北京:清华大学出版社, 2006. 

此内容为AET网站原创,未经授权禁止转载。