基于CPCI总线的时统模块测量电路设计
来源: 指挥控制与仿真   发布时间: 2016-10-13 10:56   623 次浏览   大小:  16px  14px  12px
为解决时统模块的测试问题,提出了一种基于CPCI总线的数字时统模块测量电路。重点对测量电路的组成、测量原理、CPCI总线接口设计与驱动设计等内容进行了介绍。提出的测量电路满足了4块某型时统模块的批量测试需求。该测量电路具有稳定性高、性价比高、易于实现等优点,适合于工程应用。

刘东涛,王桂强,江苏自动化研究所


关键词:时统模块;测量;CPCI总线;脉冲计数;状态机

时统模块的功能是保证整个作战系统处在统一的时间基准上,接收时统站发来的时间信号,完成与时统站送来的时间信号的同步,并向测控设备发送所需要的各种时间信息和采样脉冲。由于时统模块往往具备多路甚至几十路的时统发送通道,在时统模块的调试、测量和检测过程中必须对每路时统信号进行测试,传统的人工方式效率低下,无法满足时统模块的批量调试、批量测试的需求。为解决上述问题,本文提出了一种基于CPCI总线的时统模块测量电路设计。


1 测量电路的组成

本文设计的时统模块测量电路满足4块某型时统模块的测试需求,测试组成如图1所示。测量电路主要由PCI接口单元、处理单元、差分⁃单端转换单元组成,电路原理框图如图2所示。



图1 时统模块测量示意图



图2 时统模块测量电路原理框图

PCI接口单元采用PLX公司的PCI9054芯片作为从设备,并根据CSR定义将插件映射为32位IO空间,通过中断方式与主机进行通信。


差分⁃单端转换单元的功能是将外部输入的64通道差分时统信号转换为单端LVTTL电平,并将处理单元输出的4路单端LVTTL时统信号转换为差分信号输出。为满足不同时统信号的调试需求,处理单元发送的4路时统信号的周期、脉宽均可通过计算机模块进行控制。


处理单元是本设计的核心单元,主要功能有三个:控制PCI接口单元、测量被测模块输入的时统信号和向被测模块输出时统脉冲信号。在本设计中,该单元使用2片Altera公司的CPLD器件EPM570M256。每片负责2块时统模块的测量。


2 处理单元设计原理

处理单元两片CPLD器件的逻辑基本一致,仅在硬件地址译码做了相应区分。处理单元对时统信号的测试原理框图如图3所示。



图3 CPLD内部逻辑框图

外部2块时统模块输入的64通道时统信号经过数据选择器后输出主机指定的通道送入测量电路,并在状态机的控制下完成相应的测量。


2.1 时统测量原理


为简化逻辑设计,本设计采用脉冲计数法对时统信号进行测量,测量时序如图4所示。定义Fi为被测时统信号频率,Fs为CPLD器件内部高频采样信号,T为闸门信号。由于待测时统信号周期为ms量级,且有效脉冲脉宽为μs量级,为保证测量精度,CPLD 内部高速采样信号频率不能低于10MHz,且两个计数器均在闸门信号T为高电平时计数。其中,N1为时统信号有效电平(以高电平为例)的高平脉冲计数值,N2为待测时统信号一个周期内的高频脉冲计数值。因此下列关系成立:


待测时统信号周期:

Ti=N2×Ts=N2×1/Fs=N2/Fs (1)


待测时统信号脉宽时间:

Tw=N1×Ts=N1×1/Fs=N1/Fs (2)



图4 脉冲计数测量原理

闸门信号T由时统边沿捕获逻辑控制,边沿捕获逻辑部分代码如下:



闸门信号在Quartus II中的仿真波形如图5所示。图中,ntreset为异步复位信号,低电平有效;clk为外部输入50MHz时钟信号;clk1m为CPLD内部计数器的1MHz时钟信号;st为模拟时统信号;ten为计算机发送的测量使能信号;T为输出的计数闸门信号。


计算机发送测量使能信号ten后,CPLD内部逻辑自动检测外部输入的时统信号,当检测到第一个时统信号的上升沿时产生闸门信号T,当检测到第二个上升沿时即关闭闸门信号T。内部逻辑使用1MHz计数时钟clk1m在闸门T时间内进行计数,从而获取待测时统信号的周期。该测量逻辑不能对单个通道的时统信号进行连续周期测量,测量时至少需间隔一个时统信号周期。



图5 闸门信号时序仿真波形



在Quartus II中的时序仿真如图6所示。图6中,ntreset为异步复位信号,clk为外部输入的50MHz时钟,clk1m为分频逻辑产生的1MHz采样时钟信号。



图6 分频电路仿真波形

为节省硬件资源,在CPLD内部不进行时间换算,仅将计数值N1、N2送入PCI接口单元,相应的时间换算在计算机模块中完成。


