基于FPGA的数字电路故障诊断系统

点赞:3426 浏览:8037 近期更新时间:2024-04-08 作者:网友分享原创网站原创

【摘 要】介绍了一种采用向量法对数字电路进行故障诊断的系统,通过向被测电路发送测试向量,接收被测电路对激励的响应结果,然后将该结果与正常工作电路的相应结果进行比对的方法,验证被测电路的功能以及诊断故障.参考目前的一系列测试系统,给出了系统的硬件结构和具体软件流程.该系统拥有256路独立的IO通道,各个通道的输出电压均可独立设置,输出频率最高可达50MHz,可以完成对目前主流的数字电路的诊断任务,提高数字电路测试诊断的效率.

【关 键 词】FPGA,数字电路,计算机测控,故障诊断

1.引言

当今社会数字电路已经遍布人们生活的各个角落,数字电路广泛应用于通信、娱乐、工业生产等不同领域.随着数字电路的不断发展,电路的测试和故障诊断成为了其设计和生产维修的重要组成部分.目前国内部分国防单位使用的数字电路板具有高性能、高功耗、高集成度等特点,比如战斗机上从俄罗斯等国引进的实现关键功能的数字电路板[1].而使用年限及次数等因素不可避免的会对这些电路板造成损伤,导致包含这些数字电路板的设备无法正常使用,因此对数字电路板的性能测试及故障检测尤为重要.

基于FPGA的数字电路故障诊断系统参考属性评定
有关论文范文主题研究: 关于数字电路的论文范文检索 大学生适用: 专科毕业论文、专科论文
相关参考文献下载数量: 40 写作解决问题: 写作参考
毕业论文开题报告: 论文任务书、论文设计 职称论文适用: 核心期刊、初级职称
所属大学生专业类别: 写作参考 论文题目推荐度: 最新题目

2.系统结构

2.1系统总体结构

本文介绍了一种采用向量法对数字电路进行故障诊断的系统,通过向被测电路发送测试向量,接收被测电路对激励的响应结果,然后将该结果与正常工作电路的相应结果进行比对,从而验证被测电路的功能以及诊断故障[2].该系统兼容目前主流的采用TTL,CMOS等电平逻辑的数字电路.其系统结构如图1所示.

图1系统硬件结构

本系统主要由计算机和8个下位机子系统两部分构成.每个子系统包含32路IO端口,负责完成测试向量的发送和接收,计算机根据用户建立的测试任务,控制下位机子系统,并显示处理被测数字电路的响应结果.系统选用PXI6534来完成计算机与下位机子系统之间的数据通信,PXI6534是NI公司的一款高速数字IO卡.它将复杂的PXI总线转换为相对简单的16位同步并行总线供下位机设计人员开发,而为上位机设计人员提供了大量API函数从而简化底层驱动的开发过程,让设计人员将更多精力集中在其它应用功能上的开发.各个子系统通过母板挂接到16位数据总线上.由于PXI6534的数字IO驱动能力有限,本系统通过母板来提高数据总线的驱动能力,并且进行电平逻辑的转换和提供同步时钟.

2.2下位机子系统结构

子系统根据用户设定的测试任务,完成对某种数字电路的检测诊断,并缓存被测电路的响应结果,其结构如图2所示.

图2诊断检测子系统结构

子系统包括FPGA核心模块、数据缓存模块(SDRAM)、发送调理电路、接收调理电路和参考电压模块.通过FPGA进行指令和数据的读取,根据测试任务所需的测试向量的电压范围设置参考电压,并且将待发送的测试向量的数据存入发送缓存SDRAM.测试开始后,FPGA从发送缓存SDRAM读取数据通过发送调理电路,同时将接收调理电路接收的被测电路的响应数据存入接收缓存SDRAM.测试完成后,FPGA从接收缓存SDRAM中读取测试结果通过数据总线上传给计算机.

2.2.1控制芯片

本系统选用ALTERA公司CycloneIII系列芯片EP3C25F324C8作为下位机子系统的主控制芯片.该芯片具有215个可编程IO口,24624个逻辑单元,4个锁相环.相比于ARM,DSP等主流微处理芯片,FPGA具有更高速度的优势,且其内部PLL锁相环资源可以为系统提供不同的工作频率.FPGA丰富的IO资源可以满足系统在测试多输入输出的数字电路时的需求.

