张博洋
(兰州交通大学,甘肃 兰州 730070)
当前是半导体技术和纳米技术高速发展的时代;同时,国内IT 技术也在不断地发展。目前,在各个领域已经逐步引入越发复杂的由固件和硬件组成的嵌入式系统,服务于民生行业的关键领域。所引入的复杂的嵌入式系统中包括有多个处理器和控制器,从而能够满足应用领域的实时控制要求。鉴于嵌入式系统的复杂性和多功能型,进而对嵌入式系统检测的可控性、直观性等方面提出了更高的要求。传统针对嵌入式系统的监测系统在可靠性和维修性方面存在不足;因此,设计一款可对复杂嵌入式系统的快速处理、分析和控制能力的检测系统对于系统的性能尤为重要。
本文针对复杂嵌入式系统的检测需求,以CPCI 总线架构为基础,融合DSP+FPGA 处理器的架构,采用多标准的总线和模拟数字信号结构技术,设计一款针对嵌入式系统高可靠性、智能化以及通用的检测系统。具体阐述为:
本节将从复杂嵌入式系统的概述,对复杂嵌入式系统的测试需求进行分析。
在当前计算机技术高度发展的时代,嵌入式系统已经被广泛应用于通信、消费产品等各个领域中。在现代科学中,首个嵌入式系统为阿波罗导航计算机,该基于嵌入式系统的计算机主要用于对月球的探测。复杂嵌入式系统与普通嵌入式系统的主要区别在于,复杂嵌入式系统具备数据采集、通信、信号处理、监控以及用户界面显示等功能外还具备以下特点:
(1)复杂嵌入式系统主要由基础的嵌入式操作系统和专用的硬件架构所组成,其具备执行特殊任务的应用程序。
(2)根据嵌入式系统应用功能的不同,嵌入式操作系统可视情况而定;但是,嵌入式系统中固件是必需的,其主要承担嵌入式系统的预变成功能。
(3)对于复杂嵌入式系统而言,除了满足基础的性能、内存以及功能需求外,尤其关乎系统的响应时间;即保证系统的硬实时系统是属于确定性的。
复杂嵌入式系统的测试型设计技术可归纳为测试性、内部测试、外部测试以及人工测试等技术。各项测试技术阐述为:
固有测试性需求:主要是对复杂嵌入式系统的固有性能进行测试,其与响应数据和测试机理无直接关系。
内部测试需求:需要对复杂嵌入式系统的内部检测,并实现对其内部故障的自动隔离;测试结果与系统的资源利用和功耗相关。
人工测试需求:需要对嵌入式系统进行人工测试,该项测试一般效率偏低,而且测试精度容易受到影响。
弹载计算机为典型的复杂嵌入式系统,其主要功能是对导弹的控制,包括导航、惯导以及通信等功能。一般弹载计算机嵌入式系统的结构如图1 所示。
图1 弹载嵌入式计算机系统
以图1 的弹载计算机嵌入式系统为测试对象,根据测试任务和要求,需要对嵌入式系统的供电电压、数字信号、模拟信号、物理效应信号以及各类总线的信号进行监测。对于一般的嵌入式系统而言,除了具备对上述信号的准确监测功能外,还需具备以下功能:
(1)检测系统可模拟弹载计算机嵌入式系统的外部环境以及被测对象的各个功能模块。
(2)检测系统可采用软件分析手段对被测设备的硬件接口和软件性能进行综合评价。
(3)检测系统能够与被测对象(弹载计算机嵌入式系统)进行实时通信,以确保能够实时记录、分析以及显示测试结果。
(4)检测系统具备半实物仿真测试的功能,可对弹载计算机嵌入式系统的综合性能进行评估。
为保证所设计的针对嵌入式系统的自动检测系统能够满足“1.2”中的测试需求,需要突破自动检测系统的总体设计、主从式通信总线以及可靠性等关键技术。下面进行具体阐述。
根据嵌入式系统的自动检测需求,采用自顶而下的设计思路和模块化的设计理念;根据需求确定软硬件模型;最后,将所设计的各个模块有机结合为嵌入式系统的自动检测系统。为保证所设计的嵌入式自动检测系统满足应用需求,在总体和模块化设计时需遵循成熟性、通用性、扩展性、便携性、可靠性以及经济性等原则。
基于上述设计总原则,针对嵌入式系统设计的自动检测系统的基本检测原路如图2 所示。
根据图2 中的自动检测系统的基本原理并结合嵌入式系统的测试需求,需要为自动检测系统配套微型计算机模块、测试所需激励信号产生模块、测试响应信号的采集模块以及相关的各类接口等。基于自动检测系统的检测原理和各模块的需求,将各个模块有机结合形成嵌入式检测系统。嵌入式自动检测系统主要模块包括有通用计算机主板、功能接口板、供电系统、开关子系统等。
图2 自动检测系统基本原理图
主从式通信总线技术实现上位机与下位机的通信。本系统采用紧密型或密集型的PCI 总线实现通信功能。针对自动检测系统上位机与下位机的通信需求,可采用ASIC+CORE、FPGA内部的PCI硬核、FPGA内部的PCI软核、DSP+PCI 协议芯片、FPGA+PCI 协议芯片等几种方式实现通信功能。以下为各种通信方式的特点说明。
ASIC+CORE 通信方式对应模块的编程量大、不便于后期的维护,其技术实现难度较大。
FPGA 内部的PCI 硬核通信方式具有调用方便、灵活性较差、不容易被移植等特点;而且该种通信方式对应可选择的芯片种较少。
FPGA 内部的PCI 软核通信方式支持多个版本的PCI 通信协议,灵活性相对于硬核较好;但是软核通信方式的处理速度较慢且价格较高,同时其还需要一些物理元器件做支撑才能实现功能。
DSP+PCI 协议芯片的通信方式操作简单,但是其在通信中所占据的引脚资源较多,通信效率偏低。
PGA+PCI 协议芯片的通信方式技术成熟度高且功能实现的难度较低,通信的稳定性较好,具有较好的灵活性。
综合上述几种通信方式的类型,从通信稳定性、成本以及可靠性层面对比,最终确定采用PGA+PCI 协议芯片通信方式实现嵌入式系统自动检测系统上位机与下位机的通信,以满足自动检测通信需求的基础上,实现通信的灵活性。
结合嵌入式系统的检测需求以及总体设计基础和通信关键技术的选择,本节完成嵌入式系统自动检测系统的硬件设计和软件设计。以下为具体阐述。
根据嵌入式自动检测系统的功能需求,本小节对检测系统的关键硬件包括有功能接口、供电系统以及开关子系统模块进行设计。
(1)功能接口模块的设计。功能接口模块作为嵌入式系统的自动检测系统的核心模块,其主要任务是实现对检测系统底层模块的模拟控制。为了提升功能接口模块的通用性,为嵌入式自动检测系统配置多种功能的接口模块。
(2)自动检测系统供电模块的设计。嵌入式自动检测系统所外接的电源为220 V 的市电;但是,自动检测系统中各个模块的额定电压远低于220 V。因此,需要对市电进行转换后才能为自动检测系统中的各个模块进行供电。根据自动检测系统中各个模块的额定电压,设计电源转换模块。
(3)CPCI 总线接口模块的设计。CPCI 总线接口模块的主要功能是实现嵌入式系统的自动检测系统中各个模块之间的数据通信;同时,还需时间检测系统与上位机的通信。总的来讲,CPCI 总线接口模块是整个自动检测系统实现其功能的关键。本系统选用PLX 公司研发的CPCI 桥接芯片为总线接口模块,该芯片支持CI2.2 协议。
在上述核心硬件做支撑的基础上,根据自动检测系统的功能需求设计相应的软件控制流程才能够正常、高效发挥自动检测系统的功能。针对嵌入式检测系统的软件设计需求,采用分层结构实现其各个模块的功能,包括用应用层、管理层和物理接口层。其中,应用层和管理层主要指的是的自动检测系统的主控制计算机对应的上位机软件;而物理接口层主要面对的下位机软件。
根据自动检测系统的功能接口模块完成相关的功能接口模块初始化、PCI 总线接口、数字开关量接口、串行总线接口、模拟量接口等软件。根据自动检测需求,设计如图3 所示的驱动程序。
图3 自动检测系统驱动流程图
为保证所设计的嵌入式检测系统能够满足设计需求,正常发挥其检测功能。本节对所设计嵌入式检测系统功能接口模块进行安装测试,并对其功能进行验证,测试界面如图4所示。
图4 测试界面
测试结果为:
(1)系统能够正确识别各个硬件模块单元,说明功能接口模块可满足应用要求。
(2)所设计的嵌入式自动检测系统可以满足弹载计算机嵌入式系统的监测需求,尤其是检测系统的功能接口模块、开关子系统以及供电模块等均可正常发挥功能。
针对传统检测系统对复杂嵌入式检测时存在精度低、效率低等问题。本文结合复杂嵌入式系统的检测需求为出发点,设计一款高效率、高精度以及高可靠型的自动检测系统,为提升复杂嵌入式系统的可靠性,指导复杂嵌入式系统的设计提供支撑,并总结为:
(1)根据嵌入式系统的自动检测需求,采用自顶而下的设计思路和模块化的设计理念,确定复杂嵌入式自动检测系统的工作原理和结构组成。
(2)本系统选用PLX 公司研发的CPCI 桥接芯片为总线接口模块。
(3)采用PGA+PCI 协议芯片通信方式实现嵌入式系统自动检测系统上位机与下位机的通信,可在满足自动检测通信需求的基础上,实现通信的灵活性。
(4)经验证表明:所设计的嵌入式自动检测系统可以满足弹载计算机嵌入式系统的监测需求,检测系统的功能接口模块、开关子系统以及供电模块等均可正常发挥功能。