您的位置:控制工程论坛网论坛 » 电机与运动控制 » 基于嵌入式X-BOARD的远程控制系统设计

jshfq

jshfq   |   当前状态:在线

总积分:17995  2024年可用积分:0

注册时间: 2007-08-06

最后登录时间: 2013-11-04

空间 发短消息加为好友

基于嵌入式X-BOARD的远程控制系统设计

jshfq  发表于 2008/7/4 16:34:44      864 查看 0 回复  [上一主题]  [下一主题]

手机阅读









基于嵌入式X-BOARD的远程控制系统设计

 
摘  要:电气系统的小型化、模块化并具备远距离操控能力是当前光电跟踪设备进一步发展的需求。本文主要介绍了采用以太网+嵌入式系统模式,构建一种基于DSP和嵌入式X-BOARD处理器的远程控制系统。重点介绍了该系统的软件设计、硬件构成以及通过以太网与DSP实时数据交换与控制的实现方法。在此基础上研制了小型化、模块化、可远程操控的控制系统。该系统由DSP实时控制模块和嵌入式接口子模块组成,前者挂接了数据采集通路和PWM驱动级,后者在实时操作系统VxWorks下,完成以太网数据的收发和与DSP实时数据的交换。经某跟踪控制平台验证,该系统能达到远程控制的要求,具有明显的优越性。 


关键词:远程控制;嵌入式处理器 X-BOARD;以太网;光电跟踪


1 引言


  随着嵌入式计算技术的发展, 嵌入式处理器和实时操作系统得到了广泛的应用。控制系统不仅对小型化、模块化、数据处理的实时性提出了进一步要求,并且往往还要求能实现远距离操控。以太网的远距离传输、高数据传输带宽等优点使其逐步进入传统的控制领域,而嵌入式系统以其本身体积小,功能多,高可靠性等优点,成为工控领域中的新热点。


  VxWorks是美国风河公司推出的一个实时操作系统,它以其良好的可靠性和卓越的实时性被广泛地应用在通信、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、飞机导航等。X-BOARD是德国控创公司推出的下一代嵌入式处理器模块,功能十分强大,它几乎集成了当今所有需要的应用接口,如USB、以太网、PCI、LPC等[1]。其优异的嵌入式特性表现在低功耗、小尺寸、无须外加散热装置、对各种架构CPU具有相当的开放性、便于性能升级等。


  光电跟踪控制系统是一种典型的嵌入式系统应用,针对其进行远程控制的研究具有较大意义。本文采用客户端、服务器模式,基于嵌入式X-BOARD<861>处理器和VxWorks实时操作系统,实现了远端主控计算机与DSP的实时通信与控制。


2 控制系统构成


  该远程控制系统是基于某光电跟踪控制平台,其系统结构如图1:



点击看大图


图1 远程控制系统结构


  在整个远程控制系统中,远端主控计算机上运行客户端程序,通过以太网进行DSP动态程序加载、系统运行状态监控、实时控制参数传递、报告网络连接情况等;在嵌入式子模块上运行服务器程序,负责远端主控计算机与DSP的实时数据交换;DSP采用TI公司的低功耗高速DSP TMS320C5416,工作频率可达到160MHZ。 为了保证整个系统工作的实时性,采用如下机制:DSP上运行实时控制算法,而嵌入式子模块和远端主控计算机只进行系统后台操控。


  快速反射镜是一种精密跟踪技术手段,它与大惯量机架结构的主轴系统共同构成复合轴跟踪系统,主要用于校正主轴系统的跟踪误差及风矩、地基、机架和大气等干扰引起的视轴抖动[5,6]。快速反射镜的位置信息通过采样电涡流传感器电压输出值获得,而快速反射镜的转动由音圈电机驱动。


  由以上论述我们可以看出,嵌入式子模块设计是整个远程控制系统的关键,其硬件结构原理如图2:



点击看大图


图2 嵌入式子模块结构


  X-BOARD<861>嵌入式处理器模块具有128Mbyte SDRAM,采用AMD Geode SC1200 CPU,该CPU基于X86架构,具有266Mhz主频,为系统的及时响应提供了有利保障。经过实测,由FPGA发起中断,到中断得到响应只需要大约750ns,并且在VxWorks操作系统系统下最多能处理20KHz的中断。X-BOARD通过PCI 9054桥接芯片进行总线扩展,FPGA作为PCI 本地端。由于PCI总线与DSP接口速率的不一致性,所有数据交换经由FPGA内部定义的双端口SRAM进行缓冲。


