通用运动控制卡开发

2022-10-22

现代运动控制系统要求具有高速度运算、快速插补、高速通信、高精度定位、高分辨率位置检测和数字伺服控制等能力。此外控制系统需要具有良好的运动速度控制能力、速度前瞻功能, 以保证伺服电机在停止、起动、加工时不产生冲击、颤抖http://w ww.i ia ne ws.c om, 并且在驱动过程中能准确运动到指定位置。

本文基于计算机的PCI总线, 设计出一种以DSP+FPGA为核心控制芯片的运动控制系统。该系统提供4轴闭环伺服控制, 8路高速光电隔离编码脉冲反馈www.IIAnews.c o m, 8路普通光电隔离通用信号输入, 8路通用信号输出, 4路主轴电机模拟量电压输出。

1 硬件方案

1.1 运动控制系统结构及功能

以PC机作为信息处理平台鬼知道, 运动控制卡以插卡形式嵌入P C机, 即“P C+运动控制卡”的模式。在运动控制卡和P C机的通信上, 采用P C I总线。P C I接口芯片采用PLX公司的PCI9030。

D S P和F P G A是运动控制卡的核心芯片, 完成系统的大部分运动控制功能金属加工网, 这两个芯片的性能直接影响系统的整体性能。因此, 本系统选用的DSP芯片为TI公司的TMS320LF2407AARCHEAN.net版权所有, FPGA芯片为ALTERA公司的Cyclone系列EP1C3T144。这两个芯片为系统提供运动控制脉冲、控制系统的驱动速度、插补运算以及加工状态的实时监控。插补运算是运动控制系统根据输入的基本数据 (如直线的起点和终点、圆弧的起点终点和圆心、进给速度、加速度等) , 在轮廓起点和终点之间计算出若干中间点的坐标值。在本系统中我们采用二次插补运算算法http://www.zaoche168.com, 由DSP完成粗插补功能, FPGA完成精插补输出运动控制脉冲。采取二次插补算法大大提高了系统运作的实时性和可靠性。

DSP芯片本身具有非常丰富的I/O引脚资源, 通用的I/O接口和伺服的限位、零位等都直接采用DSP本身的I/O引脚实现。此外, 手摇脉冲发生器的两路正交脉冲输入可以使用DSP芯片上集成的QEP电路来处理。

FPGA的插补命令先进先出缓冲区用于保存上位机传下来的插补命令;FPGA的辅助命令缓冲区保存上位机发出的一些控制指令。FPGA的状态缓冲区作为双端口RAM形式搜企网, 从DSP读取控制系统状态保存在缓冲区中, 然后上位机读取系统状态。FPGA的编码脉冲反馈缓冲区接受来自伺服驱动器的四路差分位置反馈信号。FPGA的脉冲发生接口产生四个进给轴的插补脉冲。FPGA的1K R A M作为D S P的外部扩展存储区。此外FPGA这几个缓冲区所需要的片选信号也是由FPGA对地址译码产生的。

通过使用硬件编程语言, 将伺服驱动控制脉冲发生模块、光电码盘反馈信号处理模块、插补命令缓冲区、辅助命令缓冲区、状态缓冲区、扩展存储区都集成在一块FPGA芯片上, 这样大大的减少了外围电路的设计工作量, 并增强了系统的可靠性和稳定性。

1.2 硬件电路分析

系统硬件电路主要有以下几部分组成:

I/O接口电路模块包括信号都经过光电隔离模块进行隔离后与DSP的I/O接口相连。8路通用输出信号与DSP的I/O接口相连后经过达林顿管输出。

编码脉冲反馈电路模块为4路增量式码盘信号, 每路均为A、B两相的差分信号G U I Z H I D A O.c o m版权所有, 经高速光耦差分整形模块处理后变为A、B两相的单端信号, 再经入FPGA的码盘接口模块进行计数, 由DSP读取以使上位机获得伺服电机实际运动位置。

