代根学,刘 军,刘朝晖
(1.中国科学院西安光学精密机械研究所 光电跟踪与测量研究室,陕西 西安 710119;2.中国科学院研究生院,北京 100039)
目前的光电跟踪伺服系统大都采用PC/104结构,它是通过主控计算机完成对目标捕获跟踪功能,但是组成实际应用的跟踪伺服系统还要叠加多块板卡,不仅增大了系统体积,而且精度难以提高,花费昂贵[1]。而DSP正以其高速的数据处理能力,丰富的片内外资源、方便的开发环境,以及低廉的价格在越来越多的计算控制系统中得到应用[2]。总线化是工业控制系统的一个发展方向,它在可适用范围、可扩展性、可维护性以及抗故障能力等方面较集中式控制系统有明显的优越性[3]。因此,本文结合光电跟踪伺服系统的特点,提出一种基于DSP与CAN总线结构的伺服控制器。
在高速光电跟踪系统中,对伺服系统的实时性、精确度和稳定性都有很高的要求。实际应用中环境比较复杂,有大量的信息传递,并且需要对电机转速实行精确控制,从而对伺服控制器的多路通信能力、快速运算能力和抗干扰能力都有较高的要求。由于FPGA具有高度灵活的可配置性和逻辑时序控制能力[4],所以这里采用Altera公司Cyclone系列FPGA为辅助处理器,设计了以TI公司的32位定点数字信号处理器TMS320F2812为核心,通过CAN现场总线与上位机通信的跟踪伺服控制器,并综合阐述了该控制器的功能、硬件设计和软件流程。该控制器具有两路双极性模拟信号输入,两路单极性模拟信号输入,四路双极性模拟信号输出,可满足控制两个三相IGBT的12路PWM输出,一路CAN总线,三路RS422和一路RS232串行通信口,具有较强的运算能力和数据通信能力,是良好的数字控制系统实验平台。
TMS320F2812是一款专为电机控制所设计的芯片,片上集成了丰富的片内外设资源。设计时充分利用了这一特点,简化了外围电路,降低了系统的功耗。根据电路中各部分所实现的功能,将整个控制器大体分为三个部分:处理器部分、外围通信接口部分和模拟信号处理部分。控制器的总体硬件结构图如图1所示。
图中,处理器由DSP和FPGA组成,完成板上主要的信息处理。上位机通过CAN总线向控制器发送指令,并能及时获得工作状态等反馈信息。位置信号与位置增量信号分别通过三个RS422通信口传给DSP,由DSP作相应处理。两轴的速度和电流反馈信号分别由板上的双极性和单极性模拟电路采样得到。DSP与FPGA之间通过DSP的系统外部接口(XINTF)进行数据的读写。D/A转换器的控制是通过FPGA内部的D/A转换接口模块接收DSP输出的数字量实现的;计算机调试接口采用了一路RS232。
32位定点数字信号处理器TMS320F21812整合了DSP和微控制器的最佳性能,能够在一个周期内完成32×32位的乘法运算,或两个 16×16位乘法累加运算,处理速度最高可达150 MIPS。它采用高性能静态CMOS技术,内核电压为1.8 V@135 MHz,1.9 V@150 MHz,I/O端口电压3.3 V[5,6]。其先进的内部和外设结构使得该处理器特别适合电机及其他运动控制应用,能够真正实现单片控制,为电机的伺服控制提供良好的控制功能[7]。
FPGA选型时综合考虑片上逻辑单元和用户I/O口数量,以及功能扩展的需要。这里根据前期仿真结果选用 Altera公司 Cyclone系列的 EP1C3T144I7,它具有 2 910个逻辑单元,104个用户I/O和1个锁相环,内核电压1.5 V,具有低成本、低功耗的特点[8,9]。由于 FPGA具有高速并行处理能力,保证了系统的同步性[10]。它的I/O口支持3.3V LVTTL电平,与DSP管脚电平兼容,因此不用进行电平转换,可直接连接,使用方便。
DSP的功能主要通过软件实现,在此主要实现接收上位机指令,完成位置环和速度环反馈的双闭环PID控制算法,产生PWM输出。根据系统采样频率调整事件管理器的定时器控制寄存器的控制字来设定PWM工作方式和频率,通过调整比较寄存器的数值来改变PWM的占空比,根据功率驱动电路的驱动芯片设置死区控制寄存器的数值,以及来调整死区时间,通过专用的PWM输出口输出占空比可调的带有死区的PWM信号[11]。
DSP与FPGA之间实时准确的数据传递是系统成功的一个关键因素。这里选用DSP上的系统外部接口(XINTF)与FPGA连接,在FGPA内部配置一个与 DSP读写时序相对应的数据读写接口。实验证明,这是一种稳定有效的方法。
CAN总线具有低成本、易开发、实时性好以及抗噪声性能好等优点,传输速率最高为1 Mb/s,最大传输距离为10 km(5 kb/s)。CAN的每帧信息都有CRC校验及其他检错措施,保证了数据出错率低,同时降低了应用程序的复杂程度,从而使通信更加可靠。现在它逐步发展成为用于工业领域控制、通信的现场总线[12]。
由于实际工作环境较为复杂,所以选用了抗干扰能力强的CAN总线作为与上位机的通信方式,TMS320F2812内部集成了一个eCAN模块,支持标准的CAN2.0B协议,只需加相应的CAN收发器外围电路就可以轻松实现。DSP芯片的CAN总线控制器与CAN物理总线的接口选用PCA82C250驱动器芯片。为了增强抗干扰能力,保护CAN控制器,在TMS320F2812与PCA82C250之间加高速光隔。光隔离器采用6N137芯片,其速度为10 MHz。硬件电路如图2所示。
其他通信接口模块包括一路RS232和三路RS422。设计时为保证与系统的其他部分匹配,都采用了通常的工业标准。
根据转换通道数、精度和转换速度,D/A转换芯片选择BURR-BROWN公司的DAC7614。它是12位串行数模转换器,四路模拟输出,功耗只有20 mW,单次转换建立时间 10 μs。使用单极性输出时,采用+5 V供电;双极性输出时,采用±5 V供电。在此需要用到双极性输出,基准电压源选用 LM336-2.5,负电压基准采用反相放大方式产生。为避免外电路对板内数字电路的干扰,需要对数字部分进行光电隔离。
A/D转换采用TMS320F2812内部集成的12位高速A/D转换器。由于它的A/D转换通道只能输入电压范围在0~3 V以内的模拟信号,因此需要对输入的双极性电压信号进行处理,具体电路如图3所示。图中D1和D3两个二极管将输入到DSP的电压钳制在0~3.3 V以内,这样有效地保护了DSP。同时为了提高A/D的转换精度,采样时还需要进行软件校准。原理是由于各A/D通道间的误差很小,所以将其中的两个A/D转换通道接在已知的固定电压信号上,在对信号采样前,先对这两个已知的固定电压信号进行采样,从而确定A/D的增益和偏移误差。
系统上电后自动初始化各端口和相关变量,同时检测两个轴所停的位置和其他状态。如果各部分状态正常,则等待接收上位机开始指令,接收到开始指令后进入准备状态。因为整个跟踪系统需要同步工作才能产生有效的数据,所以需要等待外同步脉冲信号,在这里以外部中断的形式接收。然后一步步完成控制算法,当收到结束指令时完成所有工作。基本软件流程图如图4所示。
本文给出了一种基于DSP和CAN总线的光电跟踪系统伺服控制器的硬件结构和软件流程。实验证明,这种结构紧凑灵活,控制算法完全由控制器完成,使用CAN总线的方式传输上位机指令,安全可靠,易于扩展,使计算机完全从工作现场解脱出来,在工程应用中有重要意义。
[1]李兴红,张淑梅,续志军,等.基于 TMS320F2812的跟踪伺服系统[J].微计算机信息,2007,23(5):147-149.
[2]阵玉廷,阵长青,肖永鹏.基于DSP的精密电视跟踪伺服控制单元[J].长春理工大学学报,2004,27(2):121-123.
[3]童中华.基于CAN总线的伺服控制系统的研究[D].武汉:武汉科技大学,2008.
[4]郑晓峰,方凯,黄迎华.一种基于DSP和FPGA的多轴运动控制卡的设计[J].自动化与仪器仪表,2006(4):18-20.
[5]徐科军,张瀚,陈智渊.TMS320X281x原理与应用[M].北京:北京航空航天大学出版社,2006:1-3.
[6]Texas Instruments.TMS320F2812 Digital Signal Processers Data Manual[Z].2004.
[7]苏奎峰,吕强,耿庆锋,等.TMS320F2812原理与开发[M].北京:电子工业出版社,2005:3-5.
[8]Altera Corporation.CycloneⅡDevice handook[Z].2007.
[9]王诚,吴继华,范丽珍,等.Altera FPGA/CPLD设计(基础篇)[M].北京:人民邮电出版社,2005.
[10]田家林,陈利学,寇向辉.FPGA在运动控制系统中的设计[J].制造技术与机床,2007(4):67-69.
[11]孟浩然,王建立,李洪文.基于TMS320F2812的直流力矩电机伺服系统[J].电子测量技术,2007,30(3):63-65.
[12]孙剑.基于DSP_CAN总线的数字伺服控制系统设计[D].西安:西北工业大学,2008.