1 可重构测控系统的提出
测控系统一般是指基于计算机实现数据采集和控制的系统。测控系统在工业现场控制、家庭数字化管理、通信和网络等方面应用广泛,并不断向低成本、高速、高性能、智能化、开放化方向迈进。但现代测控系统在设计和应用中仍然面临不少的难题: ①设计速度难以适应产品更新换代的快速变化。一般测控系统的设计都是针对某个特定的任务,从设计到投入使用的周期至少1~2年,甚至长达4~5年。因此,在设计阶段堪称先进的方案往往在投入使用伊始就已落后了。 ②设计方案功能固定,通用性差,难以满足不同层次、不断变化的用户需求。测控系统设计针对具体用户,配置各异,通用性较差。如何满足不同用户、不同层次的需要,尤其是多任务用户需要是一大难题。 ③虚拟仪器技术的应用使得软件重构成为可能,但是达到还难以达到硬件重构和“即插即用”的效果。 因此,研究一种软硬件可重构、开放化、普适性的测控系统,对于实现测控系统的快速、开放式设计,降低用户使用成本具有很高的应用价值。本文基于现代测控系统的通用化结构特征和可重构的现场可编程门阵列FPGA技术的发展,提出一种可重构测控系统(Reconfigurable Mo—nitoring System,RMS)的设计构想,并给出其应用实例。 1.1 测控系统的结构模式和多任务特征 随着计算机软硬件技术和测控技术的不断深入融合,现代测控系统在结构上呈现出通用化特征,即“系统前端(信息的数据采集(A/D))+数字信号处理(DSP)+系统后端(输出(D/A)及显示)”的模式。这种清晰的、通用化的结构模式为用户实现测控系统的自组织、重定义和再利用创造了条件。 现代测控系统一般都具备多任务性,即系统需要同时完成几个单独的空间相关的(并行性)任务,或顺序完成几个时间相关的(顺序性)任务。传统的多任务设计方法,是通过增加硬件的数量,或加大软件的控制功能来实现多任务性。一方面,增加了工程设计、调试的难度和成本,使得应用系统越来越庞大、复杂;另一方面,电路和软件的复杂带给用户众多的麻烦。可重构技术的出现为解决多任务问题提供了新的思路。 1.2 可重构技术与可重构器件 可重构技术是21世纪初以来信息技术的研究热点,是一种可以根据系统功能变化的需要重组自身资源,实现软硬件结构自我优化、自我生成的计算机技术。可重构技术包括硬件重构和软件重构两个方面。根据应用任务的需要进行软件重构,在传统的系统设计中已普遍存在,而硬件重构(指系统的硬件逻辑结构发生改变)则是传统的系统设计无法实现的。可重构技术的广泛应用必须以提供可编程资源的可重构硬件为物质基础。 随着微电子技术的不断发展,20世纪末出现的可编程逻辑器件(PLD)和可编程模拟器件(PAD)为测控系统的功能重构提供了硬件基础。可重构器件主要包括以下几种: (1)可重构逻辑器件FPGA FPGA的可编程器件是基于SRAM的,可以快速地重新编程,即所谓“现场可编程”。这一特性使FPGA获得广泛应用,并成为可重构测控系统发展的持续驱动力量。FPGA是构建可重构测控系统必不可少的关键器件。 (2)可重构模拟器件 可编程模拟器件(PAD)既属于模拟集成电路,具有信号调理、模拟计算、中高频应用等典型功能;又同PLD器件一样,可由用户通过现场编程和配置来改变其内部连接和元件参数,从而获得所需要的电路功能。配合相应的开发工具,其设计和使用均可以像PLD一样方便、灵活和快捷。例如Lattice公司的可编程模拟芯片ispPAC30内含4个输入仪表放大器、2个独立的内部可控参考源和2个增强型DAC,提供了系统与测控对象的模拟接口,可用于连接模拟输入,实现系统的数据采集功能;利用其可编程功能,可针对不同应用重构其功能。但相对于可编程逻辑器件,可编程模拟器件问世较晚,品种偏少,还不能作为主流的可重构器件。 (3)可重构DSP器件 DSP器件适用于计算密集、算法复杂、并发性和实时性要求突出的场合,如带有智能逻辑的消费类产品、生物信息识别终端、带有加解密算法的键盘、ADSL接入、实时语音压解、虚拟现实显示等。这类智能化算法一般运算量较大,特别是向量运算、指针、线性寻址等较多,这些正是DSP处理器的长处所在。但常规的DSP无硬件重构功能,而支持DSP器件硬件重构的技术尚在研发中,难以投入大规模的应用。当然,可以通过传统的软件重构设计实现DSP功能重定义,但这不是我们在此讨论的内容。一种实现可重构DSP器件的实用方法是利用FPGA器件实现可重构的DSP功能(如参考文献),其实质是以可重构的FPGA器件为基础实现DSP功能的重构。 综上所述,FPGA器件的现场可编程特征成为可重构技术应用的关键,为可重构测控系统的设计提供了可行性。RMS就是以可重构器件构建系统硬件平台,并在软件平台控制下产生不同的重载数据流来改变FPGA形成的硬件结构,以满足不同任务要求。其实质是一种软硬件协同设计技术。 2 基于FPGA的RMS的设计 2.1 基于FPGA的RMS的设计原则 进行可重构测试系统的设计应遵循以下基本原则: (1)接口标准化 在测控系统的接口设计上,尽量采用开放式、标准化体系的接口标准,例如采用通用的读写、控制总线结构、标准的伺服驱动接口等。 (2)功能实现模块化 RMS的软件和硬件设计均采用模块化的设计思想。依功能进行模块划分,合理分配给FPGA器件和DSP器件。对于FPGA器件的功能,采用硬件描述语言进行逻辑描述,经功能设计、时序仿真、电路测试、模块封装,制作成专门的测控IP,供设计平台调用。 (3)系统集成化、开放化 将自己开发的测控IP和从其他IP供应商处购买到的标准IP,利用专门的综合软件集成为测控系统。还可以通过裁剪和重整不同的IP来改变设计,达到既能实现功能定制、满足目前测控要求,又具有开放性、能适应未来功能扩展的目标。
(4)根据系统规模灵活选用主控制器。 作为RMS的核心,可重构主控制器是体现RMS规模和功能不同的关键器件。可以根据测控对象的需要灵活选择其实现器件及功能模块,以实现功能和造价的合理平衡。可以选用低成本的FPGA方案,以有限状态机(FSM)模式完成功能设计,以JTAG被动串行方式下载实现静态重构,用于简单、低速的数据采集;也可以选用高性能的SOPC方案,实现可动态重构,以满足高速、复杂数据处理的需要。 (5)嵌入式特征 RMS具有功能可裁剪、结构重定义和软硬件协同设计特征,是典型的嵌入式系统。 2.2 基于FPGA的RMS的结构与设计 RMS可以视为一个通用的测控设计平台,其硬件基本结构如图1所示。
该测控系统由主控计算机和相对独立的基于FPGA器件的测控系统两大部分,通过通信接口连接而成。主控计算机主要实现人机对话功能,包括测试数据的处理、显示及仪器软面板的控制,可以利用虚拟仪器技术实现。基于FPGA器件的测控系统包括数据采集与输出控制单元、FPGA单元和DSP单元,3个单元均有可重构功能,并接受主控制器单元的控制。基本功能块是指作为计算机系统通用的不可或缺的电源、系统监控模块及存储器模块。 2.2.1 可重构数据采集与输出控制单元 该单元作为RMS的前向、后向通道与被测控对象直接相连。其中的信号调理电路可以设计成通用形式,并根据测控对象的数量、量程、模拟/数字类型、滤波参数等进行重定义和调整。例如可以采用可重构PAD器件直接与模拟测试对象相连,并由主控计算机完成设计、仿真、测试,通过主控制器单元实现重构。 2.2.2 可重构FPGA单元和可重构DSP单元 FPGA单元和DSP单元的功能可以预先根据实际测试对象的需要进行合理划分,并在主控计算机上以IP核的方式完成设计、仿真、测试和整合的全过程,最后的配置数据流文件预先存放于相应的配置存储器中(一般为SRAM或Flash存储器)。这种静态重构方式适用于对配置实时性要求不太高的一般场合,选用基于SRAM的FPGA器件和通用DSP即可。如果对配置切换的实时性要求较高,则可以选用特定的适于动态配置的FPGA器件,但成本要高昂得多。 2.2.3 可重构主控制器 主控制器单元是实现可重构功能的关键部分,它既是测控系统与主控计算机数据传递的通道,又是数据采集与输出控制单元、FPGA单元和DSP单元的控制中枢。在系统重构模式下,它接收主控计算机的重构指令和数据,对FPGA和DSP的配置存储器进行在线编程;在正常测控模式下,主控制器从FPGA和DSP获得采集和处理的数据,并送主控计算机处理。 主控制器的设计可以根据系统规模合理选择,可以采用通用MCU(如51系列单片机)、嵌入式SoC(如ARM);也可利用FPGA器件实现,例如选用A1tera公司的Nios软处理器核基于SOPC方法进行设计。 2.2.4 通信结构 RMS通信结构的选择对系统的工作速度、实时性以及成本来说至关重要。 从通用性角度考虑,RMS的通信结构可以根据系统规模的需要选择不同的形式。大型测控系统可以选用专用测控总线(如GPIB、CPI、CPCI等),以标准化、模块化插卡形式与主控计算机相连;小型系统则可以根据需要选用通用总线(如RS232、UART、USB、CAN总线),有选择地添加可编程I/O口、ZigBee无线通信接口、TCP/IP协议、以太网接口等通信、网络扩展接口,以满足无线通信和网络测控功能扩展的需要。不论规模大小,接口类型各异,都可用IP模块的形式进行设计并配置到FPGA器件上,以满足不同应用需要。 值得注意的是,测控系统的通信结构设计不仅要包括系统总线的设计,还包括FPGA片内通信结构的设计。典型的可重构FPGA片内通信结构通常有片上总线和片上网络两种策略。片上网络结构虽能较好地体现结构参数要求,但面积花费巨大;而片上总线结构凭借灵活性高、可延展、设计开销小、带宽要求较低、时延较短等优点,成为RMS的首选。考虑到FPGA的配置需要,在通信模块、主控制器模块和FPGA器件内都应设计相应的JTAG接口,以满足数据流配置和在线测试的需要。 2.2.5 软件重构 软件重构是作为软硬件协同设计实现的测控系统重构的必要内容。传统的测控软件常常是针对具体的测控、对象和硬件资源设计的,从而限制了不同型号、不同厂家、不同硬件接口的测控器件的使用。为实现测控系统的软件重构,应打破传统测控软件的设计思路,采用“基于程序框架和可复用构件”的软件复用思路”。如图2所示,将测控软件划分为测控软件平台和测控驱动程序两部分,其间通过软件平台提供的软件接口来实现动态链接。测控软件平台主要实现主控计算机功能的控制,以及主控计算机与测控系统的驱动程序之间的数据通信。
测控终端应用软件的可重构、可识别包含两个方面:其一,测控软件平台的可重构,即不同测控应用的软件平台能够识别相同的控制指令,准确完成主控计算机分配的测控任务;其二,测控驱动程序的可重构,即各种不同类型的测量、控制应用的驱动程序可以动态链接到软件平台上,实现“热拔插”。 测控软件的重构平台有多种选择:可以是专用的基于图形化GUI的虚拟仪器软件,如Labview(通过CLF节点实现与仪器驱动程序的接口,仪器驱动程序以动态链接库的形式给出,将与仪器有关的I/0操作都封装成函数,并通过访问USB或其他接口驱动实现数据的输入、输出);也可以采用通用的可视化软件编程环境,如VB、VC等。对于小型、较简单的测控系统,推荐选用图形化、高效的Labview。 3 基于CPCI总线的RMS的实现 下面给出的实例是应用于雷达信号实时侦测的基于CPCI总线的RMS。传统的雷达侦测,由于信号特征和处理方式不同,需要研制多种独立的侦测卡(如脉冲雷达侦测卡、连续波雷达侦测卡、敌我识别信号侦测卡等十几种设备)及对应测控软件。采用通用的硬件平台,由1个CPCI工业控制计算机和2块CPCI可重构硬件电路板卡构成,根据不同种类的雷达信号分别进行FPGA和DSP的设计,并将配置文件存储在计算机中。实际工作时,针对不同的雷达信号,通过应用软件选择对应的软硬件配置文件进行动态可重构,达到了小型化、通用化和软硬件可重构化的效果,研发成本节约近70%,并缩短50%的开发周期。图3为该系统的硬件框图。 图3中,核心器件——可重构主控制器EP2$30是通过可重构FPGA和DSP器件来连接信号采集与控制处理输出部分,实现测控功能的控制中心通过CPCI总线与主控计算机进行数据交换的通道。基于SOPC的设计思想.使用Altera公司的NiosII处理器IP软核及外围逻辑编程实现主控制器功能。主控制器与CPCI控制器通过PCI局部总线交换指令和数据,通过自定义总线和DSP总线与FPGA和DSP交换采集和输出数据。在系统重构模式下,主控制器通过CPCI控制器接收主机的重构指令和数据,对FPGA的配置存储器和DSP的程序存储器进行在线编程;同时也可以直接对FPGA进行在线并行加载,完成系统的硬件重构。在系统正常工作模式下,主控制器把从采集部分获得的实时数据通过CPCI总线传输给主控计算机,或送往DSP进行数据处理并控制输出。
对于数据采集模块和控制输出模块,“可重构”的含义是指其模块组成可以根据测控需要进行裁剪,例如可选用PAD模块、基于FPGA实现的电动机转速控制模块、步进电机控制模块等。 结 语 本文根据测控系统的通用结构模型和FPGA的可重构功能特点,提出了一种基于FPGA器件,针对嵌入式应用有效缩短开发周期和设计与应用成本,满足并行性、多任务、开放化和集成化要求的RMS的平台式设计思想,实现了测控系统“只能由厂家定义、设计,用户只能使用”模式和“单任务”模式的突破。RMS技术在工业现场控制、城市市政管理、智能楼宇监控、智能家居等领域应用前景广阔,在远程重构和网络测控方面亦有研究价值。 |