脉冲输出电路模块为四路脉冲输出电路, FPGA的脉冲发生模块分别产生四路脉冲信号和方向信号后ZAOCHE168.com版权所有, 经由线形驱动器分别变成四路的差分脉冲信号输出, 和四路差分方向信号输出。

拟量输出电路模块可以通过DSP上集成的PWM发生电路+滤波电路+功率运放电路来实现。通过滤波电路保留PWM波形中的直流分量, 滤除高频分量从而得到一个直流电压输出量。这个电压范围在3.3V之内MMSonline.com.cn版权所有, 经过运放电路使电压最大能达到10V。直流电压的大小和DSP的PWM波形的占空比有关。

时钟及复位电路模块, 时钟发生电路为DSP芯片提供时钟信号, 这里采用10MHz有源晶振, 将参考时钟输入DSP的XTAL1/CLKIN引脚汉阳科技, 由DSP内部的PLL锁相环功能, 将工作频率提高到2 0 M H z、40MHz等。复位电路主要对DSP进行复位。

电平转换模块, 许多主芯片供电电压都为3.3V, 而手摇脉冲发生器和给DSP提供1 0 MH z工作频率的四脚有源晶振电压都为5V, 因此必须设计电平转换电路。金属加工网版权所有。

P C I总线接口电路模块, P C I 9 0 3 0和FPGA与计算机的PCI总线相连, 可以进行高速的数据传输。其中F PG A的插补命令FIFO、辅助命令FIFO、状态缓冲区作为上下位机交换数据的公共缓冲区。

2 DSP程序设计

DSP芯片制作商提供了丰富的软硬件开发工具, 如仿真器、烧写器、C语言开发环境等, 这些工具为开发DSP软件提供了很大的方便。

根据控制系统需要, 将DSP的控制程序主要完成的功能划分为若干模块:插补命令处理模块、辅助控制命令处理模块、状态反馈模块、插补算法模块、粗插补脉冲发生模块。

插补命令程序的主要任务是读取上位机发送来的对G代码解释所得到的插补命令金属加工网版权所有, 调用插补计算模块进行插补计算, 并把计算结果放到FIFO缓冲区中供脉冲发生模块使用。

辅助控制命令程序读取并处理上位机传下来的各种控制命令www.ZAOCHE168.c o m。

状态反馈程序的主要任务是将当前的状态信息存放到FPGA的状态缓冲区中, 供上位机读取。插补计算模块则负责具体的插补计算任务。脉冲发生模块进行粗插补计算汉阳科技, 将数据发送至FPGA的脉冲发生缓冲区中, 输出四个脉冲。

3 结语

基于DSP+FPGA运动控制卡的运动控制系统具有成本低、性能好的特点w w w.MMSonline.com.cn, 能满足运动控制的新要求。外围电路考虑了工作环境的复杂性, DSP能够完成各类复杂的运动控制算法和控制策略塑料工业网版权所有, 为高效率的运动控制提供可行方案。PCI9030能与计算机实现高速通信。

摘要:讲述了如何使用DSP和FPGA及其外围电路制作通用的运动控制器。主要阐述了框架和实现过程。

关键词:DSP,FPGA,运动控制

参考文献

[1] 刘和平.DSP原理及电机控制应用:基于TMS320LF240X系列[M].北京航天航空大学出版社, 2006.

[2] [美]德州仪器.彭启琮, 张诗雅, 常冉等编译.TI DSP集成开发环境使用手册――TI DSP系列中文手册, 清华大学出版社, 2005.

[3] 林静然.基于TI DSP的通用算法的实现[M].电子工业出版社, 2008.

[4] 清华远见嵌入式培训中心.FPGA应用开发入门与典型实例[M].人民邮电出版社, 2008.

[5] [美]佩勒, [美]蒂博[著], 边计年, [译].实用C语言FPGA编程[M].机械工业出版社, 2007.

上一篇:探析电子集成技术的现状及发展方向下一篇:财会类高等院校校内代记账公司经营模式探讨