文献标识码:A
文章编号: 0258-7998(2014)02-0071-03
铁路电子机箱设备内部通常有复杂的内部数据,特别是在实时控制领域,往往需要对内部的模拟量计算值或者检测值进行快速的检测,以验证模拟量计算值或检测值的正确性。目前主要的调试方法有:使用仿真器在线调试、使用串口调试、直接使用万用表和示波器连接接线电缆调试。
依靠仿真器对板卡处理器内部变量的运行情况进行检测在现场调试使用中较为局限。一方面仿真器只能针对某特定类型处理器,在实时性和快速性要求很高的情况下,仿真器的检测速度将无法达到调试需求,特别在变量较多的情况下,内部变量的检测具有较大时滞性。另一方面在很多机箱应用场合仿真器连接很不方便,甚至根本无法连接。
使用串口调试的方法较为普遍。通过串口将设备内部信息输出到PC,通过串口调试助手或上位机软件观测变量。这种方法在检测单个变量的情况下十分方便,但在多路变量实时检测时具有较大时滞性。检测变量越多,占处理器资源也就越多,会影响设备的实时性能。
使用万用表和示波器连接接线电缆调试是现场调试最为常用的方法。这种检测方法较为直观,但其对应用场合的限制较多。一方面受到现场连接器的限制,另一方面对多路信号同时检测时十分不便,而且在一些高压场合无法进行接线。
PCI总线是一种先进的局部总线,CPCI总线在PCI局部总线的基础上使用标准针孔连接器,更适用于高可靠性应用场合[1]。具有高可靠性、高带宽、高开发性和可热插拔的特点[2-3]。支持132 MB/s的峰值速度(32位总线宽度),延时时间只需60 ns(33 MHz),并且支持66 MHz的工作频率。非常适合大容量实时系统的数据传输[4]。
车载多通道调试系统内嵌于设备机箱,对外有32路调试接口。可实现32路调试接口同时高速输出而不影响系统性能。使用示波器连接32路调试接口就可以实现观测。同时,车载电子设备在实际调试中往往需要调试信号的输入。这种输入信号主要通过信号发生器提供,信号发生器需要交流市电才可工作,在现场调试中使用十分不便。而使用车载多通道调试系统可以有效解决此问题。
1 系统构成
车载多通道调试系统由调试板卡和配置软件构成。
调试板卡在硬件上由FPGA控制器、电源管理电路、参考源电路、转换电路、调理电路和时钟管理电路构成。如图1所示。
调试板卡使用FPGA为核心控制器,负责调试数据和调试指令的接收、调试数据的管理和转换。调试板卡使用CPCI总线和并行总线对内接口,调试指令通过CPCI总线进行传输,调试数据通过CPCI总线和并行总线进行传输。
电源管理电路负责各芯片和功能电路的供电,参考源电路负责提供参考电压。
高速模拟量转换电路由转换电路和调理电路两个部分组成,转换电路的作用是将数字信号转换成模拟信号,调理电路的作用是将转换电路输出的信号转换成具有较强驱动能力的相应幅值模拟量信号。调试板卡共有32路模拟输出,每路分别和FPGA相连,由FPGA提供各个通道的控制信号。每个通道的更新频率为500 kHz,输出幅值为-10 V~+10 V。
时钟管理电路提供多路独立时钟信号,为FPGA内部各通信模块和逻辑单元提供时钟。
配置软件工作在上位机板卡,其作用是通过CPCI总线将配置信息发送给调试板卡,以实现对调试板卡的控制。上位机板卡和PC之间可使用以太网或串口进行通信,通过PC设置配置信息,配置软件将参数传递给调试板卡并实现对调试板卡的配置。进而实现各个调试通道的输出。配置信息包括:各个调试通道的调试数据来自哪一个功能板卡的哪一个调试变量;各个调试通道是否输出三角波、锯齿波、正弦波、矩形波,输出这些波形的频率、幅值、占空比;各个调试通道是否输出;高速并行总线的位宽和通信频率。
各个功能卡和调试板卡之间使用CPCI总线或高速并行总线进行通信。当使用CPCI总线时,需要各个功能卡对CPCI接口的支持。并行总线的宽度可以配置为1路32 bit或2路16 bit总线,支持1级流水线写入模式(需配置)。
系统运行时,各个功能卡通过CPCI总线或高速并行总线将调试数据实时地传给调试板卡,并存储在调试板卡内存单元中。每次各个功能卡的数据传输都会将内存单元内的数据更新为最新。每个功能卡设置的调试数据为32路,即针对某一块功能卡,同一时刻最多可输出32个变量的实时信息。车载多通道调试系统的信号流图如图2所示。
车载调试系统的使用方法大体如下:
(1)机箱内各功能卡通过高速并行总线或者CPCI总线,将需要调试输出的数据实时发送到车载多通道调试板卡。
(2)车载多通道调试系统上位机控制界面配置32路调试输出通道的信号源、高速并行总线设置。并使能各通道的输出。如果需要输出测试信号,需要配置测试信号的类型、频率、幅值和占空比。
(3)通过示波器可以观测各个调试通道的波形。
2 FPGA控制器的设计
车载调试系统使用Xilinx公司的Spartan-6系列的xc6slx100作为核心控制器。使用PCI软核构建标准32位PCI接口,这样可有效地利用FPGA的内部资源,在提高系统的集成度的同时保证系统的性能[5]。从图3中可以看出,核心控制器内部组成由通信单元、逻辑处理单元、内存管理单元、转换电路驱动单元和时钟管理单元几个部分组成。其中通信单元由PCI总线控制单元、高速并行总线通信单元构成,负责从CPCI总线和高速并行总线接收数据和指令;逻辑单元会实时监控CPCI总线上传输过来的配置数据,配置数据的地址是固定的。根据配置数据管理内存和转换电路驱动。逻辑单元会根据配置数据配置并行总线,可配置成1路32位并行总线或者2路16位的并行总线。逻辑单元监控高速并行总线上传输的数据信息,根据并行总线通讯协议,判断调试变量的来源和存放的位置。
时钟管理单元负责处理外部时钟电路输入的独立时钟,一方面为高速并行总线提供时钟支持,另一方面为其他逻辑单元提供时钟来源。高速并行总线的时钟频率由逻辑单元通过配置信息进行配置。通信频率可调范围为10 MHz~40 MHz。
内存管理单元负责存储从PCI和高速并行总线接收到的相关调试数据,经过逻辑单元处理后存放在内存管理单元相应的内存地址。同时内存管理单元向各个转换电路驱动单元提供接口,各个转换电路驱动单元可以在64个FPGA内部时钟周期之内完成全部的数据更新。
转换电路驱动单元负责驱动32路模拟量转换电路。转换电路驱动单元根据芯片的控制时序提供调理板卡32路转换电路芯片的管脚驱动电平,为每一路转换电路提供500 kHz的数据更新速度。
逻辑处理单元连接FPGA内部的各个功能单元,负责整个FPGA的内部逻辑和功能管理。
3 应用实例
车载多通道调试系统目前已经应用于CRH5型动车组国产化牵引控制单元,在国产化牵引控制单元的研发调试过程中表现出优良的性能和较高的可靠性。通过上位机配置软件可以方便地输出响应测试变量的波形,同时还可以输出测试波形,为系统调试服务。在车载环境中,使用车载多通道调试系统,极大地方便了调试人员对测试设备的检测。图4为在现场环境使用示波器连接17个调试通道的显示波形。从图中可以方便地分析系统各个变量的运行情况。
车载多通道调试系统和系统CPCI总线相连,可根据系统配置快速输出相应的模拟量信号。此系统可以同时输出32路16位高精度模拟量信号,每一路信号的输出刷新频率为500 kHz,每一路输出的内容通过高速并口和CPCI总线获得,此系统不会因输出通道的增加而降低输出频率。此系统可以通过设置输出正弦、矩形波、三角波、锯齿波等测试信号,各种信号的频率、幅值、占空比、斜率等参数可以通过CPCI总线进行配置。车载多通道调试系统为车辆运行环境下的设备测试提供了极大的便利,降低了系统开发的难度。
参考文献
[1] 袁菁. 一种基于CPCI总线A/D模块的设计与实现[J].计算机与数字工程,2005,33(7):129-130.
[2] 蒋留兵,车俐. 基于TS201和CPCI总线实现的新一代信号处理机[J]. 火力与指挥控制,2010,35(z1):84-85.
[3] 邓凤军,张龙,王益忠. 基于PCI总线的HDLC通信卡的设计与实现[J]. 电子技术应用,2012,38(8):30-31.
[4] 鲍伟,张崇巍. PCI总线技术在运动控制卡中的应用[J].仪器仪表学报,2005,26(z2):334-335.
[5] 宋克柱,杨小军,王砚方.基于FPGA的PCI接口设计[J].电子技术应用,2001,27(9):74-75.