APP下载

基于嵌入式的伺服综合测控平台的设计

2017-08-30段志国周剑波

计算机测量与控制 2017年7期
关键词:主控板板卡伺服系统

段志国,赵 岩,李 军,周剑波

(1.南京理工大学 自动化学院,南京 210094; 2.人民解放军92941部队94分队, 辽宁 葫芦岛 125001)

基于嵌入式的伺服综合测控平台的设计

段志国1,赵 岩2,李 军1,周剑波1

(1.南京理工大学 自动化学院,南京 210094; 2.人民解放军92941部队94分队, 辽宁 葫芦岛 125001)

基于嵌入式技术,设计了一套集控制、测试和分析于一体的伺服综合测控平台;该平台采用集散式结构,在硬件上提供了多种通信与测控接口,软件上以Linux嵌入式操作系统和Windows系统为基础,提供了友好的人机交互界面;可以根据现场状况工作在便携的单机模式或者功能完备的联机模式;平台同时为网络型伺服系统预留了网络接口,有很好的通用性和可扩展性等优点;经测试,该平台操作便捷,运行稳定,可用于多种类伺服系统的测控分析。

嵌入式;伺服测控系统;集散式结构;通用性

0 引言

伺服技术即高精度的跟踪与定位技术,随着伺服技术的不断发展和现代化生产规模的不断扩大,各行业对伺服系统的需求日益增大,并对其性能提出了更高的要求。在大力发展新的伺服产品研制和改进生产工艺的同时,加强伺服系统测试技术的研究和检测平台的建设尤为重要[1]。针对这一现状,运用嵌入式技术,研制出一套适用于多种类伺服系统测控分析的伺服综合测控平台。平台具有模块化、便携式、通用性等特点,为伺服系统的动态、静态性能分析和参数测试提供了完整的检测手段和测控方案。

1 平台总体设计

1.1 需求分析

1)对工作方式可切换的功能需求:考虑到在场外对伺服系统进行测控分析的情况,为了最大化的发挥平台便携的特性,设计了一种单机模式:将工控机从系统中去除,将原来工控机中实现的功能进行“裁剪”放到下位机嵌入式系统中实现,这样,功能上的削弱换来了便携性的提高和更高稳定可靠的信号发送与数据采集。而具有完备性功能的完整平台运行时即被称为联机模式。

2)对典型信号发生器的功能需求:对伺服系统进行测试的目的,就是为了得到伺服系统的关键性能指标,包括系统的当前误差、稳态误差和动态性能,这些指标能够从各个方面反应伺服系统的性能。为了得到这些指标,平台需要产生几种典型信号,用于激励伺服系统,即阶跃信号、等速信号和正弦信号这3种典型信号。

3)对数据分析功能的需求:平台的最终目的是分析伺服系统的性能,因此对采集的数据进行分析是一项核心功能。数据分析需要在两个阶段体现,实时测试阶段的分析功能以及测试结束之后静态分析的分析功能。

4)对人机交互的功能需求:除了必备的测试分析数据这一核心功能,平台还需要具备良好的人机交互功能。所谓人机交互,也就是方便的数据输入途径和友好的界面显示。

5)可拓展性需求:本平台作为一个综合测控平台,在实现了多测试信号的前提下,还需要适用于多种伺服系统。为此,在硬件上提供了多种测试接口;在上位机软件上为网络型伺服系统预留了测控和分析功能。

1.2 总框架设计

根据需求分析,将要研制的是一台具有联机通信功能、人机交互友好,并且能够显示、处理、记录和分析数据的伺服系统测控平台。综合考虑,平台采用“上位机-下位机”的分布式结构设计方案,将具有丰富、灵活的测试控制资源的嵌入式系统作为下位机,将具有强大数据处理能力的工控机作为上位机[2]。下位机主要实现指令信号的转换,采集伺服系统的架位信息并与上位机通信。而上位机用于信号发生,实时曲线显示,参数计算以及数据分析,平台总框架设计如图1所示。

图1 平台总框架设计

2 平台的硬件设计

