基于可编程逻辑器件的硬件插补方法

文档序号:6290410阅读:247来源:国知局

专利名称::基于可编程逻辑器件的硬件插补方法
技术领域
:本发明涉及一种基于可编程逻辑器件的硬件插补方法。
背景技术
:目前许多数控系统把经过调制后的脉冲、方向信号作为控制步进电机及伺服电机驱动器的控制信号来控制电机的转速及方向,实现数控机床的运动。如歩进电机驱动器一般具有三个控制输入端步进脉冲信号、方向电平信号、使能电平信号。当控制电路对这三个输入端进行相应控制时,即可实现对步进电机的速度、方向等的控制。但过去这些脉冲产生电路都是采用小型分立元件搭接而成,其存在着脉冲波形模式比较单一、脉冲的上升沿和下降沿不够陡峭、当脉冲宽度要求十分窄时电路难实现等缺陷。
发明内容本发明所要解决的技术问题是提供一种基于可编程逻辑器件的硬件插补方法,该方法在不改变系统硬件的情况下,方便重构电路逻辑功能,实现数控系统的脉冲控制。为解决上述技术问题,本发明基于可编程逻辑器件的硬件插补方法包括采用并行传送方式发送控制信息给可编程逻辑器件的微处理器,由可编程逻辑器件将控制信号转化为控制电机驱动器的串行控制信号,该方法包括如下步骤步骤一、可编程逻辑器件接收微处理器发出的控制信号、数据信号及地址信号,同时生成一插补周期;步骤二、对上述信号采用两级缓冲处理,并在一插补周期内,对经两级缓冲的信号作等脉宽插补计算,其算法为首先设置一个基值,在完成被积函数值与累加值的加法运算后,把累加结果与基值进行比较,来判定脉冲输出,3函数在[t。,"的定积分,即为函数在该区间的面积,S=fe少dZ。如果从t=0开始,取自变量t的一系列等间隔值为At,当At足够小时,可得足够小时,则累加求和运算代替积分运算所引入的误差可以不超过所允许的误差。步骤三、可编程逻辑器件返回状态标志到微处理器中,用以判断信号是否已进入各自的缓冲区,并将经插补计算后的信号转化成频率均匀,等占空比的各轴进给脉冲,同时给出电机的方向信号。由于本发明的基于可编程逻辑器件的硬件插补方法采用了上述技术方案,即通过可编程逻辑器件发生按特定算法得出的控制脉冲,实现对电机驱动器的控制;该方法可以在不改变电路系统设计或线路板的情况下,为重构逻辑功能而对可编程逻辑器件进行编程或反复编程,使硬件变得像软件一样灵活而易于修改、升级。采用可编程逻辑器件实现硬件插补器具有结构简单、无分立元件、逻辑修改方便、抗干扰性能强等特点。下面结合附图和实施方式对本发明作进一步的详细说明图1为本基于可编程逻辑器件的硬件插补方法的脉冲算法原理图,图2为本基于可编程逻辑器件的硬件插补方法脉冲算法的直线插补轨迹图,图3为本基于可编程逻辑器件的硬件插补方法的逻辑原理框图。具体实施例方式本发明基于可编程逻辑器件的硬件插补方法包括采用并行传送方式发送控制信息给可编程逻辑器件的微处理器,由可编程逻辑器件将控制信号转化为控制电机驱动器的串行控制信号,该方法包括如下步骤t=l,即一个脉冲当量5,则步骤一、可编程逻辑器件接收微处理器发出的控制信号、数据信号及地址信号,同时生成一插补周期;步骤二、对上述信号采用两级缓冲处理,并在一插补周期内,对经两级缓冲的信号作等脉宽插补计算,其算法为-首先设置一个基值,在完成被积函数值与累加值的加法运算后,把累加结果与基值进行比较,来判定脉冲输出,如图1所示,函数在[Ut,.]的定积分,即为函数在该区间的面积,5=&>^Z。如果从t=0开始,取自变量t的一系列等间隔值为At,当At足够小时,可得S二!E》Af,此处y是t时刻对应的值,t是时间值,如果,=0取At^,即一个脉冲当量5,.则^二X!",函数的积分运算变成了变量的累加运算,如果S足够小时,则累加求和运算代替积分运算所引入的误差可以不超过所允许的误差。步骤三、可编程逻辑器件返回状态标志到微处理器中,用以判断信号是否已进入各自的缓冲区,并将经插补计算后的信号转化成频率均匀,等占空比的各轴进给脉冲,同时给出电机的方向信号。所谓插补是指数据密化的过程。在对数控系统输入有限坐标点(例如起点、终点)的情况下,计算机根据线段的特征(直线、圆弧、椭圆等),运用一定的算法,自动地在有限坐标点之间生成一系列的坐标数据,即数据密化,从而自动地对各坐标轴进行脉冲分配,完成整个线段的轨迹运行,以满足加工精度的要求。作为一种具体的插补方式,数字积分法直线插补轨迹如图2所示,设要加工直线0A,起点0(0,0),终点A(5,2)。若被积函数寄存器JV,余数寄存器JR和终点计数器JE的容量均为三位二进制寄存器,则累加次数N=2:i=8,插补前,JE、JRX、JRY均清零。其运算步骤如下表所示5<table>tableseeoriginaldocumentpage6</column></row><table>本发明接收微处理器通过粗插补计算后得到一个插补周期内各轴进给量,将其转化成频率均匀、等占空比的进给脉冲,输出给各轴的电机驱动器。为实现上述目的,基于超高速硬件描述语言(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage),利用复杂可编程逻辑器件(CPLD)或现场门阵列(FPGA)实现硬件插补器电路,将插补功能设计成一个标准模块,其移植性强,提高了处理速度,而且减小了硬件电路的面积,保证了系统的可靠性,同时可以对其升级,从而实现完全的开放和可重构。如图3所示,以二轴为例,微处理器发送来的X轴、Y轴数据经过多路选择器送入各自的第一缓冲器X1、Yl,同时置标志位FLAGX^、FLAGY二'1'(l表示缓冲器有数据,'0'表示空),判断X轴、Y轴缓冲器标志位FLAG—B是否为'0',为'0'则将第一缓冲器XI、Yl中的数据送到第二缓冲器,同时置标志位FLAG—B='1,,FLAGX='0,、FLAGY='0,。FLAG—B='1'用于同步判断,表示各轴数据已经准备好,下一步在插补周期EN的上升沿将X、Y轴数据送入等脉宽DDA模块中,同时FLAG一B二'0,。等脉宽DDA模块经过插补计算,将数据转化成频率均匀、等占空比的进给脉冲PULSEX、PULSEY,同时将数据位的最高位作为电机的方向信号DIRX、DIRY,输出给X轴和Y轴的电机驱动器。可编程逻辑器件中还有一个三态控制逻辑模块,一个插补周期EN生成模块。三态控制逻辑模块作用是传递数据和返回状态信号给处理器,状态信号用于判断数据是否已经发送到各自的缓冲区中。插补周期EN生成模块作用是生成固定的插补周期信号。在图3中有输入信号,输出信号,双向信号和内部信号,其分别为输入信号时钟信号CLK全局复位信号RESET片选信号CS地址选择信号0:AO地址选择信号l:Al读信号RD写信号冊输出信号X轴的脉冲信号PULSEXX轴的方向信号DIRXY轴的脉冲信号PULSEYY轴的方向信号DIRY双向信号数据输入输出信号DATA内部信号时钟分频信号CLK_SIG—OUT固定时间生成信号EN数据输入信号DATAIN经一级缓存后X轴的状态标志位FLAGX经锁存后送入X轴的数据D一SIGX经二级缓存后的状态标志位FLAG—B经一级缓存后送入X轴的数据D—BUFX经二级缓存后送入X轴的数据D—OUTX经一级缓存后Y轴的状态标志位FLAGY经锁存后送入Y轴的数据D一SIGY经一级缓存后送入Y轴的数据D—BUFY经二级缓存后送入Y轴的数据D_OUTY在图3所示的逻辑原理框图中,以二轴为例,设定DATAIN为8位二进制数,其中最高位DATAIN[7]为方向位,DATAIN[6..O]为数据位。CLK信号由外部晶振产生,也可以由微处理器送出。EN用于设定固定时间,它的脉冲宽度由计数器设定,通过改变计数器数据位数,可以灵活的改变EN的周期及占空比。CS、A0及A1由微处理器给定,当"Al&AO"<="00"时,输入数据"DATAIN"送入X轴缓冲器,"A1&A0"<="01"时,输入数据"DATAIN"送入Y轴缓冲器。在开始时,送入X轴缓冲器的数据是"10010000",送入Y轴缓冲器的数据是"00010100",在规定的EN周期时间内,X轴脉冲输出"PULSEX"输出的脉冲个数是"0010000",即十进制的16,Y轴脉冲输出"PULSEY"输出的脉冲个数是"0010100"即十进制的20,且脉冲输出均匀。因为设定脉冲方向位为数据位的最高位,所以"DIRX"〈='1,,"DIRY"〈='0,,"DIRX"显示为高电平,"DIRY"显示为低电平。通过改变输入数据"DATAIN"的值,可以改变X轴、Y轴的输出脉冲个数及方向。通过设定地址位"A1&A0"<="10","A1&A0"〈="11"可以实现3轴、4轴等同时联动,如控制轴数大于4,只要相应的扩展地址位即可。本方法利用可编程逻辑器件实现硬件插补器电路,将插补功能设计成一个标准模块,结构简单、无分立元件、逻辑修改方便、抗干扰性能强。其采用硬件等时间插补,插补的脉冲数目在一个插补周期里发完。同传统的硬件插补器相比,采用等时间插补,对数据的连续性和同步要求比较高,而传统的硬件插补器接收上位机软件发送的速度、起点和终点坐标后进行插补运算,插补结束后采用中断或轮询的方式通知上位机进行下一次插补操作。本方法的硬件实现双缓冲同步电路。采用双缓冲结构,数据传输连续、可靠,速度快,无需中断控制,减轻了软件的工作量。同步功能用于判断各轴的数据是否已经接收完,接收完毕后一起输出到电机驱动器,这样可以准确的控制多轴电机同步运行。采用等脉宽DDA算法。等脉宽DDA算法通过先将数据移位,进行X2操作后,再经过传统DDA插补计算后输出频率均匀、等占空比的脉冲频率。实现简单,消除了脉冲的截断误差。权利要求1、一种基于可编程逻辑器件的硬件插补方法,包括采用并行传送方式发送控制信息给可编程逻辑器件的微处理器,由可编程逻辑器件将控制信号转化为控制电机驱动器的串行控制信号,其特征在于该方法包括如下步骤,步骤一、可编程逻辑器件接收微处理器发出的控制信号、数据信号及地址信号,同时生成一插补周期;步骤二、对上述信号采用两级缓冲处理,并在一插补周期内,对经两级缓冲的信号作等脉宽插补计算,其算法为首先设置一个基值,在完成被积函数值与累加值的加法运算后,把累加结果与基值进行比较,来判定脉冲输出,函数在[t0,tr]的定积分,即为函数在该区间的面积,如果从t=0开始,取自变量t的一系列等间隔值为△t,当△t足够小时,可得此处y是t时刻对应的值,如果取△t=1,即一个脉冲当量δ,则函数的积分运算变成了变量的累加运算,如果δ足够小时,则累加求和运算代替积分运算所引入的误差可以不超过所允许的误差;步骤三、可编程逻辑器件返回状态标志到微处理器中,用以判断信号是否已进入各自的缓冲区,并将经插补计算后的信号转化成频率均匀,等占空比的各轴进给脉冲,同时给出电机的方向信号。全文摘要本发明公开了一种基于可编程逻辑器件的硬件插补方法,其包括发送控制信息给可编程逻辑器件的微处理器,可编程逻辑器件将控制信号转化为控制电机驱动器的串行控制信号,可编程逻辑器件接收微处理器发出的控制、数据及地址信号,并返回状态标志,对上述信号采用两级缓存处理,并同步发出控制脉冲,在规定的时间内,保证电机的动作统一,上述控制脉冲在可编程逻辑器件中按特定算法产生,实现对电机驱动器的控制;该方法可以在不改变系统硬件的情况下,为重构逻辑功能而对可编程逻辑器件进行编程或反复编程,使硬件变得像软件一样灵活而易于修改、升级。采用本方法使电路结构简单、无分立元件、逻辑修改方便、抗干扰性能强等特点。文档编号G05B19/414GK101458511SQ20071017213公开日2009年6月17日申请日期2007年12月12日优先权日2007年12月12日发明者林万强,建王,陶益民申请人:上海开通数控有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1