《电子技术应用》
您所在的位置:首页 > 可编程逻辑 > 设计应用 > 基于DSP和FPGA的经纬仪控制系统设计
基于DSP和FPGA的经纬仪控制系统设计
来源:电子技术应用2010年第7期
李金洪1,2,杨小军1
1.中国科学院西安光学精密机械研究所,陕西 西安710119;2.中国科学院研究生院,北京100039
摘要: DSP和FPGA组成的伺服控制系统能够满足复杂的控制算法要求。通过对TI公司的DSP控制芯片TMS320F2812和ALTERA公司的FPGA芯片EP1C3T144的功能和特点分析,给出了一种基于DSP和FPGA的光电经纬仪伺服控制电路的设计方案。增加了可靠性和精度。
中图分类号: TP879
文献标识码: A
文章编号: 0258-7998(2010)07-0048-04
The electro-optical theodolite control system design based on DSP and FPGA
LI Jin Hong1,2,YANG Xiao Jun1
1.Xi′an Institute of Optics and Precision Mechanics of CAS , Xi′an 710119,China;2.Graduate School of the Chinese Academy of Sciences,Beijing 100039,China
Abstract: The servo control system based on DSP and FPGA can complete complex controlling arithmetic in short time. By analyzing the functions and traits of DSP chip TMS320F2812 and FPGA chip EP1C3T144, an electro-optical theodolite servo control system based on DSP and FPGA was designed, which increased reliability and precision.
Key words : electro-optical theodolite;servo tracking system;DSP;FPGA

    光电经纬仪作为一种高精度的空间位置测量设备,被广泛应用于海、陆、空武器测试靶场及天文观测和武器引导控制系统。它利用激光、红外、电视、雷达等探测器获得运动目标在其视场内与视场中心的偏差,再将它传输给伺服跟踪系统进行校正跟踪,使经纬仪瞄准该目标并引导其他跟踪设备,或者根据激光测距和经纬仪本身的位置数据计算出运动目标的精确轨迹[1-2]。目前,随着飞机、武器系统及测量系统的发展,安装可靠、灵活、轻型的光电跟踪设备已非常必要。采用嵌入式系统,尤其是基于DSPFPGA的嵌入式模块,可以充分利用其自身优点进行小型化、低功耗和高可靠性的系统设计。本文通过对光电经纬仪的伺服跟踪系统研究,设计了一种基于DSP和FPGA的光电经纬仪伺服跟踪系统。
1 硬件平台构造
    目前经纬仪伺服跟踪系统主要基于PC/104结构,具体结构如图1所示。它是通过引导主控计算机对运动目标完成捕获跟踪功能。在实际的伺服系统应用中,要在PC104上叠加多块控制电路板才能较好地运行。这样就会增加体积并降低系统的可靠性,且提高精度也很困难。

    图1所示的PC104伺服系统由多个功能模块构成,主要包括主机模块、显示控制模块、数据采集和控制模块。选用不同种类和数量的功能模块通过堆叠式的PC104总线构成小型化的嵌入式系统,其可靠性随着功能模块的增多而降低,而且成本较高。
    针对PC104光电经纬仪控制系统的不足,设计了一种以TI公司的TMS320F2812和ALTERA公司的FPGA芯片EP1C3T144作为主控制器的伺服系统。TMS320-
F2812属于32 bit的定点DSP,其作为主要的电机控制芯片有丰富的外设及快速的运算能力,与用于控制方面的其他单片机或DSP相比,拥有明显的优势。能够满足高速跟踪控制系统的要求,并能运行较复杂的控制算法,取得较好的控制效果。
    为了充分发挥TMS320F2812强大的控制功能,增加了FPGA芯片来协调DSP处理数据信号,使得多轴电机的控制及多接口实时通信变得很方便。ALTERA公司的EP1C3T144芯片应用广泛,可靠性较高,与TMS320F2812芯片相协调,能够获得较高的性价比。
    基于DSP和FPGA的伺服控制系统主要由电源电路、DSP、FPGA核心处理器、串行通信接口、A/D转换电路、功率转换电路及一些辅助电路组成。电路结构如图2所示。