平台的硬件设计主要为伺服测控下位机的设计,下位机共有3个测控箱,包括一个方位伺服测控箱、一个俯仰伺服测控箱和一个逻辑采集箱。方位伺服测控箱和俯仰伺服测控箱是两个完全相同的箱子,只是针对常见的两种具有方位轴和俯仰轴的伺服系统。而逻辑采集箱主要用来采集伺服系统中的模拟传感器信号和逻辑传感器信号。

2.1 主控板的设计与选型

主控板作为伺服测控箱的核心,需要同时具有数据采集,数据存储,通讯,提供人机交互界面等功能,这些功能都由主控板上的CPU控制实现,因此,主控板需要用一款功能强大的处理器来设计。

S3C6410是基于ARM11版本内核的低成本、低功耗、高性能微处理器,广泛用于工控产品,移动设备及其他便携式应用。且S3C6410的片上资源非常丰富、具有MMU单元以运行嵌入式操作系统且能够支持较大的运行内存和外部存储空间,非常适合作为下位机测控箱主控板的控制器。

2.2 从板的设计与选型

平台的方位与俯仰测控箱各有5块从板,分别为数字IO收发板、数字转自整角机发送板、自整角机转数字采集板、旋变转数字采集板以及角差量信号采集板;逻辑采集箱有2块从板,分别为AD采集板和IO采集板。其中伺服测控箱的数字收发IO板和逻辑采集箱的IO采集板对于数据的处理没有太过复杂的需求,因此不需要CPU控制。而其他从板均需要对数据进行数字量和模拟量之间的转换、粗精组合等较多的运算处理,需要独立工作的CPU辅助主控板工作。这样可以增强整个系统的性能,且降低板与板之间的依赖关系,方便开发调试。

MSP430F149是TI公司推出的一款主打低功耗的16位RISC微处理器。其操作简单,在低功耗的同时,也具有强大的运算性能,其内部集成了16位多功能硬件乘法器,相较于传统的51单片机运算能力有很大的优势,能够满足从板的功能需求。

3 嵌入式操作系统的搭建

随着测控系统所要完成的工作越来越复杂,程序越来越庞大,需要管理的外设越来越多,只有拥有嵌入式多任务操作系统,拥有稳定工作的硬件基础、开发重点才能由原来硬件的调试、软件的DEBUG转变为对于实际应用系统性能的提高、智能化软件的编写。此外,只有在一个完整的、具有统一编程规范的操作系统基础上,使用高级语言开发出来的应用程序,才可能具有良好的可移植性,才可能被重复利用。嵌入式多任务操作系统正是实现现代实时测控系统开发平台的唯一途径[3]。

目前绝大多数商用嵌入式系统出于商业利益的考虑,都是要收费的且不开放源码,而Linux作为一款免费的开源操作系统,具有以下优点:①可以获取并修改Linux的源代码,开发自己的产品;②Linux容易建立嵌入式系统开发环境和交叉运行环境;③内核完全开放,可以设计和开发出真正的硬实时系统;对于软实时系统,在Linux中也容易得到实现;④可移植性好[4]。

嵌入式Linux操作系统的开发是具有一定的层次性,如图2所示,应按其结构自下而上逐层进行[5]。

图2 嵌入式系统的体系结构图

3.1 Linux系统的移植

嵌入式Linux操作系统,简单的说,就是将Linux内核里在ARM架构下用不上的功能或驱动去掉,使操作系统占用内存更小,启动速度更快,提高Linux系统的实时性,使之变成一个实时系统。裁剪完成后,将之移植到ARM11核中即可。

3.2 应用软件开发环境的搭建

搭建好了嵌入式操作系统,下面就要进行依托于操作系统的应用程序开发。Qt是一个跨平台应用程序和UI框架,它包括跨平台类库、集成开发工具和跨平台IDE。使用Qt只需一次性开发应用程序,无须重新编写源代码,便可在不同桌面和嵌入式操作系统部署这些应用程序。它提供了丰富的窗口部件集。具有面向对象、易于扩展、真正的组件编程等特点[6]。在本系统中,采用Qt4.8.5的版本进行应用程序的开发。

