单片机与CPCI总线的脉冲信号检测系统设计
引言
在工业控制领域,通常有大量的脉冲信号用于控制其他设备或部件的开关或者工作状态切换。这些脉冲信号除了常规计算机系统采用的+5 V接口电平外,还有+12 V、+30 V,乃至更高幅度的接口电平,通常为功率型电流驱动信号。本文提出了一种两级测试系统的设计思路,给出了在较宽的范围内兼容不同接口电平的脉冲信号检测系统的设计方案,采用标准CPCI总线接口设计,具有良好的兼容性和扩展性,适用于产品功能测试或系统集成测试。
1 测试系统架构
如图1所示,测试系统采用二级(主控机、下位机)结构设计,由主控计算机(即主控机)、测试客户机(即下位机)、局域网、电缆及运行于各设备中的测试软件共同构成。主控计算机属主控机一级,控制测试客户机,测试任务由主控计算机控制完成。测试客户机控制其对应的测试设备可独立完成设备级的功能测试。整个测试系统通过对被测设备施加激励信号并检测其响应输出的方式,实现对被测没备的闭环测试。
脉冲信号检测板是工作于测试客户机中的测试板卡,其主要功能是接收80路外部脉冲信号,测量并记录每路脉冲信号的脉冲宽度及收到脉冲的时间。
2 脉冲信号检测板实现方案
2.1 总体设计
脉冲信号特性为:脉冲持续时间为80~500 ms,偏差为±10 ms;驱动电流不小于200 mA。在产品功能测试及系统集成测试阶段,主要考核脉冲信号功能的正确性,故脉冲信号检测板用于检测脉冲信号的发生时间及脉冲持续宽度,要求测量误差不大于±1ms。
如图2所示,脉冲信号检测板的核心部分包括光耦接口电路、接口处理FPGA、单片机系统和PCI接口电路。板卡采用标准的6U尺寸CPCI板卡设计,兼容标准6U尺寸的CPCI工控机。
检测板内部主要数据流向及处理流程为:80路脉冲信号通过光电耦合器(光耦)进行隔离变换,转换成检测板内部5 V电平信号;接口处理FPGA对信号进行采样,并将80路脉冲采样数据组帧缓存;单片机读取FPGA中的采样数据,并判断是否检测到有效脉冲信号,将检测到的脉冲信号打上当前时间标签后发送给双口RAM;工控机软件通过CPCI总线定期访问双口RAM,读取数据。
2.2 脉冲信号接口
被测脉冲信号为功率驱动信号,用于驱动功率负载,驱动电流通常为几mA至几百mA,采用集电极开路门(OC)形式输出,通常为+12~+30 V信号。为了兼容多种信号电平,并能隔离功率型信号与普通基带电平信号,实现较好的电磁兼容性,本系统采用光电耦合器作为信号隔离与电平转换的接口器件。
TLP121是东芝公司生产的光电耦合器,隔离阻抗为MΩ级,其前向驱动电流(IF)最大为20 mA,后端开关开启和闭合时间均为μs级,可以满足本系统对测量误差不大于1 ms的要求。输入接口电阻设为可调电阻,可适应不同输入电压。
脉冲信号接口电路如图3所示。脉冲信号正线和回线连接至光耦的前端(图3中TLP121的1、3引脚),后端(图3中TLP121的4、6引脚)采用板内5V电源上拉,通过施密特电路74HC14整形后发送至接口处理FPGA。当脉冲信号有效时,光耦前端有电流流过,接口电路输出高电平“1”;脉冲信号无效时,接口电路输出低电平“0”。
2.3 接口处理FPGA
由于需要对80路脉冲信号进行检测,采用单片机无法满足并行处理的需求,因此选用FPGA完成脉冲采样功能。接口处理FPGA采用Altera公司的FLEX10K50,工作主频为6 MHz,存储芯片采用EPC1PC8。
其主要功能有三部分:分频定时器、采样数据缓存、外围控制逻辑。FPGA对主时钟进行分频,形成周期为1 ms的时钟信号。FPGA每ms对80路脉冲信号完成并行采集一次,将数据存放在寄存器中,同时向单片机发出中断信号,通知单片机发起数据搬移,以及单片机内部的时间计数器自增。采样数据缓存模块用于将80路脉冲信号同时锁存至内部寄存器,单片机每ms全部读取一次。外围控制逻辑用于单片机外围各控制信号的译码,包括控制寄存器、各芯片控制信号译码,以及其他辅助功能的实现。
2.4 单片机系统
单片机系统采用Atmel公司的AT89C51,配合32KB外部SRAM 62256以及4 KB双口数据RAMIDT71342。其中,CPCI总线访问双口数据RAM的L端口,8051访问R端口。
单片机工作主频设计为20 MHz。单片机P0口和P2口作为通用的数据线和地址线使用,配合地址锁存器74HC373 工作;P1口不使用;P3口中仅使用了P3.2用于接收外部中断,即来自接口处理FPGA的中断。FPGA内部定时器每ms产生一个中断脉冲,用于单片机软件计时器的激励时钟,同时通知单片机读取脉冲信号接口采样数据。
单片机的外部地址空间划分如表1所列。
单片机产生的脉冲信号数据帧格式如图4所示。每个数据帧包含14个字节数据,时间码为4个字节,加电后从0开始计时,单位为ms;采样脉冲数据共10个字节,对应80路脉冲信号。
- FPGA的DSP性能揭秘(06-16)
- 基于单片机通用引脚的软件UART设计(10-16)
- 分时操作系统思想在单片机中的具体应用 (10-30)
- 基于AT89C51+DSP的双CPU伺服运动控制器的研究(05-26)
- 关于RTX51 TINY的分析与探讨(05-30)
- 基于MC9S12DGl28单片机的智能寻迹车设计(04-03)