该方式易于实现,但由于待测时统信号的占空比低,采用1种高频采样信号无法满足最低为1%的测量误差,必须采用2种频率进行测量。在实际设计中,对被测时统信号周期采用1MHz采样时钟,对脉冲电平采用50MHz采样时钟,从而达到1%的量化误差。所得到的周期计数值和脉冲计数值分别放入对应的寄存器内,其中计数值N1和N2分别为16位,因此本设计中可测量的时统脉宽最大为1.3ms,可测量的时统信号的最大周期为65ms。主机获取计数值时按照N1高16位、N2低16位的方式排列,通过32位PCI总线接口送入计算机。


CPLD外部输入时钟为50MHz(即代码中的clk),内部所需的各种时钟信号均通过50MHz时钟分频获得。为保证采样精度,分频逻辑产生的1MHz采样脉冲脉宽为20ns,分频电路的部分逻辑代码如下:



2.2 状态机设计


为保证计算机、模块与逻辑握手的可靠性,在CPLD芯片内部设计了状态机,状态转换图如图7所示。CPLD接收到主机发送的测量请求信号MREQ后确定被测通道,并进入Sync状态等待被测时统信号的边沿。当状态机捕获到时统信号的边沿后产生计数使能信号TEN对时统信号进行测量,所得到的测量结果通过中断方式等待计算机模块读取计数信息。当计算机模块响应中断并发送清除中断信号nCLRINT后状态机复位,进入空闲状态,等待计算机的下一次查询。状态机采用异步复位方式,nRESET信号低电平有效,当检测到nRESET为低电平后,状态机进入空闲状态。


在Quartus II软件中编译后的状态切换图如图7所示,计算机模块与CPLD的握手流程如图8所示。



图7 编译后的状态转换图



图8 计算机与状态机的握手流程图

状态机的部分逻辑代码如下:



2.3 PCI9054芯片接口设计


PCI9054芯片的局部总线与CPLD的连接框图如图9所示,PCI9054的本地总线由M、C、J共3种模式,通过模式设置引脚MODE[1:0]进行控制,由于C模式为标准Intel总线模式,时序简单,便于控制,因此本设计中PCI9054的本地总线采用C模式,PCI9054本地总线的时钟由时钟单元提供。



图9 PCI9054与CPLD连接示意图

3 驱动程序设计

Windriver是Jungo公司的驱动程序开发组件。在VC++6.0开发环境调用Windriver自带函数可方便地实现硬件板卡的驱动设计。


Windriver软件提供了与OS核心层交互的内核文件windrvr.sys,该文件把操作系统底层的各种功能封装成函数库,使用时只需要调用用户定义的函数就可以与Windriver内核交互,进而由内核实现与硬件的交互。


利用Windriver开发驱动程序的步骤如下:


1)运行DriverWizard程序后软件将会显示所有的即插即用设备,从列表中选择硬件设备,本文用的PCI接口芯片为PLX公司的PCI9054,在设计中使用外挂的PCI配置数据,PCI 接口的Vendor ID为0x0716,Device ID为0x0301;


2)检测定义硬件寄存器,Windows XP操作系统分配了CPCI测试板卡的地址,在本设计中采用IO接口方式,使用的基地址为Base 2;


3)测试硬件接口,使用“read”和“write”命令可以读写硬件寄存器的数据,对于PCI总线的中断需使用“listen”来监听,并设置相应的中断响应操作,本文的中断响应操作为读取32位计数寄存器数据和清除中断位;


4)产生驱动程序代码;


5)编译及运行,让DriverWizard为编译器产生工程文件。


4 应用及误差分析

由于脉冲计数法存在±1的量化误差,其测量精度与被测信号的脉宽、周期相关,且误差随脉宽和周期的增加而减小。因此为保证1%以上的测量精度,被测时统信号的脉宽不能小于2μs,周期不能小于100μs。


由于本设计主要为某型时统模块批量调试使用,设计中尚有下列不足:

1) 不具备TTL电平的时统信号测量功能;

2) 不具备对单路时统信号周期的连续测量能力;

3) 不具备相位测量功能。


在后续改进设计中将针对上述3个不足进行完善,以实现不同型号时统模块的批量调试。


5 结束语

时统模块是武器装备的重要电子模块之一,是统一指控设备与火控设备时间同步的重要功能模块。随着电子技术的发展,时统模块的输出通道逐步增加,时统信号的脉宽和周期参数变化越来越多,对时统模块的生产调试、故障诊断增加了难度。采用传统的人工检测方式存在操作复杂,可靠性差等缺点,测试、调试效率低下,无法满足大批量时统模块的生产调试需求,亟需解决该问题。


本文提出的测量电路具有自动化程度高、操作简易等优点,并可满足多块时统模块的调试、测试需求,极大地提高了测试效率,已经应用于某型时统模块产品的批量调试过程中。在调试、测试过程中极大地提高了时统模块的测试效率,缩短了产品的供应时间,降低了生产成本。


本文提出的设计电路采用Altera公司的MAX II系列CPLD器件,具有速度快、成本低、集成度高等优点,既提高了测试的精确度,又降低了测试成本,经过改进后可扩展至多种型号的时统模块自动测试场合,适合工程应用。