《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 业界动态 > 多通道可调脉宽脉冲发生器设计

多通道可调脉宽脉冲发生器设计

2008-03-10
作者:张 良,秦 玲,刘承俊,章林

  摘 要: 一种用于功率MOSFET器件触发信号产生的多" title="的多">的多通道可调脉宽" title="脉宽">脉宽脉冲发生器。该装置具有控制简单,多个通道时间抖动小的特点。
  关键词: 信号发生器  多通道" title="多通道">多通道  脉宽可调

 

  高重复频率的固体开关技术是脉冲功率领域研究的重点之一。在兆赫兹重复频率下,适合构成固体开关的功率电子器件有金属氧化物半导体场效应晶体管(MOSFET)、砷化镓光导开关(GaAs-PCSS)等。对于将功率MOSFET器件作为固体开关的脉冲功率源" title="功率源">功率源,由于单个功率MOSFET器件的耐压和输出电流能力有限,为了得到更高的电压和更大的电流,需要对大量的功率MOSFET器件进行串联和并联。美国利弗莫尔国家实验室(LLNL)用于产生20kV、400A的脉冲功率源,一共使用了720个功率MOSFET器件[1]。这些功率MOSFET器件在产生输出脉冲时是同步触发的,这样就需要有多通道的同步触发信号。
  功率MOSFET的开关速度非常快,一般为十几纳秒。因此,对同步输出的触发信号需要的时间抖动要小于MOSFET器件的开关时间,否则将会引起并联的MOSFET器件的电流不均匀,导致器件损坏。MOSFET器件的开关完全是由输入栅极驱动信号决定的,为了能使功率MOSFET器件能在MHz的重复频率下工作,要求触发信号源有很小脉宽的输出能力。本文介绍了一种可用于兆赫兹重复频率的脉冲功率源上作为触发信号的多通道可调脉宽、频率的脉冲发生器的设计。
1 系统的组成和工作原理
  脉冲发生器的系统结构如图1,整个系统由控制部分和光纤发射电路部分组成。在控制部分中,单片机89S52和可编程逻辑器件(CPLD)ispLSI1032E组成了脉冲产生的逻辑硬件核心。单片机负责接收并解析上位机(PC机)的设置信息,如输出脉冲的宽度,频率和个数,通过运算得到CPLD所需的分频数,并通过8位总线传输给CPLD,由CPLD产生多个通道同步输出的脉冲信号。单片机还可以读取CPLD中关于输出脉冲的设置,处理后返回到上位机作为诊断信息。CPLD的优点是可用I/O口多,可以实现多通道的同步输出。光纤发射电路将每一路控制产生的脉冲信号经驱动增强电路之后,分成12路的同步脉冲,用光纤发射器件以光信号" title="光信号">光信号的方式输出。


2 硬件设计
  控制部分的核心是单片机和CPLD器件,它们之间的接口方式一般有独立方式和总线方式两种。独立方式最大的优点是接口逻辑无须遵循单片机内固定的总线方式的读写时序。总线方式具有编程简单、速度快的优点。本设计采用8位总线方式,图2为硬件连接原理图。设计中选用的CPLD是Lattice公司的ispLSI1032E-125LJ,CPLD的时钟采用80MHz的有源晶振,产生的脉冲的最小脉宽为12.5ns,最大的脉冲宽度 为12.5×256=3187.5ns。在脉冲串输出模式下最多可以输出255个脉冲;在连续输出模式下,输出脉冲个数不受限制。这样的设计可以满足脉冲功率源的应用范围。
  单路光纤发射电路原理图见图3。为了使光纤发射器件有足够的驱动电流,电路中用了3个与非门并联驱动。每一个CPLD的输出端口都由光纤发射电路分成12路同步光信号输出,因此,最后能得到的触发信号的路数可以是非常多的,足以满足现阶段开展的脉冲功率源的研究需要。

 


3 软件设计
  信号发生器需要编写上位机(PC机)、单片机和CPLD的程序。在PC机上,用Microsoft Visual Studio 2005作为开发平台,以VB作为开发语言,采用System.IO.Ports.SerialPort作为串口通信的控件,编写了上位机的控制程序。SerialPort控件很好地封装了串口通信的操作,编写程序仅仅需要调用Write和ReadByte这两个函数[2]。PC的功能模块包括设置和获取信号发生器输出脉冲的宽度、数量、频率、复位单片机等。 开发的脉冲信号发生器控制程序的用户界面如图4所示。
  单片机89S52程序的各个函数模块之间的关系和程序流程如图5和图6所示。整个程序以串口中断处理函数作为程序的主流程。同时,由于把CPLD作为单片机的外部数据存储器,单片机对CPLD的控制程序就简化为对CPLD映射的几个端口的读写。


  CPLD以Lattice公司的ispLevel3做为开发工具,用VHDL作为开发语言,包括端口映射模块和脉冲生成模块。端口映射模块模拟单片机的读写时序,将CPLD映射为单片机的0x80~0x82这几个地址。其VHDL语言关键代码如下:
process(ALE,RD)
begin
  if((ALE and RD)=′1′)then
    read<=′1′;
  end if;
  if((ALE and RD)=′0′)then
    read<=′0′;
  end if;
end process;
--从总线上读数据
process(read)
begin
  if(read′EVENT and read =′0′) then
  case ALE_Address is
    when ″10000000″=>P0<=
       baseSettingPeriod;
    when ″10000001″=>P0<=
       baseSettingWidth;
    when ″10000010″=>P0<=
       baseSettingPulsenumber;
    when others =>P0<=″ZZZZZZZZ″;
  end case;
  end if;
end process;
--写数据到总线上
process(WR)
begin
  if (WR′event and WR=′0′)then
  case ALE_Address is
    when ″10000000″=>baseSettingPeriod<=P0;
    when ″10000001″=>baseSettingWidth<=P0;
    when ″10000010″=>baseSettingPulsenumber<=P0;
    when others=>null;
  end case;
  end if;
end process;
  端口映射部分的仿真结果如图7所示。


  脉冲生成部分由两个主要process组成,一个process用来产生单个的脉冲,另一个则用来产生设定数量的脉冲。仿真的波形如图8所示。


4 实验结果
  图9是在周期为125ns、脉宽为12.5ns时的实验波形。对波形的测量结果如表1。

  
  由测量结果可知,实验波形的脉冲宽度以及周期的测量值与相应的设置值之间的误差非常小。对二路光信号进行接收、放大和调理之后的波形的测量显示方法得到的多路功率MOSFET器件的触发信号,时间抖动可以小于1ns,相对于功率MOSFET开关时间(十几个ns),其时间抖动带来的开关动作不同步效应可以忽略。因此,采用这种方式设计的多通道触发电路可以适应脉冲功率源的应用要求。
  本文介绍的使用51内核的单片机和CPLD器件为硬件核心搭建的多通道可调脉宽的脉冲信号发生器,可以产生足够数量的同步光信号,满足兆赫兹重复频率的脉冲功率源的大量同步触发信号的应用要求。
参考文献
[1] COOK E G,ALLEN F V,Anaya E M,et al.Solid-
    State modulator R&D at LLNL.International Workshop
     on Recent Progress of Induction Accelerators Tsukuba,
     Japan,2002.
[2] Microsoft Corporation.Microsoft MSDN Library.http://
     msdn2.microsoft.com/zh-cn/library/system.io.ports.
     serialport.aspx

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。