找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于DSP/FPGA及以太网控制器的运动控制器设计与研究

[复制链接]
admin 发表于 2013-3-24 12:57:37 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
运动控制技术是制造自动化的关键基础,其水平高低是衡量一个国家工业现代化的重要标志,研究和开发具有开放式结构的运动控制器
   1 系统概述
   该四轴运动控制器系统以TI公司C2000系列DSP芯片TMS320F2812和alterA公司CycloneⅡ系列FPGA芯片EP2C8F256C6为核心,DSP通过网口接收上位机的控制参数,完成系统位置、速度控制及运动轨迹规划;FPGA完成运动控制器的精确插补功能和外围电路的扩展,系统总体框图如图1所示。
    20121107050823658794468.jpg
   
   运动控制器的主要功能包括:4路模拟电压输出,电压范围为-10~+10V,分辨率为16b;4路脉冲量信号输出;4路脉冲方向信号输出;4路驱动复位信号输出;4路驱动使能信号输出;4路差分编码信号输入;4路驱动报警信号输入;8路正负限位信号输入;4路原点信号输入;16路通用数字量。I/O。
   2 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所示。
   
   
    20121107050823690044469.jpg
   
   为增强抗干扰性,DSP通过以太网控制器RTL8019AS与上位机连接,RTL8019AS内部含有一个16KB的SDRAM,DSP通过外部存储器接口对其进行读写来接收上位机的命令或向上位机传送反馈信号。在数据处理过程中要占用大量的存储空间,DSP内部仅含有18K×16b的SARAM和128K×16b的FLASH,存储空间显得过小,所以通过外部接口扩展了256K×16b RAM和512K×16b FLASH,RAM和FLASH芯片分别选择IS61LV25616 AL、SST39VF800,它们都具有接口简单、读写速度快等优点。SCI模块用于扩展RS 232串行通信接口,串口芯片使用MAX3232。
   
   运动控制器所需电压为5V,3.3V,1.8V,1.2V。输入电压5V,分别采用稳压芯片LM1085IS3.3,LM1117-1.8将其转换成3.3V和1.8V,由于TMS320F2812的I/O电压3.3V要先于内核电源上电,所以1.8V要由3.3V降压得到,以确保上电次序。1.2V是FPGA内核所需电压,由稳压芯片LM317S稳压得到,LM317S的输出电压范围为1.2~25V,复位电路采用SP708低功耗微处理器监控器件,此器件有众多的组件,有效的增强了系统的可靠性及工作效率。
   
   3 FPGA模块设计
   
   FPGA用于轴资源的扩展,当接收到DSP中的规划位置后,在轴资源中对其进行变换处理,输出到伺服控制器中,伺服控制器将规划位置与编码反馈的计数位置进行比较,获得跟随误差,并通过伺服控制算法得到实时的控制量,将控制量传递给D/A转换器,由D/A转换器转换成控制电压输出。
   
   EP2C8F256C6是alterA公司CycloneⅡ系列芯片,其特点为高性能低功耗,内核供电电压为1.2V,8256个逻辑单元(LEs),182个用户I/O口(项目中使用了157个I/O口),165888b的内部RAM,嵌入了18b的乘法器,每个乘法器又可拆成2个9b的乘法器,芯片内部含有2个锁相环(PLL),8个全局时钟(Global Clocks)。该芯片所具有的逻辑单元数、频率和用户I/O口等都能很好的满足设计需求。FPGA的外围模块扩展如图3所示。
   
   
    20121107050823768164470.jpg
   
   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检测到这些信号后,确定具体的触发信号,做出相应的反应。另外运动控制器还提供了八路数字量输入通道和八路数字量输出通道,输入、输出通道都经光电隔离,以提高抗干扰性。
   
   4 网口模块设计
   
   DSP通过以太网控制器RTL8019AS与上位机连接,RTL8019AS在一块芯片上集成了RTL8019AS内核和一个16KB的SDRAM存储器,兼容RTL8019AS控制软件和NE20008b或16b传输,其接口符合Ethernet2和IEEE802.3标准。RTL8019AS与主机的接口模式有三种模式:跳线模式,PnP模式,RT模式。此运动控制器使用便于DSP应用的跳线模式。DSP与RTL8019AS的连接如图4所示。
   
   
    20121107050823815044471.jpg
   (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接法即可。
    20121107050823861914472.jpg
   由表1可以看出,只需要5根地址线就可以寻址32位I/O端口,所以可以直接把SA9,SA8接高电平,SA5~SA7接低电平,SA0~SA4与DSP的低5位地址线XA0~XA4相接。
   (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的对应引脚相连。
   5 结语
   在PC平台下,充分利用了DSP的数据处理能力和FPGA的硬件特性,使系统既能进行复杂的轨迹规划、高速插补,又能保证运动控制器的稳定性和精确性,这种运动控制器能应用于数控系统,机器人制造等控制领域。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-26 00:34 , Processed in 0.058671 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表