FPGA是整个数字电路故障诊断系统下位机子系统的核心,测试向量的发送和接收,以及与计算机的通信均由FPGA编程实现.

2.2.2发送调理电路

发送调理电路完成测试向量的电压转换,由于FPGA输出的是0和3.3V的电压,为满足测试不同数字电路的需求,需要将FPGA输出的电压转换为被测数字电路所能识别的电压.本系统选用,系统采用Intersil公司的高性能管脚驱动芯片EL1056作为发送驱动芯片,可输出电压范围-12V~+12V,驱动电流可达140mA,最高频率可达60MHz.

2.2.3接收调理电路

接收调理电路实现对被测数字电路响应向量的比较,将响应向量转变为FPGA兼容的电平.系统采用Intersil公司的EL2252作为接收比较芯片,该比较芯片含有两个独立的比较器,带宽可达50MHz,电平范围为-12V~+12V,电路原理如图3所示.

图3接收调理电路

通过两个比较器将被测电路的响应向量分别与VH、VL高低两个电压比较,得到vec1和vec2.当vec1等于1,vec2等于1时,则响应结果为高即逻辑1,当vec1等于0,vec2等于0时,则响应结果为低即逻辑0,当vec1等于0,vec2等于1时,则响应结果为高阻.通过两个比较器实现了对被测数字电路响应向量的三态判断.

2.2.4参考电压模块

参考电压模块由D/A转换电路和偏置放大电路两部分组成.本文选用8为D/A芯片AD8801来完成数模转换,该芯片含有8个模拟输出通道,有效的提高了系统的集成度.

2.2.5数据存储模块

系统选用SDRAM作为测试向量发送和接收的存储模块,SDRAM具有读写速度快,存储容量大,便宜等优点,已经广泛应用在数字电路领域.本系统选用两片位宽为16位、容量为64MBits(4MBits×16)的MT48LM16A2TG-75组成容量为128MBits(4MBits×32)的存储单元,该芯片最高读写时钟频率可达133MHz.

3.软件设计3.1下位机程序设计

本系统下位机硬件驱动程序使用VerilogHDL语言,在QuartusII开发环境下设计完成.Verilog是一种硬件描述语言,采用模块化的编程方式进行设计.工作流程如图4所示,程序上电启动,首先进去自检流程,检测系统自身的健康状态,以保证系统能正常运行.自检流程完成后等待计算机发出指令,识别不同指令完成测试任务.

通道状态设置.FPGA根据测试任务,设置某一路IO通道的状态,选择是否从该路通道接收或发送测试向量.各个通道均可独立设置,系统可以根据被测对象灵活的选用不同的IO通道.

接收带发送数据.计算机将待发送的测试向量数据下传给下位机子系统,FPGA将这些数据暂存在SDRAM中.

发送频率初始化.FPGA进行分频,设置本次测试任务发送和接收测试向量的频率.

参考电压初始化.设置IO通道发送和接收测试向量的高低电压值.

开始测试.FPGA从发送缓存中读取测试向量的数据,通过IO通道发送.同时将接收到的响应数据存入接收缓存中.

上传接收数据.FPGA从接收缓存中读取测试结果,通过16位数据总线上传给计算机,以便显示和比较.

图4系统工作流程

图5计算机界面

整个程序包括以下几个模块:①主程序模块.实现与计算机的通信,接收和上传数据,识别计算机所发出的指令,控制其他模块配合完成测试任务.②D/A控制模块.控制D/A的输出,设置测试任务所用的参考电压.③SDRAM控制模块.控制SDRAM的刷新和数据存取.④分频模块.为发送和接收测试向量提供不同的频率,采用整数分频,半整数分频和小数分频结合的方式提高频率调节的分辨率.⑤向量发送接收模块.控制测试向量的发送和接收.


3.2计算机应用程序

本系统采用LABVIEW构建人机交互界面.如图5所示.LABVIEW是一种图形化的编程语言,利用了计算机的强大性能,在设计计算机应用程序界面是非常方便.由于本系统采用了NI公司的高速数字IO板卡,NI公司提供了该数字板卡在LABVIEW环境下的API函数,为编程提供的方便.

4.结论

论文设计了一种通用数字电路故障诊断系统,该系统具有以下优点:拥有256路独立I/O,输出频率可达50MHz,输出电压在-6V~+9V内可调,可以满足目前大部分数字电路的诊断需要.