FPGA/ASIC技术
摘要:针对喷油器雾化粒径测量系统实时数据处理的特点,将FPGA技术与DSP技术相结合,研究一种基于FPGA和DSP的电控喷油器粒径检测系统;为满足动态测量的要求,设计了应用高性能的多路开关和超低输入偏置电流运放的多通道微电流高速采集板;详细介绍了检测系统中基于FPGA和DSP的软硬件设计和工作原理;设计了基于R-R分布的粒径反演算法,并给出了一个简单的测试实例;反演结果为尺寸参数X=49.15μm,分布参数N=1.96,拟合误差f=0.00384,符合对喷油器喷雾的预期估计,验证了系统的有效性。
在电控汽油喷射系统中,喷油器的喷雾特性对发动机的燃烧过程有着重要的影响。电控汽油机在工作过程中,控制器依据发动机的运行状态,控制喷油器喷出适量的燃油以满足发动机工况的要求。油滴颗粒直径直接影响着混合气的形成质量,因此需要对粒径进行精确测试。光学法已被确认为是一种先进的、最具有广泛发展前景的测粒方法。激光粒度仪采用的光电传感器的输出信号是31路微电流信号,但由于目前市场上的采集装置大多是针对于电压输入信号,且通道数较少,一般在16-24路,不能满足粒度仪的快速测量要求,所以有必要设计一个适用于激光粒度测试仪的多通道高速数据采集电路。
FPGA可以随时通过对外加或内置的RAM或EPROM编程改变器件的功能,已逐步成为复杂数字硬件电路设计的首选。目前大规模FPGA多数支持可编程片上系统(SOPC),与CPU或DSPCore的有机结合使FPGA不仅是传统硬件电路设计手段,而且逐步升华为系统级实现工具。由于FPGA具有可重复编程、可在线调试、逻辑资源丰富、设计周期短等优点,使得它非常适合用在各类数据接口和通讯协议的实现上。根据技术指标的高速采集要求,多通道数据的缓存是必须的,包括A/D采样数据的缓存,数据实时传输到处理器的缓存等,如果用其它传统的设计方法,势必增加了FIFO存储器,从而接口时序复杂,系统的可靠性很难保证,FPGA提供了丰富的RAM资源,只要合理配置,能提高系统的整体可靠性和稳定性,再加上其在线可编程功能,系统的灵活性和适应性要求也得到了保证。本文所设计的系统采用FPGA(EP2C70F672C8)作为主控制器,实现系统中所需要的数字逻辑,利用DSP进行快速数据处理,从而实现电控喷油器粒径的快速检测。
1976年,Swithenbank等人发表了基于Fraunhofer衍射原理的激光微粒测量方法[3]。根据弗朗和费衍射理论,假设喷雾中被测区域中同时有N个粒径为D的颗粒存在,则在第n个光环上所接收到的光能量将是一个颗粒时的N倍。进一步推论可得,当颗粒群中粒径为Di的颗粒共有Ni个时,颗粒群总的衍射光能将是所有颗粒衍射光能之和,即多元光电探测器第n环(环半径从Sn到Sn+1),对应的散射角从θn到θn+1接收到的激光衍射光能量为:
本文使用的现场激光粒度仪共有31个有效光能环,被测颗粒区间可按下式确定:
πDiSi/λf=1.357,i=1,2,3,…,31(2)
式中,I0为平行光入射光强度,J0为零阶Bessel函数,J1为一阶Bessel函数,X=πDsinθ/λ,λ为入射光的波长,θ为衍射角,Wi为尺寸分布的重量频率,ρ为颗粒物质的密度,f是接收透镜的焦距。
假设31个颗粒粒径区间中第n个区间上限为Dn,区间下限为Dn+1。则每个区间的颗粒粒径典型值取该粒级的算术平均值:Di=(Dn+Dn+1)/2,只要测出31个探测器环上的光能分布,通过对式(1)所列线性方程组的求解,就能得到颗粒尺寸的重量分布W。
本文以夫朗和费衍射理论为指导设计的激光粒度测量系统,其原理是根据不同粒径的颗粒产生的衍射光随角度的分布不同,衍射光由傅里叶透镜聚焦后被位于其后焦面上的多环同心圆环光电探测器接收后转换成电信号,经放大和A/D转换后送入处理器中按事先编好的反演程序即可求出被测颗粒的直径分布,由此反演出被测喷雾的粒径分布。其特点是被测颗粒粒径必须大于激光光波波长,这决定了此原理可测量的最低下限。针对此次使用的光电二极管阵列的尺寸,本文设计的仪器测量范围是6~360μm。
图1电控喷油器粒度检测系统原理图
本文以夫朗和费衍射理论为指导设计的激光粒度仪,原理如图1所示。采用工作电压5V,功率5mW,出口直径40mm的半导体扩束准直激光器,其选用高品质的原装、进口激光二极管,配以高性能的APC、ACC驱动电路和光学镀膜玻璃透镜组或优质塑透镜胶组成,发散角达到0.01mrad~0.1mrad,具有高可靠性、高稳定性、抗干扰性强、一致性好、使用寿命长等特点。其发射的平行光经10mm口径的光阑后,得到直径10mm的高质量的平行光。平行光经过喷雾场发生衍射后由D=60mm,f=300mm的傅里叶透镜聚焦,后被位于其后焦面上的31环同心圆环光电探测器接收。光电探测器是由31个同心圆环光电二极管组成的阵列,将光能大小转换成微电流信号。光电二极管阵列最外环半径为15mm。
基于上述原理的颗粒测量仪器技术已较为成熟,但以英国Malvern公司为首生产的激光粒度仪基本都是针对化学粉末等微颗粒进行静态测量,在信号调理电路方面不需要考虑采集数据的同步性和信号处理的及时性,因此并不完全适用于喷油器的粒径检测。本文针对这一问题,提出了如图2所示的电控喷油器粒度检测系统框架。该系统利用精密运放为微电流信号进行I/V转换,并将DSP的灵活性和FPGA的高速、高效结合在一起,形成优势互补,并充分发挥两者各自在软、硬件上的可编程能力,具有信号高速采集,数据实时处理的特点。
图2电控喷油器粒度检测系统框架图
本文采用上海宇志通信技术有限公司生产的高性能通信信号处理开发板GN0204作为基板。基板采用TI公司的高速浮点型处理器TMS320C6713B,FPGA采用的是ALTERA公司的CycloneII系列的EP2C70F672C8,门数资源非常丰富,满足多路电流信号采集的控制与处理能力。此基板将FPGA的I/O接口及电源接口引出,方便为采集板提供控制信号与部分电源。
FPGA部分主要完成系统的逻辑控制以及信号的快速采集。
图3FPGA软件总体框图
图3为FPGA软件总体框图。喷油器控制模块完成对喷油器喷射过程的控制;采集电路控制模块主要完成采集电路中8个模拟开关的控制;A/D转换模块控制AD7865对放大后的信号的采集;数据缓存模块采用FPGA内部构造的两个双口RAM对采集到的信号进行缓存,并在收发控制模块的控制下利用EMIF总线完成FPGA与DSP之间数据的相互收发;数据输出模块的作用是在收发控制模块的控制下完成双口RAM中获得的DSP处理后的数据的输出;时钟模块给程序当中的各模块提供时钟。
将31路输入信号分为4组,每组2个8路复选开关ISL43681。以其中一组为例,其中开关Kx1是正常的电流切换需要的开关,开关Kx2经电阻接地,在Kx1闭合之前,Kx2一直是闭合的,信号源的电流通过Kx2流向地。当Kx1闭合时,Kx2打开,由于分布电容上的电荷在前一周期没有储存多余的电荷,所以在闭合后就不会存在电容放电的现象了。当每组的Kx1选通后分别由4个高精度放大器的超低输入偏置电流运放LMP7721进行I/V转换,得到的4路电压信号由14bit的芯片AD7865进行A/D转换。AD7865是一款快速、低功耗、4通道、14位同时采样模数转换器(ADC),采用+5V单电源供电。采用流水式传输方式,4个通道上的输入信号同时进行采样,因而可保留4个模拟输入上的信号相对相位信息,4路信号依次进行A/D转换,完成4路的周期为10μs,因此I/V转换的周期均设计为10μs,完成31路数据采集的总周期为80μs。控制信号均由FPGA完成。转换后的数据经FPGA的内部RAM缓存后,送入DSP中按事先编好的反演程序即可反演出被测喷雾的粒径分布。
图4DSP与FPGA之间的接口连接图
系统的DSP部分主要完成快速的数据处理。
TMS320C6713芯片的片上外设包括一个可进行存储器扩展的32bit外部存储器接口(EMIF)、具有增强型直接存储器访问(EDMA)和快速直接存储器访问(QDMA)[8]。EMIF具有很强的接口能力,可以与目前几乎所有类型的存储器直接接口,实现存储器地址的无缝连接。EDMA是DSP中一种重要的数据访问方式,可以在没有CPU参与的情况下,由EDMA控制器完成DSP存储空间内的数据转移。数据转移的源/目可以是片内存储器、片内外设或外部器件。QDMA主要是用来进行一次性的数据传输,由CPU执行代码来直接控制一段数据的转移,仅仅需要1~5个CPU周期递交传输请求。QDMA支持几乎所有EDMA具有的传输模式,但是QDMA提交传输的速度要比EDMA快的多。本系统将FPGA通过DSP的EMIF总线,连接在CE2口,这样就可以利用QDMA完成FPGA与DSP的数据通信。FPGA内设置两块64×32位的双口RAM,可直接调用QuartusII中的宏单元模块实现。通过DSP的QDMA控制其读和写来进行数据传输。图4中DSP与FPGA之间的读写信号之间连接有反相器,当为高电平时选通读写信号端。
图5为DSP与FPGA数据传输模块流程图。A/D采样的数据传送到RAM1中,然后RAM1中的数据经过EMIF被读入到DSP中进行实时处理运算,处理后的结果数据在经过EMIF写入到RAM2中,RAM2可以外接LCD显示屏显示处理运算结果。在此过程中,RAM1和RAM2共用地址总线和数据总线,在RAM1读和RAM2写数据总线之间插入高阻模块,以防止数据总线冲突。
散射衍射式激光粒度仪所采用的数据处理方法大致可以分为两类,即分布函数限定法和自由分布法。分布函数限定法就是预先假设被测颗粒群的尺寸分布符合某个特定的函数,自由分布法就是对被测颗粒的粒径分布不做任何假设。其中分布函数限定法具有计算速度快的特点,比较适合于现场颗粒的实时测试分析。自由分布法适用于被测颗粒的粒径分布规律未知或分布规律较复杂的应用场合这一点比起分布函数法来有不可比拟的优越性,但该算法的计算时间比分布函数限定法要长一些,并且由于求解方程组的病态性,因此对多元光电传感器的测量精度要求也要高一些,否则测量误差对解的影响较大。
图5DSP与FPGA数据传输模块流程图
R-R(Rosin-Rammler)分布函数是1933年由Rosin和Rammler研究磨碎煤粉颗粒的分布时提出的,研究表明很多小颗粒可用此函数来表示尺寸分布,它的表达式为:
R=exp(-D/X)N(3)
式中:R表示颗粒粒径在D以上的累积重量分数;X为尺寸参数;N为分布参数,反映了颗粒粒径的分散程度。
综上所述,本文假定喷雾粒径分布基于R-R分布,算法运行环境为DSP,其中在DSP开发环境CCS中编写的代码使用了由Matlab前期计算出的参数。具体步骤为:
(1)根据光电探测器的内外环大小以及公式
(2),将粒径尺寸分为30个区间,求得代表各区间大小的平均值Di。
(3)在Matlab平台上,根据各已知参数,求得能量分布的系数矩阵T(30,30)。(3)采集光电探测器30个环的衍射光能量测量值,并进行归一化,得到能量矩阵e(30)。
(4)二维搜索待定参数X,N。依次取X=Di,然后在一维空间(0,10)中利用黄金分割法求得每个环的归一化光能计算值Ei(30),得到对应的Nj值及目标函数值Fi=abs(Ei-e)。
(5)比较各Fi的大小,值最小的目标函数值对应的X和N即为最佳的待定参数值。此时对应的R-R分布即为所求的分布函数。
结合粒径反演算法,我们对一组数据进行了测试计算,将得到的30路电压值归一化,得到:
e(30)={0.0042,0.0068,0.0100,0.0136,0.0176,0.0217,0.0258,0.0316,0.0371,0.0418,0.0455,0.0478,0.0488,0.0503,0.0503,0.0493,0.0475,0.0453,0.0436,0.0407,0.0392,0.0373,0.0367,0.0357,0.0343,0.0324,0.0301,0.0275,0.0250,0.0225}。
反演算法的运行结果为:尺寸参数X=49.15μm,分布参数N=1.96;目标函数(拟合误差)f=0.00384,DSP运算时间为124s。如图6所示,由式(3)得到了30个代表尺寸的颗粒分布:
WDi={0.0110,0.2425,1.1583,2.7117,4.3664,5.6762,6.4772,7.2438,7.5328,7.4197,7.0210,6.4515,5.8031,5.3078,4.7480,4.1773,3.6310,3.1294,2.7363,2.3230,2.0391,1.7675,1.5825,1.4002,1.2237,1.0472,0.8905,0.7413,0.6223,0.5177}。
图6拟合粒径分布图
结果可以表明,尺寸参数符合对喷油器喷雾的预期估计,拟合程度高。验证了算法的有效性,也预示了系统的可行性。
本文设计了基于激光衍射理论的电控喷油器测粒系统,重点对系统的FPGA和DSP部分设计进行了详细论述,并给出了粒径反演算法。应用高性能的DSP芯片对采集到的激光衍射后的能量分布进行了在线实时处理,处理算法要兼顾准确和高效的特点,得到的处理结果即为喷油器在采集区的空间粒径分布。
目前的激光测粒装置平台设计已经初步完成,但是平台的性能还需进一步完善以便达到更加精确的测量精度,如需考虑到多重颗粒衍射的影响而改进反演算法,以及为提高处理速度进行的DSP代码优化等。下一步,我们将在进一步考虑影响平台的测量精度因素上改进测量系统,从而最终开发出通用性的样机。
全部0条评论
快来发表一下你的评论吧 !