DSP应用技术——基于DSP与FPGA的四轴运动控制器设计与研究姓名:王丽娟班级:电信0901学号:A07090066学院:电气与信息学院基于DSP与FPGA的四轴运动控制器设计与研究运动控制技术是制造自动化的关键基础,其水平高低是衡量一个国家工业现代化的重要标志,研究和开发具有开放式结构的运动控制器是当前运动控制领域的一个重要发展方向。随着集成电路技术、微电子技术、计算机技术和网络技术的不断发展,运动控制器已从以单片机和微处理器作为核心的运动控制器和以专用芯片(ASIC)作为核心处理器的运动控制器,发展到了基于PC机平台的以数字信号处理器(DSP)和现场可编程门阵列(FPGA)作为核心处理器的协处理架构的开放式运动控制器。该控制器将PC机和DSP的信息处理能力与FPGA的外围扩展功能很好的结合在一起,具有信息处理能力强、模块化、开放程度高、运动轨迹控制精确等优点。本文选用DSP与FPGA作为运动控制器的核心部件,设计了通用型运动控制器。其中DSP用于运动轨迹规划、速度控制及位置控制等功能;FPGA完成运动控制器的精插补功能,用于精确计算步进电机或伺服驱动元件的控制脉冲,同时接收并处理脉冲型位置反馈信号。本文对该运动控制器的总体结构、硬件设计和软件设计进行了描述。一、系统概述运动控制器的总体性能指标为:作为一个单独的运动控制器使用,控制信号采用数字量方式输出,能控制四轴的伺服电机;最高脉冲输出频率为4MP/s,能处理的编码器反馈信号最高频率为4MP/s;能接收和处理4路编码器反馈信号;可以处理原点信号、正负方向信号、到位信号以及急停信号等数字量输入信号;提供16路数字量输出信号和16路数字量输入信号接口。运动控制器采用DSP与FPGA芯片作为主控芯片,主要包括DSP模块、FPGA模块、FPGA外围电路模块和数字量输入输出接口模块采用基于DSP与FPGA的运动控制器,能够实时完成复杂的轨迹运算,而且利用DSP的高速数字信号处理功能和FPGA功耗低、主频高的优点,能充分显示该运动控制器的优点。采用DSP与FPGA相结合的运动控制器可以方便地对系统的控制策略进行修改,对控制参数进行修正,并可使设备具有良好的可靠性、可维修性,而且还降低了成本。系统还可以采用更多的智能控制策略,结构灵活,有较强的通用性,适合于模块化设计,能够提高算法效率,且易于维护和扩展。总体设计方案原理框图如图1所示。上位机RTL8019ASDSP外围模块外围模块FPGA图1系统总体框图二、DSP模块设计DSP根据从上位机接收的运动模式和运动参数实时计算规划位置和规划速度,生成所需的速度曲线,实时的输出规划位置。TMS320F2812是TI推出的一款专门用于电机控制的32位定点DSP芯片,采用高性能静态CMOS技术,主频高达150MHz(指令周期6.67ns),低功耗,核心电压为1.8V,I/O电压3.3V,支持JTAG边界扫描,128K×16b的片内FLASH。有两个事件管理器(EVA和EVB),它们都是特定的外围设备,为多轴运动控制器而设计的。可通过外部存储器接口XINTF扩展外部存储器。DSP外围模块设计如图2所示。RAMIS61LV25616DSPTMS320F2812XINTFA区6SCIXINTF区2XINTF区0GPIOA/EVAGPIOB/EVBFLASHSST39VF800串口MAX3232监控复位电路SP708JATG电源模块FPGAEP2C8F256C6RTL8019ASPWMI/O图2DSP外围模块复位电路设计采用TI公司的TPS382x系列电压监控电路,此系列电路不需要外围电路即可组成监控电路。SCI模块用于扩展RS-232和RS-485串行通信接口;CAN模块和外部CAN工业现场总线相连;外部接口用于与FPGA连接和扩展数字量输入输出。三、FPGA模块设计FPGA用于轴资源的扩展,当接收到DSP中的规划位置后,在轴资源中对其进行变换处理,输出到伺服控制器中,伺服控制器将规划位置与编码反馈的计数位置进行比较,获得跟随误差,并通过伺服控制算法得到实时的控制量,将控制量传递给D/A转换器,由D/A转换器转换成控制电压输出。FPGA芯片选用Altera公司的Cyclone系列EP1C6TC44C8,这是一款高性能、低功耗的FPGA。EP1C6TC44C8具有2个锁相环,包含5980个逻辑单元,相当于12万门的规模,同时还包含了最高频率200MHz、92160bit的内部RAM。该芯片所拥有的逻辑门数量、频率和引脚I/O等资源都能很好地满足运动控制器的设计要求。由于本系统的控制对象是伺服电机,所以设计中主要利用EP1C6TC44C8的I/O口设计电机控制信号的输入输出、编码器信号的输入与部分数字量输入输出。另外,该芯片在整个硬件系统设计完毕后还可以通过JTAG接口对硬件进行重配置,可以增加系统设计的灵活性。3.1与DSP接口设计DSP芯片的事件管理器(EVA,EVB)用于和FPGA连接,当输出脉冲量控制驱动器时,DSP使用两个事件管理器进行PWM波的控制,当输出模拟量时,DSP使用GPIOA/GPIOB向FPGA输出规划位置。3.2模拟信号输出电路设计采用D/A转换器AD669进行模拟信号的输出,AD669具有两级锁存,在设计中,将其四路D/A芯片的第一级锁存处于透明状态,第二级锁存控制信号LDAC连在一起,当四路D/A芯片的数据预装好后,打开第二级锁存,四路D/A芯片即可同时转换,实现了四轴驱动的同时控制。3.3脉冲信号输出电路设计脉冲输出电路由FPGA内部精插补器完成,精插补器根据DSP发送来的粗插补数据产生均匀的脉冲输出,脉冲的输出有两种格式:“脉冲+方向”和“正负脉冲”。由于差分信号对外部电磁等信号有很好的抗干扰性,特别是对共模干扰有很好的抑制作用。所以脉冲经过光耦隔离后,再将信号接入差分线驱动器AM26LS31后输出,差分线驱动器AM26LS31的作用是将输入的单极性方波信号转化为一对极性相反的电机驱动信号。3.4编码反馈电路设计电机编码信号直接传入电机驱动器中,电机驱动器将三对差分编码信号A+,A-,B+,B-,N+,N-作为反馈传给运动控制器。在电机旋转时,所发出的编码信号会出现非常多的毛刺,并且经过驱动器大电源的干扰,如果直接接到FPGA中,可能会引起误判断,所以先将三对编码信号经过差分芯片AM26LS32转化成单路信号A,B,N后再接入FPGA中。芯片AM26LS32功能是将输入的一对极性相反的编码器差分信号转化成单极性的脉冲信号,与AM32LS31正好相反。3.5开关量接口和通用I/O电路设计输出信号包括复位信号和使能信号,由FPGA产生,经光耦隔离后直接输出;输入信号包括驱动报警信号,正负限位信号和原点信号,这些信号经光耦隔离、电平转换后再由FPGA接收,当FPGA检测到这些信号后,确定具体的触发信号,做出相应的反应。另外运动控制器还提供了八路数字量输入通道和八路数字量输出通道,输入、输出通道都经光电隔离,以提高抗干扰性。四、网口模块设计DSP通过以太网控制器RTL8019AS与上位机连接,RTL8019AS在一块芯片上集成了RTL8019AS内核和一个16KB的SDRAM存储器,兼容RTL8019AS控制软件和NE20008b或16b传输,其接口符合Ethernet2和IEEE802.3标准。RTL8019AS与主机的接口模式有三种模式:跳线模式,PnP模式,RT模式。此运动控制器使用便于DSP应用的跳线模式。DSP与RTL8019AS的连接如图3所示。TMS320F2812SP708RTL8019AS20F001NXD[15...0]SA[9...0]INT08019RSTXZCS0AND1XINT2XREADYXRDXWEINT0AENRSTDRVIOCHRDYIORBIOWBTPOUT+TPOUT-TPIN+TPIN-8019CSTPOUT+TPOUT-TPIN+TPIN-图3以太网控制器与DSP接口(1)数据总线和地址总线。RTL8019AS的数据总线和DSP的16位数据总线直接相连即可。RTL8019AS片内NE2000寄存器组都是通过其映射I/O端口进行访问,I/O端口共32个,地址偏移量为00H~1FH,把I/O基地址设为300H,则对应的I/O端口寻址范围为:300H~31FH。只需要10根地址线就可以对I/O端口进行寻址,把SA10~SA19接低电平,SA0~SA9按照表1接法即可。由表1可以看出,只需要5根地址线就可以寻址32位I/O端口,所以可以直接把SA9,SA8接高电平,SA5~SA7接低电平,SA0~SA4与DSP的低5位地址线XA0~XA4相接。表1SA0~SA9连接方法SA9SA1SA2SA3SA4SA5SA6SA7SA8…300H31FH11111100000000010×10×10×10×1SA00×1(2)控制总线。RTL8019AS片选信号AEN使用DSP的扩展片选信号,IORB、IOWB直接与DSP的读写控制信号相连,中断输出引脚INT0与DSP的XINT2相连,高电平有效的复位输入引脚与监控电路芯片SP708的RST相连,当DSP复位时,RTL8019AS也复位。(3)RTL8019AS与网络介质接口。RTL8019AS可以使用同轴电缆或双绞线作为传输媒介,将其AUI接口接地或悬空,使用BNC接口。BNC接口方式支持8线双绞线或同轴电缆。20F001N是双绞线驱动器,为耦合隔离变压器模块,通过它可以去除因电路数字特性导致的高次谐波。RTL8019AS与20F001N的连接如图4所示。其差分输入信号TPIN+、TPIN-与差分输出信号TPOUT+、TPOUT-分别与20F001的对应引脚相连。五、结语在PC平台下,充分利用了DSP的数据处理能力和FPGA的硬件特性,使系统既能进行复杂的轨迹规划、高速插补,又能保证运动控制器的稳定性和精确性,这种运动控制器能应用于数控系统,机器人制造等控制领域。