CN102073474A - Cnc插补的一种并行流水计算方法 - Google Patents

Cnc插补的一种并行流水计算方法 Download PDF

Info

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
Application number
CN 201010593543
Other languages
English (en)
Other versions
CN102073474B (zh
Inventor
王兴波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Foshan University
Original Assignee
Foshan University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Foshan University filed Critical Foshan University
Priority to CN201010593543.0A priority Critical patent/CN102073474B/zh
Publication of CN102073474A publication Critical patent/CN102073474A/zh
Application granted granted Critical
Publication of CN102073474B publication Critical patent/CN102073474B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

CNC插补的一种并行流水计算方法,其特征在于包括基于单元CU3计算过程的CU3B并行/流水计算过程,单元CU3计算过程是:将伯恩斯坦多项式7:
Figure 201010593543.0_AB_0
中的数据组〈β0123〉作为输入数据组Ⅰ通过单元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运行数据的计算方法。 
背景技术
数控加工是当代机械制造的基础工艺之一。数控加工需要借助于数控机床。数控系统是数控机床的核心部件之一。目前,CNC数控是现代数控系统的不二形式。高速高精的数控系统是提高加工效率和质量的根本保障。以现场可编程门阵列FPGA 为代表的新型可重构技术不仅改变传统CNC插补计算的过程而且改变了其计算模式。但是,不管是那种方式,都是依照次序一个点接着一个点地计算的,这样的计算其计算速度只能依赖计算机自身的运算速度,显然,技术条件及成本的限制,计算机的计算速度是有限的,从而制约着数控加工的高速高精度的提高。 
发明内容
本发明的目标旨在给出一种可高速计算并能产生高精度结果的、适合于以及芯片级并行流水可重构计算的CNC插补的一种并行流水计算方法,以满足不断发展的工业需求。 
本发明的CNC插补的一种并行流水计算方法是这样实现的,包括基于单元CU3计算过程的CU3B并行/流水计算过程, 
单元CU3计算过程是:
将伯恩斯坦多项式7: 
Figure 2010105935430100002DEST_PATH_IMAGE001
中的数据组〈β 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 rCU3加法器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的中点值:
第一层:
Figure 557123DEST_PATH_IMAGE002
第二层:
Figure 2010105935430100002DEST_PATH_IMAGE003
第三层:
Figure 2010105935430100002DEST_PATH_IMAGE005
Figure 131772DEST_PATH_IMAGE006
Figure 2010105935430100002DEST_PATH_IMAGE007
Figure 321051DEST_PATH_IMAGE008
…………
n层:
Figure 2010105935430100002DEST_PATH_IMAGE009
Figure 481774DEST_PATH_IMAGE010
、…、、…、
然后,将上述中点值连同β(0)、β(1)依变量值t由小到大的顺序储存,作为控制数控机床运行的运行控制数据。
这里,基于单元CU2计算过程的CU2B并行/流水计算过程所获得的各个中点值及β(0)、β(1)的速度采用基于单元CU2计算过程的CU2B并行/流水计算过程计算的, 
单元CU2计算过程是:
将伯恩斯坦多项式7:
Figure 855566DEST_PATH_IMAGE001
 的导数—伯恩斯坦多项式8:
Figure 2010105935430100002DEST_PATH_IMAGE013
中的数据组〈β 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,采用三个T32三倍乘法器4、5、6分别对上述输入的计算结果乘3后输出,获得数据组Ⅰ′:〈B0, B 1, B 2〉,
将B0分别送入输出口B0 l以及CU2加法器6,将B1分别送入CU2加法器6、7,将B2分别送入CU2加法器7、输出口B0 rCU2加法器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 rCU2加法器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的多项式 
Figure 350001DEST_PATH_IMAGE014
                          (1)
恒能表示成(伯恩斯坦多项式)
Figure 2010105935430100002DEST_PATH_IMAGE015
                        (2)
这里
Figure 734539DEST_PATH_IMAGE016
性质2. 若
Figure 2010105935430100002DEST_PATH_IMAGE017
为 
Figure 656227DEST_PATH_IMAGE018
                          (3)
那么有
Figure 2010105935430100002DEST_PATH_IMAGE019
                      (4)
这里
Figure 891162DEST_PATH_IMAGE020
 满足
Figure 2010105935430100002DEST_PATH_IMAGE021
                     (5)
上述性质2称为伯恩斯坦多项式的剖分性质。
鉴于本发明主要关注三次多项式的计算,以下主要考虑三次多项式及其对参数t的一阶导数。 
三次多项式 
                   (6)
经系数变换
Figure 2010105935430100002DEST_PATH_IMAGE023
或者 
Figure 26401DEST_PATH_IMAGE024
即为如下(7)的形式
Figure 932040DEST_PATH_IMAGE001
           (7)
其对参数t的一阶导数
Figure 215123DEST_PATH_IMAGE013
        (8)
    显然,
Figure 2010105935430100002DEST_PATH_IMAGE025
是二次伯恩斯坦多项式。
形如(7)(8)的多项式具有对称性,即 
Figure 395568DEST_PATH_IMAGE026
(8)式中的3(β 1-β 0)、3(β 2-β 1)、3(β 3-β 2)采用T32计算方法计算分别获得B0、B1、B2
二、计算的方法
Figure 152434DEST_PATH_IMAGE017
的计算是CNC插补中点位计算的基础。本发明主要结合一种中分计算方法,给出高速高精计算
Figure 947083DEST_PATH_IMAGE017
的方法。
在(4)中取
Figure DEST_PATH_402301DEST_PATH_IMAGE028
时得到 
Figure DEST_PATH_297883DEST_PATH_IMAGE029
                         (8)
这里
Figure DEST_PATH_274452DEST_PATH_IMAGE030
                         (9)
注意到,如果令
Figure DEST_PATH_777240DEST_PATH_IMAGE031
Figure DEST_PATH_217012DEST_PATH_IMAGE032
那么有
从而
Figure DEST_PATH_114276DEST_PATH_IMAGE035
如果记
Figure DEST_PATH_923618DEST_PATH_IMAGE036
Figure DEST_PATH_505096DEST_PATH_IMAGE037
那么
Figure DEST_PATH_448300DEST_PATH_IMAGE038
上的点集可以通过对
Figure DEST_PATH_407904DEST_PATH_IMAGE039
Figure DEST_PATH_563380DEST_PATH_IMAGE040
的计算得到,即
Figure DEST_PATH_994886DEST_PATH_IMAGE041
                  (10)
由于
Figure DEST_PATH_799504DEST_PATH_IMAGE039
Figure DEST_PATH_180326DEST_PATH_IMAGE040
也是形如(7)的多项式,因此上述计算过程可以递归下去,即通过
Figure DEST_PATH_837529DEST_PATH_IMAGE042
按照(9)计算出
Figure DEST_PATH_303801DEST_PATH_IMAGE043
以及;再将同样的计算过程应用于
Figure DEST_PATH_913226DEST_PATH_IMAGE043
Figure DEST_PATH_65464DEST_PATH_IMAGE044
,依此下去直到达到所需要的精度为止。这样的计算将产生如下结果:
第一次:
第二次:
Figure DEST_PATH_169960DEST_PATH_IMAGE003
Figure DEST_PATH_115438DEST_PATH_IMAGE004
第三次:
Figure DEST_PATH_114224DEST_PATH_IMAGE005
Figure DEST_PATH_648158DEST_PATH_IMAGE007
Figure DEST_PATH_889171DEST_PATH_IMAGE008
…………
n次:
Figure DEST_PATH_805613DEST_PATH_IMAGE009
Figure DEST_PATH_234449DEST_PATH_IMAGE010
、…、
Figure DEST_PATH_377505DEST_PATH_IMAGE011
、…、
Figure DEST_PATH_636755DEST_PATH_IMAGE012
上述从第一到第n次的计算,其第k次都可用一棵深度为n的满二叉树T的第k层来描述,因而整个计算可用T自根结点到全部叶子结点的层次结构来描述。如图18所示的中分计算满二叉树模型。
三、计算的方法
的计算是CNC插补中速度计算的基础。由于
Figure 402553DEST_PATH_IMAGE081
也伯恩斯坦多项式,也具有性质2所描述的剖分,本发明采用与计算点位
Figure 2010105935430100002DEST_PATH_IMAGE083
相同的中分方法计算。鉴于其过程相同,这里不赘述。
  
四、中分数据的有序化方法
前已述及,采用中分计算得到的数据序列不能按次序对应于从起点到终点的点位/速度序列,不能用于插补(绘制)点位/速度曲线。只有将中分计算的数据存储(输出)成满二叉树的中序序列才能称为插补所需要的数据序列。采用下述方法,可将本发明计算的数据按照
Figure 953412DEST_PATH_IMAGE071
从起点到终点的顺序存储(输出),实现中分数据的有序化。
首先需要一个线性存储结构M以存储所计算的数据。假如需要在
Figure 815189DEST_PATH_IMAGE083
(或者
Figure 137848DEST_PATH_IMAGE025
)计算出
Figure 172801DEST_PATH_IMAGE084
个点,那么M应该包含
Figure 130261DEST_PATH_IMAGE084
个存储单元。 
M的存储单元依次编号为1,2,…, ;那么在实施中分计算时按照如下方式存储: 
将(第一层计算的)
Figure 2010105935430100002DEST_PATH_IMAGE085
存储在M的第
Figure 438806DEST_PATH_IMAGE086
个单元里;
将(第二层计算的)分别存储在M的第
Figure 933242DEST_PATH_IMAGE088
Figure 2010105935430100002DEST_PATH_IMAGE089
两个单元里;
…………
将(第k层计算的)
Figure 308990DEST_PATH_IMAGE090
存储在M的第
Figure 2010105935430100002DEST_PATH_IMAGE091
个单元里。
那么,整个计算完毕后,M里就存储了
Figure 699520DEST_PATH_IMAGE071
从起点到终点的依次排列的
Figure 246039DEST_PATH_IMAGE084
个点。 
  
五、计算的精度特征
由(14)式不难看出,经n层计算后,中序数列(13)里两相邻点之差为
Figure DEST_PATH_53489DEST_PATH_IMAGE084
注意到
Figure DEST_PATH_621480DEST_PATH_IMAGE085
是区间上的连续多项式函数,因此存在使得
Figure DEST_PATH_473222DEST_PATH_IMAGE088
  
此亦
Figure DEST_PATH_641641DEST_PATH_IMAGE089
                               (15)
   另一方面,根据本发明计算的特征(参考图1),对应于二叉树第
Figure DEST_PATH_805556DEST_PATH_IMAGE090
层的点,除
Figure DEST_PATH_669738DEST_PATH_IMAGE091
Figure DEST_PATH_280455DEST_PATH_IMAGE092
两个点以外,其余必在第
Figure DEST_PATH_255495DEST_PATH_IMAGE093
层相邻两点
Figure DEST_PATH_643225DEST_PATH_IMAGE094
Figure DEST_PATH_553674DEST_PATH_IMAGE095
之间,且根据满二叉树的父子关系知
Figure DEST_PATH_436278DEST_PATH_IMAGE097
Figure DEST_PATH_365663DEST_PATH_IMAGE098
Figure DEST_PATH_234962DEST_PATH_IMAGE099
的共同父亲,如图19所示意。
考虑到 
Figure DEST_PATH_885518DEST_PATH_IMAGE100
结合(15)知,本发明计算的精度级别为
                                 (16)
这里, m所计算的层数。
上式(16)也是由计算精度控制计算规模的依据。如果要求计算的精度为,那么计算的层数 
Figure 837546DEST_PATH_IMAGE115
 宜为 
Figure 2010105935430100002DEST_PATH_IMAGE116
                             (16)
对于,则
Figure 2010105935430100002DEST_PATH_IMAGE118
。例如,当
Figure 481465DEST_PATH_IMAGE119
时得到 
Figure 2010105935430100002DEST_PATH_IMAGE120
, 当
Figure 430967DEST_PATH_IMAGE121
得到
Figure DEST_PATH_IMAGE122
而当
Figure 267948DEST_PATH_IMAGE123
Figure DEST_PATH_IMAGE124
需要指出的是,这里的数量都是无量纲数。如果以毫米为单位那么
Figure 328308DEST_PATH_IMAGE125
毫米就到了亚纳米级了。 
  
六、计算的速度特征
本发明所给计算方法的速度特征表现在以下几个方面:
1. 根据前述的计算原理可知,本发明的计算在本质上源于经典De Castejlau算法,但是在效率上有改进。例如,对于三次多项式
Figure DEST_PATH_IMAGE126
,按照本发明的计算为
理论上共需要7次加法,1次移位(右移3位)运算;而经典De Castejlau算法需要6次加法,6次乘法,如图3所示。 由于移位与加法运算都是计算机最快的运算,因此本发明的计算具有更高的效率。
2. 本发明的计算过程可以设计制作出专门的硬件计算单元CU(Calculation Unit)来实现。由于硬件具有高速运算的特征,因此本发明的计算效率在CU支持下可极大提高。字长为k的计算机(或处理器)能够在最多30纳秒的时间周期内计算出
Figure DEST_PATH_349504DEST_PATH_IMAGE116
个点。 
3. 本发明的计算可经CU实现并行流水计算(见后文的设计),其效率更高。 
图3所示的 De Castejlau的中分计算模型 
七、、的特殊计算方法
Figure DEST_PATH_21815DEST_PATH_IMAGE119
,将多项式
Figure DEST_PATH_780955DEST_PATH_IMAGE120
、表示成(6)的形式得, 
Figure DEST_PATH_127938DEST_PATH_IMAGE122
于是
Figure DEST_PATH_337257DEST_PATH_IMAGE124
时,
Figure DEST_PATH_948017DEST_PATH_IMAGE125
          (17)
Figure DEST_PATH_327789DEST_PATH_IMAGE126
            (18)
可通过移位与加法组合得到
Figure DEST_PATH_730083DEST_PATH_IMAGE127
Figure DEST_PATH_455026DEST_PATH_IMAGE128
  
由于上述的计算方法是可以用硬件来实现的,而硬件的运行速度是很快的,是瞬间完成计算,这样,就能够实现快速计算数控机床上的切削工件的刀具的运动轨迹的运行控制数据,而且精确度高。
这里,在满足足够运算速度的情况下,尽可能地减少单元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:
Figure DEST_PATH_IMAGE142
通过B3TC的计算过程转换成三次多项式6:
Figure 957434DEST_PATH_IMAGE143
                  
B3TC的计算过程是:
三次伯恩斯坦多项式7中的〈β 0β 1β 2β 3〉作为输入数据组通过以下方式进行运算:
Figure 357323DEST_PATH_IMAGE145
输入后被分转到输出口
Figure 298603DEST_PATH_IMAGE147
B3TC减法器1,
Figure 973298DEST_PATH_IMAGE149
输入后被分转到B3TC减法器1与B3TC减法器2,
Figure 27842DEST_PATH_IMAGE151
输入后被分转到B3TC减法器2与B3TC减法器3,
Figure 146101DEST_PATH_IMAGE153
被输入到B3TC减法器3;B3TC减法器1执行完
Figure 794252DEST_PATH_IMAGE155
后,将结果分别送到送到B3TC三倍乘法器7与B3TC减法器4;B3TC减法器2执行完后将结果分别送到B3TC加法器4与5;B3TC减法器3将结果
Figure 430955DEST_PATH_IMAGE159
送到B3TC减法器5;B3TC减法器4执行计算后,将结果分别送到B3TC三倍乘法器8与B3TC减法器6;B3TC减法器5执行计算
Figure 118212DEST_PATH_IMAGE163
后将结果送B3TC减法器6;B3TC三倍乘法器7输出
Figure 134710DEST_PATH_IMAGE165
到输出口
Figure 288479DEST_PATH_IMAGE167
B3TC三倍乘法器8输出到输出口
Figure 636863DEST_PATH_IMAGE171
B3TC减法器6输出
Figure 457052DEST_PATH_IMAGE173
到输出口
Figure 340694DEST_PATH_IMAGE175
,这样,就获得了三次多项式6中的〈
Figure 470193DEST_PATH_IMAGE147
Figure 124772DEST_PATH_IMAGE167
Figure 171488DEST_PATH_IMAGE171
Figure 581740DEST_PATH_IMAGE175
〉,
通过CU 1/2 计算
Figure DEST_PATH_IMAGE176
的计算过程,其中1/2m是相邻两个变量t0、t1的差值,(其计算原理如上述(17)式,其中m相当于(17)中的σ,
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计算过程是将〈
Figure 882141DEST_PATH_IMAGE177
,t 0 ma 3a 2,a 0〉作为数据输入组通过以下方式进行计算,其中β(t0)是某个中点的值,t0是该中点的值的变量:
Figure 745054DEST_PATH_IMAGE177
输入到RCU3暂存器1、2; m输入送到RCU3暂存器3;t 0送到RCU3暂存器4;a 3a 2,a 0送入F3;RCU3计数器9控制各个单元;在RCU3计数控制器的控制下,实施计算时,RCU3暂存器1、2的数据送入RCU3加法器6,RCU3暂存器3的数据m同时送到F3与RCU3移位器,RCU3移位器计算出
Figure DEST_PATH_IMAGE178
后送RCU3加法器7,RCU3暂存器4的数据同时送RCU3加法器7与F3;RCU3加法器6完成计算后将送到RCU3加法器8,与F3送过来的数据做加法,结果同时输出到输出端O,也送到RCU3暂存器2,准备第二次运算;RCU3加法器将加法结果
Figure DEST_PATH_IMAGE180
RCU3暂存器5准备第二次计算;完成一轮计算后,开始第二轮计算;重复这个过程,直到计数控制器指示计算终止,这样,就获得了相邻两中点值间变量为1/2m的各个点的值〈
Figure 852698DEST_PATH_IMAGE181
〉,
从而获得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 0t 0m输入后分别进入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/2m2送F3加法器13;F3乘法器11将结果3a3t0 2送F3右移位器12,经右移m位后送F3加法器13;F3加法器13完成加法后得到2a2t0(1/2m)+3a3t0(1/2m2+3a3t0 2(1/2m),将结果送F3减法器12;F3减法器12从F3暂存器2里面获取a0与F3加法器13送来的数据作减法最终得到2a2t0(1/2m)+3a3t0(1/2m2+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的计算方式是将形如
Figure DEST_PATH_IMAGE182
的二次伯恩斯坦多项式系数转换为形如
Figure 74731DEST_PATH_IMAGE183
多项式的系数。
的计算过程是: 
Figure 175674DEST_PATH_IMAGE185
输入后被分转到输出口
Figure 734831DEST_PATH_IMAGE187
B2TQ减法器1,
Figure 322938DEST_PATH_IMAGE189
输入后分转到B2TQ减法器1与2,
Figure 699562DEST_PATH_IMAGE191
直接输入到B2TQ减法器2,B2TQ减法器1计算出
Figure 130543DEST_PATH_IMAGE193
后将结果分转到B2TQ二倍乘法器4和B2TQ减法器3;B2TQ减法器2的结果
Figure 634337DEST_PATH_IMAGE195
直接送入B2TQ减法器3,B2TQ二倍乘法器将
Figure DEST_PATH_IMAGE196
乘以2后输出到
Figure DEST_PATH_IMAGE198
B2TQ减法器3计算出
Figure DEST_PATH_IMAGE200
后输出到
通过CU 1/2 计算
Figure 152650DEST_PATH_IMAGE141
的计算过程,其中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计算出
Figure 44382DEST_PATH_IMAGE141
其次:
通过RCU2计算相邻两中点值间变量为1/2m的各个点β′(t0+1/2m)、β′(t0+2/2m)、β′(t0+3/2m)……β′(t0+k/2m)的值,
RCU2计算过程是将〈β′(t0,β′(1/2m),t 0 ,mA 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移位器计算出
Figure 119917DEST_PATH_IMAGE178
后送RCU2加法器7,RCU2暂存器4的数据同时送RCU2加法器7与F2;RCU2加法器6完成计算后将β′(t0,β′(1/2m)送到RCU2加法器8,与F2送过来的数据做加法,结果同时输出到输出端O,也送到RCU2暂存器2,准备第二次运算;RCU2加法器将加法结果
Figure 896243DEST_PATH_IMAGE180
RCU2暂存器5准备第二次计算;完成一轮计算后,开始第二轮计算;重复这个过程,直到RCU2计数控制器指示计算终止,这样,就获得了相邻两中点值间变量为1/2m的各个点的值〈
Figure 317997DEST_PATH_IMAGE203
〉,
从而获得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后结果
Figure 2849DEST_PATH_IMAGE205
送F2减法器6,同时F2暂存器3也将A 1送6,F2减法器6实施减法运算得到
Figure DEST_PATH_IMAGE206
完成计算。
  
上述计算方法所依据的理论如下:
一、
考虑到
Figure 114024DEST_PATH_IMAGE207
Figure DEST_PATH_IMAGE208
可知只要已知
Figure DEST_PATH_IMAGE210
Figure DEST_PATH_IMAGE212
以及d,就能计算出
Figure DEST_PATH_IMAGE216
。特别地如果
Figure 406596DEST_PATH_IMAGE217
,则有
        
Figure DEST_PATH_IMAGE218
           (21)
Figure 968028DEST_PATH_IMAGE219
                   (22)
这里
Figure DEST_PATH_IMAGE220
二、CU 1/2 、CU 1/2 所依据的理论是:
Figure 280804DEST_PATH_IMAGE132
,将多项式
Figure 398933DEST_PATH_IMAGE133
Figure 795279DEST_PATH_IMAGE134
表示成(6)的形式得, 
Figure 121087DEST_PATH_IMAGE135
Figure 111040DEST_PATH_IMAGE136
于是
Figure 891914DEST_PATH_IMAGE137
时,
          (17)
Figure 281886DEST_PATH_IMAGE139
            (18)
可通过移位与加法组合得到
Figure 539561DEST_PATH_IMAGE140
Figure 124126DEST_PATH_IMAGE141
三、
由(21)(22)知,在已知
Figure 370431DEST_PATH_IMAGE221
Figure DEST_PATH_IMAGE222
,借助于CU1/2、CU1/2计算出
Figure 79454DEST_PATH_IMAGE223
Figure DEST_PATH_IMAGE224
。并且该计算过程是一个递推的过程。以计算
Figure 965370DEST_PATH_IMAGE223
为例,由
Figure 353626DEST_PATH_IMAGE225
计算出
Figure 985596DEST_PATH_IMAGE223
后,再经
Figure DEST_PATH_IMAGE226
后,又能由
Figure 732097DEST_PATH_IMAGE223
Figure 308572DEST_PATH_IMAGE176
计算出
Figure 890732DEST_PATH_IMAGE227
。如此下去,计算出一个序列。这个计算过程可设计出相应的计算单元RCU(Recursive Calculation Unit)。同理,也可以由类似的计算单元实现。本发明设计RCU3用于计算
Figure DEST_PATH_IMAGE228
,RCU2用于计算
Figure 150736DEST_PATH_IMAGE081
  
为了减少计算所需要的硬件的数量,设置MA计算过程计算并向各个RCU3计算过程输出, t 0 ,ma 3a 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 ,mA 3 A 1  MA计算过程是将CU 1/2 计算过程、B2TQ计算过程、各个CU2计算过程所对应的t0计算过程和m值的预先设定或者输入组合而成。
  
这里,采用CCU3的计算方法对计算机辅助制造(CAM)系统输入的j轴(多轴加工系统中的j轴)的一组刀位点
Figure 741303DEST_PATH_IMAGE229
以及初始与终止边界条件为
Figure DEST_PATH_IMAGE230
Figure 239543DEST_PATH_IMAGE231
进行插补计算,以便获得刀具以一定的速度沿分段连续的曲线运行并经过各个刀位点
Figure 29644DEST_PATH_IMAGE229
以及初始与终止边界条件为
Figure 721657DEST_PATH_IMAGE230
Figure 114461DEST_PATH_IMAGE231
的插补点,
CCU3的计算方法是三个CU3B或者是CU3B-RCU3组合,负责计算BZ0(t),BZ1(t),[BZ(t)](j)
两个CCU3乘法器1、2,分别对输入数据BZ0(t)、BZ1(t)乘以
Figure DEST_PATH_IMAGE232
Figure 261015DEST_PATH_IMAGE233
一个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轴)一组刀位点
Figure 159701DEST_PATH_IMAGE229
以及初始与终止边界条件为
Figure 791539DEST_PATH_IMAGE230
进行插补计算,以便获得刀具以一定的速度沿分段连续的曲线运行并经过各个刀位点
Figure 444555DEST_PATH_IMAGE229
以及初始与终止边界条件为
Figure 468136DEST_PATH_IMAGE230
Figure 603583DEST_PATH_IMAGE231
的插补点的速度,
CCU2的计算方法是三个CU2B或者是CU2B-RCU2组合,负责计算BZ0 /(t),BZ1 /(t),[BZ/(t)](j)
两个CCU2乘法器1、2,分别对输入数据BZ0 /(t)、BZ1 /(t)乘以
Figure 869348DEST_PATH_IMAGE232
Figure 898484DEST_PATH_IMAGE233
一个CCU2加法器3将分别乘以
Figure 342234DEST_PATH_IMAGE232
Figure 712780DEST_PATH_IMAGE233
的BZ0 /(t)、BZ1 /(t)相加,一个CCU2减法器4将CCU2加法器3的输出结构与[BZ/(t)](j)相加
这里,
Figure 532968DEST_PATH_IMAGE232
是j轴的第i个刀位点,
Figure 416610DEST_PATH_IMAGE233
是j轴的第i+1个刀位点。
  
上述计算方法所依据的理论是:
一、
CNC插补是根据计算机辅助制造(CAM)系统输入的一组刀位点
Figure 14951DEST_PATH_IMAGE229
以及初始与终止边界条件为
Figure 390569DEST_PATH_IMAGE230
,计算出一条刀具运动的轨迹线使得加工的刀具以一定的速度通过每个刀位点。本发明通过设计如下通过
Figure DEST_PATH_IMAGE236
Figure 909854DEST_PATH_IMAGE237
的参数曲线段
Figure DEST_PATH_IMAGE238
实现插补计算。 
  
Figure DEST_PATH_IMAGE240
         (23) 
这里
Figure 317293DEST_PATH_IMAGE234
为速度控制参数。 
不难验证,在
Figure DEST_PATH_IMAGE244
时,有 
  
Figure 666235DEST_PATH_IMAGE245
                              (24)
  
Figure DEST_PATH_IMAGE246
                        (25)
从而分段连续的曲线 
  
Figure 462153DEST_PATH_IMAGE247
                                      (26)
是光滑的且通过全部点
Figure 903761DEST_PATH_IMAGE229
将曲线(23)进行整理得 
  
Figure 785129DEST_PATH_IMAGE249
  
Figure DEST_PATH_IMAGE250
如果记
                     (27)
  
Figure DEST_PATH_IMAGE252
                       (28)
Figure 539251DEST_PATH_IMAGE253
            (29)
那么 
Figure DEST_PATH_IMAGE254
可以写成
                     (30)
对于多坐标加工系统,设
Figure 956643DEST_PATH_IMAGE256
那么
Figure 680010DEST_PATH_IMAGE257
这里
Figure DEST_PATH_IMAGE258
表示
Figure 184941DEST_PATH_IMAGE259
的第j个坐标(分量)。
于是 
Figure DEST_PATH_IMAGE260
二、单坐标插补器CCU3与CCU2的设计
由于
Figure 404570DEST_PATH_IMAGE261
都是形如(7)的多项式,因此可以借助于CU3B、或者CU3-RCU3-CU1/2组合来计算
Figure DEST_PATH_IMAGE262
  
本发明与已有技术相比,具有可高速计算并能产生高精度结果的、适合于以及芯片级并行流水可重构计算的、能满足不断发展的工业需求的优点。
附图说明: 
    图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:
Figure 8333DEST_PATH_IMAGE142
中的数据组〈β 0β 1β 2β 3〉作为输入数据组Ⅰ通过以下方式进行运算,CU3分转器1将β 0送入输出口
Figure DEST_PATH_IMAGE264
以及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 rCU3加法器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的中点值:
第一层:
Figure 706031DEST_PATH_IMAGE048
第二层:
Figure 128102DEST_PATH_IMAGE050
第三层:
Figure 894195DEST_PATH_IMAGE265
Figure DEST_PATH_IMAGE266
Figure 536529DEST_PATH_IMAGE267
…………
n层:
Figure 140685DEST_PATH_IMAGE051
Figure 794127DEST_PATH_IMAGE269
、…、
Figure DEST_PATH_IMAGE270
、…、
Figure 827942DEST_PATH_IMAGE053
然后,将上述中点值连同β(0)、β(1)依变量值t由小到大的顺序储存,作为控制数控机床运行的运行控制数据。
这里层与层之间通过时序控制,数据的每个CU3的输出数据按照前述“第k层第j个输出存储在线性存储结构的第
Figure 460918DEST_PATH_IMAGE271
”的方法进行存储。如果系统的时序周期为q的话,那么完成全部计算的时间为 
例如,若系统的时序周期为3纳秒,则计算1024个数据所需要的时间为27纳秒。
如图3、4、5所示,基于单元CU2计算过程的CU2B并行/流水计算过程所获得的各个中点值及β(0)、β(1)的速度采用基于单元CU2计算过程的CU2B并行/流水计算过程计算的, 
单元CU2计算过程是:
将伯恩斯坦多项式7:
Figure 60526DEST_PATH_IMAGE142
 的导数—伯恩斯坦多项式8:
Figure 356641DEST_PATH_IMAGE273
中的数据组〈β 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 rCU2加法器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 rCU2加法器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由小到大的顺序储存,作为控制数控机床运行速度的运行控制数据。
这里层与层之间通过时序控制,数据的每个CU2的输出数据按照前述“第k层第j个输出存储在线性存储结构的第
Figure 877752DEST_PATH_IMAGE271
”的方法进行存储。 
如图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:
Figure 658626DEST_PATH_IMAGE142
通过B3TC的计算过程转换成三次多项式6:
Figure 299692DEST_PATH_IMAGE143
                  
B3TC的计算过程是:
三次伯恩斯坦多项式7中的〈β 0β 1β 2β 3〉作为输入数据组通过以下方式进行运算:
Figure 547134DEST_PATH_IMAGE145
输入后被分转到输出口
Figure 149016DEST_PATH_IMAGE147
B3TC减法器1,
Figure 306152DEST_PATH_IMAGE149
输入后被分转到B3TC减法器1与B3TC减法器2,
Figure 332883DEST_PATH_IMAGE151
输入后被分转到B3TC减法器2与B3TC减法器3,
Figure 344701DEST_PATH_IMAGE153
被输入到B3TC减法器3;B3TC减法器1执行完后,将结果分别送到送到B3TC三倍乘法器7与B3TC减法器4;B3TC减法器2执行完后将结果分别送到B3TC加法器4与5;B3TC减法器3将结果
Figure 221150DEST_PATH_IMAGE159
送到B3TC减法器5;B3TC减法器4执行计算
Figure 403869DEST_PATH_IMAGE161
后,将结果分别送到B3TC三倍乘法器8与B3TC减法器6;B3TC减法器5执行计算
Figure 636136DEST_PATH_IMAGE163
后将结果送B3TC减法器6;B3TC三倍乘法器7输出
Figure 437870DEST_PATH_IMAGE165
到输出口
Figure 517822DEST_PATH_IMAGE167
B3TC三倍乘法器8输出
Figure 291349DEST_PATH_IMAGE169
到输出口
Figure 964907DEST_PATH_IMAGE171
B3TC减法器6输出
Figure 85179DEST_PATH_IMAGE173
到输出口,这样,就获得了三次多项式6中的〈
Figure 661599DEST_PATH_IMAGE171
Figure 122667DEST_PATH_IMAGE175
〉,
通过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 ma 3a 2,a 0〉作为数据输入组通过以下方式进行计算,其中β(t0)是某个中点的值,t0是该中点的值的变量:
Figure 193894DEST_PATH_IMAGE177
输入到RCU3暂存器1、2; m输入送到RCU3暂存器3;t 0送到RCU3暂存器4;a 3a 2,a 0送入F3;RCU3计数器9控制各个单元;在RCU3计数控制器的控制下,实施计算时,RCU3暂存器1、2的数据送入RCU3加法器6,RCU3暂存器3的数据m同时送到F3与RCU3移位器,RCU3移位器计算出
Figure 257272DEST_PATH_IMAGE178
后送RCU3加法器7,RCU3暂存器4的数据同时送RCU3加法器7与F3;RCU3加法器6完成计算后将
Figure 264542DEST_PATH_IMAGE179
送到RCU3加法器8,与F3送过来的数据做加法,结果同时输出到输出端O,也送到RCU3暂存器2,准备第二次运算;RCU3加法器将加法结果RCU3暂存器5准备第二次计算;完成一轮计算后,开始第二轮计算;重复这个过程,直到计数控制器指示计算终止,这样,就获得了相邻两中点值间变量为1/2m的各个点的值〈
Figure 728070DEST_PATH_IMAGE181
〉,
从而获得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 0t 0m输入后分别进入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/2m2送F3加法器13;F3乘法器11将结果3a3t0 2送F3右移位器12,经右移m位后送F3加法器13;F3加法器13完成加法后得到2a2t0(1/2m)+3a3t0(1/2m2+3a3t0 2(1/2m),将结果送F3减法器12;F3减法器12从F3暂存器2里面获取a0与F3加法器13送来的数据作减法最终得到2a2t0(1/2m)+3a3t0(1/2m2+3a3t0 2(1/2m)- a0的计算结果。
设置MA计算过程计算并向各个RCU3计算过程输出,
Figure 383305DEST_PATH_IMAGE176
t 0 ,ma 3a 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的计算方式是将形如
Figure 827056DEST_PATH_IMAGE182
的二次伯恩斯坦多项式系数转换为形如
Figure 574432DEST_PATH_IMAGE183
多项式的系数。
的计算过程是: 
Figure 112730DEST_PATH_IMAGE185
输入后被分转到输出口B2TQ减法器1,
Figure 611024DEST_PATH_IMAGE189
输入后分转到B2TQ减法器1与2,
Figure 734444DEST_PATH_IMAGE191
直接输入到B2TQ减法器2,B2TQ减法器1计算出
Figure 827165DEST_PATH_IMAGE193
后将结果分转到B2TQ二倍乘法器4和B2TQ减法器3;B2TQ减法器2的结果
Figure 565314DEST_PATH_IMAGE195
直接送入B2TQ减法器3,B2TQ二倍乘法器将
Figure 865714DEST_PATH_IMAGE196
乘以2后输出到
Figure 197470DEST_PATH_IMAGE198
B2TQ减法器3计算出
Figure 110193DEST_PATH_IMAGE200
后输出到
Figure 968428DEST_PATH_IMAGE202
通过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计算出
Figure 993202DEST_PATH_IMAGE141
其次:
通过RCU2计算相邻两中点值间变量为1/2m的各个点β′(t0+1/2m)、β′(t0+2/2m)、
β′(t0+3/2m)……β′(t0+k/2m)的值,
RCU2计算过程是将〈β′(t0,β′(1/2m),t 0 ,mA 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移位器计算出
Figure 552359DEST_PATH_IMAGE178
后送RCU2加法器7,RCU2暂存器4的数据同时送RCU2加法器7与F2;RCU2加法器6完成计算后将β′(t0,β′(1/2m)送到RCU2加法器8,与F2送过来的数据做加法,结果同时输出到输出端O,也送到RCU2暂存器2,准备第二次运算;RCU2加法器将加法结果
Figure 671625DEST_PATH_IMAGE180
RCU2暂存器5准备第二次计算;完成一轮计算后,开始第二轮计算;重复这个过程,直到RCU2计数控制器指示计算终止,这样,就获得了相邻两中点值间变量为1/2m的各个点的值〈
Figure 292923DEST_PATH_IMAGE203
〉,
从而获得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实施乘法运算后将结果
Figure 130429DEST_PATH_IMAGE204
送F2移位器,F2暂存器4也将m送F2移位器4;F2移位器将
Figure 227698DEST_PATH_IMAGE204
右移m后结果送F2减法器6,同时F2暂存器3也将A 1送6,F2减法器6实施减法运算得到
Figure 483416DEST_PATH_IMAGE206
完成计算。
设置MA计算过程计算β′(1/2m),t 0 ,mA 3 A 1  MA计算过程是将CU 1/2 计算过程、B2TQ计算过程、各个CU2计算过程所对应的t0计算过程和m值的预先设定或者输入组合而成。 
如图16所示,采用CCU3的计算方法对计算机辅助制造(CAM)系统输入的j轴(多轴加工系统中的j轴)的一组刀位点
Figure 293371DEST_PATH_IMAGE229
以及初始与终止边界条件为
Figure 288189DEST_PATH_IMAGE231
进行插补计算,以便获得刀具以一定的速度沿分段连续的曲线运行并经过各个刀位点
Figure 741036DEST_PATH_IMAGE229
以及初始与终止边界条件为
Figure 287555DEST_PATH_IMAGE230
Figure 726626DEST_PATH_IMAGE231
的插补点, 
CCU3的计算方法是三个CU3B或者是CU3B-RCU3组合,负责计算BZ0(t),BZ1(t),[BZ(t)](j)
两个CCU3乘法器1、2,分别对输入数据BZ0(t)、BZ1(t)乘以
Figure 422794DEST_PATH_IMAGE232
Figure 797274DEST_PATH_IMAGE233
一个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轴)一组刀位点
Figure 323119DEST_PATH_IMAGE229
以及初始与终止边界条件为
Figure 391570DEST_PATH_IMAGE230
Figure 687684DEST_PATH_IMAGE231
进行插补计算,以便获得刀具以一定的速度沿分段连续的曲线运行并经过各个刀位点
Figure 536691DEST_PATH_IMAGE229
以及初始与终止边界条件为
Figure 989669DEST_PATH_IMAGE230
Figure 630735DEST_PATH_IMAGE231
的插补点的速度, 
CCU2的计算方法是三个CU2B或者是CU2B-RCU2组合,负责计算BZ0 /(t),BZ1 /(t),[BZ/(t)](j)
两个CCU2乘法器1、2,分别对输入数据BZ0 /(t)、BZ1 /(t)乘以
Figure 878177DEST_PATH_IMAGE232
Figure 214480DEST_PATH_IMAGE233
一个CCU2加法器3将分别乘以
Figure 422214DEST_PATH_IMAGE232
Figure 199677DEST_PATH_IMAGE233
的BZ0 /(t)、BZ1 /(t)相加,一个CCU2减法器4将CCU2加法器3的输出结构与[BZ/(t)](j)相加
这里,
Figure 211496DEST_PATH_IMAGE232
是j轴的第i个刀位点,
Figure 956467DEST_PATH_IMAGE233
是j轴的第i+1个刀位点。

Claims (10)

1.一种CNC插补的一种并行流水计算方法,其特征在于包括基于单元CU3计算过程的CU3B并行/流水计算过程,
单元CU3计算过程是:
将伯恩斯坦多项式7:                                                
Figure 121341DEST_PATH_IMAGE001
中的数据组〈β 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 rCU3加法器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的中点值:
第一层:
Figure 429963DEST_PATH_IMAGE002
第二层:
第三层:
Figure 184795DEST_PATH_IMAGE005
Figure 613503DEST_PATH_IMAGE006
Figure 953479DEST_PATH_IMAGE007
…………
n层:
Figure 66109DEST_PATH_IMAGE009
、…、
Figure 358736DEST_PATH_IMAGE011
、…、
Figure 563452DEST_PATH_IMAGE012
然后,将上述中点值连同β(0)、β(1)依变量值t由小到大的顺序储存,作为控制数控机床运行的运行控制数据。
2.根据权利要求1所述的CNC插补的一种并行流水计算方法,其特征在于层与层之间通过时序控制,数据的每个CU3的输出数据按照前述“第k层第j个输出存储在线性存储结构的第
Figure 447838DEST_PATH_IMAGE013
”的方法进行存储。
3.根据权利要求1所述的CNC插补的一种并行流水计算方法,其特征在于基于单元CU2计算过程的CU2B并行/流水计算过程所获得的各个中点值及β(0)、β(1)的速度采用基于单元CU2计算过程的CU2B并行/流水计算过程计算的,
单元CU2计算过程是:
将伯恩斯坦多项式7:
Figure 585559DEST_PATH_IMAGE001
 的导数—伯恩斯坦多项式8:
Figure 765873DEST_PATH_IMAGE014
中的数据组〈β 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,采用三个T32三倍乘法器4、5、6分别对上述输入的计算结果乘3后输出,获得数据组Ⅰ′:〈B0, B 1, B 2〉,
将B0分别送入输出口B0 l以及CU2加法器6,将B1分别送入CU2加法器6、7,将B2分别送入CU2加法器7、输出口B0 rCU2加法器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 rCU2加法器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:
Figure 929318DEST_PATH_IMAGE001
通过B3TC的计算过程转换成三次多项式6:
Figure 141119DEST_PATH_IMAGE015
                  
B3TC的计算过程是:
三次伯恩斯坦多项式7中的〈β 0β 1β 2β 3〉作为输入数据组通过以下方式进行运算:
Figure 774226DEST_PATH_IMAGE016
输入后被分转到输出口
Figure 202802DEST_PATH_IMAGE017
B3TC减法器1,
Figure 212346DEST_PATH_IMAGE018
输入后被分转到B3TC减法器1与B3TC减法器2,
Figure 59079DEST_PATH_IMAGE019
输入后被分转到B3TC减法器2与B3TC减法器3,
Figure 357030DEST_PATH_IMAGE020
被输入到B3TC减法器3;B3TC减法器1执行完后,将结果分别送到送到B3TC三倍乘法器7与B3TC减法器4;B3TC减法器2执行完
Figure 102449DEST_PATH_IMAGE022
后将结果分别送到B3TC加法器4与5;B3TC减法器3将结果
Figure 521798DEST_PATH_IMAGE023
送到B3TC减法器5;B3TC减法器4执行计算
Figure 762286DEST_PATH_IMAGE024
后,将结果分别送到B3TC三倍乘法器8与B3TC减法器6;B3TC减法器5执行计算
Figure 181766DEST_PATH_IMAGE025
后将结果送B3TC减法器6;B3TC三倍乘法器7输出到输出口
Figure 574012DEST_PATH_IMAGE027
B3TC三倍乘法器8输出到输出口
Figure 892178DEST_PATH_IMAGE029
B3TC减法器6输出
Figure 765325DEST_PATH_IMAGE030
到输出口
Figure 441157DEST_PATH_IMAGE031
,这样,就获得了三次多项式6中的〈
Figure 23448DEST_PATH_IMAGE017
Figure 327314DEST_PATH_IMAGE029
Figure 123232DEST_PATH_IMAGE031
〉,
通过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将输入数据右移
Figure 210323DEST_PATH_IMAGE033
位得到(β 3-3β 2+3β 1-β 0)/2后将结果送入CU 1/2 加法器12,CU 1/2 可变移位器10将输入数据右移
Figure 707163DEST_PATH_IMAGE034
得到结果3(β 2-2β 1+β 0)/2后也送入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)/2+3(β 2-2β 1+β 0)/2后结果送CU 1/2 加法器14,CU 1/2 加法器13计算出3(β 1-β 0)/2σβ 0后结果也送CU 1/2 加法器14,最后由加法器14计算出
Figure 501255DEST_PATH_IMAGE032
其次:
通过RCU3计算相邻两中点值间变量为1/2m的各个点
β(t0+1/2m)、β(t0+2/2m)、β(t0+3/2m)……β(t0+k/2m)的值,
RCU3计算过程是将〈
Figure 604340DEST_PATH_IMAGE036
,t 0 ma 3a 2,a 0〉作为数据输入组通过以下方式进行计算,其中β(t0)是某个中点的值,t0是该中点的值的变量:输入到RCU3暂存器1、2; m输入送到RCU3暂存器3;t 0送到RCU3暂存器4;a 3a 2,a 0送入F3;RCU3计数器9控制各个单元;在RCU3计数控制器的控制下,实施计算时,RCU3暂存器1、2的数据送入RCU3加法器6,RCU3暂存器3的数据m同时送到F3与RCU3移位器,RCU3移位器计算出
Figure 127911DEST_PATH_IMAGE037
后送RCU3加法器7,RCU3暂存器4的数据同时送RCU3加法器7与F3;RCU3加法器6完成计算后将
Figure 439551DEST_PATH_IMAGE038
送到RCU3加法器8,与F3送过来的数据做加法,结果同时输出到输出端O,也送到RCU3暂存器2,准备第二次运算;RCU3加法器将加法结果RCU3暂存器5准备第二次计算;完成一轮计算后,开始第二轮计算;重复这个过程,直到计数控制器指示计算终止,这样,就获得了相邻两中点值间变量为1/2m的各个点的值〈
Figure 337416DEST_PATH_IMAGE040
〉,
从而获得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 0t 0m输入后分别进入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/2m2送F3加法器13;F3乘法器11将结果3a3t0 2送F3右移位器12,经右移m位后送F3加法器13;F3加法器13完成加法后得到2a2t0(1/2m)+3a3t0(1/2m2+3a3t0 2(1/2m),将结果送F3减法器12;F3减法器12从F3暂存器2里面获取a0与F3加法器13送来的数据作减法最终得到2a2t0(1/2m)+3a3t0(1/2m2+3a3t0 2(1/2m)- a0的计算结果。
6.根据权利要求5所述的CNC插补的一种并行流水计算方法,其特征在于设置MA计算过程计算并向各个RCU3计算过程输出,
Figure 211700DEST_PATH_IMAGE032
t 0 ,ma 3a 2,a 0 MA计算过程是将CU 1/2 计算过程、B3TC计算过程、各个CU3计算过程所对应的t0计算过程和m的值的预先设定或者输入组合而成。
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的计算方式是将形如
Figure 946438DEST_PATH_IMAGE041
的二次伯恩斯坦多项式系数转换为形如
Figure 712531DEST_PATH_IMAGE042
多项式的系数的计算过程是:
Figure 89286DEST_PATH_IMAGE043
输入后被分转到输出口B2TQ减法器1,
Figure 723715DEST_PATH_IMAGE045
输入后分转到B2TQ减法器1与2,直接输入到B2TQ减法器2,B2TQ减法器1计算出
Figure 469135DEST_PATH_IMAGE047
后将结果分转到B2TQ二倍乘法器4和B2TQ减法器3;B2TQ减法器2的结果
Figure 550967DEST_PATH_IMAGE048
直接送入B2TQ减法器3,B2TQ二倍乘法器将
Figure 627507DEST_PATH_IMAGE047
乘以2后输出到
Figure 679777DEST_PATH_IMAGE049
B2TQ减法器3计算出
Figure 913181DEST_PATH_IMAGE050
后输出到
Figure 101717DEST_PATH_IMAGE051
通过CU 1/2 计算
Figure 349158DEST_PATH_IMAGE052
的计算过程,其中1/2m是相邻两个变量t0、t1的差值,
CU 1/2 计算过程是将〈B 0B 1B 2σ〉作为数据输入组通过以下方式进行计算:输入数据
Figure 639457DEST_PATH_IMAGE053
被送入CU 1/2 减法器1,被分别送入CU 1/2 减法器1、2,
Figure 939168DEST_PATH_IMAGE055
被分别送入CU 1/2 减法器2、3,
Figure 137937DEST_PATH_IMAGE056
被分别送入CU 1/2 减法器3、CU 1/2 加法器13,CU 1/2 减法器1、2、3分别计算
Figure 922363DEST_PATH_IMAGE058
Figure 85491DEST_PATH_IMAGE059
,其中CU 1/2 减法器1的结果
Figure 471473DEST_PATH_IMAGE057
送到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的结果
Figure 585426DEST_PATH_IMAGE060
送到CU 1/2 减法器6,CU 1/2 减法器5的结果
Figure 96304DEST_PATH_IMAGE061
分别送到CU 1/2 减法器6与CU 1/2 二倍乘法器7,CU 1/2 二倍乘法器7将输入数据
Figure 832179DEST_PATH_IMAGE061
放大2倍后送到CU 1/2 可变移位器10,CU 1/2 减法器6计算出
Figure 686871DEST_PATH_IMAGE062
后将结果送到CU 1/2 可变移位器9,CU 1/2 移位器9将输入数据右移
Figure 762274DEST_PATH_IMAGE033
位得到后将结果送入CU 1/2 加法器12,CU 1/2 可变移位器10将输入数据右移
Figure 320087DEST_PATH_IMAGE034
得到结果后也送入CU 1/2 加法器12,加法器12计算出
Figure 737741DEST_PATH_IMAGE063
Figure 636427DEST_PATH_IMAGE064
后结果送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 ,mA 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移位器计算出
Figure 808969DEST_PATH_IMAGE037
后送RCU2加法器7,RCU2暂存器4的数据同时送RCU2加法器7与F2;RCU2加法器6完成计算后将β′(t0,β′(1/2m)送到RCU2加法器8,与F2送过来的数据做加法,结果同时输出到输出端O,也送到RCU2暂存器2,准备第二次运算;RCU2加法器将加法结果
Figure 921281DEST_PATH_IMAGE039
RCU2暂存器5准备第二次计算;完成一轮计算后,开始第二轮计算;重复这个过程,直到RCU2计数控制器指示计算终止,这样,就获得了相邻两中点值间变量为1/2m的各个点的值〈
Figure 194131DEST_PATH_IMAGE065
〉,
从而获得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实施乘法运算后将结果
Figure 139696DEST_PATH_IMAGE066
送F2移位器,F2暂存器4也将m送F2移位器4;F2移位器将
Figure 687352DEST_PATH_IMAGE066
右移m后结果
Figure 123013DEST_PATH_IMAGE067
送F2减法器6,同时F2暂存器3也将A 1送6,F2减法器6实施减法运算得到
Figure 612769DEST_PATH_IMAGE068
完成计算。
8.根据权利要求7所述的CNC插补的一种并行流水计算方法,其特征在于设置MA计算过程计算β′(1/2m),t 0 ,mA 3 A 1  MA计算过程是将CU 1/2 计算过程、B2TQ计算过程、各个CU2计算过程所对应的t0计算过程和m值的预先设定或者输入组合而成。
9.根据权利要求5所述的CNC插补的一种并行流水计算方法,其特征在于采用CCU3的计算方法对计算机辅助制造(CAM)系统输入的j轴(多轴加工系统中的j轴)的一组刀位点
Figure 32249DEST_PATH_IMAGE069
以及初始与终止边界条件为
Figure 383596DEST_PATH_IMAGE070
,进行插补计算,以便获得刀具以一定的速度沿分段连续的曲线运行并经过各个刀位点以及初始与终止边界条件为
Figure 211503DEST_PATH_IMAGE070
,
Figure 350229DEST_PATH_IMAGE071
的插补点,
CCU3的计算方法是三个CU3B或者是CU3B-RCU3组合,负责计算BZ0(t),BZ1(t),[BZ(t)](j)
两个CCU3乘法器1、2,分别对输入数据BZ0(t)、BZ1(t)乘以
Figure 291640DEST_PATH_IMAGE072
一个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
这里
Figure 484648DEST_PATH_IMAGE074
为速度控制参数。
10.根据权利要求7所述的CNC插补的一种并行流水计算方法,其特征在于采用CCU2的计算方法对计算机辅助制造(CAM)系统输入的j轴(多轴加工系统中的j轴)一组刀位点
Figure 177797DEST_PATH_IMAGE069
以及初始与终止边界条件为
Figure 176977DEST_PATH_IMAGE070
,
Figure 179437DEST_PATH_IMAGE071
进行插补计算,以便获得刀具以一定的速度沿分段连续的曲线运行并经过各个刀位点
Figure 529647DEST_PATH_IMAGE069
以及初始与终止边界条件为,的插补点的速度,
CCU2的计算方法是三个CU2B或者是CU2B-RCU2组合,负责计算BZ0 /(t),BZ1 /(t),[BZ/(t)](j)
两个CCU2乘法器1、2,分别对输入数据BZ0 /(t)、BZ1 /(t)乘以
Figure 314522DEST_PATH_IMAGE072
Figure 683186DEST_PATH_IMAGE073
一个CCU2加法器3将分别乘以的BZ0 /(t)、BZ1 /(t)相加,一个CCU2减法器4将CCU2加法器3的输出结构与[BZ/(t)](j)相加
这里,
Figure 36173DEST_PATH_IMAGE072
是j轴的第i个刀位点,
Figure 111708DEST_PATH_IMAGE073
是j轴的第i+1个刀位点。
CN201010593543.0A 2010-12-17 2010-12-17 Cnc插补的一种并行流水计算方法 Expired - Fee Related CN102073474B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103513613A (zh) * 2013-09-30 2014-01-15 佛山科学技术学院 高速cnc插补计算方法

Citations (3)

* Cited by examiner, † Cited by third party
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 上海交通大学 相贯线切割机可重构数控系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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