CN102073474A - Cnc插补的一种并行流水计算方法 - Google Patents
Cnc插补的一种并行流水计算方法 Download PDFInfo
- Publication number
- CN102073474A CN102073474A CN 201010593543 CN201010593543A CN102073474A CN 102073474 A CN102073474 A CN 102073474A CN 201010593543 CN201010593543 CN 201010593543 CN 201010593543 A CN201010593543 A CN 201010593543A CN 102073474 A CN102073474 A CN 102073474A
- Authority
- CN
- China
- Prior art keywords
- subtracter
- totalizer
- result
- data
- send
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
CNC插补的一种并行流水计算方法,其特征在于包括基于单元CU3计算过程的CU3B并行/流水计算过程,单元CU3计算过程是:将伯恩斯坦多项式7:中的数据组〈β0,β1,β2,β3〉作为输入数据组Ⅰ通过单元CU3计算过程计算出两组输出数据组Ⅱ〈β0 l、β1 l、β2 l、β3 l〉和〈β0 r、β1 r、β2 r、β3 r〉以及中点值β(0.5),然后,基于上层一个单元CU3计算过程获得的两组数据组〈β0 l、β1 l、β2 l、β3 l〉和〈β0 r、β1 r、β2 r、β3 r〉,将该两组数据组〈β0 l、β1 l、β2 l、β3 l〉和〈β0 r、β1 r、β2 r、β3 r〉分别作为输入数据组Ⅰ通过相应的下层单元CU3计算过程进行计算,分别获得相应的两组输出数据组Ⅱ及一个中点值,这样经过n层计算后,就获得了2n-1个变量差为1/2n的中点值。本发明与已有技术相比,具有可高速计算并能产生高精度结果的、适合于以及芯片级并行流水可重构计算的、能满足不断发展的工业需求的优点。
Description
技术领域
本发明涉及一种CNC运行数据的计算方法。
背景技术
数控加工是当代机械制造的基础工艺之一。数控加工需要借助于数控机床。数控系统是数控机床的核心部件之一。目前,CNC数控是现代数控系统的不二形式。高速高精的数控系统是提高加工效率和质量的根本保障。以现场可编程门阵列FPGA 为代表的新型可重构技术不仅改变传统CNC插补计算的过程而且改变了其计算模式。但是,不管是那种方式,都是依照次序一个点接着一个点地计算的,这样的计算其计算速度只能依赖计算机自身的运算速度,显然,技术条件及成本的限制,计算机的计算速度是有限的,从而制约着数控加工的高速高精度的提高。
发明内容
本发明的目标旨在给出一种可高速计算并能产生高精度结果的、适合于以及芯片级并行流水可重构计算的CNC插补的一种并行流水计算方法,以满足不断发展的工业需求。
本发明的CNC插补的一种并行流水计算方法是这样实现的,包括基于单元CU3计算过程的CU3B并行/流水计算过程,
单元CU3计算过程是:
将伯恩斯坦多项式7: 中的数据组〈β 0, β 1, β 2, β 3〉作为输入数据组Ⅰ通过以下方式进行运算,将β 0分别送入输出口β 0 l以及CU3加法器10,将β 1分别送入CU3加法器10、11,将β 2分别送入CU3加法器11、12,将β 3分别送入输出口β 0 r以及CU3加法器12;CU3加法器10接收到β 0、β 1后实施加法运算后将结果β 0+β 1分别送至CU3移位器16、加法器13;同样地,CU3加法器11将其计算结果
β 1+β 2分别送至CU3加法器13、14,CU3加法器12将其计算结果β 2+β 3分别送至CU3加法器14、移位器17; CU3移位器16、17分别将β 0+β 1、β 2+β 3右移1位后的结果
(β 0+β 1)/2、(β 2+β 3)/2输出到对应输出口β 1 l、β 1 r;CU3加法器13实施了加法得到β 0+2β 1+β 2后分别送CU3移位器18、CU3加法器15,CU3加法器14实施了加法得到
β 1+2β 2+β 3后分别送CU3移位器19、CU3加法器15;CU3移位器18、19分别对
β 0+2β 1+β 2、β 1+2β 2+β 3右移2位后输出(β 0+2β 1+β 2)/4、(β 1+2β 2+β 3)/4至输出口β 2 l、β 2 r;最后,CU3加法器15接收数据β 0+2β 1+β 2、β 1+2β 2+β 3实施加法得到
β 0+3β 1+3β 2+β 3后送至CU3移位器20,经CU3移位器20右移3位后得到
(β 0+3β 1+3β 2+β 3)/8分别输出至β 3 l、β 3 r以及中点值β(0.5),这样就获得了两组输出数据组Ⅱ〈β 0 l、β 1 l、β 2 l、β 3 l〉和〈β 0 r、β 1 r、β 2 r、β 3 r〉以及中点值β(0.5),其中
β 3 l、β 3 r、β(0.5)是相等的;
基于单元CU3计算过程的CU3B并行/流水计算过程是:
基于上层一个单元CU3计算过程获得的两组数据组〈β 0 l、β 1 l、β 2 l、β 3 l〉和〈β 0 r、
β 1 r、β 2 r、β 3 r〉,将该两组数据组〈β 0 l、β 1 l、β 2 l、β 3 l〉和〈β 0 r、β 1 r、β 2 r、β 3 r〉分别作为输入数据组Ⅰ通过相应的下层单元CU3计算过程进行计算,分别获得相应的两组输出数据组Ⅱ及一个中点值,这样经过n层计算后,就获得了2n-1个变量差为1/2n的中点值:
…………
然后,将上述中点值连同β(0)、β(1)依变量值t由小到大的顺序储存,作为控制数控机床运行的运行控制数据。
这里,基于单元CU2计算过程的CU2B并行/流水计算过程所获得的各个中点值及β(0)、β(1)的速度采用基于单元CU2计算过程的CU2B并行/流水计算过程计算的,
单元CU2计算过程是:
B 0=3(β 1-β 0),B 1=3(β 2-β 1),B 2=3(β 3-β 2)
T32计算方法通过以下方式进行运算:
采用三个T32减法器1、2、3分别实施β 1-β 0、β 2-β 1、β 3-β 2,采用三个T32三倍乘法器4、5、6分别对上述输入的计算结果乘3后输出,获得数据组Ⅰ′:〈B0, B 1, B 2〉,
将B0分别送入输出口B0 l以及CU2加法器6,将B1分别送入CU2加法器6、7,将B2分别送入CU2加法器7、输出口B0 r,CU2加法器6接收到B0、B1后实施加法运算后将结果B0+B1分别送至CU2移位器9、CU2加法器8;同样地,CU2加法器7将其计算结果B2+B1分别送至CU2加法器8、CU2移位器11,CU2移位器9、11分别将B0+B1、B2+B1右移1位后的结果(B0+B1)/2、(B2+B1)/2输出到对应输出口B1 l、B1 r,CU2加法器8实施了加法得到B0+2B1+B2后送至CU2移位器10,CU2移位器10将B0+2B1+B2右移2位将结果分别输出至B2 l、B2 r以及β /(0.5),其中B2 l、B2 r以及β /(0.5)是相等的,
基于单元CU2计算过程的CU2B并行/流水计算过程是:
基于上层一个单元CU2计算过程获得的两组数据组〈B0 l、B1 l、B2 l〉和〈B0 r、B1 r、B2 r〉,将该两组数据组〈B0 l、B1 l、B2 l〉和〈B0 r、B1 r、B2 r〉分别作为输入数据组Ⅰ′通过相应的下层单元CU2计算过程进行计算,分别获得相应的两组输出数据组Ⅱ′及一个中点值,这样经过n层计算后,就获得了2n-1个变量差为1/2n的中点值:
第一层:β /(1/2)
第二层:β /(1/22)、β /(3/22)
第三层:β /(1/23)、β /(3/23)、β /(5/23)、β /(7/27)
…………
第n层:β′(1/2n)、β′(3/2n)、…、β′((2j+1)/2n)、β′((2n+1)/2n)
然后,将上述中点值连同β′(0)、β′(1)依变量值t由小到大的顺序储存,作为控制数控机床运行速度的运行控制数据。
本发明所依据的理论如下:
一、
本发明的理论基础在于经典数学理论中多项式的两个性质。
性质1. 任意关于t的多项式
恒能表示成(伯恩斯坦多项式)
那么有
上述性质2称为伯恩斯坦多项式的剖分性质。
鉴于本发明主要关注三次多项式的计算,以下主要考虑三次多项式及其对参数t的一阶导数。
三次多项式
(6)
经系数变换
即为如下(7)的形式
其对参数t的一阶导数
形如(7)(8)的多项式具有对称性,即
(8)式中的3(β 1-β 0)、3(β 2-β 1)、3(β 3-β 2)采用T32计算方法计算分别获得B0、B1、B2。
二、计算的方法
这里
从而
如果记
第一次:
…………
上述从第一到第n次的计算,其第k次都可用一棵深度为n的满二叉树T的第k层来描述,因而整个计算可用T自根结点到全部叶子结点的层次结构来描述。如图18所示的中分计算满二叉树模型。
三、计算的方法
四、中分数据的有序化方法
前已述及,采用中分计算得到的数据序列不能按次序对应于从起点到终点的点位/速度序列,不能用于插补(绘制)点位/速度曲线。只有将中分计算的数据存储(输出)成满二叉树的中序序列才能称为插补所需要的数据序列。采用下述方法,可将本发明计算的数据按照从起点到终点的顺序存储(输出),实现中分数据的有序化。
将M的存储单元依次编号为1,2,…, ;那么在实施中分计算时按照如下方式存储:
…………
五、计算的精度特征
由(14)式不难看出,经n层计算后,中序数列(13)里两相邻点之差为
此亦
考虑到
结合(15)知,本发明计算的精度级别为
(16)
这里, m所计算的层数。
六、计算的速度特征
本发明所给计算方法的速度特征表现在以下几个方面:
理论上共需要7次加法,1次移位(右移3位)运算;而经典De Castejlau算法需要6次加法,6次乘法,如图3所示。 由于移位与加法运算都是计算机最快的运算,因此本发明的计算具有更高的效率。
2. 本发明的计算过程可以设计制作出专门的硬件计算单元CU(Calculation Unit)来实现。由于硬件具有高速运算的特征,因此本发明的计算效率在CU支持下可极大提高。字长为k的计算机(或处理器)能够在最多30纳秒的时间周期内计算出个点。
3. 本发明的计算可经CU实现并行流水计算(见后文的设计),其效率更高。
如图3所示的 De Castejlau的中分计算模型
七、、的特殊计算方法
由于上述的计算方法是可以用硬件来实现的,而硬件的运行速度是很快的,是瞬间完成计算,这样,就能够实现快速计算数控机床上的切削工件的刀具的运动轨迹的运行控制数据,而且精确度高。
这里,在满足足够运算速度的情况下,尽可能地减少单元CU3计算过程,以便使CU3计算过程所需要的硬件数量合理,
将每相邻的两个基于单元CU3计算过程的CU3B并行/流水计算过程所获得的值的变量t0、t1的差t1- t0=1/2n分成k个1/2m,然后分别通过RCU3的计算方法对
β(t0+1/2m)、β(t0+2/2m)、β(t0+3/2m)……β(t0+k/2m)进行串行计算,
RCU3的计算方法是这样的:
首先:
先将三次伯恩斯坦多项式7:
通过B3TC的计算过程转换成三次多项式6:
B3TC的计算过程是:
将三次伯恩斯坦多项式7中的〈β 0, β 1, β 2, β 3〉作为输入数据组通过以下方式进行运算:输入后被分转到输出口与B3TC减法器1,输入后被分转到B3TC减法器1与B3TC减法器2,输入后被分转到B3TC减法器2与B3TC减法器3,被输入到B3TC减法器3;B3TC减法器1执行完后,将结果分别送到送到B3TC三倍乘法器7与B3TC减法器4;B3TC减法器2执行完后将结果分别送到B3TC加法器4与5;B3TC减法器3将结果送到B3TC减法器5;B3TC减法器4执行计算后,将结果分别送到B3TC三倍乘法器8与B3TC减法器6;B3TC减法器5执行计算后将结果送B3TC减法器6;B3TC三倍乘法器7输出到输出口,B3TC三倍乘法器8输出到输出口,B3TC减法器6输出到输出口,这样,就获得了三次多项式6中的〈,,,〉,
CU 1/2 计算过程是将〈β 0, β 1, β 2, β 3,m〉作为数据输入组通过以下方式进行计算:输入数据β 3被送入CU 1/2 减法器1,β 2被分别送入CU 1/2 减法器1、2,β 1被分别送入CU 1/2 减法器2、3,β 0被分别送入CU 1/2 减法器3与CU 1/2 加法器13,CU 1/2 减法器1、2、3分别计算β 3-β 2、β 2-β 1、β 1-β 0,其中CU 1/2 减法器1的结果β 3-β 2送到CU 1/2 减法器4,CU 1/2 减法器2的结果β 2-β 1分转到CU 1/2 减法器4与5、CU 1/2 减法器3的结果β 1-β 0分转到CU 1/2 减法器5以及CU 1/2 三倍乘法器8,CU 1/2 减法器4的结果
β 3-2β 2+β 1送到CU 1/2 减法器6,CU 1/2 减法器5的结果β 2-2β 1+β 0分别送到CU 1/2 减法器6与CU 1/2 三倍乘法器7,两个CU 1/2 三倍乘法器将输入数据
β 2-2β 1+β 0、β 1-β 0分别放大3倍后分别对应送到CU 1/2 可变移位器10、11,CU 1/2 减法器6计算出β 3-3β 2+3β 1-β 0后将结果送到CU 1/2 可变移位器9,CU 1/2 可变移位器9将输入数据右移3m位得到
(β 3-3β 2+3β 1-β 0)/23m后将结果送入CU 1/2 加法器12,CU 1/2 可变移位器10将输入数据右移2m得到结果3(β 2-2β 1+β 0)/22m后也送入CU 1/2 加法器12,CU 1/2 可变移位器11将输入数据右移m得到结果3(β 1-β 0)/2m后也送入CU 1/2 加法器13,CU 1/2 加法器12计算出
(β 3-3β 2+3β 1-β 0)/23m+3(β 2-2β 1+β 0)/22m后结果送CU 1/2 加法器14,CU 1/2 加法器13计算出3(β 1-β 0)/2m+β 0后结果也送CU 1/2 加法器14,最后由加法器14计算出
β(1/2m),
其次:
通过RCU3计算相邻两中点值间变量为1/2m的各个点β(t0+1/2m)、β(t0+2/2m)、
β(t0+3/2m)……β(t0+k/2m)的值,
RCU3计算过程是将〈 ,t 0 m, a 3,a 2,a 0〉作为数据输入组通过以下方式进行计算,其中β(t0)是某个中点的值,t0是该中点的值的变量:输入到RCU3暂存器1、2; m输入送到RCU3暂存器3;t 0送到RCU3暂存器4;a 3,a 2,a 0送入F3;RCU3计数器9控制各个单元;在RCU3计数控制器的控制下,实施计算时,RCU3暂存器1、2的数据送入RCU3加法器6,RCU3暂存器3的数据m同时送到F3与RCU3移位器,RCU3移位器计算出后送RCU3加法器7,RCU3暂存器4的数据同时送RCU3加法器7与F3;RCU3加法器6完成计算后将送到RCU3加法器8,与F3送过来的数据做加法,结果同时输出到输出端O,也送到RCU3暂存器2,准备第二次运算;RCU3加法器将加法结果送RCU3暂存器5准备第二次计算;完成一轮计算后,开始第二轮计算;重复这个过程,直到计数控制器指示计算终止,这样,就获得了相邻两中点值间变量为1/2m的各个点的值〈〉,
从而获得0—1间的所有变量的值:
〈β(0)、β(1/2m)、β(2/2m)……β(k/2m)……β(t0)、β(t0+1/2m)、
β(t0+2/2m)……β(t0+k/2m)……β(1- k/2m)、β(1- (k-1)/2m)、β(1- (k-2)/2m)……β(1- 1/2m)、β(1)〉
这里,F3的计算过程是这样实现的,数据a 0,t 0,m输入后分别进入F3暂存器1、2、3;输入数据a2、a3分别送入F3二倍乘法器4、F3三倍乘法器5,经乘法后分别送入F3乘法器6、7;F3暂存器1的数据t0,也送入6、7;F3暂存器3负责将m送入F3移位器8、9、12;F3乘法器6乘法结果2a2t0经F3可变移位器8右移m位后,结果送到F3加法器10;F3乘法器7分别将乘法结果3a3t0送入F3可变移位器9与F3乘法器11;F3移位器9将数据3a3t0右移2m位后送到F3加法器10;F3加法器执行加法计算得到结果2a2t0(1/2m)+3a3t0(1/2m)2送F3加法器13;F3乘法器11将结果3a3t0 2送F3右移位器12,经右移m位后送F3加法器13;F3加法器13完成加法后得到2a2t0(1/2m)+3a3t0(1/2m)2+3a3t0 2(1/2m),将结果送F3减法器12;F3减法器12从F3暂存器2里面获取a0与F3加法器13送来的数据作减法最终得到2a2t0(1/2m)+3a3t0(1/2m)2+3a3t0 2(1/2m)- a0的计算结果。
在满足足够运算速度的情况下,尽可能地减少单元CU2计算过程,以便使CU2计算过程所需要的硬件数量合理,
将每相邻的两个基于单元CU2计算过程的CU2B并行/流水计算过程所获得的值的变量t0、t1的差t1- t0=1/2n分成k个1/2m,然后分别通过RCU2的计算方法对β′(t0+1/2m)、
β′(t0+2/2m)、β′(t0+3/2m)……β′(t0+k/2m)进行串行计算,
RCU2的计算方法是这样的:
首先:
通过B2TQ的计算方式是将形如
的二次伯恩斯坦多项式系数转换为形如
多项式的系数。
的计算过程是:
输入后被分转到输出口与B2TQ减法器1,输入后分转到B2TQ减法器1与2,直接输入到B2TQ减法器2,B2TQ减法器1计算出后将结果分转到B2TQ二倍乘法器4和B2TQ减法器3;B2TQ减法器2的结果直接送入B2TQ减法器3,B2TQ二倍乘法器将乘以2后输出到,B2TQ减法器3计算出后输出到,
CU 1/2 计算过程是将〈β 0, β 1, β 2, β 3,m〉作为数据输入组通过以下方式进行计算:输入数据β 3被送入CU 1/2 减法器1,β 2被分别送入CU 1/2 减法器1、2,β 1被分别送入CU 1/2 减法器2、3,β 0被分别送入CU 1/2 减法器3、CU 1/2 加法器13,CU 1/2 减法器1、2、3分别计算β 3-β 2、β 2-β 1、β 1-β 0,其中CU 1/2 减法器1的结果β 3-β 2送到CU 1/2 减法器4、CU 1/2 减法器2的结果β 2-β 1分转到CU 1/2 减法器4与5、CU 1/2 减法器3的结果
β 1-β 0分转到CU 1/2 减法器5以及加法器13,CU 1/2 减法器4的结果
β 3-2β 2+β 1送到CU 1/2 减法器6,CU 1/2 减法器5的结果β 2-2β 1+β 0分别送到CU 1/2 减法器6与CU 1/2 二倍乘法器7,CU 1/2 二倍乘法器7将输入数据
β 2-2β 1+β 0放大2倍后送到CU 1/2 可变移位器10,CU 1/2 减法器6计算出β 3-3β 2+3β 1-β 0后将结果送到CU 1/2 可变移位器9,CU 1/2 移位器9将输入数据右移3m位得到
(β 3-3β 2+3β 1-β 0)/22m后将结果送入CU 1/2 加法器12,CU 1/2 可变移位器10将输入数据右移m得到结果2(β 2-2β 1+β 0)/2m后也送入CU 1/2 加法器12,加法器12计算出
(β 3-3β 2+3β 1-β 0)/22m+2(β 2-2β 1+β 0)/2m后结果送CU 1/2 加法器13,加法器13计算出结果后送CU 1/2 三倍乘法器14,最后由CU 1/2 三倍乘法器14计算出,
其次:
通过RCU2计算相邻两中点值间变量为1/2m的各个点β′(t0+1/2m)、β′(t0+2/2m)、β′(t0+3/2m)……β′(t0+k/2m)的值,
RCU2计算过程是将〈β′(t0),β′(1/2m),t 0 ,m, A 3 ,A 1 〉作为数据输入组通过以下方式进行计算,其中β′(t0)是某个中点的值,t0是该中点的值的变量:β′(t0),
β′(1/2m)输入到RCU2暂存器1、2; m输入送到RCU2暂存器3;t 0送到RCU2暂存器4;A 3 ,A 1 送入F2;RCU2计数器9控制各个单元;在RCU2计数控制器的控制下,实施计算时,RCU2暂存器1、2的数据送入RCU2加法器6,RCU2暂存器3的数据m同时送到F2与RCU2移位器,RCU2移位器计算出后送RCU2加法器7,RCU2暂存器4的数据同时送RCU2加法器7与F2;RCU2加法器6完成计算后将β′(t0),β′(1/2m)送到RCU2加法器8,与F2送过来的数据做加法,结果同时输出到输出端O,也送到RCU2暂存器2,准备第二次运算;RCU2加法器将加法结果送RCU2暂存器5准备第二次计算;完成一轮计算后,开始第二轮计算;重复这个过程,直到RCU2计数控制器指示计算终止,这样,就获得了相邻两中点值间变量为1/2m的各个点的值〈〉,
从而获得0—1间的所有变量的值:
〈β′(0)、β′(1/2m)、β′(2/2m)……β′(k/2m)……β′(t0)、β′(t0+1/2m)、
β′(t0+2/2m)……β′(t0+k/2m)……β′(1- k/2m)、β′(1- (k-1)/2m)、
β′(1- (k-2)/2m)……β′(1- 1/2m)、β′(1)〉
这里,F2的计算过程是这样实现的,数据A 1直接送F2暂存器3;A 3送F2六倍乘法器经放大后送入F2乘法器2;t 0送F2乘法器2;m送F2暂存器4,F2乘法器2实施乘法运算后将结果送F2移位器,F2暂存器4也将m送F2移位器4;F2移位器将右移m后结果送F2减法器6,同时F2暂存器3也将A 1送6,F2减法器6实施减法运算得到完成计算。
上述计算方法所依据的理论如下:
一、
考虑到
二、CU
1/2
、CU
1/2
所依据的理论是:
(17)
三、
由(21)(22)知,在已知、,借助于CU1/2、CU1/2计算出、。并且该计算过程是一个递推的过程。以计算为例,由计算出后,再经后,又能由、计算出。如此下去,计算出一个序列。这个计算过程可设计出相应的计算单元RCU(Recursive Calculation Unit)。同理,也可以由类似的计算单元实现。本发明设计RCU3用于计算,RCU2用于计算。
为了减少计算所需要的硬件的数量,设置MA计算过程计算并向各个RCU3计算过程输出, ,t 0 ,m, a 3,a 2,a 0, MA计算过程是将CU 1/2 计算过程、B3TC计算过程、各个CU3计算过程所对应的t0计算过程和m的值的预先设定或者输入组合而成。
若单采用基于单元CU3计算过程的CU3B并行/流水计算过程则需要2w-1个单元CU3计算过程,那么,基于CU3B- RCU3并行流水计算过程达到同样计算精度时所需要的硬件数量为2w/k-1个单元CU3+2w/k个RCU3+1个MA,显然,基于CU3B- RCU3并行流水计算过程所需要的硬件数量远比基于单元CU3计算过程的CU3B并行/流水计算过程所需要的硬件数量少接近K-1倍。
为了减少计算所需要的硬件的数量,设置MA计算过程计算β′(1/2m),t 0 ,m, A 3 ,A 1 , MA计算过程是将CU 1/2 计算过程、B2TQ计算过程、各个CU2计算过程所对应的t0计算过程和m值的预先设定或者输入组合而成。
这里,采用CCU3的计算方法对计算机辅助制造(CAM)系统输入的j轴(多轴加工系统中的j轴)的一组刀位点以及初始与终止边界条件为, 进行插补计算,以便获得刀具以一定的速度沿分段连续的曲线运行并经过各个刀位点以及初始与终止边界条件为, 的插补点,
CCU3的计算方法是三个CU3B或者是CU3B-RCU3组合,负责计算BZ0(t),BZ1(t),[BZ(t)](j);
一个CCU3加法器3将分别乘以Xi j、Xi+1 j的BZ0(t)、BZ1(t)相加,一个CCU3减法器4将CCU3加法器3的输出结果与[BZ(t)](j)相加
这里,Xi j是j轴的第i个刀位点,Xi+1 j是j轴的第i+1个刀位点
BZ0(t)=(1-t)3+3t(1-t)2+3μt2(1-t)+t3
BZ1(t)=(1-t)3+3ηt(1-t)2+3t2(1-t)+t3
[BZ(t)](j)=3ηXi-1 j t(1-t)2+3μXi+1 j t(1-t)2+Xi j(1-t)3+Xi+1 jt3
这里为速度控制参数。
这里,采用CCU2的计算方法对计算机辅助制造(CAM)系统输入的j轴(多轴加工系统中的j轴)一组刀位点以及初始与终止边界条件为, 进行插补计算,以便获得刀具以一定的速度沿分段连续的曲线运行并经过各个刀位点以及初始与终止边界条件为, 的插补点的速度,
CCU2的计算方法是三个CU2B或者是CU2B-RCU2组合,负责计算BZ0 /(t),BZ1 /(t),[BZ/(t)](j);
上述计算方法所依据的理论是:
一、
CNC插补是根据计算机辅助制造(CAM)系统输入的一组刀位点以及初始与终止边界条件为, ,计算出一条刀具运动的轨迹线使得加工的刀具以一定的速度通过每个刀位点。本发明通过设计如下通过、的参数曲线段实现插补计算。
从而分段连续的曲线
将曲线(23)进行整理得
如果记
(27)
(30)
对于多坐标加工系统,设
那么
于是
二、单坐标插补器CCU3与CCU2的设计
本发明与已有技术相比,具有可高速计算并能产生高精度结果的、适合于以及芯片级并行流水可重构计算的、能满足不断发展的工业需求的优点。
附图说明:
图1为本发明CU3的结构示意图;
图2为本发明CU3B的结构示意图;
图3为本发明T32的结构示意图;
图4为本发明CU2的结构示意图;
图5为本发明CU2B的结构示意图;
图6为本发明B3TC的结构示意图;
图7为本发明CU 1/2 的结构示意图;
图8为本发明RCU3的结构示意图;
图9为本发明F3的结构示意图;
图10为本发明CU3B-RCU3的结构示意图;
图11为本发明B2TQ的结构示意图;
图12为本发明CU 1/2 的结构示意图;
图13为本发明F2的结构示意图;
图14为本发明RCU2的结构示意图;
图15为本发明CU2B-RCU2的结构示意图;
图16为本发明CCU3的结构示意图;
图17为本发明CCU2的结构示意图;
图18为本发明的中分计算满二叉树模型;
图19为本发明的相邻层与相邻点位的关系示意图;
图20 为本发明的De Castejlau的中分计算模型。
具体实施方式:
现结合附图和实施例对本发明作进一步详细描述:
如图1、2所示,包括基于单元CU3计算过程的CU3B并行/流水计算过程,
单元CU3计算过程是:
将伯恩斯坦多项式7:中的数据组〈β 0, β 1, β 2, β 3〉作为输入数据组Ⅰ通过以下方式进行运算,CU3分转器1将β 0送入输出口以及CU3加法器10,CU3分转器2将β 1送入CU3加法器10、11,CU3分转器3将β 2送入CU3加法器11、12,CU3分转器4将β 3送入输出口β 0 r以及CU3加法器12;CU3加法器10接收到β 0、β 1后实施加法运算后将结果β 0+β 1送至CU3分转器5;同样地,CU3加法器11、12分别将其计算结果β 1+β 2、β 2+β 3送至CU3分转器6、7;CU3分转器5将β 0+β 1送至CU3移位器16、加法器13;CU3分转器6将β 1+β 2送至CU3加法器13、14;CU3分转器7将β 2+β 3送至CU3加法器14、移位器17;CU3移位器16、17分别将
β 0+β 1、β 2+β 3右移1位后的结果(β 0+β 1)/2、(β 2+β 3)/2输出到对应输出口
β 1 l、β 1 r;CU3加法器13、14实施了加法得到β 0+2β 1+β 2、β 1+2β 2+β 3后分别送CU3分转器8、9,再由后者分别分转至CU3移位器18、19以及CU3加法器15;CU3移位器18、19分别对β 0+2β 1+β 2、β 1+2β 2+β 3右移2位后输出(β 0+2β 1+β 2)/4、(β 1+2β 2+β 3)/4至输出口β 2 l、β 2 r;最后,CU3加法器15接收数据β 0+2β 1+β 2、β 1+2β 2+β 3实施加法得到β 0+3β 1+3β 2+β 3后送至CU3移位器20,经CU3移位器20右移3位后得到(β 0+3β 1+3β 2+β 3)/8由CU3分转器一分为三输出至β 3 l、β 3 r以及中点值β(0.5),这样就获得了两组输出数据组Ⅱ〈β 0 l、β 1 l、β 2 l、β 3 l〉和〈β 0 r、β 1 r、β 2 r、β 3 r〉以及中点值β(0.5),其中β 3 l、β 3 r、β(0.5)是相等的;
基于单元CU3计算过程的CU3B并行/流水计算过程是:
基于上层一个单元CU3计算过程获得的两组数据组〈β 0 l、β 1 l、β 2 l、β 3 l〉和〈β 0 r、
β 1 r、β 2 r、β 3 r〉,将该两组数据组〈β 0 l、β 1 l、β 2 l、β 3 l〉和〈β 0 r、β 1 r、β 2 r、β 3 r〉分别作为输入数据组Ⅰ通过相应的下层单元CU3计算过程进行计算,分别获得相应的两组输出数据组Ⅱ及一个中点值,这样经过n层计算后,就获得了2n-1个变量差为1/2n的中点值:
…………
然后,将上述中点值连同β(0)、β(1)依变量值t由小到大的顺序储存,作为控制数控机床运行的运行控制数据。
例如,若系统的时序周期为3纳秒,则计算1024个数据所需要的时间为27纳秒。
如图3、4、5所示,基于单元CU2计算过程的CU2B并行/流水计算过程所获得的各个中点值及β(0)、β(1)的速度采用基于单元CU2计算过程的CU2B并行/流水计算过程计算的,
单元CU2计算过程是:
将伯恩斯坦多项式7: 的导数—伯恩斯坦多项式8:中的数据组〈β 0, β 1, β 2, β 3〉通过T32计算方法转换成数据组Ⅰ′:〈B0, B 1, B 2〉,其中B 0=3(β 1-β 0),B 1=
3(β 2-β 1),B 2=3(β 3-β 2)
T32计算方法通过以下方式进行运算:
采用三个T32减法器1、2、3分别实施β 1-β 0、β 2-β 1、β 3-β 2,采用三个T323倍乘法器4、5、6分别对上述输入的计算结果乘3后输出,获得数据组Ⅰ′:〈B0, B 1, B 2〉,
CU2分转器1将B0送入输出口B0 l以及CU2加法器6,CU2分转器2将B1送入CU2加法器6、7,CU2分转器3将B2送入CU2加法器7、输出口B0 r,CU2加法器6接收到B0、B1后实施加法运算后将结果B0+B1送至CU2分转器4;同样地,CU2加法器7将其计算结果B2+B1送至CU2分转器5,CU2分转器4将B0+B1送至CU2移位器9、CU2加法器8;CU2分转器5将B2+B1送至CU2加法器8、CU2移位器11,CU2移位器9、11分别将B0+B1、B2+B1右移1位后的结果(B0+B1)/2、(B2+B1)/2输出到对应输出口B1 l、B1 r,CU2加法器8实施了加法得到B0+2B1+B2后送至CU2移位器10,CU2移位器10将B0+2B1+B2右移2位将结果由分转器分别输出至B2 l、B2 r以及β /(0.5),其中B2 l、B2 r以及β /(0.5)是相等的,
基于单元CU2计算过程的CU2B并行/流水计算过程是:
基于上层一个单元CU2计算过程获得的两组数据组〈B0 l、B1 l、B2 l〉和〈B0 r、B1 r、B2 r〉,将该两组数据组〈B0 l、B1 l、B2 l〉和〈B0 r、B1 r、B2 r〉分别作为输入数据组Ⅰ′通过相应的下层单元CU2计算过程进行计算,分别获得相应的两组输出数据组Ⅱ′及一个中点值,这样经过n层计算后,就获得了2n-1个变量差为1/2n的中点值:
第一层:β /(1/2)
第二层:β /(1/22)、β /(3/22)
第三层:β /(1/23)、β /(3/23)、β /(5/23)、β /(7/27)
…………
第n层:β′(1/2n)、β′(3/2n)、…、β′((2j+1)/2n)、β′((2n+1)/2n)
然后,将上述中点值连同β′(0)、β′(1)依变量值t由小到大的顺序储存,作为控制数控机床运行速度的运行控制数据。
如图6、7、8、9、10所示,将每相邻的两个基于单元CU3计算过程的CU3B并行/流水计算过程所获得的值的变量t0、t1的差t1- t0=1/2n分成k个1/2m,然后分别通过RCU3的计算方法对β(t0+1/2m)、β(t0+2/2m)、β(t0+3/2m)……β(t0+k/2m)进行串行计算,
RCU3的计算方法是这样的:
首先:
先将三次伯恩斯坦多项式7:
通过B3TC的计算过程转换成三次多项式6:
B3TC的计算过程是:
将三次伯恩斯坦多项式7中的〈β 0, β 1, β 2, β 3〉作为输入数据组通过以下方式进行运算:输入后被分转到输出口与B3TC减法器1,输入后被分转到B3TC减法器1与B3TC减法器2,输入后被分转到B3TC减法器2与B3TC减法器3,被输入到B3TC减法器3;B3TC减法器1执行完后,将结果分别送到送到B3TC三倍乘法器7与B3TC减法器4;B3TC减法器2执行完后将结果分别送到B3TC加法器4与5;B3TC减法器3将结果送到B3TC减法器5;B3TC减法器4执行计算后,将结果分别送到B3TC三倍乘法器8与B3TC减法器6;B3TC减法器5执行计算后将结果送B3TC减法器6;B3TC三倍乘法器7输出到输出口,B3TC三倍乘法器8输出到输出口,B3TC减法器6输出到输出口,这样,就获得了三次多项式6中的〈,,,〉,
通过CU 1/2 计算的计算过程,其中1/2m是相邻两个变量t0、t1的差值,
CU 1/2 计算过程是将〈β 0, β 1, β 2, β 3,m〉作为数据输入组通过以下方式进行计算:输入数据β 3被送入CU 1/2 减法器1,β 2被分别送入CU 1/2 减法器1、2,β 1被分别送入CU 1/2 减法器2、3,β 0被分别送入CU 1/2 减法器3与CU 1/2 加法器13,CU 1/2 减法器1、2、3分别计算β 3-β 2、β 2-β 1、β 1-β 0,其中CU 1/2 减法器1的结果β 3-β 2送到CU 1/2 减法器4,CU 1/2 减法器2的结果β 2-β 1分转到CU 1/2 减法器4与5、CU 1/2 减法器3的结果β 1-β 0分转到CU 1/2 减法器5以及CU 1/2 三倍乘法器8,CU 1/2 减法器4的结果
β 3-2β 2+β 1送到CU 1/2 减法器6,CU 1/2 减法器5的结果β 2-2β 1+β 0分别送到CU 1/2 减法器6与CU 1/2 三倍乘法器7,两个CU 1/2 三倍乘法器将输入数据
β 2-2β 1+β 0、β 1-β 0分别放大3倍后分别对应送到CU 1/2 可变移位器10、11,CU 1/2 减法器6计算出β 3-3β 2+3β 1-β 0后将结果送到CU 1/2 可变移位器9,CU 1/2 可变移位器9将输入数据右移3m位得到
(β 3-3β 2+3β 1-β 0)/23m后将结果送入CU 1/2 加法器12,CU 1/2 可变移位器10将输入数据右移2m得到结果3(β 2-2β 1+β 0)/22m后也送入CU 1/2 加法器12,CU 1/2 可变移位器11将输入数据右移m得到结果3(β 1-β 0)/2m后也送入CU 1/2 加法器13,CU 1/2 加法器12计算出
(β 3-3β 2+3β 1-β 0)/23m+3(β 2-2β 1+β 0)/22m后结果送CU 1/2 加法器14,CU 1/2 加法器13计算出3(β 1-β 0)/2m+β 0后结果也送CU 1/2 加法器14,最后由加法器14计算出
β(1/2m),
其次:
通过RCU3计算相邻两中点值间变量为1/2m的各个点β(t0+1/2m)、β(t0+2/2m)、
β(t0+3/2m)……β(t0+k/2m)的值,
RCU3计算过程是将〈 ,t 0 m, a 3,a 2,a 0〉作为数据输入组通过以下方式进行计算,其中β(t0)是某个中点的值,t0是该中点的值的变量:输入到RCU3暂存器1、2; m输入送到RCU3暂存器3;t 0送到RCU3暂存器4;a 3,a 2,a 0送入F3;RCU3计数器9控制各个单元;在RCU3计数控制器的控制下,实施计算时,RCU3暂存器1、2的数据送入RCU3加法器6,RCU3暂存器3的数据m同时送到F3与RCU3移位器,RCU3移位器计算出后送RCU3加法器7,RCU3暂存器4的数据同时送RCU3加法器7与F3;RCU3加法器6完成计算后将送到RCU3加法器8,与F3送过来的数据做加法,结果同时输出到输出端O,也送到RCU3暂存器2,准备第二次运算;RCU3加法器将加法结果送RCU3暂存器5准备第二次计算;完成一轮计算后,开始第二轮计算;重复这个过程,直到计数控制器指示计算终止,这样,就获得了相邻两中点值间变量为1/2m的各个点的值〈〉,
从而获得0—1间的所有变量的值:
〈β(0)、β(1/2m)、β(2/2m)……β(k/2m)……β(t0)、β(t0+1/2m)、
β(t0+2/2m)……β(t0+k/2m)……β(1- k/2m)、β(1- (k-1)/2m)、β(1- (k-2)/2m)……β(1- 1/2m)、β(1)〉
这里,F3的计算过程是这样实现的,数据a 0,t 0,m输入后分别进入F3暂存器1、2、3;输入数据a2、a3分别送入F3二倍乘法器4、F3三倍乘法器5,经乘法后分别送入F3乘法器6、7;F3暂存器1的数据t0,也送入6、7;F3暂存器3负责将m送入F3移位器8、9、12;F3乘法器6乘法结果2a2t0经F3可变移位器8右移m位后,结果送到F3加法器10;F3乘法器7分别将乘法结果3a3t0送入F3可变移位器9与F3乘法器11;F3移位器9将数据3a3t0右移2m位后送到F3加法器10;F3加法器执行加法计算得到结果2a2t0(1/2m)+3a3t0(1/2m)2送F3加法器13;F3乘法器11将结果3a3t0 2送F3右移位器12,经右移m位后送F3加法器13;F3加法器13完成加法后得到2a2t0(1/2m)+3a3t0(1/2m)2+3a3t0 2(1/2m),将结果送F3减法器12;F3减法器12从F3暂存器2里面获取a0与F3加法器13送来的数据作减法最终得到2a2t0(1/2m)+3a3t0(1/2m)2+3a3t0 2(1/2m)- a0的计算结果。
设置MA计算过程计算并向各个RCU3计算过程输出, ,t 0 ,m, a 3,a 2,a 0, MA计算过程是将CU 1/2 计算过程、B3TC计算过程、各个CU3计算过程所对应的t0计算过程和m的值的预先设定或者输入组合而成。
如图11、12、13、14、15所示,将每相邻的两个基于单元CU2计算过程的CU2B并行/流水计算过程所获得的值的变量t0、t1的差t1- t0=1/2n分成k个1/2m,然后分别通过RCU2的计算方法对β′(t0+1/2m)、β′(t0+2/2m)、β′(t0+3/2m)……β′(t0+k/2m)进行串行计算,
RCU2的计算方法是这样的:
首先:
通过B2TQ的计算方式是将形如
的二次伯恩斯坦多项式系数转换为形如
多项式的系数。
的计算过程是:
输入后被分转到输出口与B2TQ减法器1,输入后分转到B2TQ减法器1与2,直接输入到B2TQ减法器2,B2TQ减法器1计算出后将结果分转到B2TQ二倍乘法器4和B2TQ减法器3;B2TQ减法器2的结果直接送入B2TQ减法器3,B2TQ二倍乘法器将乘以2后输出到,B2TQ减法器3计算出后输出到,
通过CU 1/2 计算的计算过程,其中1/2m是相邻两个变量t0、t1的差值,
CU 1/2 计算过程是将〈β 0, β 1, β 2, β 3,m〉作为数据输入组通过以下方式进行计算:输入数据β 3被送入CU 1/2 减法器1,β 2被分别送入CU 1/2 减法器1、2,β 1被分别送入CU 1/2 减法器2、3,β 0被分别送入CU 1/2 减法器3、CU 1/2 加法器13,CU 1/2 减法器1、2、3分别计算β 3-β 2、β 2-β 1、β 1-β 0,其中CU 1/2 减法器1的结果β 3-β 2送到CU 1/2 减法器4、CU 1/2 减法器2的结果β 2-β 1分转到CU 1/2 减法器4与5、CU 1/2 减法器3的结果
β 1-β 0分转到CU 1/2 减法器5以及加法器13,CU 1/2 减法器4的结果
β 3-2β 2+β 1送到CU 1/2 减法器6,CU 1/2 减法器5的结果β 2-2β 1+β 0分别送到CU 1/2 减法器6与CU 1/2 二倍乘法器7,CU 1/2 二倍乘法器7将输入数据
β 2-2β 1+β 0放大2倍后送到CU 1/2 可变移位器10,CU 1/2 减法器6计算出β 3-3β 2+3β 1-β 0后将结果送到CU 1/2 可变移位器9,CU 1/2 移位器9将输入数据右移3m位得到
(β 3-3β 2+3β 1-β 0)/22m后将结果送入CU 1/2 加法器12,CU 1/2 可变移位器10将输入数据右移m得到结果2(β 2-2β 1+β 0)/2m后也送入CU 1/2 加法器12,加法器12计算出
(β 3-3β 2+3β 1-β 0)/22m+2(β 2-2β 1+β 0)/2m后结果送CU 1/2 加法器13,加法器13计算出结果后送CU 1/2 三倍乘法器14,最后由CU 1/2 三倍乘法器14计算出,
其次:
通过RCU2计算相邻两中点值间变量为1/2m的各个点β′(t0+1/2m)、β′(t0+2/2m)、
β′(t0+3/2m)……β′(t0+k/2m)的值,
RCU2计算过程是将〈β′(t0),β′(1/2m),t 0 ,m, A 3 ,A 1 〉作为数据输入组通过以下方式进行计算,其中β′(t0)是某个中点的值,t0是该中点的值的变量:β′(t0),
β′(1/2m)输入到RCU2暂存器1、2; m输入送到RCU2暂存器3;t 0送到RCU2暂存器4;A 3 ,A 1 送入F2;RCU2计数器9控制各个单元;在RCU2计数控制器的控制下,实施计算时,RCU2暂存器1、2的数据送入RCU2加法器6,RCU2暂存器3的数据m同时送到F2与RCU2移位器,RCU2移位器计算出后送RCU2加法器7,RCU2暂存器4的数据同时送RCU2加法器7与F2;RCU2加法器6完成计算后将β′(t0),β′(1/2m)送到RCU2加法器8,与F2送过来的数据做加法,结果同时输出到输出端O,也送到RCU2暂存器2,准备第二次运算;RCU2加法器将加法结果送RCU2暂存器5准备第二次计算;完成一轮计算后,开始第二轮计算;重复这个过程,直到RCU2计数控制器指示计算终止,这样,就获得了相邻两中点值间变量为1/2m的各个点的值〈〉,
从而获得0—1间的所有变量的值:
〈β′(0)、β′(1/2m)、β′(2/2m)……β′(k/2m)……β′(t0)、β′(t0+1/2m)、
β′(t0+2/2m)……β′(t0+k/2m)……β′(1- k/2m)、β′(1- (k-1)/2m)、
β′(1- (k-2)/2m)……β′(1- 1/2m)、β′(1)〉
这里,F2的计算过程是这样实现的,数据A 1直接送F2暂存器3;A 3送F2六倍乘法器经放大后送入F2乘法器2;t 0送F2乘法器2;m送F2暂存器4,F2乘法器2实施乘法运算后将结果送F2移位器,F2暂存器4也将m送F2移位器4;F2移位器将右移m后结果送F2减法器6,同时F2暂存器3也将A 1送6,F2减法器6实施减法运算得到完成计算。
设置MA计算过程计算β′(1/2m),t 0 ,m, A 3 ,A 1 , MA计算过程是将CU 1/2 计算过程、B2TQ计算过程、各个CU2计算过程所对应的t0计算过程和m值的预先设定或者输入组合而成。
如图16所示,采用CCU3的计算方法对计算机辅助制造(CAM)系统输入的j轴(多轴加工系统中的j轴)的一组刀位点以及初始与终止边界条件为, 进行插补计算,以便获得刀具以一定的速度沿分段连续的曲线运行并经过各个刀位点以及初始与终止边界条件为, 的插补点,
CCU3的计算方法是三个CU3B或者是CU3B-RCU3组合,负责计算BZ0(t),BZ1(t),[BZ(t)](j);
一个CCU3加法器3将分别乘以Xi j、Xi+1 j的BZ0(t)、BZ1(t)相加,一个CCU3减法器4将CCU3加法器3的输出结果与[BZ(t)](j)相加
这里,Xi j是j轴的第i个刀位点,Xi+1 j是j轴的第i+1个刀位点
BZ0(t)=(1-t)3+3t(1-t)2+3μt2(1-t)+t3
BZ1(t)=(1-t)3+3ηt(1-t)2+3t2(1-t)+t3
[BZ(t)](j)=3ηXi-1 j t(1-t)2+3μXi+1 j t(1-t)2+Xi j(1-t)3+Xi+1 jt3
这里为速度控制参数。
如图17所示,采用CCU2的计算方法对计算机辅助制造(CAM)系统输入的j轴(多轴加工系统中的j轴)一组刀位点以及初始与终止边界条件为, 进行插补计算,以便获得刀具以一定的速度沿分段连续的曲线运行并经过各个刀位点以及初始与终止边界条件为, 的插补点的速度,
CCU2的计算方法是三个CU2B或者是CU2B-RCU2组合,负责计算BZ0 /(t),BZ1 /(t),[BZ/(t)](j);
Claims (10)
1.一种CNC插补的一种并行流水计算方法,其特征在于包括基于单元CU3计算过程的CU3B并行/流水计算过程,
单元CU3计算过程是:
将伯恩斯坦多项式7: 中的数据组〈β 0, β 1, β 2, β 3〉作为输入数据组Ⅰ通过以下方式进行运算,将β 0分别送入输出口β 0 l以及CU3加法器10,将β 1分别送入CU3加法器10、11,将β 2分别送入CU3加法器11、12,将β 3分别送入输出口β 0 r以及CU3加法器12;CU3加法器10接收到β 0、β 1后实施加法运算后将结果β 0+β 1分别送至CU3移位器16、加法器13;同样地,CU3加法器11将其计算结果
β 1+β 2分别送至CU3加法器13、14,CU3加法器12将其计算结果β 2+β 3分别送至CU3加法器14、移位器17; CU3移位器16、17分别将β 0+β 1、β 2+β 3右移1位后的结果(β 0+β 1)/2、(β 2+β 3)/2输出到对应输出口β 1 l、β 1 r;CU3加法器13实施了加法得到β 0+2β 1+
β 2后分别送CU3移位器18、CU3加法器15,CU3加法器14实施了加法得到β 1+2β 2+β 3后分别送CU3移位器19、CU3加法器15;CU3移位器18、19分别对β 0+2β 1+β 2、
β 1+2β 2+β 3右移2位后输出(β 0+2β 1+β 2)/4、(β 1+2β 2+β 3)/4至输出口β 2 l、β 2 r;最后,CU3加法器15接收数据β 0+2β 1+β 2、β 1+2β 2+β 3实施加法得到β 0+3β 1+3β 2+β 3后送至CU3移位器20,经CU3移位器20右移3位后得到(β 0+3β 1+3β 2+β 3)/8分别输出至β 3 l、β 3 r以及中点值β(0.5),这样就获得了两组输出数据组Ⅱ
〈β 0 l、β 1 l、β 2 l、β 3 l〉和〈β 0 r、β 1 r、β 2 r、β 3 r〉以及中点值β(0.5),其中β 3 l、β 3 r、β(0.5)是相等的;
基于单元CU3计算过程的CU3B并行/流水计算过程是:
基于上层一个单元CU3计算过程获得的两组数据组〈β 0 l、β 1 l、β 2 l、β 3 l〉和
〈β 0 r、β 1 r、β 2 r、β 3 r〉,将该两组数据组〈β 0 l、β 1 l、β 2 l、β 3 l〉和
〈β 0 r、β 1 r、β 2 r、β 3 r〉分别作为输入数据组Ⅰ通过相应的下层单元CU3计算过程进行计算,分别获得相应的两组输出数据组Ⅱ及一个中点值,这样经过n层计算后,就获得了2n-1个变量差为1/2n的中点值:
第二层:、
…………
然后,将上述中点值连同β(0)、β(1)依变量值t由小到大的顺序储存,作为控制数控机床运行的运行控制数据。
3.根据权利要求1所述的CNC插补的一种并行流水计算方法,其特征在于基于单元CU2计算过程的CU2B并行/流水计算过程所获得的各个中点值及β(0)、β(1)的速度采用基于单元CU2计算过程的CU2B并行/流水计算过程计算的,
单元CU2计算过程是:
B 1=3(β 2-β 1),B 2=3(β 3-β 2)
T32计算方法通过以下方式进行运算:
采用三个T32减法器1、2、3分别实施β 1-β 0、β 2-β 1、β 3-β 2,采用三个T32三倍乘法器4、5、6分别对上述输入的计算结果乘3后输出,获得数据组Ⅰ′:〈B0, B 1, B 2〉,
将B0分别送入输出口B0 l以及CU2加法器6,将B1分别送入CU2加法器6、7,将B2分别送入CU2加法器7、输出口B0 r,CU2加法器6接收到B0、B1后实施加法运算后将结果B0+B1分别送至CU2移位器9、CU2加法器8;同样地,CU2加法器7将其计算结果B2+B1分别送至CU2加法器8、CU2移位器11,CU2移位器9、11分别将B0+B1、B2+B1右移1位后的结果(B0+B1)/2、(B2+B1)/2输出到对应输出口B1 l、B1 r,CU2加法器8实施了加法得到B0+2B1+B2后送至CU2移位器10,CU2移位器10将B0+2B1+B2右移2位将结果分别输出至B2 l、B2 r以及β /(0.5),其中B2 l、B2 r以及β /(0.5)是相等的,
基于单元CU2计算过程的CU2B并行/流水计算过程是:
基于上层一个单元CU2计算过程获得的两组数据组〈B0 l、B1 l、B2 l〉和〈B0 r、B1 r、B2 r〉,将该两组数据组〈B0 l、B1 l、B2 l〉和〈B0 r、B1 r、B2 r〉分别作为输入数据组Ⅰ′通过相应的下层单元CU2计算过程进行计算,分别获得相应的两组输出数据组Ⅱ′及一个中点值,这样经过n层计算后,就获得了2n-1个变量差为1/2n的中点值:
第一层:β /(1/2)
第二层:β /(1/22)、β /(3/22)
第三层:β /(1/23)、β /(3/23)、β /(5/23)、β /(7/27)
…………
第n层:β′(1/2n)、β′(3/2n)、…、β′((2j+1)/2n)、β′((2n+1)/2n)
然后,将上述中点值连同β′(0)、β′(1)依变量值t由小到大的顺序储存,作为控制数控机床运行速度的运行控制数据。
4.根据权利要求3所述的CNC插补的一种并行流水计算方法,其特征在于这里层与层之间通过时序控制,数据的每个CU2的输出数据按照前述“第k层第j个输出存储在线性存储结构的第”的方法进行存储。
5.根据权利要求1或3所述的CNC插补的一种并行流水计算方法,其特征在于将每相邻的两个基于单元CU3计算过程的CU3B并行/流水计算过程所获得的值的变量t0、t1的差
t1- t0=1/2n分成k个1/2m,然后分别通过RCU3的计算方法对β(t0+1/2m)、β(t0+2/2m)、
β(t0+3/2m)……β(t0+k/2m)进行串行计算,
RCU3的计算方法是这样的:
首先:
先将三次伯恩斯坦多项式7:
通过B3TC的计算过程转换成三次多项式6:
B3TC的计算过程是:
将三次伯恩斯坦多项式7中的〈β 0, β 1, β 2, β 3〉作为输入数据组通过以下方式进行运算:输入后被分转到输出口与B3TC减法器1,输入后被分转到B3TC减法器1与B3TC减法器2,输入后被分转到B3TC减法器2与B3TC减法器3,被输入到B3TC减法器3;B3TC减法器1执行完后,将结果分别送到送到B3TC三倍乘法器7与B3TC减法器4;B3TC减法器2执行完后将结果分别送到B3TC加法器4与5;B3TC减法器3将结果送到B3TC减法器5;B3TC减法器4执行计算后,将结果分别送到B3TC三倍乘法器8与B3TC减法器6;B3TC减法器5执行计算后将结果送B3TC减法器6;B3TC三倍乘法器7输出到输出口,B3TC三倍乘法器8输出到输出口,B3TC减法器6输出到输出口,这样,就获得了三次多项式6中的〈,,,〉,
通过CU 1/2 计算的计算过程,其中1/2m是相邻两个变量t0、t1的差值,
CU 1/2 计算过程是将〈β 0, β 1, β 2, β 3,σ〉作为数据输入组通过以下方式进行计算:输入数据β 3被送入CU 1/2 减法器1,β 2被分别送入CU 1/2 减法器1、2,β 1被分别送入CU 1/2 减法器2、3,β 0被分别送入CU 1/2 减法器3与CU 1/2 加法器13,CU 1/2 减法器1、2、3分别计算β 3-β 2、β 2-β 1、β 1-β 0,其中CU 1/2 减法器1的结果β 3-β 2送到CU 1/2 减法器4,CU 1/2 减法器2的结果β 2-β 1分转到CU 1/2 减法器4与5、CU 1/2 减法器3的结果β 1-β 0分转到CU 1/2 减法器5以及CU 1/2 三倍乘法器8,CU 1/2 减法器4的结果β 3-2β 2+β 1送到CU 1/2 减法器6,CU 1/2 减法器5的结果β 2-2β 1+β 0分别送到CU 1/2 减法器6与CU 1/2 三倍乘法器7,两个CU 1/2 三倍乘法器将输入数据β 2-2β 1+β 0、β 1-β 0分别放大3倍后分别对应送到CU 1/2 可变移位器10、11,CU 1/2 减法器6计算出β 3-3β 2+3β 1-β 0后将结果送到CU 1/2 可变移位器9,CU 1/2 可变移位器9将输入数据右移位得到(β 3-3β 2+3β 1-β 0)/23σ后将结果送入CU 1/2 加法器12,CU 1/2 可变移位器10将输入数据右移得到结果3(β 2-2β 1+β 0)/22σ后也送入CU 1/2 加法器12,CU 1/2 可变移位器11将输入数据右移得到结果3(β 1-β 0)/2σ后也送入CU 1/2 加法器13,CU 1/2 加法器12计算出
(β 3-3β 2+3β 1-β 0)/23σ+3(β 2-2β 1+β 0)/22σ后结果送CU 1/2 加法器14,CU 1/2 加法器13计算出3(β 1-β 0)/2σ+β 0后结果也送CU 1/2 加法器14,最后由加法器14计算出,
其次:
通过RCU3计算相邻两中点值间变量为1/2m的各个点
β(t0+1/2m)、β(t0+2/2m)、β(t0+3/2m)……β(t0+k/2m)的值,
RCU3计算过程是将〈 ,t 0 m, a 3,a 2,a 0〉作为数据输入组通过以下方式进行计算,其中β(t0)是某个中点的值,t0是该中点的值的变量:输入到RCU3暂存器1、2; m输入送到RCU3暂存器3;t 0送到RCU3暂存器4;a 3,a 2,a 0送入F3;RCU3计数器9控制各个单元;在RCU3计数控制器的控制下,实施计算时,RCU3暂存器1、2的数据送入RCU3加法器6,RCU3暂存器3的数据m同时送到F3与RCU3移位器,RCU3移位器计算出后送RCU3加法器7,RCU3暂存器4的数据同时送RCU3加法器7与F3;RCU3加法器6完成计算后将送到RCU3加法器8,与F3送过来的数据做加法,结果同时输出到输出端O,也送到RCU3暂存器2,准备第二次运算;RCU3加法器将加法结果送RCU3暂存器5准备第二次计算;完成一轮计算后,开始第二轮计算;重复这个过程,直到计数控制器指示计算终止,这样,就获得了相邻两中点值间变量为1/2m的各个点的值〈〉,
从而获得0—1间的所有变量的值:
〈β(0)、β(1/2m)、β(2/2m)……β(k/2m)……β(t0)、β(t0+1/2m)、
β(t0+2/2m)……β(t0+k/2m)……β(1- k/2m)、β(1- (k-1)/2m)、β(1- (k-2)/2m)……β(1- 1/2m)、β(1)〉
这里,F3的计算过程是这样实现的,数据a 0,t 0,m输入后分别进入F3暂存器1、2、3;输入数据a2、a3分别送入F3二倍乘法器4、F3三倍乘法器5,经乘法后分别送入F3乘法器6、7;F3暂存器1的数据t0,也送入6、7;F3暂存器3负责将m送入F3移位器8、9、12;F3乘法器6乘法结果2a2t0经F3可变移位器8右移m位后,结果送到F3加法器10;F3乘法器7分别将乘法结果3a3t0送入F3可变移位器9与F3乘法器11;F3移位器9将数据3a3t0右移2m位后送到F3加法器10;F3加法器执行加法计算得到结果2a2t0(1/2m)+3a3t0(1/2m)2送F3加法器13;F3乘法器11将结果3a3t0 2送F3右移位器12,经右移m位后送F3加法器13;F3加法器13完成加法后得到2a2t0(1/2m)+3a3t0(1/2m)2+3a3t0 2(1/2m),将结果送F3减法器12;F3减法器12从F3暂存器2里面获取a0与F3加法器13送来的数据作减法最终得到2a2t0(1/2m)+3a3t0(1/2m)2+3a3t0 2(1/2m)- a0的计算结果。
7.根据权利要求3或6所述的CNC插补的一种并行流水计算方法,其特征在于将每相邻的两个基于单元CU2计算过程的CU2B并行/流水计算过程所获得的值的变量t0、t1的差t1- t0=1/2n分成k个1/2m,然后分别通过RCU2的计算方法对
β′(t0+1/2m)、β′(t0+2/2m)、β′(t0+3/2m)……β′(t0+k/2m)进行串行计算,
RCU2的计算方法是这样的:
首先:
通过B2TQ的计算方式是将形如
的二次伯恩斯坦多项式系数转换为形如
多项式的系数的计算过程是:
输入后被分转到输出口与B2TQ减法器1,输入后分转到B2TQ减法器1与2,直接输入到B2TQ减法器2,B2TQ减法器1计算出后将结果分转到B2TQ二倍乘法器4和B2TQ减法器3;B2TQ减法器2的结果直接送入B2TQ减法器3,B2TQ二倍乘法器将乘以2后输出到,B2TQ减法器3计算出后输出到,
CU 1/2 计算过程是将〈B 0, B 1, B 2, σ〉作为数据输入组通过以下方式进行计算:输入数据被送入CU 1/2 减法器1,被分别送入CU 1/2 减法器1、2,被分别送入CU 1/2 减法器2、3,被分别送入CU 1/2 减法器3、CU 1/2 加法器13,CU 1/2 减法器1、2、3分别计算、、,其中CU 1/2 减法器1的结果送到CU 1/2 减法器4、CU 1/2 减法器2的结果分转到CU 1/2 减法器4与5、CU 1/2 减法器3的结果分转到CU 1/2 减法器5以及加法器13,CU 1/2 减法器4的结果送到CU 1/2 减法器6,CU 1/2 减法器5的结果分别送到CU 1/2 减法器6与CU 1/2 二倍乘法器7,CU 1/2 二倍乘法器7将输入数据放大2倍后送到CU 1/2 可变移位器10,CU 1/2 减法器6计算出后将结果送到CU 1/2 可变移位器9,CU 1/2 移位器9将输入数据右移位得到后将结果送入CU 1/2 加法器12,CU 1/2 可变移位器10将输入数据右移得到结果后也送入CU 1/2 加法器12,加法器12计算出+后结果送CU 1/2 加法器13,加法器13计算出结果后送CU 1/2 三倍乘法器14,最后由CU 1/2 三倍乘法器14计算出,
其次:
通过RCU2计算相邻两中点值间变量为1/2m的各个点
β′(t0+1/2m)、β′(t0+2/2m)、β′(t0+3/2m)……β′(t0+k/2m)的值,
RCU2计算过程是将〈β′(t0),β′(1/2m),t 0 ,m, A 3 ,A 1 〉作为数据输入组通过以下方式进行计算,其中β′(t0)是某个中点的值,t0是该中点的值的变量:β′(t0),
β′(1/2m)输入到RCU2暂存器1、2; m输入送到RCU2暂存器3;t 0送到RCU2暂存器4;A 3 ,A 1 送入F2;RCU2计数器9控制各个单元;在RCU2计数控制器的控制下,实施计算时,RCU2暂存器1、2的数据送入RCU2加法器6,RCU2暂存器3的数据m同时送到F2与RCU2移位器,RCU2移位器计算出后送RCU2加法器7,RCU2暂存器4的数据同时送RCU2加法器7与F2;RCU2加法器6完成计算后将β′(t0),β′(1/2m)送到RCU2加法器8,与F2送过来的数据做加法,结果同时输出到输出端O,也送到RCU2暂存器2,准备第二次运算;RCU2加法器将加法结果送RCU2暂存器5准备第二次计算;完成一轮计算后,开始第二轮计算;重复这个过程,直到RCU2计数控制器指示计算终止,这样,就获得了相邻两中点值间变量为1/2m的各个点的值〈〉,
从而获得0—1间的所有变量的值:
〈β′(0)、β′(1/2m)、β′(2/2m)……β′(k/2m)……β′(t0)、β′(t0+1/2m)、
β′(t0+2/2m)……β′(t0+k/2m)……β′(1- k/2m)、β′(1- (k-1)/2m)、
β′(1- (k-2)/2m)……β′(1- 1/2m)、β′(1)〉
8.根据权利要求7所述的CNC插补的一种并行流水计算方法,其特征在于设置MA计算过程计算β′(1/2m),t 0 ,m, A 3 ,A 1 , MA计算过程是将CU 1/2 计算过程、B2TQ计算过程、各个CU2计算过程所对应的t0计算过程和m值的预先设定或者输入组合而成。
9.根据权利要求5所述的CNC插补的一种并行流水计算方法,其特征在于采用CCU3的计算方法对计算机辅助制造(CAM)系统输入的j轴(多轴加工系统中的j轴)的一组刀位点以及初始与终止边界条件为,进行插补计算,以便获得刀具以一定的速度沿分段连续的曲线运行并经过各个刀位点以及初始与终止边界条件为,的插补点,
CCU3的计算方法是三个CU3B或者是CU3B-RCU3组合,负责计算BZ0(t),BZ1(t),[BZ(t)](j);
一个CCU3加法器3将分别乘以Xi j、Xi+1 j的BZ0(t)、BZ1(t)相加,一个CCU3减法器4将CCU3加法器3的输出结果与[BZ(t)](j)相加
这里,Xi j是j轴的第i个刀位点,Xi+1 j是j轴的第i+1个刀位点
BZ0(t)=(1-t)3+3t(1-t)2+3μt2(1-t)+t3
BZ1(t)=(1-t)3+3ηt(1-t)2+3t2(1-t)+t3
[BZ(t)](j)=3ηXi-1 j t(1-t)2+3μXi+1 j t(1-t)2+Xi j(1-t)3+Xi+1 jt3
10.根据权利要求7所述的CNC插补的一种并行流水计算方法,其特征在于采用CCU2的计算方法对计算机辅助制造(CAM)系统输入的j轴(多轴加工系统中的j轴)一组刀位点以及初始与终止边界条件为,进行插补计算,以便获得刀具以一定的速度沿分段连续的曲线运行并经过各个刀位点以及初始与终止边界条件为,的插补点的速度,
CCU2的计算方法是三个CU2B或者是CU2B-RCU2组合,负责计算BZ0 /(t),BZ1 /(t),[BZ/(t)](j);
一个CCU2加法器3将分别乘以、的BZ0 /(t)、BZ1 /(t)相加,一个CCU2减法器4将CCU2加法器3的输出结构与[BZ/(t)](j)相加
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010593543.0A CN102073474B (zh) | 2010-12-17 | 2010-12-17 | Cnc插补的一种并行流水计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010593543.0A CN102073474B (zh) | 2010-12-17 | 2010-12-17 | Cnc插补的一种并行流水计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102073474A true CN102073474A (zh) | 2011-05-25 |
CN102073474B CN102073474B (zh) | 2014-11-12 |
Family
ID=44032026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010593543.0A Expired - Fee Related CN102073474B (zh) | 2010-12-17 | 2010-12-17 | Cnc插补的一种并行流水计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102073474B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103513613A (zh) * | 2013-09-30 | 2014-01-15 | 佛山科学技术学院 | 高速cnc插补计算方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1621986A (zh) * | 2003-11-28 | 2005-06-01 | 山崎马扎克公司 | 控制机床的方法和设备 |
CN101324790A (zh) * | 2008-07-11 | 2008-12-17 | 上海瑞尔实业有限公司 | 一种用于去交叉孔毛刺的刀具设计方法及该刀具 |
CN101634847A (zh) * | 2009-07-16 | 2010-01-27 | 上海交通大学 | 相贯线切割机可重构数控系统 |
-
2010
- 2010-12-17 CN CN201010593543.0A patent/CN102073474B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1621986A (zh) * | 2003-11-28 | 2005-06-01 | 山崎马扎克公司 | 控制机床的方法和设备 |
CN101324790A (zh) * | 2008-07-11 | 2008-12-17 | 上海瑞尔实业有限公司 | 一种用于去交叉孔毛刺的刀具设计方法及该刀具 |
CN101634847A (zh) * | 2009-07-16 | 2010-01-27 | 上海交通大学 | 相贯线切割机可重构数控系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103513613A (zh) * | 2013-09-30 | 2014-01-15 | 佛山科学技术学院 | 高速cnc插补计算方法 |
CN103513613B (zh) * | 2013-09-30 | 2016-08-17 | 佛山科学技术学院 | 高速cnc插补计算方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102073474B (zh) | 2014-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103744346B (zh) | 一种电子凸轮曲线生成方法 | |
CN103941644B (zh) | 一种基于时间参数的数控铣床能耗预测方法 | |
CN102298359B (zh) | 一种数控系统中加减速过渡平滑控制方法 | |
CN104135212B (zh) | 一种柔性化运动控制ip核及实现方法 | |
Koren | Interpolator for a computer numerical control system | |
CN104181860B (zh) | 数控机床s型加减速控制方法 | |
CN105739436B (zh) | 一种数控机床样条曲线自适应快速插补方法 | |
CN101201644A (zh) | 指数处理方法与系统 | |
CN102629189A (zh) | 基于fpga的流水浮点乘累加方法 | |
CN103455725A (zh) | 管网系统非恒定流模拟方法 | |
CN101464678A (zh) | 一种直线插补方法 | |
CN100583023C (zh) | 组合多项式和自然乘法的乘法器架构 | |
CN100511125C (zh) | 一种cordic算法的实现装置 | |
CN106020122A (zh) | 基于牛顿迭代的数控轨迹控制方法 | |
CN102073474A (zh) | Cnc插补的一种并行流水计算方法 | |
CN104504205A (zh) | 一种对称fir算法的并行化二维分割方法及其硬件结构 | |
Tsai et al. | On acceleration/deceleration before interpolation for CNC motion control | |
CN102023840B (zh) | Cnc插补的一种并行流水计算装置 | |
CN201892938U (zh) | Cnc插补的一种并行流水计算装置 | |
CN103744352A (zh) | 一种基于fpga的三次b样条曲线的硬件插补器 | |
CN103294522A (zh) | 舰船雷达天线设备数值风洞仿真流程的简化方案 | |
CN104731551B (zh) | 基于fpga进行除法操作的方法及装置 | |
CN113656852B (zh) | 一种精细化河道地形快速生成方法 | |
CN203705892U (zh) | 高速cnc插补计算装置 | |
CN101923459A (zh) | 一种用于数字信号处理的可重构乘加算数运算单元 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141112 Termination date: 20151217 |
|
EXPY | Termination of patent right or utility model |