版主
主题
回帖0
积分10609
阅读权限200
注册时间2008-11-22
最后登录1970-1-1
在线时间 小时
|
CPLD在IGBT驱动设计中的应用 # c( x" }1 _5 E$ `; _
, }4 g$ ~2 M. k6 w
LPC2378开发板 随着国民经济的不断发展,变频调速装置的应用越来越广泛。如何打破国外产品的垄断,已成为一个严肃的课题摆在我国工程技术人员的面前。
" { K# N7 I# P) U4 H" t
$ a' e. W3 T0 {) `9 G# h* g 在某型号大功率变频调速装置中,由于装置的尺寸较大,考虑到结构和散热的条件,主控板上DSP产生的PWM信号需经过较长的距离才能送到IGBT逆变单元中。为保证PWM信号传输的准确性和可靠性,必须解决以下几个问题:首先是抗干扰问题?变频器工作时,IGBT的开关动作会产生高频干扰信号 ?其次是如何保证PWM信号的前、后沿质量,减少IGBT开关动作的过渡过程?最后是如何减少布线电感,尽可能缩短PWM信号传输距离,避免过多的内部连线。- O% E! }" P1 q- g: k l- |
5 R$ z# @1 T) q4 t* A
1 总体设计 H6 n2 i, I2 p4 M& R; I8 I4 i( _
( M+ l W) y& Q" n' m$ p* M% q
原则上说,从触发电路到IGBT栅极和发射极的引线应做到既短又一致。但随着变频调速装置功率的不断增大,装置的尺寸也在增大,散热条件要求更高。由于结构设计上的种种原因,真正做到这点有很多实际困难。8 P, p& S7 _, S, I$ W$ f& G/ R
$ K5 v/ D [6 Q" C* a$ G0 H
DSP产生的PWM信号既可以采用串行方式又能以并行方式进行传输,但这两种方式都有着各自的特点。采用并行方式传输信号(即每一个IGBT模块的栅控端都接一根信号线)会造成系统内部接线过多、接地困难,抗干扰性大大降低,这种情况尤以采用了多重化、多电平技术的变频装置为甚。若利用串行方式,PWM信号的传输速率又受到介质的极大限制。在目前诸多传输介质中,只有光纤具有损耗低、频带宽、重量轻、不受电磁干扰等突出优点。GI型光纤用LED做光源时,传输速率可达140Mbit/s,传输损耗可忽略不计。IGBT的工作频率通常很少用在15kHz以上,因此以异步串行方式高速传输PWM信号时,采用光纤作为传输介质是唯一的选择。
! A6 X! q1 m/ [9 z `" D) }
5 `1 i0 Q) i. [& ~ 在串行的PWM信号送到IGBT的栅控端之前,还需将该信号转化为并行形式。尽管采用普通的串/并转换芯片可以实现上述功能,但这些芯片的最高工作频率有限,如74166的最高工作频率为35MHz,对于目前广泛采用多重化和多电平技术的变频装置来讲,这种工作频率显然有着较大的局限性。尤其是在实时性、快速性要求甚高的电机控制领域,不可能采用应答方式完成信号的传输,因此接收端需要有较强的纠错和容错能力。若采用普通的芯片,难以只用一两片芯片完成上述功能。但CPLD具有极强的灵活性,内含128个宏单元,最高工作频率可达167MHz(以CypressCY37128为例),可以只用一两片芯片就能完成较复杂的逻辑功能,因此CPLD与光纤的结合是解决大功率变频器中信号传输的最好选择。系统信号流程图如图1所示。# i) x) g5 T5 W3 j
* \/ [5 ~& Z# _2 通讯方案
5 ?* h3 U3 m; M/ N
; R$ I+ y& z, |* I' R! m" | 异步串行格式的一个数据帧包括1位起始位和8位数据位,最后是停止位。起始位规定为0,8位数据位由高到低顺次发送,前7位组成1个编码字符,第八位为奇偶校验位。停止位可以选择1位、1位、2位。从系统实际要求出发,我们对标准的异步串行格式进行了修改,将三相PWM信号进行编码,用以下数据格式发送到信号转换单元:0-a3c3a2c2a1c1-V-1111。其中0为起始位,a1、a2、a3分别对应三相逆变桥每个桥臂的栅控信号,c1、c2、c3分别对应三相逆变桥每个桥臂的封锁信号,V是一位校验位,最后四个1为结束标志位。信号转换单元的CPLD接收到该信号后,将此串行PWM信号转换为并行形式。另一方面,为保证逆变单元能够正常工作,还需将逆变单元故障信号送到上位机以供故障诊断。. o, f: O d# O( V
$ @7 i7 H; _2 @' Y- x& R
故障信号以以下串行编码格式送出:0-a1a2a3a4a5a6-V-1111,0为起始位,a1、a2、a3分别对应每个桥臂的驱动故障信号,a4为过热信号,a5、a6为通讯故障信号,V为校验位,最后四个1为结束标志位。上位机板上的CPLD将此信号转换为并行形式。事实上,PWM信号和故障信号的处理过程是相同的。! K _( K0 N8 b/ L* E
2 G% ]' n+ c3 L 对于异步串行通讯,通常要保证发送的信号在接收端能被正确接收,往往采用两类同步处理办法:一类是使用硬件手段实现通信协议的部分功能;另一类是使用各种短小的帧来实现通信功能。在本系统,由于实时控制对时间的要求,不可能采用上述形式的通讯方案。因此根据系统实际需要,数据传输采用起止式同步方案,即用“0”代表起信号,“1”代表止信号。在不发送信息时,一直发送止信号。第一个由“1”到“0”的转换表示字符的开始收端检测到这个转换后控制位时钟输出,以便对接受信号进行码位中点取样判决。& c) n- A/ Y7 X) C) x6 b" a
2 y- Q% i1 Z4 E: b7 }1 G' ? 针对系统的实际要求,为确保数据通讯的正确性,在正常工作以前,DSP模块必须向信号转换单元固定发送一个标志字。只有当信号转换单元连续几次正确收到标志字后,才能建立正常通讯。在正常通讯时,为避免随机干扰的作用,只有在连续出现多次帧错误的情况下,信号转换单元才向上位机发出通讯故障信号,以确保系统工作的稳定性。3 D: T6 o2 {# m, I7 }
8 P# d! H7 m$ _7 ?. _
3 CPLD的实现
) r5 ?. ~% ~0 ]* Q& x$ x* N5 V. X8 f7 X3 [0 h7 J" E
20世纪90年代,引起数字系统设计方式发生突破性变革的技术是VHDL设计技术。VHDL?Very High Speed Integrated Circuit ?VHSIC Hardware Description Language?作为IEEE-1076标准所规范的硬件描述语言,非常适用于可编程逻辑器件的应用设计,并正在得以普及。采用自顶向下的设计方法,是用VHDL设计系统硬件最突出优点之一。
6 y1 d8 `6 H2 C( z3 e6 s$ l+ M+ h3 G( y. |% d
通过前面对数据流和通讯方案的分析,按照自顶向下的原则,我们对信号处理单元进行功能分解,将其分解到下面的各个单元中,见图2。 通过功能分解,我们可以看到,单元内部构造可以分为三个部分:一部分对栅控信号进行处理;另一部分对故障信号进行处理;最后一部分用于产生控制故障信号发送的时钟。
; c2 r8 s/ O; x8 o! t8 v5 r7 g* G7 M
& A+ ]( L' a O9 V# z9 G! a' | 从图2我们可以发现栅控信号处理部分与故障信号处理部分都含有功能相同单元:校验位生成单元、数据通信控制单元及锁存单元,因此可以对以上这些单元进行参数化设计。在参数化设计以前,我们还需要构造一些公共的基本元件,如触发器、寄存器、计数器和同步器等。这以后,我们就可以对前面提到的功能相同的单元进行参数化设计。4 w$ A! Q; S8 A$ h) U
9 @; V8 i: E. [% a$ G ~
在进行参数化设计以前,我们需要对各功能单元的输入输出信号进行分析以确定信号使用的数据类型。由于IGBT控制问题的特殊性,在这里我们统一使用Bit和Bit-vector型数据。Bit型数据只有两种状态:“0”和“1”,可以有效地防止多态数值系统给控制和编程带来的麻烦。3 @$ }$ ] s+ K& O
& n1 b- M8 q- Z% e4 \4 A在进行传统的电子线路设计时,设计师的工作是按电路原理图将各个单元电路和器件连接起来,形成一个完整的系统。而在利用VHDL设计电路时,设计师所要完成的不过就是将那些用VHDL语言描述的单元电路和器件连接起来。在这个意义上,利用VHDL语言进行设计与利用传统方法设计没有太大的区别,但采用自顶向下的设计方法时,VHDL具有无可比拟的优越性。作为一种硬件描述语言?VHDL语言有别于一般的计算机语言。它既有并行执行的语句,又有只能顺序执行的语句。利用VHDL这种特性,我们可以将整个系统分成若干个相对比较独立的模块来进行电路设计。在下面的程序中,进程COUNTER描述了一个16位计数器,它通过对40MHz时钟进行分频,产生进程CONTROLLER所需的2.5MHz时钟。进程CONTROLLER构造了一个发送控制计数器,它通过对进程COUNTER所产生的时钟信号进行计数,产生故障信号的发送控制信号。, a$ _4 F" `' P: v/ k
0 y5 D; q# B T6 A/ ~ CONTROLLER:PROCESS (reset, Tclk)
3 I% y9 N( x+ X+ C6 ~! y
- g3 S( v. n+ ?) t6 B VARIABLEscit_v:BIT_VECTOR(5DOWNTO 0):=″000000″;
1 r' d" S3 r( A( X0 d/ v9 g7 M. x$ a
BEGIN
) {% B8 J! j( h6 |) L# C8 s' y" `: E, N
IF(reset='0') THEN
2 F. i9 ^: X0 I3 O% p) y k" @( T( A9 E1 _
scit_v:=″000000″?; ?4 t, x1 c- O; q
* G, |* S5 r& l6 Y
ELSIF(Tclk'EVENT AND Tclk='1'
) [; Q% u2 {- z2 K3 w+ O5 G7 C* p3 j# Q, i1 Q; O
THEN4 q" S( r( T: |5 o. M, C% o
6 v% v8 ~0 T5 I8 z& a5 M2 f0 y IF(scit_v<=″000111″)THEN1 D$ U( n9 f- J+ }
* j/ ^7 v& I) C, X; l n) L2 u
IF(tdEMPTY_s='0')THEN
; }5 g! E/ F2 Z ?) z5 R( N* D$ `( y/ |! W& J
scit_v:=″001000″;
* P g& ^: L u+ I- V D) C! n! t8 o: z) F* X9 Q
ELSE
0 c- \1 p5 Y' U1 c: R* I6 ^ n2 v9 _; x, ]8 a& J0 F5 ~( ~
scit_v:=″000000″;. ?, _3 B8 }- s) d: y" {
: d/ v0 G! |" H' r( U# u) n
ENDIF;' W: O9 b* a" S1 a8 d: g
0 R l/ T; T/ m0 q ELSE
9 V! G3 a& ^$ Z0 G: u
+ f% s: _2 y8 f" X scit_v:=scit_v+1;
% @, ]8 h; I3 Q' ?6 ? E" I
, ~' X. r% I) _9 m0 a* R ENDIF;5 H, j5 B Q% f* O7 u% j' }
8 ^- F' E( W2 l) z
ENDIF;
% X" }# G% d' J$ Q" Y7 I+ g% ^5 @9 n3 J; U: W, { u
scit<=scit_v;5 }, C* i# ` {1 W2 o0 I
5 D, Q9 O# F% x ENDPROCESS;
! \. c8 u; N E: L+ n7 i
& o2 [. b8 |; g* Y: [! L* w, i COUNTER:PROCESS(clk,reset)3 l6 O, L# \4 @, X, k |4 X
8 T% E2 ?: P0 U" [( Z* {$ d# d BEGIN% J# s' g9 A* A J: k* y
# Z' [5 N" m: b0 E3 o
IF(reset='0')THEN
* o2 l; N" l, i( x& U5 d
Y. G) K& A' A3 | count_4<=″0000″;8 O5 t7 f# Q' ] [- ^
- y4 n- _/ U% V8 Z7 j* A ELSIF(clk'EVENTANDclk='1')9 q* C) S5 N. p. }% T( D
3 i0 _1 _3 L" M+ V8 j* N THEN" X `2 O9 F' b- V
% l0 h& L2 a d' |
count_4<=count_4+1;, G4 F, S* y1 ^% H
6 S7 y' t! H4 F {/ CEND IF;
( x t0 r2 n! z7 Z5 S0 e. Q9 x% ~9 H* M9 P+ ]/ M5 ?, o7 R. m- C
ENDPROCESS;; Q) g3 u: s) N7 x; M, k7 D6 i
' ^3 `4 F X6 R& m( ] 通过上面的程序,对照图2,我们可以看到整个设计分为三层:基本元件层-功能单元层-顶层;用基本元件构成功能单元,再由功能单元组成整个系统。每完成一个模块的设计,便对其进行仿真测试,逐步加入各个构造模块,模块间通过一定的信号传递,构成整个系统。采用这种方法,仿真测试贯彻系统硬件设计的全过程,从而可以在系统设计早期发现设计中存在的问题。与传统电路设计后期进行仿真相比可大大缩短系统的设计周期,节约大量的人力和物力。
" `$ l. B7 @: u% a1 S( i ~3 v* Y: A6 u4 }* ]3 y8 S
4 仿真与实验结果
# T( K+ z3 {* G0 v8 R1 w; e
3 i4 d( W; \3 {6 O6 M9 ] 图3是对上述芯片进行的仿真结果,Data代表来自IGBT的故障信号,仿真时Data输入值为“0101”,即“5”。由于通讯正常,a5a6为“11”,因此上述六位产生校验位为“1”,Txd输出为“0-1010110-1111”。Rxd输入为“0-1101111-1111”,Pcs?0,2,4 三位输出表达式为:aIAND cI ,pcs?1,3,5 三位输出表达式为:?NOT a1 AND c1,因此Pcs?0,1,2,3,4,5 输出为“011001”,即“19”。通过对仿真结果的分析,可以看到设计满足功能需要。该芯片已成功地用于某型号的大功率变频调速装置中。
& v5 v' t. ~8 x: I" w. t r
& @! V) o% T4 _ D 通过上面的设计,整个PWM信号与故障信号传输通路只需3片CPLD芯片就可实现。系统电路的体积大为缩小,从而提高了系统的可靠性。CPLD的应用缩短了系统的设计周期,降低了开发成本。CPLD与光纤的结合是解决PWM信号长距离传输中准确性和可靠性的有力保障。 - h+ }. {3 k- j. X. T
3 z9 l# Y) }& S$ C0 T本文章来自中国IT实验室:http://embed.chinaitlab.com/ |
|