- 广州子锐机器人技术有限公司
- 服务热线:020-82000787(8:30-17:30)
- 联系手机:15889988091(非工作时间)
- 座机:020-82000787
- 传真:020-32887675
- 邮箱:gz@zr-robot.com
- 广州市番禺区东环街金山谷创意八街1号109
- 当前位置:首页 > 机器人资讯 > 工业机器人控制器与伺服驱动器LVDS通讯设计
工业机器人控制器与伺服驱动器LVDS通讯设计
工业机器人控制器与伺服驱动器LVDS通讯设计
0引言
随着工业机器人在企业中的不断迅速发展,运动控制器控制多个伺服驱动系统的能力在不断地提高,电机驱动的精度以及远距离传输通信影响了整个机器人运动操作。
传统的工业机器人控制系统采用的是专用的计算机加多单片机、多控制封闭回路的体系结构,但此种技术存在制造成本高,开发周期长,升级困难,无法添加系统新功能等一系列缺点。随着技术的发展,采取了通用PC机和运动控制卡实现控制功能的方案。PC机具有编程简单、友好的人机交互界面、在线操作和使用方便等特点。但是,通用计算机缺点在于系统体积大,功耗大,难以应用于工业现场,子锐机器人,而且难以实现实时性要求较高的远距离传输通信。
针对现有控制器的不足,本文采用了嵌入式集成处理器TI公司的DM3730作为工业机器人控制系统的核心单元。数字媒体微处理器DM3730集成了1GHz的ARMCortexTMA8内核,800MHz的TMS320C64x+TMDSP内核,超低功耗的供电及丰富的多通道传输接口提供给XilinxFPGA多I/O输入,利用内部逻辑资源,通过LVDSI/O输出达到异步差分通信。
1系统总体设计
在工业机器人控制通讯的现场总线中,实现远端I/O通讯的协议有Ethernet、CAN、Modbus、Profibus、DeviceNet等,其中各协议的传输速率、传输距离都相对比较慢、短,且传输数据格式和转换延时比较复杂口,现针对工业通讯的不足和设计接口的特点,子锐机器人维修,采用了LVDS的伺服控制系统进行设计。总体设计结构如1所示,系统包括控制器与FPGA通讯模块,并将编码器、光栅尺反馈信号至控制器处理,实现在10米外的驱动器上LVDS通讯过程中传输100Mbps的比特率信号。
2硬件电路设计
硬件部分包括主控电路、电源管理电路、电源转换电路、时钟电路、LVDS差分通讯电路等。如2所示,工业机器人控制器主板系统结构。
2.1主控电路
为了减少设计成本和提高稳定性以及利于开发升级,采用TI公司具有1GHz的ARMCortexTMA8和800MHz的TMS320C64x+ruDSP架构的低功耗芯片DM3730,提供了32KB的指令及数据寄存器、64KBSRAM和256KB的L2ROM,可有效地缓存数据。内部I/O具有4个USB、2个UART、4个SPI、4个BSP以及4个12C的多功能复用管脚输出,处理器配合XilinxFPGASpartan.6系列的XC6SLX4中的3840个逻辑单元、600个配置逻辑块(CLB)、4个数字时钟管理器(DCM)组成倍频计数时钟电路,在DDRSDRAM存储器进行读写和功能配置,电源管理器TPS65930将实时控制时钟和电源驱动。
2.2时钟电路
在DM3730内部存储结构运行状态下,为达到芯片系统工作的高速频率,要求为内部电路提供稳定的定时器,使用了26MHz的有源晶振,其内部经过一系列的锁相环(PLL)和信号驱动器产生多个处理器的内部时钟。为了产生内核CPU的时钟,通过由PRCM寄存器控制的数字锁相环来运行26MHz信号。DM3730的外部晶振时钟32.768KHz的晶体必须直接与电源管理器TPS65930相连,为的是对CPU启动和实时时钟模块提供参考时钟。
2.3电源转换电路
本设计中采用具有PWM控制的3A降压转换器作为DC转换芯片APl510,输入电压范围在3.6V-23V,输出电压范围在0.8V-Vcc,PWM调节在0%-100%之间,在输入为12V,工作温度在25℃时,反馈电压VFB为0.8V,带负载时输出电流为0.2A,电源效率达到91%。
如4所示,芯片APl510输入电压为12V,范围在12V+500mV,在OCSET端串接一个5.6KΩ电阻,限流为90μA,当使能为高电平时,正常工作,内部的MOSFET栅极输出一个开关电压,经外部稳压管蓄流,电感电容储能改变原先的方波为正弦波,并经电解电容滤波减少电磁干扰,通过改变外部电阻的分压比实现输出的大小,并将分压值反馈给VFB,通过与内部基准电压比较,再送给PWM控制电路,匹配输出,由这一原理得出输出电压的公式:
2.4LVDS差分通信电路
低压差分信号(LVDS)是适应高速数据传输和低功耗的一种用通用点对点物理接口技术。LVDS物理接口使用1.2V偏置电压作为基准,摆幅提供大约350mV,发送和接收信号最大延时时间为2.7ns。LVDS比RS-485能提供更高的传输速率(一般为155Mbps)、更低的功耗,特别适合工业控制、电信基础设施和计算机的外围设备接口应用。
本论文主要设计并实现FPGA产生百兆比特率在LVDS标准串行差分下远距离传输,而尽量减少信号传输衰减,利用专用收发均衡器CLC001和CLC012将之在双绞屏蔽线上损耗给予补偿,由于输出数据的压摆率和幅度可解决在PCB上减少很大一部分的电磁干扰口。如5所示,从FPGA内部逻辑电路向I/O端口输出要达到十几米的差分信号必须加均衡器芯片CLC001,通过调节Rref的电阻值,输出可高达2V左右,调控电缆内的各信号电平。在接收器的DI+和DI-两端必须接一个100Ω的终端匹配电阻,这样有效地抑制噪音干扰。
3LVDS高速信号在FPGA中的实现
3.1传输LVDS信号的原理
本设计采用FPGASpartan一6系列XC6SLX4内的一个数字时钟管理器DCM、两个独立的吉比特收发器电路、一个先进先出FIFO和串行数据输入DIN完成并串数据发送再接收恢复的LVDS传输通讯。每个收发器具有高达3.2Gb/s的数据率,分隔的PLL复用参考频率30MHz,并且具有大量用户自定义的特征参数。如6所示,整个设计的流程发送接收,在DCM给出的信号输入SQ创建了0°和°相位与DIN给出信号输入SC创建了0°和°相位的通用互连H1,通过可配置逻辑块(CLB)形成转接矩阵优化进位通道,子锐机器人,在时钟周期内发送串行数据至FIFO缓存处理,零延时输出信号。接收时首先8次密集采样起始位,采样到的起始位为周期的某一时刻Tn,然后在Tn+5=Tm采样数据DO位,依次在下一个周期采样点Tm+8采样下一位数据,共有10位数据,包括起始位和停止位。经时延处理在每一个CP下降沿来临时接收得到LVDS串行数据。
3.2发送模块设计
发送模块根据流程的设计要求,利用VHDL语言描述了CP为PLL的60M输入信号2倍频时钟输入,SQ为DCM创建的90。时间间隔信号,SC为DIN创建的45°时间间隔信号,时钟管理管道中的PLL提供时钟相位为防止DCM的time0和time90输出的抖动。
3.3接收模块设计
根据流程的要求,下面VHDL接收模块对有效数据进行判断,采用多次密集型电平区间采样方法,在接收过程中当初始位在CP时钟8个等分点T1时刻采样得到8位反复采样起始位信号b[2..0],接着采样数据位在T5时刻有每隔8个采样点采样的信号b[7..3],经数据恢复单元DRU读入地址,最后接收有效的8位串行数据LVDS信号d[7..0]。
3.4仿真结果分析
控制器与驱动器的LVDS通讯决定整个系统信号处理和反馈控制的高精度传输。通过VHDL语言生成得到,如7所示的LVDS输入输出的QuartusII仿真,FPGA实现实时时钟120MHz,其中CP为周期性方波信号,SQ、SC在周期内不同相位的变化,b[2..0]采样起始位以密集快速采样方式检测到起始状态是否为低电平,然后以Tn+5的间隔在高电平稳态时采集b[7..3]信号,最后输出数据d[7..0]。