1.1 通信接口
    DSP作为主控制芯片,通过各种通信接口与外设或FPGA联系。DSP外部数据通过数据总线可以进入DSP内进行处理,也可以先送到FPGA内部进行预处理,处理完后通过总线传给其他控制系统或DSP主控芯片进行后续处理。在系统的FPGA与DSP的数据交换主要采用DSP和FPGA之间的专用通信接口来处理。两者间通信可采用标准串行通信接口SPI。SPI接口是一种真正意义上的同步串行通信接口,它在2个传输单元之间进行数据传输时采用的是同一个时钟,可以达到很高的数据传输速率。
    数据总线采用16 bit的宽度,DSP和FPGA都能利用该总线与外部设备或是上位机进行大量的数据交换。TMS320F2812有2路SCI接口,可以传输各种控制指令和控制状态信息。可以利用SCI接口采用RS422差分信号进行控制指令的接收及控制状态信息的反馈。
1.2 力矩电机控制电路
    力矩电机作为主要的控制对象在该系统中直接采用TMS320F2812的PWM接口进行控制。TMS320F2812共有16路PWM输出接口供电机使用,通过控制PWM波的占空比来改变加在电机两端的电压,从而改变电机的转速。DSP发出的PWM波不能直接驱动电机运行,须经过IGBT进行功率转换。该系统采用了IR公司的IR2210作为功率芯片。它把驱动芯片和IGBT集成在一起,只要输入TTL信号就可以实现功率驱动,而且具有完整的隔离及过流过压保护功能。
1.3 信息显示电路
    信息显示模块主要完成外来信号状态显示,如电机转速、角度等信息以及控制系统的故障信息显示。这对于系统的调试及自检都比较方便。采用OLED(有机发光二极管显示器)显示信息。显示模块VGS12864E由行驱动器、列驱动器和OLED显示屏组成。其主要控制电路通过FPGA的强大的逻辑控制功能实现,数据由DSP主控芯片或其他外设通信接口传送给FPGA后,再由FPGA根据要求送到OLED中显示。
1.4 功能扩展模块
    由于FPGA拥有较多的I/O资源,因此便于扩展功能。如图2所示,FPGA可以协助DSP完成数据采集功能。这样由DSP和FPGA组成的系统可以同时采集多路信号,其中DSP芯片集成的12 bit A/D转换电路主要采集精度不太高的信号,采样后直接送入DSP内部进行处理。对于高精度的信号采样则通过FPGA外扩采样电路完成,并在FPGA内部进行信号的前期处理,处理后的信号可以通过与DSP的通信接口传送给DSP使用,也可以直接送到信息显示模块上显示,以方便调试。FPGA增加了故障提示电路,能把系统内发生的故障转换成相关量送给外部设备判断处理。同时FPGA增加了外部中断接口,可以让多个外设信号接入FPGA,然后才分时送给DSP进行处理,这样能充分利用系统资源,实现多路信号实时处理。
2 软件结构设计
2.1 FPGA的硬件编程设计

    FPGA作为一种硬件可编程芯片,主要采用原理图加硬件编程语言Verilog或是VHDL来完成。最顶层采用原理图连接方式将底层功能模块连接起来,底层采用硬件编程语言构建功能模块电路。由于VHDL相对于Verilog编程语言更严密,格式更规范,所以在本文设计的系统中,采用VHDL进行FPGA的编程。底层模块按功能主要分为以下几个模块:地址译码模块、中断管理模块、I/O管理模块、信息显示模块、A/D采样模块、通信模块。FPGA内部组成如图3所示。

    地址译码的主要功能是将DSP输入的外部地址信号进行译码后送给FPGA的I/O管理模块,管理FPGA的编码器信号接收和A/D信号采集。在该系统中把DSP的XINFF Zone 0区分配给FPGA使用。DSP分配给FPGA的地址空间,通过译码电路处理模块进行再分配和再扩充后分配给FPGA的其他外设使用。这样DSP可以间接控制FPGA的信息显示模块、外部中断等资源。
    I/O管理模块主要负责各种数字量输入输出以及特定信号的状态设置。I/O模块连接FPGA的主要外设,以接收外设的信息并给外设输出一定的控制命令。中断管理模块功能是扩展DSP的外设中断源,接收各种外设中断并进行中断排序,对多个中断输入进行优先级控制和编码。这样可以使系统拥有多路信号的实时信号处理能力,并分担DSP的调度管理任务,使DSP能利用更多的资源去进行复杂的位置、插值、数据滤波等算法处理。