3 软件设计


  Socket 是BSD UNIX定义的一种应用程序使用TCP协议的接口,许多操作系统包括VxWorks都采用socket接口[3]。在本远程控制系统中采用基于TCP协议的可靠数据流SOCK_STREAM,它能提供有序双向字节流和带外数据传输能力,每一次完整的传输都要经历建立连接、使用连接、中止连接的过程,从而保证了数据传输的可靠性。


  除了确定底层网络传输协议外,在整个客户端和服务器端软件中还应设计自己的数据传输协议,以解析复杂的控制命令,调试参数,程序加载数据和控制参数等。在本系统软件设计中所有数据采用1001字节的数据包进行传输,其中有效数据为后1000字节,第一个字节为控制字。当接收到一包数据时,首先提取第一个字节,解析应该对该帧数据进行何种处理。


  软件设计主要集中在客户端软件和服务器端软件的设计。客户端软件开发在VC++6.0集成开发环境中完成,其软件结构设计如图3所示。子线程接收服务器端发送的数据并通过消息队列传递到主线程,主线程分别处理本地命令和子线程传递的数据。本地命令指操作人员通过客户端人机界面发出的命令,主要有DSP程序加载、复位控制、PWM封锁与开放、控制参数调整、后台数据记录等。以DSP程序加载过程为例,详细说明客户端与服务器如何进行命令与数据交互。首先将加载文件读入缓冲区,然后将数据打包发送到服务器端,服务器端收到数据包后首先提取控制字,识别出为加载程序数据包后,通过握手信号XF与BIO对DSP进行程序加载。子线程接收的数据包主要包括4路调试参数以及4路误差数据,主线程接收到子线程传递的数据包后,也是首先提取控制字,然后判断应采取何种操作。



点击看大图


图3客户端软件设计流程图


  服务器端软件开发在VxWorks集成开发环境Tornado 2.2 下完成。相比客户端软件,服务器端软件需要完成更多的工作,如中断处理、PCI驱动、协议解析、与DSP握手等,但是由于Tornado 2.2开发工具强大的功能,所有需求都能方便的进行开发。服务器端软件结构设计如图4。



点击看大图
图4服务器端软件设计流程图


  由图4可看出,服务器端软件基于多任务设计,主任务首先初始化PCI驱动和网络,然后以循环方式接受客户端连接并孵化相应的数据接收和发送子任务。数据接收子任务接收来自客户端的数据和命令,经过协议解析后进行相应处理;PCI中断服务程序只进行信号量释放操作,用以通知数据发送子任务从双端口RAM中读取数据并发送到客户端。


4 实际控制试验


  图5为试验平台结构示意图,经过实际控制验证,本系统能实现约20米距离的点对点数据传输,工作时的网络数据流量达到1.25Mbps,后台一次可记录达30MB容量的运行数据以供事后分析。客户端可同时监控4路调试参数、四路误差数据以及网络数据流量变化趋势,并能实时调整四个控制参数。




图5 试验平台结构示意图


  图6是根据该远程控制系统客户端所记录数据,绘制的快速反射镜X方向通过电涡流信号位置闭环的过程。图中上半部分为电涡流变化曲线,下半部分为控制量变化曲线。经过测试在10K采样率的情况下,系统运行稳定,数据传输无丢包。



点击看大图
图6 快速反射镜位置闭环测试


5 结束语


  本文作者的创新点在于充分利用VxWorks操作系统的高实时性,控创X-BOARD<861>嵌入式处理器模块的小体积、高性能以及传统以太网的远距离、高数据传输带宽等特点构建了一个完整的远程控制系统,每年产生经济效益约50万元。文中详细论述了整个系统的软硬件设计及后期的试验平台架构,并给出了实际控制结果。该系统具有良好的通用性,可以很方便的应用到大部分需要远程控制的场合。


  经测试验证,该系统能完全满足当前的控制需求,保证了各种功能的实现,为光电跟踪设备的进一步小型化、模块化提供了新途径。

1楼 0 0 回复