电快速瞬变脉冲群抗扰度误码率测试系统方案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

电快速瞬变脉冲群抗扰度误码率测试系统方案

[摘要] 很多电子通讯设备在出厂时都会做电快速脉冲群瞬变抗扰度试验,但一般都只是测试设备是否被高压脉冲群损坏。本文介绍自主设计的系统,可以在高压脉冲群干扰的同时测试被测设备的通讯误码率。

[关键词] 高压脉冲群误码率

1 引言

近年来对电子产品的电磁兼容试验指标要求越来越高,不仅要求电磁兼容试验不会损坏产品,并且要求在电磁干扰情况下产品能正常工作。电磁兼容试验中的电快速脉冲群瞬变抗扰度试验国家4级要求供电电源通过±4KV,I/O端口耦合电压达到±2KV,要在如此高的电压脉冲干扰下测试产品通讯误码率是一个非常有挑战性的课题。

2 试验介绍

电快速脉冲群试验简称EFT试验,是国际电工协会制定的一些列电磁兼容试验中的一种IEC6100-4-4,与国家标准GB/T17626.4等同,标准规定脉冲群持续时间为15ms,其脉冲群间隔为300ms,单脉冲宽度为50ns±30%,脉冲上升沿5ns±30%,脉冲重复率为100KHz±20%。正、负脉冲群干扰时间为1分钟,对I/O 端口耦合的脉冲电压±2KV,脉冲频率达到100kHz。试验波形如图1所示。[1]

3 方案设计

3.1 系统设计

图2为试验系统框图,本文介绍的硬件部分主要是高压脉冲抑制转换器,硬件部分具有滤除高压脉冲群的功能,使得PC机断不受高压脉冲冲击损坏,并且保证PC端不受脉冲干扰导致数据出错。软件部分主要是PC断软件实现与被测设备通讯以及统计误码率的功能。

3.2 系统硬件设计

实验用自主开发的软件通过电脑串口与被测设备通讯,为了保护主设备电脑,自主设计了转换器在电脑和被测设备间进行隔离。高电压高频率的脉冲群通过传导和耦合到数据线上的干扰电压不光是对被测设备的检验,同时也要求与被测设备通讯的主设备通讯端口能承受如此高的电压冲击,同时也要求主设备接收数据时要滤除脉冲干扰正确接收被测设备发出的数据,否则无法知道数据出错是因为被测设备无法通过实验,还是主设备受脉冲干扰影响数据统计,这样就无法确定被测设备是否能通过实验,图3为转换器电路框图。

高压脉冲抑制转换器必须把高压脉冲能量通过供电模块泻放到AC网络,以保护PC断通讯串口,并保证PC能正确识别被测设备发送的数据。供电网络通过AC-DC电源和DC-DC两极给转换器供电。图4是转换器给RS485供电的DC-DC电路图,而RS232模块的供电使用电脑的USB供出的5V电压供电,这样电脑的接口不会有高压进入。

RS485需要5V供电,所以采用MP1482将12V输入电压降压成5V供电,MP1482的Vfb电压为0.923V,所以R15和R16选择20K和91K得到5V输出电压,其计算公式为:V out=Vfb*(R15+R16)/ R15。

图5为RS485电路,由于数据线上有被测设备试验的高压脉冲,所以电路中用了很多TVS将高压能量泻放到地。并且在数据端口加了工模电感,是因为当被测设备数据端口打耦合脉冲时,高压脉冲是通过共模的方式耦合到RS485的差分数据线上,所以加共模电感可以有效抵消共模干扰。RS485的供电端加了磁珠和电容,与一般设计不同的是磁珠更靠近RS485,这是为了在脉冲进入RS485的供电模块前将高压脉冲过滤到地,以免损坏供电模块。

图6是RS232电路,RS-232接口电路是一种用于近距离、慢速度、点对点的通信协议[2]。电脑串口通过正负电平表示逻辑,所以需要通过RS232芯片将电平转换为TTL电平,RS232芯片的供电端也使用了磁珠和电容来过滤高压脉冲。在RS232芯片与电脑串口相连的数据线上也使用了磁珠和电容滤除高压脉冲,此处电容的选取510pF不会影响正常数据通信,因为电脑串口的驱动能力是毫安级的,电平10V左右,所以电容充电由公式:C*U=I*T可知给510pF充电只几个微秒,与被测设备间的通讯速率2.4kHz而言不会影响数据通信,但却对瞬态脉冲的滤除起到关键作用。

在RS232和RS485之间还需要加光电隔离将高压脉冲隔离在RS485的供电模块泻放。光电隔离的光耦供电需要区分开,与RS232芯片相连的光耦端口供电取RS232芯片的5V电压,与RS485相连的光耦端口取RS485的5V供电。

3.3 系统软件设计

图7为软件系统工作流程图,软件通过Microsoft Visual Studio 2010写成。软件通脱PC串口与被测设备进行通讯,包括连续通讯,限定次数通讯,统计收发次数并计算误码率,显示收发数据,存储数据等功能,软件收发数据放在独立的放在多线程后台运行控件中,这样PC在有脉冲干扰时不会影响程序其他控件的运行。

程序核心共分三大模块,通讯触发控件主要与用户进行交互,多线程后台运

行控件主要负责发送接收数据,Timer控件主要负责显示存储收发数据和计算误码率。当用户启动程序后,初始化各变量。用户输入控制EUT的通讯命令,并触发开始通讯按钮后,按钮控件触发程序将控制命令载入全局变量,启动Timer 控件,然后将控制多线程后台收发数据的逻辑变量serialstate和控制数据更新的逻辑变量updateserialstate置为逻辑真False。

strTex = cmd.Text.Split(new char[] { ’’});

while (i

updateserialstate=false;

多线程后台运行后台运行控件(Back ground worker)在程序启动时就开始运行,然后不断检测serialstate状态和updateserialstae状态,当serialstate为True 并且updatesrialstae为False时,多线程后台运行控件程序就开始发送用户命令,并在用户规定时间后接受数据,然后将数据存入接受数据buffer并且将数据更新逻辑变量updateserialstate置为True,表示有新的数据更新。

if ((serialstate == true)&&(updateserialstate==false))

{

serialPort1.Write(Cmd,0,strTex.Length);//发送数据

System.Threading.Thread.Sleep(timeout);//用户设定的延时

bytes = serialPort1.BytesToRead;

buffer = new byte[bytes];

serialPort1.Read(buffer,0,bytes);//接收数据

updateserialstate = true;

}

Timer控件在用户触发开始通讯按钮后开始每隔1ms扫描一次updateserialstate逻辑状态,如果状态变为True表示有新数据更新,那么控件程序就将数据与正确数据进行比较分析,并计算误码率的百分比。然后将数据显示在用户交互的数据显示窗口,然后将数据分析结果连同数据存储成Text文档,最后将updateserialstate置为False,表示数据更新完毕。

if (updateserialstate == true){

相关文档
最新文档