2.2 DSP伺服控制算法实现
    为了提高控制系统的跟踪精度,在硬件平台基础上构建了双闭环反馈回路[3]。双闭环反馈回路主要包括速度反馈和位置反馈回路。位置反馈信息主要通过光电编码器完成。光电编码器获取位置后通过RS422接口直接送给FPGA进行预处理,然后再通过与DSP通信通道送入DSP内部运算。速度信息由采样电路进行离散化后送入DSP内部运算。控制系统原理如图4所示。

    伺服控制原理是把脱靶量或数引位置与系统的实际位置进行相减得到误差量,把误差量送给位置校正环节进行放大,然后把位置信号输出与经过调节器后的速度前馈补信号相加作为速度校正环节的输入信号,再通过速度校正环节处理。系统根据速度回路的输出信号对PWM进行脉宽调制。最后把DSP输出的PWM送入功率转换电路进行处理后送入电机执行。这样电机向误差量变小的方向运动,直至达到控制精度为止。
    TMS320F2812属于定点运算芯片,在编程进行伺服控制时需要浮点运算的算法,此时,要进行一定的处理[4-5]。TI公司提供了用于定点DSP仿真实现浮点运算的算法库文件IQmath.h[6],调用该文件可以很好地将伺服运算程序移到F2812中运行,并保证了一定的精度。对多个电机的控制尽量采用中断方式工作,以降低DSP的开销,提高实时性。算法中的常用中间变量尽量分配到0等待的SRAM存储空间上运行,这样可以提高程序读写数据的速度,提高算法的运行效率。程序流程图如图5所示。

    伺服控制算法通过速度反馈和位置反馈来实现,速度反馈算法和位置反馈算法通过中断方式完成[7]。这样可以提高DSP实时处理能力。
2.3 仿真实验结果与分析
    基于DSP和FPGA的伺服跟踪控制的正弦仿真结果如图6所示。

    从图6可以看出,控制系统的控制性能较好,其稳态误差较小。仿真结果表明,基于DSP和FPGA的跟踪控制系统有效、可行。
    光电经纬仪为了提高跟踪精度,对伺服控制系统有较高要求,并采用复杂的控制算法来实现精度要求,基于DSP和FPGA组成的伺服控制系统是一个效率很高的系统,有较大的发展潜力。随着光电经纬仪的发展,传统的基于PC104的控制系统已很难满足要求,升级成本也很高,DSP和FPGA构成的控制系统可以替代PC104系统。本文设计的经纬仪跟踪系统通过实验测试表明具有较好的效果,但对DSP和FPGA的协调处理还有些不足,系统的升级优化还有较大的空间。
参考文献
[1] 何照才.光电测量[M].北京:国防工业出版社,2002.
[2] 王建立.光电经纬仪电视跟踪、捕获快速运动目标技术的研究[D].中科院长春光学精密机械与物理研究
所,2002.
[3] 卢京潮.自动控制原理[M].西安:西北工业大学出版社,2004.
[4] 孙丽明.TMS320F2812原理及其C语言程序开发[M]. 北京:清华大学出版社,2008.
[5] 李佳武,张景森.定点DSP芯片TMS320F2812实现快速算法应用[J].国外电子元器件,2005(3):27-30.
[6] IQmath Library Module  user′s Guide C28x Foundation Software(Rev.D).Texas Instruments,2001.
[7] 李兴红,张淑梅,续志军,等.基于TMS320F2812的跟踪伺服系统[J].微计算机信息,2007(23):147-149.

此内容为AET网站原创,未经授权禁止转载。