基于 ASIC 的数字式触发电路
摘要: 随着晶闸管应用日益广泛及晶闸管集成化程度日益提高,迫切要求发展集成化的移相触发电路。本文介绍了利用 CPLD/FPGA 芯片,采用 Verilog HDL 实现一种数字式三相整流触发电路的设计过程。
关键词: 晶闸管,数字式触发电路,专用集成电路, Verilog 硬件描述语言
Digital Trigger Circuit Based On Asic
Wang Hongsheng
Abstract : As the development of the application of SCR and the integrated circuit of SCR, it is required to develop an ASIC(application-specific integrated circuit) for phase-movable trigger circuit.In this paper, I try to achieve an digital trigger circuit based on Asic by Verilog HDL.
Keywords: SCR, digital trigger circuit, ASIC, Verilog HDL
0 引言
随着晶闸管应用日益广泛及晶闸管集成化程度日益提高,迫切要求发展集成化的移相触发电路。集成化触发器具有体积小、功耗低、性能可靠、使用方便等优点。 近年来,数字移相触发技术发展极为迅速,出现了以单片机以及 CPLD/FPGA 为核心的多种触发器集成电路。本文使用 ALTERA 公司的可编程芯片,采用 Verilog 硬件描述语言设计一种数字式双窄脉冲移相触发电路。其具有相序自适应,可用于调压、整流等应用中。
1 问题的提出
采用分立元件组成的同步移相触发电路具有维护困难,稳定性差等缺点,而采用集成同步触发电路虽使用方便,但可重定制性较差。而使用 CPLD/FPGA 等可编程器件定制的同步触发电路,具有可编程性高,拓展性好等优点。本文主要讨论双窄脉冲的硬件描述语言实现,外围电路,如同步脉冲电路的采集,控制角输入键盘,功率放大电路由于时间与硬件资源有限,留待以后继续研究。
2 双窄脉冲形成环节
对三相桥式全控整流电路,要求提供宽度大于 60 度小于 120 度的宽脉冲,或间隔 60 度的双窄脉冲。前者要求触发电路输出功率大,所以很少使用,一般都采用双窄脉冲。 采用双窄脉冲,即触发一个晶闸管时向小一个序号的晶闸管发补脉冲。关系如下:
触发的晶闸管 V1 V2 V3 V4 V5 V6
补发的晶闸管 V6 V1 V2 V3 V4 V5
图 1 补脉冲关系示意图
控制角 a是滞后自然换相点的电度角,在工频条件下,它和时间Ta有如下关系:
Ta=T/360*a=(20*a)/360=0.056ms。其中T是工频电源周期,a是控制角。由上式可知,只要知道控制角就可以算出定时时间Ta,采用软件时延来完成对控制角的延时。
Verilog的延时时间标尺中,时间单位和时间精度最小都可以到飞秒的数量级;故可由程序选择延时时间,且能得到很让人满意的波形。
本程序中,采用 10us为一时间单位,精度为1us,对于脉冲宽度,为可靠触发,拟用15度,将其转为时间的话,为83.3个时间单位,由于两窄脉冲相位相差60度,相当与333.3个时间单位。输入a为控制角输入,输出out相应的6路脉冲经功率放大,作为触发信号依次接至三相桥式整流电路的六个门极上。
2.1程序如下: trigger.v
`timescale 10us/1us // 时间标度,单位为 10us ,精度为 1us
module trigger(out,a);
output[5:0] out; // 输出六路双脉冲信号
input[7:0] a; // 通过外围键盘电路,可输入控制角的值
reg[5:0] out;
wire[7:0] a;
wire[7:0] a_t;
parameter high=83.3; // 脉冲宽度 15 度左右。
parameter low=333.3; //60 度的脉冲间隔
assign a_t=(a*2000)/360; // 将输入的角度转换成时间形式
always // 波形的输出
begin
out=6'b000000; // 控制角延时
#a_t out=6'b100001; // 首先触发 VT1 ,同时对 VT6 补发一个脉冲
#high out=6'b000000; // 脉冲宽度延时
#low out=6'b000011; // 触发 VT2 ,同时给 VT1 补发一脉冲
#high out=6'b000000; // 脉冲宽度延时
#low out=6'b000110; // 触发 VT3 ,同时给 VT2 补发一脉冲
#high out=6'b000000; // 脉冲宽度延时
#low out=6'b001100; // 触发 VT4 ,同时给 VT3 补发一脉冲
#high out=6'b000000; // 脉冲宽度延时
#low out=6'b011000; // 触发 VT5 ,同时给 VT4 补发一脉冲
#high out=6'b000000; // 脉冲宽度延时
#low out=6'b110000; // 触发 VT6 ,同时给 VT5 补发一脉冲
end // 在 always 模块中循环
//initial $monitor($time,,,"out=%b",out);// 测试查看
endmodule
Test Bench (测试程序):test_trigger.v
`timescale 10us/1us
module test_trigger;
reg[7:0] a;
wire[5:0] out;
trigger trig(out,a);
initial a=30;
initial $monitor($time,,,"out=%d a=%d",out,a);
endmodule
- 上一篇:现代电力电子技术的发展
- 下一篇:电气主接线各种连接方式优缺点与实际应用

会员登录