3.3 驱动程序设计

驱动程序是介于操作系统和硬件电路之间的一类程序,Linux系统规定了一系列的系统接口,驱动程序就是为特定的硬件提供这些系统接口的具体底层实现。因此,驱动程序也是最终应用软件得以运行的基础。

在本系统中,用到的大多数设备的驱动都已经在内核中提供,只需要在内核配置过程中添加即可使用。但是并行数据总线是本设计专有的硬件电路,需要自行设计驱动程序。另外,内核中自带的触摸屏驱动在本系统上的使用效果并不是特别好,本设计在原驱动的基础上重新做了设计。

4 平台的软件设计

由于本系统兼有测试和控制的功能,且伺服系统控制精度要求高,各项性能复杂,测试指标繁多,故需要一个完备的软件系统进行管理和调度,且该软件系统需要一个可操作性强的人机交互界面以便适应不同的操作人群。

前文已述,本系统有联机和单机两种工作模式,对应两套不同的硬件架构,相应的也对应着两套不同的软件架构,但是就主要功能的实现而言,它们是大同小异的,软件架构如图3所示。

4.1 下位机软件设计

下位机软件设计包括以S3C6410为CPU的ARM主控板软件设计以及各从板子功能程序设计。伺服测控平台的硬件基础为模块化结构,所以在进行软件设计的时候也是按照模块化的方式一步一步的构建软件系统。

4.1.1 主控板软件设计

Linux系统的移植、应用程序开发环境的搭建和驱动程序的编写完成后,下面就是要进行依托于这些环境的应用程序的开发,完成系统的功能。根据前文对平台的需求分析,可以确定主控板的软件功能如下:

1)可以选择工作模式为联机模式或单机模式;

2)可以选择测试仪需要测试的伺服系统接口类型;

3)3种典型测试波形可选,且参数可调;

4)输入参数及显示数据的计量单位可以选择;

5)实时显示测试曲线及相关参数,且测试结束后可以对数据进行回看分析。

总的来说,可以分为人机交互模块软件设计、数据处理模块软件设计以及通信模块软件设计,软件的总体流程图如图4所示。

图4 主控板软件流程图

在主控板的软件设计过程中,实时性是一个关键技术点。实时任务一般可以分为软实时和硬实时两种类型。硬实时任务对系统要求可确定性强,具有明确的实时约束,在某个限定的时刻之前不能完成任务将造成灾难性的后果;而软实时任务对时间敏感, 但偶尔发生不能满足严格实时要求的情况也是允许的[7]。显然,对伺服系统的控制是一个严格的硬实时任务。标准Linux是一个多任务多用户的分时操作系统,尽管系统通过为实时任务赋予较高的优先级使得系统具有一定的实时性,但对于大多数时限要求较高的实时任务来说,远远达不到其对于时间约束的要求。在本系统中,已经对标准Linux进行了裁剪提高了其实时性,但考虑到本系统对信号发送与数据采集的要求最小要达到1 ms的周期,为了进一步提高操作系统的实时性,采用了如下措施:

1)虽然Linux不是硬实时操作系统,但是其调度策略提供了一种软实时的进程调度方法。可以指定进程为实时进程并设置高优先级,这样内核就会尽力调度该进程,使得实时进程相比于普通进程更快的被调度,在本系统中,对伺服系统进行收发数据的进程应被置于最高的优先级。

2)细化时钟粒度(时间片):Linux的调度策略简单讲就是优先级加上时间片,Linux系统的默认时间片为10 ms,这显然是不能满足系统实时调度的要求,因此需要细化时间片提高精度,具体方法是修改Linux中Hz宏,将默认的100改成100 000,这样,时间片的精度就可以达到10 μs。

4.1.2 从板软件设计

