基于单片机和数字信号处理器的汽车发动机点火线圈测试系统
1.引言
随着汽车电子点火技术的广泛应用,对电子点火系统各部件的要求也随之提高。 点火线圈作为汽车电子点火系统的重要部件,其性能直接关系到汽车的工况,因此必须准确测试点火线圈各项参数,建立严格的产品出厂检验标准。据调查,我国汽车点火线圈系统的国产在线测试设备多以老式设备为主,智能检测设备较少,而进口设备价格昂贵,且其智能化程度不高。[1]因此研制出具有自动化、智能化的汽车发动机点火线圈测试系统是科研人员努力的方向。本文着重介绍了这种符合现代化生产要求的汽车发动机点火线圈测试台的设计方法。
2.系统组成
500)this.style.width=500;" border=0>
图-1 汽车点火线圈测试台的原理框图
由上述可知,点火线圈测试系统实质就是一个数据采集与处理的问题。因此数据采集卡的设计就自然成为本系统中最主要的问题。下面分别介绍个部分的实现。
3.硬件实现
3.1 数据采集卡
分析点火线圈的次级电压信号可知,信号的最高有效频宽是5MHz,根据采样定理知,系统的最高采样速率至少为10MHz,对如此高的采样速率,必须要用高速数据采集系统来测试,才能满足测试要求。【1】图-2是本系统中数据采集部分的结构框图。
500)this.style.width=500;" border=0>
图-2 数据采集系统的结构框图。
采集部分处理器采用TI公司的DSP芯片TMS320VC5402。它的处理速度可达到100Mbps,具有改进型的8位HPI接口,有16Kxl6Bit DARAM,以及4Kx16Bit ROM 存储空问,具有较高的性价比。由TMS320C5402内部ROM 不可写,所以外挂一片27040EPROM 作为外部程序区来存储程序。因为点火线圈数据采集要求高速度,高精度,以满足高档次,大批量生产的要求。同时为扩大此采集系统的应用领域,A/D转换器采用美国AD公司的AD9432芯片。该芯片为12bit单路模数转换器,其最高转换速率为100MHz。输入信号模拟带宽可达500MHz,采样时钟为PECL差分电平输入,转换数据为1TTL电平输出。片内带有输入缓存和采样保持器,12位并行数据输出。由于AD9432要求差分输入形式,因此对于输入信号必须经过信号调理电路变换为差分形式。【4】
由于系统需要高速采集数据, 所以高速缓存是系统中的一个关键环节。高速缓存是系统中的一个关键环节,根据系统的要求可选用CY7C4255。CY7C4255是高速、低功耗8k*18低压同步先进先出(FIFO)存储器,读写周期为10ns,具有独立的18位输入、输出接口和读、写时钟信号,可以实现同步读写 *** 作。A/D转换后的数据连续地写入FIFO,DSP根据FIFO 的状态来决定如何读出数据。DSP读数并处理此数的速度要比A/D转换的速度高得多。DSP每次主动读FIFO数据时,执行的是一个条件读指令,即FIFO不空时(EF=BIO为高)才读,FIFO空则DSP等待。当DSP处理任务较重时,FIFO数据长时间没有被读走,FIFO 半满或全满时,会向DSP发出一个中断信号,DSP暂停当前工作,进入中断服务程序,处理FIFO中的数据。通过FIFO将采样数据向内存转移,这样不但获得100MHz左右的高速采样率,而且使采样程序的编写大大简化。
PCI接口芯片采用PLX公司的PCI9052它是一款面向低端应用的高性能PCI接口芯片。接口芯片和TMS320VC5402的连接较简单,在此从略。
采样系统的软件设计主要包括DSP中对数据的读取和处理以及采集卡的设备驱动程序开发两部分。本文主要在CCS平台上采用汇编语言实现DSP的编程。PCI设备驱动程序开发则采用微软公司为Windows9x *** 作系统的驱动程序设计的一种构架——VxD。
3.2 程控电压源和程控信号源
根据各种不同型号线圈的测试条件要求,程控电压源必须可产生3-25V 连续可调的直流电压。程控信号源可产生连续可调的霍尔波信号,频率为0.5-250Hz(最小步进1HZ),幅值为0-10V,占空比为1%-99%(最小步进1%)。
程控电压源的设计采取工业成品加控制板的方式来实现,具体来说就是买一个符合要求的可以方便地进行二次开发(控制)的电压源,然后根据电压源的说明书,制作控制板。市面上这种电压源很多,控制板的制作也较简单,在此不加赘述。
500)this.style.width=500;" border=0>
图-3 程控信号源系统框图
从上述所给指标可以看出,该程控信号发生器频率变化范围宽,对稳定度和精度的要求都很高一而且有一定自动化的要求。这些都是模拟电路难以达到的,所以我们采用了单片机控制的全数字电路,系统框图见图-3。
要产生脉冲波形有很多方法,但关键是如何使占空比可变。在此,采用软件控制单片机的一位输出口,定时对它置位和清零的方法来实现,这样就可以方便地调整占空比,同时频率也是可变的。经过计算可以发现,当频率为250Hz,占空比为1% 时,信号保持高电平的时间为40µS,因此MCS-51单片机的速度能达到要求。【5】
3.3 IO控制板和测量控制电路
在介绍系统组成的时候以及说明了测量控制电路的作用和组成。下面简要介绍一下IO板的设计与实现。此处的IO板仅仅由一个简单的并行接口芯片8255A组成,并直接将此板接插在工控机的ISA扩展槽上(如果工控机上没有ISA插槽,也可以直接接PCI插槽)。上位机软件对IO板的 *** 作仅仅是写一些控制字,就可以让IO板的输出发生相应的变化,从而驱动相应的测量控制电路中的继电器进行相应的动作。我们知道,在Windows 9x的 *** 作系统中,应用软件可以直接对接口电路中的寄存器进行访问而不需要驱动程序。所以,如果本系统中的上位机采用Windows 98 做为 *** 作系统,就不需要为IO板编写驱动程序了。这正是笔者在此测试系统的工控机中使用Windows 98 SE作为 *** 作系统的主要原因之一。
4.系统软件设计
系统软件包括上位机软件和下位机软件,下位机软件的设计在介绍各个部分的硬件实现的时候已经有所述及,在此不在赘述。
上位机程序设计可分为四大部分:测试界面的设计、用于存储测量结果以及测试参数设置的数据库的设计、上位机与下位机之间串口通信程序的设计、测量算法的设计。
上位机软件采用Visual Basic 6.0来实现。Visual Basic 6.0是Windows环境下简单、易学、高效的可视化编程语言开发系统。VB6.0既可使用DLL来实现IO端口的输入输出功能,又可通过Mscomm控件或API函数实现串口通信,能方便地实现图像显示和数据存储,还能够充分发挥VB数据库功能以及生成用户界面快等优点。因此采用VB6.0来实现本系统恰到好处。在这里介绍在VB6.0下如何访问插在工控机I/O插槽中的IO板的端口。
由于VB不能直接对寄存器进行 *** 作,没有直接的输入输出端口 *** 作语句,而VC++同时具有汇编语言和高级语言的功能与特点,如果利用VC++编制一个动态链接库,库中包含对输入输出端口的读/写函数,然后在VB程序中,通过声明DLL中的函数并提供DLL路径来调用这些函数完成控制行为,那么在VB中就可以很方便的实现对IO口的 *** 作。
5.结束语
本文所介绍的汽车发动机点火线圈测试系统的实现方法,实际应用于武汉理工大学汽车电子电气研究所为广州飞达电器公司和北京同享同悦汽车电子有限公司研制的点火线圈测试台上,取得了很好的效果。
本文作者创新点:本文中所论述的点火线圈测试系统能测量国家标准中规定的所有点火线圈的参数,达到替代进口设备,填补国内空白的目的,并且汽车发动机点火线圈测试的准确性、精确度方面都达到了较高要求,完善提高了国内现有设备的性能.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)