基于PC/104接口的ACM程控测试系统设计
扫描二维码
随时随地手机看文章
在对飞机附件进行维修时,可以通过模拟飞行时可能出现的不同情况的环境参数,预检测附件的可能工作状态,以期达到合格的维修要求。显然,使用传统的分散型单片机控制检测仪表系统要消耗大量的人力物力,而且很难保证测试系统的精度,系统的可扩展性也较差。随着数字信号处理技术和微电子技术的发展,在一个较小的系统里完成多路数据参数的实时测量处理成为可能,因此,本文设计了一种分布式的数据测量检测系统,对各路参数进行分布式检测,统一传回主控室上位机进行集中分析处理,同时上位机可以发出相应控制命令,通过控制多路阀门通道的开度组合,得到模拟的待测附件的飞行工作环境。
图1 系统结构功能框图
程控测试系统的特点
本系统通过控制换热器8路阀门的不同开度组合来模拟待测附件的工作环境参数,在该模拟环境下完成各参数测量,得到检测结果。测量参数的获取通过温度、压力、位移等传感器完成,本系统具有如下特点:
1.测量点为15路混合信号,即既有14路模拟信号,又有1路数字信号;
2.模拟信号既有慢变化的温度、流量等待测信号,又有快变化的位移信号,测量时数据采集频率不同;
3.各检测点具有较强的相关性;
4.系统需要控制8路对象组合来实现不同环境参数的模拟,控制相对误差须在1%左右;
5.被控对象以及待测试对象离主控室距离较远,且测量控制工作现场噪声很大,环境恶劣。
基于以上特点,本文设计的ACM程控检测系统如图1所示。
由图1可知,系统主要由前端模拟信号调理电路、A/D数据采集和D/A转换芯片、FPGA、嵌入式计算机、主控室计算机和阀门几部分组成。前端测量数据的获取包括各种信号传感器和前置滤波整形处理电路。一路转速传感器数字脉冲信号经施密特触发器整型后直接送入FPGA进行脉冲记数,通过8MHz时钟采样,完成检测过程;模拟信号需通过A/D变换。嵌入式计算机通过PC/104接口访问双口RAM,读取采集数据和写入控制命令信息,并通过以太网接口与主控室的上位机进行检测数据及控制命令信息的传输交互。
ACM程控测试系统设计
嵌入式计算机SBC-C26
完成数据传输前的预处理等功能由嵌入式计算机实现,它具有功耗低、可靠性高、功能强大、性价比高等优点。本设计中采用的嵌入式PC为集智达公司的SBC-C26。
图2 FPGA电路接口示意图
由于本系统对实时性要求较高、数据交换量大,结合软件与硬件的复杂度考虑,采用内存直接影象的方式进行数据交换在PC/104进行地址映射时,使用ADDR[0:19]作为地址线;/RE和/WE为存储器读写信号,DATA[7:0]为双向数据传输线。
FPGA芯片EP1K100QC208
FPGA集成度高、体积小、功耗低、工作频率高,可以集采集控制、缓冲存储、传输控制以及接口控制于一个芯片内,编程配置灵活而且比较容易移植,因此,本设计选用Altera的EP1K100QC208器件来完成。
EP1K100QC208具有147个用户I/O引脚,内嵌RAM资源为49152Bit,可编程逻辑资源为4992个,可满足设计需求。而且该器件兼容5V电平驱动,输出驱动电平为3.3V,所以PC/104总线读写控制信号可直接输入FPGA而省去电平转换芯片;对于需要电平转换的双向数据线,可用74HC245三态隔离芯片,通过控制74HC245的OE和DIR引脚来实现数据传输及驱动电平转换;FPGA控制完成一次采集后,向嵌入式计算机发送的中断信号通过TPS61032升压DC-DC芯片连接到PC/104总线INT引脚,该芯片可实现3.3V到5V电平转换。
系统关键电路设计
为了协调A/D采集、D/A控制与PC/104总线传输速度,保证数据传输的可靠性,采用缓冲存储电路设计,用FPGA内嵌RAM资源设计成双口RAM,以实现采集数据缓冲存储。FPGA完成一次采集后向嵌入式计算机发中断信号,通知嵌入式计算机读取数据,且FPGA通过查询主控室计算机发送给嵌入式计算机,再经嵌入式计算机写入FPGA寄存器的命令字控制D/A转换、启动和停止A/D采集以及控制双口RAM的读写时序。由于控制阀需要4~20mA电流驱动,而D/A转换芯片为0~5V电压输出,所以D/A转换输出控制信号需通过AD694芯片完成0~5V电压到4~20mA电流信号的转换。本系统硬件电路接口关键设计如图2所示。
系统电路设计的FPGA实现
A/D采集控制及数据缓存电路设计
读写控制电路的作用是产生合适的控制脉冲,控制A/D转换以及将转换结果写入双口RAM。本设计选用的A/D转换芯片为2片MAX1262,12位转换精度,采用8通道单端模拟输入方式,可实现14路模拟信号采集测量。FPGA通过发送写脉冲和写控制字完成控制启动和通道选择, A/D转换结束状态信号INT有效后发送读信号,完成检测结果的读入,不同通道的数据采集频率控制可通过写入通道控制字来完成。当读入采集结果后就按低、高位字节顺序写入双口RAM,双口RAM通过直接例化Quartus软件中的宏模块实现,其数据线位宽为8位。
D/A转换控制电路设计
FPGA通过查询命令寄存器值执行相应得D/A转换,完成系统控制操作,得到相应实现的模拟环境条件参数。由于需要8路D/A转换,所以选用具有8通道的单片TLC5628实现,其数据转换精度为8位,0~5V模拟电压输出,可以满足设计要求。该芯片数据接口为3线串行总线,转换时在时钟下降沿串行输入3bit通道选择、1bit范围控制、8bit数据转换位,通过启动异步load控制信号完成D/A转换功能。
PC/104总线接口设计
PC/104总线接口设计实际上是按照PC/104总线时序完成地址译码锁存和数据线的数据双向传输功能。按照PC/104总线存储器读写时序进行FPGA电路设计,经验证,完全能够由SBC-C26经该接口电路完成对FPGA内部RAM或寄存器的正常读写功能。该接口电路利用Verilog语言描述,经由Synplify Pro 综合得到RTL网表。
整个系统控制电路采用FPGA进行设计,共占用EP1K100器件近1000个逻辑单元,在精简系统硬件的同时,为系统功能的扩展提供了较大的灵活性,是一种比较理想的程控测试系统硬件设计解决方案。
结语
整个系统控制电路采用FPGA设计,精简了系统硬件,采取A/D转换芯片模拟电源由线性稳压模块单独提供、D/A转换芯片数控端与FPGA经光耦隔离和印制板表面铺铜等抗干扰措施,保证和提高了系统数据测量的可靠性和精度;使用以太网通信方式,有效解决了远距离测量数据传输问题。