各从板卡是系统开发最底层的部分,向下直接通过接口与伺服系统进行对接,向上通过数据总线和控制总线与主控板相连,主要的功能就是实现数据的收发与转换。除了伺服测控箱的数字IO板和逻辑采集箱的IO采集板,其他的板卡均有自己独立的CPU,用于控制板卡独立的工作逻辑。

从板卡可以分为两类:发送板卡和接收板卡,它们的程序实现不一,但是从功能上来说,他们是有共性的,对于数字型伺服系统,发送板卡直接将系统的数字信号发给伺服系统,接收板卡直接采集伺服系统的数字信号进行处理;对于模拟型伺服系统,发送板卡是将系统的数字信号转换成作用于伺服系统的模拟信号,而接收板卡是将从伺服系统采集到的模拟信号转换成系统可以处理的数字信号,只不过数字量会因为精度不同而导致位数不同,而模拟量会因为控制对象不同而导致形式、大小不同。所以说,从功能角度出发,各发送板卡的软件框架是相同的,各接收板卡软件框架也是相同的。而基于框架的软件设计思想不仅思路明确,减少出错的概率,也会大大提高其后期维护的便捷性。发送板卡与接收板卡的软件流程图如图5所示。

图5 从板软件流程图

在各从板的软件设计过程中,特别要注意的一个问题就是转换速度问题。因为整个系统的最小采样周期最小要达到1 ms,所以说从板卡的功能实现一定要快,如果某块从板的子功能实现需要2 ms,那么1 ms的采样周期也就无从谈起了。所以,在进行从板软件设计的时候,对于发送板卡,我们在进行数据转换的过程中,尽量避免运用除法运算,因为根据测试,430对于除法的运算是相当耗时的,对于不可避免的除法运算,采取的措施是用“查表法”代替。而对于接收板卡,设计思路是:不管本板有没有被选中,都要进行独立的数据采集与数据保存,时刻将数据准备好,这样,一旦从控制总线传来了片选信号,即产生外部中断,数据立刻送上数据总线,这样就大大提高了传输效率。

4.2 上位机软件设计

4.2.1 伺服测控上位机

工控机具有以下几个方面的优点:可靠性好、实时性好、环境适应能力强、输入和输出模块配套好、通信功能强[8],另外还具有强大的数据处理能力,故在其上开发基于Windows系统和MFC库的上位机综合测控软件。综合测控软件的是对两台伺服测控箱和逻辑采集箱进行通信与控制,使用户可以通过一台设备就能够给多个伺服系统发送数据并观测它们的测试数据以及运行状态。上位机软件同样采用模块模块化设计,主要包括参数配置模块、通信模块、数据处理模块、UI显示模块、通信监测模块、数据分析模块、数据存储模块和打印模块7个模块,通过这些模块的配合,对伺服进行测试与分析。

另外,为了提高本系统的“适应力”,软件对网络型伺服系统预留了网络接口,即将网络型伺服系统接入本系统的伺服测控专用网络与综合测控上位机对接,即可实现本系统对网络型伺服系统的测控分析。

4.2.2 通信

为了兼顾下位机与上位机之间的通信距离以及通信速率,两者之间采用CAN总线通信方式。CAN即控制器局域网络,是一种有效支持分布式控制或实时控制的串行通信网络。CAN总线采用了多主竞争式总线结构,具有多主站运行和分散仲裁的串行总线以及广播通信的特点[9]。本平台上位工控机采用研华PCI-1680板卡的九针通信口,其传输速率达到1 Mbps,完全满足系统数据通信速率的要求。

在网络通信中,和TCP相比,UDP没有频繁的确认、重传机制,在传输过程中不关注网络状态,节省了大量的网络资源,能有效的提高网络的传输效率,满足综合测控系统的实时性要求,故选用UDP作为综合测控上位机与网络型伺服系统之间的通信方式。

5 试验结果与分析

经过对整个平台的联合调试与测试,单机模式和联机模式下均能正常工作。平台的控制精度达到0.1 mrad,模拟测试精度达到0.1 mrad,数字测试精度达到0.05 mrad,满足绝大多数伺服系统的测控要求。到目前为止,平台共拷机260个小时,稳定无故障。

