基于DSP的模拟电路诊断系统的实现
0 引言
随着现代电子技术的飞速发展,以及大规模集成电路的应用,电路规模和结构日趋功能化和模块化。研究如何运用现代诊断技术从大规模容差电路中准确地诊断出存在故障的元件,是实际工程迫切需要解决的课题,也是模拟电路故障诊断理论和方法走向实际应用的关键步骤之一。 1 系统总体设计 1.1 待测电路 待测电路如图1所示。
1.2 系统总体设计思路 先由DSP产生诊断所需频率的激励源,在被测电路的可及点中选取合适的测试点,并将信号滤波、整定后送入ADC进行模/数转换,将转换后的数据读入存储器中作为神经网络的输入,经过计算后得到神经网络的输出,根据神经网络的输出,确定故障元件,之后在LCD显示器和PC机上同时显示故障元件。系统硬件实现框图如图2所示。
1.3 激励源的产生 首先由DSP产生4路所需频率的PWM信号,再经搭建的4路滤波电路滤出所需频率的正弦信号。 1.3.1 频率为10 kΩ时PWM波形部分程序
1.3.2 滤波电路 本文滤波电路采用以传递函数为对象的直接设计法,按给定的设计要求,选定滤波器的类型为巴特威型;考虑到滤波的效果和设计的复杂性,本文将一阶低通滤波器和二阶低通滤波器级联,设计出一个三阶低通滤波器,如图3所示。通过参数计算和实际调试,得到所需频率的低通滤波器,进行电路仿真,验证设计结果。
1.4 信号整理电路 由于ADC只能接受0~3 V的输入,所以必须对电压进行调整,本文使用如下电路。运放采用LF353,它的特点是输入偏置电流低,而且具有高速、宽带和低噪声等优点,经测试比较适合。
1.5 数据采集模块程序流程 数据采集模块主要用于实现固定采样频率下对4种频率的正弦信号进行采集。基本流程是: (1)系统寄存器初始化; (2)设定ADC模块的控制和状态以及要采样的通道数和模式; (3)开启ADC转换; (4)ADC转换完成产生ADC中断,进入中断子程序完成多通道的一次巡回采样,对采集完的数据代入数字滤波计算函数; (5)主程序不停等待; (6)判断一帧样本是否采集结束; (7)如果否,则继续等待; (8)如果是,关闭ADC,返回。 1.6 数字滤波设计 基于FIR滤波器的数字滤波能在保证幅度特性满足技术要求的同时,很容易做到有严格的线性相位特性,故采用FIR数字滤波器进行数字滤波。本文通过ADC模块采集被测电路输出的正弦信号,并对该采样值进行FIR滤波后,送神经网络。 1.7 软件总体设计 程序分三部分,一部分为神经网络的学习程序,在PC机上运行,编程语言采用Matlab,最后得到所训练神经网络的各项参数,将此参数输入DSP,由此进入软件的第二部分。软件的第二部分在DSP上实现,编程语言采用C和汇编语言。首先将DSP产生的多种频率的PWM信号经前面搭建的滤波电路得到所需频率的正弦信号,作为被测电路的激励源。读入A/D转换器的采样数据,经编写数字滤波程序处理,然后程序依照第一部分所得神经网络的参数,代入神经网络运行程序运算,从而得到被测电路的故障元件代码。软件第三部分为故障代码显示部分,将第三部分得到的故障代码送LCD显示,同时送PC机显示。 1.8 诊断结果 实际测试结果分析如下:在计算实际输出时,权值和阈值是采用仿真得到的数据。实际测试数据是对被测电路通过TMS320F2812的A/D模块采集得到的,使得两者数据存在一定的偏差,人为设置几个故障,系统能够较好地识别故障。模拟电路故障诊断系统如图5所示。
2 结语 提出了DSP实现模拟电路诊断系统的总体设计思路,并对各个功能模块提出了实现的策略,最后验证了使用DSP实现模拟电路故障诊断系统的可行性。
|