试验结果表明,该平台的多种组合方式均能够完成相应的测控任务,具有较高的测控精度和稳定性。

6 结束语

利用嵌入式的软硬件技术设计了一套完备的伺服测控系统,讨论了系统的设计方案和一些难点问题,并提出了解决方案,同时也介绍了与一般的伺服测控系统不同的设计特色。集散式结构设计便于集中管理和分散控制。单机模式能够满足场外便携性的需求,联机模式能够将数据分析的能力提高到最大。同时系统在软硬件上的拓展接口使本平台真正的成为一个综合测控平台。

[1] 李茂森,李思远. 伺服分析与检测平台的设计与应用[J].伺服控制,2010(3):91-96.

[2] 程治新,廖学兵,黄林昊,等. 基于ARM7的自行火炮火控系统测控平台研究[J].计算机测量与控制,2009,17(12):2464-2467.

[3] 崔 龙,周启明,江文瑞. 基于ARM的实时测控系统开发平台[J].单片机与嵌入式系统应用,2003(1):206-209.

[4] 高双喜. 基于Qt/Embedded的伺服测试平台软件的研究与设计[J].软件导刊,2012,11(9):55-57.

[5] 王晓宁,王振臣,张少兵,等. Linux操作系统在ARM9处理器上的移植[J].化工自动化及仪表,2010,37(2):67-69,77.

[6] 李 麟,叶春生. 基于Qt/ARM的伺服电机控制系统[J].仪表技术与传感器,2013(6):62-65.

[7] 张立辉,赵云忠,王建生. 基于嵌入式Linux的实时性分析[J].微电子学与计算机,2007,24(6):100-103.

[8] 马 超,万 里,卢新友,等. 基于工控机的多向抽气高真空压铸技术的开发[J].特种铸造及有色合金,2014,34(1):42-45.

[9] 涂晓曼,邹俊忠,张 见. 基于CAN总线的电子套结机运动控制系统[J].微特电机, 2014,42(8):93-95.

Design of Integrated Testing and Control Platform for Servo System Based on Embedded Technology

Duan Zhiguo1, Zhao Yan2, Li Jun1, Zhou Jianbo1

(1.School of Automation, Nanjing University of Science and Technology, Nanjing 210094,China;2.Unit 92941 of PLA,Huludao 125001,China)

Based on the embedded technology,a set of integrated testing and control platform which includes the functions of control,test and analysis is designed for servo system.The platform is designed with the distributed structure.In terms of hardware,it provides multiple communication and testing ports. In terms of software, it based on the Linux embedded operating system and Windows system,providing friendly human-computer interaction interface.The platform can work in the stand-alone mode which is portable or work in the combined mode which has the complete functions according to the different environment.The platform also provides the network interface for the network servo system.So,the platform has the advantages of good versatility and expansibility.According to the test,the platform can be operated conveniently and running stably,and it can be used for the analysis and control of many kinds of servo systems.

embedded; servo system; distributed structure; versatility

2017-01-18;

2017-02-21。

段志国(1992-),男,江苏句容人,硕士研究生,主要从事嵌入式伺服系统方向的研究。

李 军(1970-),男,博士,教授,主要从事伺服系统及其相关测控技术方向的研究。

1671-4598(2017)07-0051-04

10.16526/j.cnki.11-4762/tp.2017.07.013

TP206.1

A

猜你喜欢

主控板板卡伺服系统
MACH2系统板卡程序下装平台的研制
一种快速可靠的主控冗余及切换机制的设计与实现
基于ESO的电液位置伺服系统反步滑模控制
壁挂炉主控板工装测试系统设计
车载控制器CVRE板卡显红故障分析及处理
重庆轨道交通闸机三杆机芯主控板的技术自主化探究
基于模糊滑模控制的数控机床位置伺服系统
基于组态王软件和泓格PIO-D64 板卡的流水灯控制
基于自适应反步的DGMSCMG框架伺服系统控制方法
一种基于光纤数据传输的多板卡软件程序烧写技术