运动控制数据高速协同处理系统及方法与流程

文档序号:33319302发布日期:2023-03-03 19:16阅读:37来源:国知局
运动控制数据高速协同处理系统及方法与流程

1.本发明涉及半导体技术领域,特别涉及一种运动控制数据高速协同处理系统及方法。


背景技术:

2.光刻机是ic制造的关键装备,随着光刻机及其光刻工艺技术的发展与进步,光刻机工件台控制系统对并行计算、复杂运动控制算法以及实时性控制等要求越来越高。而对于光刻机工件台的运动控制数据处理来说,一般仅使用dsp(digital signal processor,数字信号处理器)作为运动控制计算处理器,造成负担重耗时长,运动控制数据处理速度低,影响伺服周期和控制精度。
3.例如,现有技术提出了一种高速大数据量信息处理系统,通过多核dsp配合fpga(field-programmable gate array,现场可编程门阵列)的组合方案,多核dsp作为数据处理核心模块,fpga作为编解码显示控制模块,实现了imu(inertial measurement unit,惯性测量单元)/gps(全球定位系统)/星光三组合导航算法。但是对于高端光刻设备来说,仅仅使用dsp进行计算12500m/min的数据处理能力,不能满足伺服周期的需求。
4.再例如,现有技术还提出了一种基于dsp和fpga的嵌入式导航信息处理器,通过dsp和fpga组合构成嵌入式导航处理器,实现导航数据的采集、处理、输出和其他控制。但是该方案dsp与fpga之间仅有一个半双工emif接口,同时挂载flash(闪存)、sdram(synchronous dynamic ram,同步动态随机存储器)和fpga,导致dsp与fpga之间的数据交互速率受限,并且导航数据处理全部由dps负责,fpga仅负责数据通道,没有充分发挥计算性。
5.因此,急需一种用于光刻设备的运动控制数据高速协同处理系统及方法,来提高运动控制数据处理速度,降低dsp计算量,缩短伺服周期。


技术实现要素:

6.本发明的目的在于提供一种运动控制数据高速协同处理系统及方法,以降低dsp模块计算量,缩短计算耗时,缩短伺服周期,进而提高运动控制数据处理速度。
7.为了实现上述目的以及其他相关目的,本发明提供一种运动控制数据高速协同处理系统,包括:主控卡、运动控制卡、光纤接口卡、传感器采集卡以及机箱,其中,
8.所述机箱设有背板,所述主控卡、运动控制卡以及光纤接口卡安插在所述背板上,且通过所述背板总线互连;
9.所述主控卡,负责整个系统的控制调度;
10.所述传感器采集卡,将传感器数据转换为光纤信号,并将所述光纤信号通过通信光纤传输至所述光纤接口卡;
11.所述光纤接口卡,将所述传感器采集卡的光纤信号通过内同步转发给所述运动控制卡;
12.所述运动控制卡,根据所述光纤接口卡转发的光纤信号进行处理和计算,获取伺服控制数据;
13.所述传感器采集卡、光纤接口卡以及运动控制卡中均设置有fpga模块,且在所述传感器采集卡、光纤接口卡或者运动控制卡的fpga模块中设置前端计算模块,所述前端计算模块用于前端计算,获取前端计算数据。
14.可选的,在所述的运动控制数据高速协同处理系统中,所述系统还包括数据采集卡,其用于采集上一伺服周期的伺服控制数据,并将其转换为光纤信号,且将该光纤信号通过通信光纤传输至所述光纤接口卡。
15.可选的,在所述的运动控制数据高速协同处理系统中,所述传感器采集卡包括adc模数转换模块、第一fpga模块以及光纤通信接口模块,其中,
16.所述adc模数转换模块将传感器数据转化为数字信号;
17.所述第一fpga模块分别与所述adc模块以及光纤通信接口模块连接,其用作数据通道,将所述数字信号传输至所述光纤通信接口;
18.所述光纤通信接口将所述数字信号转换成光纤信号,并将所述光纤信号传输至所述光纤接口卡。
19.可选的,在所述的运动控制数据高速协同处理系统中,所述光纤接口卡包括光纤通信模块以及第二fpga模块,其中,
20.所述光纤通信模块接收所述传感器采集卡或者所述数据采集卡传输的所述光纤信号;
21.所述第二fpga模块与所述光纤通信模块连接,用作数据通道。
22.可选的,在所述的运动控制数据高速协同处理系统中,所述光纤接口卡还包括内同步总线模块,其设置在所述背板上,所述内同步总线模块接收其他机箱的数据信号,并实现各机箱的伺服周期的同步控制。
23.可选的,在所述的运动控制数据高速协同处理系统中,所述运动控制卡包括时钟模块、第三fpga模块、dsp模块以及程序固化模块,其中,
24.所述第三fpga模块通过vme接口模块与背板总线连接,所述第三fpga模块对所述光纤接口卡转发的光纤信号进行处理,并将处理后的数据传输至所述dsp模块;
25.所述dsp模块与所述第三fpga模块连接,所述dsp模块通过pcie接口模块获取所述第三fpga模块处理后的数据,且根据系统配置,对所述第三fpga模块传输的处理后的数据进行滤波和控制算法的计算,获取伺服控制数据;所述dsp模块还通过emif接口模块将获取的伺服控制数据传输至所述第三fpga模块;
26.所述时钟模块与所述第三fpga模块连接,为所述第三fpga模块提供时钟信号;
27.所述程序固化模块与所述第三fpga模块连接,其由flash芯片构成,用于存储所述第三fpga模块和dsp模块的运行程序,上电后会自动加载。
28.可选的,在所述的运动控制数据高速协同处理系统中,所述第三fpga模块包括:数据输入模块以及数据缓存模块,其中,
29.所述数据输入模块接收所述光纤接口卡转发的光纤信号,并对所述光纤信号进行转换、合成和解析;
30.所述数据缓存模块由所述第三fpga模块内部的块随机存储器组成,映射pcie接口
模块的寄存器空间,供所述dsp模块通过所述pcie接口模块读取数据。
31.可选的,在所述的运动控制数据高速协同处理系统中,所述数据输入模块包括qsfp光模块、fpga串并转换ip核以及协议解析子模块,其中,
32.所述qsfp光模块用于将所述光纤接口卡转发的光纤信号转换为高速差分串行信号,供所述fpga串并转换ip核处理;
33.所述fpga串并转换ip核用于对所述高速差分串行信号进行采样、对齐、解码,组合成并行数据;
34.所述协议解析子模块根据通信协议帧格式,解析出所述并行数据的帧的类型和具体数据。
35.可选的,在所述的运动控制数据高速协同处理系统中,所述前端计算模块包括参数缓存寄存器、数据缓存寄存器、线性校正子模块以及脉动矩阵子模块,其中,
36.所述参数缓存寄存器用于寄存所述数据采集卡或者传感器采集卡获取的初始输入数据,所述传感器数据或者上一伺服周期的伺服控制数据作为所述初始输入数据;
37.所述线性校正子模块,对所述初始输入数据进行线性校正;
38.所述脉动矩阵子模块,对校正后的初始输入数据进行预处理,获取前端计算数据;
39.所述数据缓存寄存器用于缓存所述前端计算数据。
40.可选的,在所述的运动控制数据高速协同处理系统中,所述脉动矩阵子模块由若干个pe乘累加计算单元构成,且每个所述pe乘累加计算单元包含浮点乘法器、浮点加法器以延时寄存器,其中,
41.所述浮点乘法器用于浮点数乘法运算;
42.所述浮点加法器用于浮点数加法运算;
43.所述延时寄存器用于时序匹配。
44.可选的,在所述的运动控制数据高速协同处理系统中,在所述前端计算模块设置在所述运动控制板卡的fpga模块中时,所述前端计算模块分别与所述数据输入模块和数据缓存模块连接,且所述前端计算模块根据所述数据输入模块传输的数据进行计算获取前端计算数据,并将该前端计算数据传输至所述数据缓存模块,所述dsp模块通过所述pcie接口模块读取所述前端计算数据,并对所述前端计算数据进行滤波和控制算法的计算,获取伺服控制数据。
45.可选的,在所述的运动控制数据高速协同处理系统中,所述主控卡采用powerpc板卡,运行vxworks操作系统。
46.为了实现上述目的以及其他相关目的,本发明还提供了一种运动控制数据高速协同处理方法,包括以下步骤:
47.采用数据采集卡或者传感器采集卡获取初始输入数据,并将其转换为光纤信号;
48.通过光纤接口卡接收所述光纤信号,并将所述光纤信号通过内同步转发给所述运动控制卡;
49.根据所述光纤接口卡传输的数据进行处理和计算,获取伺服控制数据;
50.在获取伺服控制数据之前还包括前端计算步骤,获取前端计算数据,且所述前端计算步骤在所述传感器采集卡、光纤接口卡或者运动控制卡的fpga模块中实现。
51.可选的,在所述的运动控制数据高速协同处理方法中,所述前端计算步骤包括:
52.通过线性校正子模块对所述初始输入数据进行线性校正;
53.通过脉动矩阵子模块对校正后的初始输入数据进行预处理,获取前端计算数据。
54.可选的,在所述的运动控制数据高速协同处理方法中,所述初始输入数据的数据格式为无符号的整数矩阵x,通过线性校正子模块对所述初始输入数据进行线性校正的步骤包括:
55.将x
ij
转化为浮点数x
ij”,其中x
ij
为x矩阵中第i行第j列的数据,且i,j=1,2,3;
56.系统配置参数k,计算浮点数乘法k
×
x
ij”;
57.系统配置参数m,计算浮点数加法kx
ij”+m。
58.可选的,在所述的运动控制数据高速协同处理方法中,通过脉动矩阵子模块对校正后的初始输入数据进行预处理的步骤包括:系统配置参数a,计算矩阵乘法z=y
×
a,其中z为前端计算结果,y=kx
ij”+m。
59.可选的,在所述的运动控制数据高速协同处理方法中,所述初始输入数据的数据格式为无符号的整数矩阵x,通过线性校正子模块对所述初始输入数据进行线性校正的步骤包括:
60.对所述整数矩阵x进行量化误差的估算,确定定点数的位数;
61.系统配置参数k',计算定点数乘法k'
×
x
ij
',其中x
ij
'为x矩阵中第i行第j列的数据对应的定点数;
62.系统配置参数m',计算定点数加法k'x
ij
'+m'。
63.可选的,在所述的运动控制数据高速协同处理方法中,通过脉动矩阵子模块对校正后的初始输入数据进行预处理的步骤包括:
64.系统配置参数α',计算矩阵乘法z'=y'
×
α',其中z'为前端计算结果,y'=k'x
ij
'+m';
65.将所述计算结果z'转化为浮点数。
66.可选的,在所述的运动控制数据高速协同处理方法中,所述前端计算步骤包括:
67.系统配置参数a、k和m,计算z=x
×
p1+p2,其中x为初始输入数据的无符号的整数矩阵;p1=kα;p2=m
×
α,m为每个元素均为m的矩阵;z为前端计算结果。
68.与现有技术相比,本发明的技术方案具有以下有益效果:
69.本发明提出的运动控制数据高速协同处理系统,通过采用fpga模块与dsp模块协同计算的方式,fpga模块负责前端数据处理和矩阵运算,dsp模块负责运动控制核心算法,降低了dsp模块计算量,缩短计算耗时,缩短了伺服周期,提高了运动控制数据的计算速度,可满足光刻设备的指标需求。
附图说明
70.图1是本发明一实施例的运动控制数据高速协同处理系统的结构示意图;
71.图2是本发明一实施例的运动控制卡的结构示意图;
72.图3是本发明一实施例的脉动矩阵结构示意图;
73.图4是本发明一实施例的pe乘累加计算单元结构示意图;
74.图5是本发明一实施例的运动控制系统数据流图。
具体实施方式
75.以下结合附图和具体实施例对本发明提出的运动控制数据高速协同处理系统及方法作进一步详细说明。根据下面说明书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。
76.参阅图1,本发明提供了一种运动控制数据高速协同处理系统,包括:主控卡、运动控制卡、光纤接口卡、传感器采集卡以及机箱(图中未示出)。
77.所述机箱上设置有背板,所述主控卡、运动控制卡以及光纤接口卡安插在所述背板上。所述背板可以为多槽位的背板,例如所述机箱采用21槽位的背板,使用标准6u板卡。
78.所述背板上还设置有背板总线,所述主控卡、运动控制卡以及光纤接口卡通过所述背板总线互连。所述背板总线优选为vme总线。
79.所述主控卡采用powerpc(performance optimization withenhanced enhanced risc-performance computing,精简指令集架构的中央处理器)板卡,运行vxworks操作系统,用于负责整个系统的控制调度。所述主控卡通过tcp/ip网络与上位机连接,用于对运动控制卡、光纤接口卡、数据采集卡以及传感器采集卡进行参数配置和指令发送。所述主控卡通过背板总线,例如vme总线与设备板卡进行通信。
80.所述传感器采集卡将所述传感器数据转换为光纤信号,并将所述光纤信号通过通信光纤传输至所述光纤接口卡。所述传感器数据为新输入数据。
81.所述传感器采集卡包括adc模数转换模块、第一fpga模块和光纤通信接口模块。其中,所述adc模数转换模块将所述传感器数据转化为数字信号;所述第一fpga模块分别与所述adc模块以及光纤通信接口模块连接,其用作数据通道,将所述数字信号传输至所述光纤通信接口。所述第一fpga模块采用fpga芯片,例如型号为ep2c70f896c6的fpga芯片。所述光纤通信接口具有光模块,可以将所述数字信号转换成光纤信号,并将所述光纤信号传输至所述光纤接口卡。
82.所述运动控制数据高速协同处理系统还可以包括数据采集卡,其用于采集上一伺服周期的伺服控制数据,并将其转换为光纤信号,且将该光纤信号通过通信光纤传输至所述光纤接口卡。所述数据采集卡获取的上一伺服周期的伺服控制数据或者所述传感器采集卡获取的传感器数据作为初始输入数据。
83.在所述运动控制数据高速协同处理系统包括数据采集卡时,所述光纤接口卡将所述传感器采集卡或者数据采集卡的光纤信号通过内同步转发给所述运动控制卡。所述光纤接口卡的数量优选为1~6。所述光纤接口卡包括光纤通信模块和第二fpga模块,其中,所述光纤通信模块接收所述传感器采集卡或者所述数据采集卡传输的所述光纤信号;所述第二fpga模块与所述光纤通信模块连接,用作数据通道,将所述光纤通信模块传输的数据发送至所述运动控制卡。所述第二fpga模块采用fpga芯片,例如型号为ep2c70f896c6的fpga芯片。
84.所述光纤接口卡还设置有vme总线控制模块,且设置在所述背板上,且通过所述vme总线控制模块,可以实现所述光纤接口卡与本机箱的的其他设备板卡的通信,例如本机箱的主控卡下发的光纤接口卡的参数配置,通过vme总线传输至所述光纤接口卡。
85.所述光纤接口卡还设置有内同步总线模块,其设置在所述背板上,所述内同步总
线模块接收其他机箱的数据信号,例如,通过外同步总线传输来的其他机箱的数据信号。所述内同步总线模块将其他机箱的数据信号在本机箱内进行同步,以实现各机箱的伺服周期的同步控制。
86.所述运动控制卡作为核心运算板卡,其根据所述光纤接口卡转发的光纤信号进行处理和计算,获取伺服控制数据。所述运动控制板卡的数量优选为1~6。参阅图2,所述运动控制卡包括时钟模块、第三fpga模块、dsp模块以及程序固化模块。其中,所述第三fpga模块通过vme接口模块与背板总线连接,
87.所述第三fpga模块对所述光纤接口卡转发的光纤信号进行处理,并将处理后的数据传输至所述dsp模块。所述第三fpga模块采用fpga芯片,例如型号为xc7k325tffg900-2的fpga芯片。所述dsp模块采用的dsp芯片,例如型号为tms320c6678的dsp芯片。
88.所述第三fpga模块包括:数据输入模块以及数据缓存模块。其中,所述数据输入模块接收所述光纤接口卡转发的光纤信号,即外部系统传输的光纤信号,并对所述光纤信号进行转换、合成和解析。所述数据输入模块包括qsfp光模块、fpga串并转换ip核以及协议解析子模块。所述光模块的数量至少为一个,优选包括两个qsfp光模块。所述qsfp光模块用于将所述光纤接口卡转发的光纤信号转换为高速差分串行信号,供所述fpga串并转换ip核处理。例如将8路光纤信号转换为8路高速差分串行信号。所述fpga串并转换ip核用于对所述高速差分串行信号进行采样、对齐、解码,组合成并行数据。所述协议解析子模块根据通信协议帧格式,解析出所述并行数据的帧的类型和具体数据,并将解析数据发送至所述数据缓存模块。
89.所述数据缓存模块由所述第三fpga模块内部的块随机存储器(block ram)组成,映射pcie接口模块的寄存器空间,供所述dsp模块通过所述pcie接口模块读取数据。
90.所述dsp模块与所述第三fpga模块连接,所述dsp模块通过pcie接口模块获取所述第三fpga模块处理后的数据,且根据系统配置,对所述第三fpga模块传输的处理后的数据进行滤波和控制算法的计算,获取伺服控制数据,并通过emif接口模块将计算结果输出给所述第三fpga模块。所述dsp模块对所述第三fpga处理后的数据进行滤波和控制算法的计算主要是通过dsp模块中的核心计算模块实现的。
91.所述第三fpga模块和dsp模块内部还设置有pcie接口模块,所述pcie接口模块基于pcie通信协议,用于所述第三fpga模块处理后的数据传输到dsp模块的内存。
92.所述第三fpga模块和dsp模块内部还设置有emif接口模块,所述emif接口模块基于emif标准接口,用于dsp模块将核心计算模块计算结果输出给所述第三fpga模块。
93.所述第三fpga模块内部还设置有vme总线控制模块,所述vme总线控制模块基于vme64总线标准,通过触发vme中断方式,指示上位机将计算结果读走。
94.所述时钟模块与所述fpga模块连接,为所述fpga模块提供时钟信号。总线上的各板卡通过总线进行信息传送时,会用一个公共的时钟信号进行同步。
95.所述程序固化模块与所述fpga模块连接,其由flash芯片构成,用于存储fpga模块和dsp模块的运行程序,上电后会自动加载。
96.为了提高运动控制数据处理速度,把传统方式在dsp模块里实现的前端计算步骤放在fpga逻辑里实现,而由于所述传感器采集卡、光纤接口卡以及运动控制卡中均设置有fpga模块,因此,根据各板卡的fpga模块的资源情况,前端计算模块可以设置在所述传感器
采集卡的fpga模块中,也可以设置在光纤接口卡或者运动控制卡的fpga模块中。例如,图2中将所述前端计算模块设置在所述运动控制卡的fpga模块中。所述前端计算模块用于前端计算,获取前端计算数据。
97.在所述前端计算模块设置在所述传感器采集卡的fpga模块,即第一fpga模块中时,所述第一fpga模块除了用作数据通道之外,还能实现前端计算步骤,得到前端计算数据。运动控制数据高速协同处理方法为:所述传感器采集卡的adc模数转换模块转化的数字信号传输至所述第一fpga模块中,且在所述第一fpga模块中进行前端计算步骤,获取前端计算数据;所述前端计算数据发送至所述光纤通信接口模块,所述光纤通信接口模块将所述前端计算数据转化为光纤信号,并传输至所述光纤接口卡;所述光纤接口卡通过内同步转发给所述运动控制卡的数据输入模块;所述数据输入模块对具有前端计算数据的光纤信号进行转换、合成和解析,并将解析的数据发送至所述数据缓存模块,即前端计算数据保存在所述数据缓存模块;所述前端计算数据再通过pcie接口模块传输至dsp模块,所述dsp模块对前端计算数据进行滤波和控制算法的计算,得到伺服控制数据。
98.在所述前端计算模块设置在所述光纤接口卡的fpga模块(即第二fpga模块)中时,所述第二fpga模块除了用作数据通道之外,还能实现前端计算步骤,得到前端计算数据。所述运动控制数据高速协同处理方法为:所述传感器采集卡或者数据采集卡获取的初始输入数据转化为光纤信号,并传输至所述光纤接口卡的光纤通信模块中;所述光纤通信模块中具有光模块,将所述具有初始输入数据的光纤信号转化为数字信号并传输至第二fpga模块中,且在所述第二fpga模块中进行前端计算步骤,获取前端计算数据;通过光模块将所述前端计算数据转化为光纤信号,并通过内同步转发给所述运动控制卡的数据输入模块;所述数据输入模块对具有前端计算数据的光纤信号进行转换、合成和解析,并将解析的数据发送至所述数据缓存模块,即前端计算数据保存在所述数据缓存模块;所述前端计算数据再通过pcie接口模块传输至dsp模块,所述dsp模块对前端计算数据进行滤波和控制算法的计算,得到伺服控制数据。
99.在所述前端计算模块设置在所述运动控制卡的fpga模块(即第三fpga模块)中时,所述运动控制数据高速协同处理方法为:所述传感器采集卡或者数据采集卡获取的初始输入数据转化为光纤信号,并传输至所述光纤接口卡;所述光纤接口卡将所述光纤信号通过内同步转发给所述运动控制卡的数据输入模块,所述数据输入模块对具有初始输入数据的光纤信号进行转换、合成和解析,并将解析的数据发送至所述前端计算模块,在所述前端计算模块中进行前端计算步骤,获取前端计算数据,并将所述前端计算数据传输至所述数据缓存模块,即前端计算数据保存在所述数据缓存模块;所述前端计算数据再通过pcie接口模块传输至dsp模块,所述dsp模块对前端计算数据进行滤波和控制算法的计算,得到伺服控制数据。
100.所述前端计算模块包括:参数缓存寄存器、数据缓存寄存器、线性校正子模块以及脉动矩阵子模块。所述参数缓存寄存器用于寄存所述数据采集卡或者传感器采集卡获取的初始输入数据。所述线性校正子模块,对所述初始输入数据进行线性校正。初始输入数据可能存在错误和偏差,通过线性校正对初始输入数据统一进行校正,以免影响后续计算结果。所述脉动矩阵子模块,对校正后的初始输入数据进行预处理,获取前端计算数据。所述数据缓存寄存器用于缓存所述前端计算数据。例如,在所述前端计算模块设置在所述运动控制
卡的fpga模块中时,所述数据缓存寄存器中缓冲的前端计算数据传输至所述数据缓存模块中。所述脉动矩阵子模块实现校正后初始输入数据的前期预处理部分,该部分可并行计算降低dsp模块计算量,缩短控制系统的整体伺服周期。
101.参阅图3,所述脉动矩阵子模块由若干个pe乘累加计算单元构成,例如图3中所述脉动矩阵子模块由9个pe乘累加计算单元构成,即pe
11
~pe
33
,而a
11
~a
33
,b
11
~b
33
为输入pe乘累加计算单元的数据。
102.参阅图4,每个所述pe乘累加计算单元包含浮点乘法器10、浮点加法器20以延时寄存器30,其中,所述浮点乘法器10用于所述浮点数乘法运算;所述浮点加法器20用于所述浮点数加法运算;所述延时寄存器30用于时序匹配和对齐。例如,在输入数据a(a_in)和b时(b_in),数据a可以直接保存在所述延时寄存器30中,输出数据a,即a_out;也可以与数据b进行乘法运算,然后再进行加法运算并保存在所述延时寄存器30中,最后输出计算后的数据,即c_out;数据b除了与所述数据a进行运算之外,也可以直接保存在所述延时寄存器30中,输出数据b,即b_out。所述前端计算模块采用浮点数运算器(float_operator)资源即可完成前端计算步骤。
103.所述pe乘累加计算单元还可以为另一结构,即其包括定点乘法器、定点加法器以延时寄存器。其中,所述定点乘法器用于定点数乘法运算;所述定点加法器用于所述定点数加法运算;所述延时寄存器用于时序匹配和对齐。此时,所述前端计算模块采用dsp48资源代替浮点数运算器资源来完成前端计算步骤。
104.所述前端计算模块还可以为另一结构,其包括:参数缓存寄存器、数据缓存寄存器、参数计算模块以及脉动矩阵子模块。其中,所述参数缓存寄存器、数据缓存寄存器以及脉动矩阵子模块的结构与上述实施例相同。而所述参数计算模块进行配置参数的计算,以供所述脉动矩阵子模块进行后续的计算处理来获取前端计算数据。
105.本发明将前端计算模块设置在fpga模块中,根据各板卡的fpga资源情况,可以设置在传感器数据采集卡的fpga模块中,也可以设置在运动控制卡或者光纤接口卡的fpga模块中,通过采用fpga模块与dsp模块协同计算的方式,fpga模块负责前端数据处理和矩阵运算,dsp模块负责运动控制核心算法,有效的提高了运动控制模块的计算速度,缩短了控制系统的伺服周期,可满足光刻设备的指标需求。
106.除此之外,本发明还提供了一种基于所述运动控制数据高速协同处理系统的处理方法,包括以下步骤:
107.采用数据采集卡或者传感器采集卡获取初始输入数据,并将其转换为光纤信号;
108.通过光纤接口卡接收所述光纤信号,并将所述光纤信号通过内同步转发给所述运动控制卡;
109.根据所述光纤接口卡传输的数据进行处理和计算,获取伺服控制数据;
110.在获取伺服控制数据之前还包括前端计算步骤,获取前端计算数据,且所述前端计算步骤在所述传感器采集卡、光纤接口卡或者运动控制卡的fpga模块中实现。
111.其中,所述所述前端计算步骤包括:
112.通过线性校正子模块对所述初始输入数据进行线性校正;
113.通过脉动矩阵子模块对校正后的初始输入数据进行预处理,获取前端计算结果。
114.所述初始输入数据的数据格式为无符号的整数矩阵x,例如,x为x
11
、x
12
、x
13
、x
21

x
22
、x
23
、x
31
、x
32
、x
33
组成的3x3的矩阵,而通过线性校正子模块对所述初始输入数据进行线性校正的步骤包括:
115.将x
ij
转化为浮点数x
ij”,其中x
ij
为x矩阵中第i行第j列的数据,且i和j优选为1,2,3;
116.系统配置参数k,计算浮点数乘法k
×
x
ij”所述;
117.系统配置参数m,计算浮点数加法kx
ij”+m。
118.即所述通过线性校正子模块对所述初始输入数据进行线性校正的步骤需要定点转浮点、浮点数乘法和浮点数加法三个子步骤。
119.通过脉动矩阵子模块对校正后的初始输入数据进行预处理的具体步骤包括:系统配置参数a,计算矩阵乘法z=y
×
a,其中z为前端计算结果,即前端计算数据,y=kx
ij”+m。所述y为3x3的矩阵,所述参数a也为一3x3的矩阵。使用脉动矩阵模块计算2个3x3矩阵乘法,得到的前端计算结果z为3x3的浮点数矩阵。
120.现有技术通过dsp模块仿真,得到dsp模块完成前端计算步骤需要1800ns。而本实施例中使用fpga模块计算,在125mhz时钟域下,利用延时为3周期的浮点数运算器ip搭建前端计算模块,完成前端计算步骤累计需要9+6x8个时钟周期,算上额外的控制延时,最终运算时间为472ns。因此,本实施例的运动控制数据高速协同处理方法可以缩短计算耗时,缩短伺服周期。
121.在另一实施例中,所述初始输入数据的数据格式为无符号的整数矩阵x,通过线性校正子模块对所述初始输入数据进行线性校正的步骤包括:
122.对所述整数矩阵x进行量化误差的估算,确定定点数的位数;
123.系统配置参数k',计算定点数乘法k'
×
x
ij
',其中x
ij
'为x矩阵中第i行第j列的数据对应的定点数;
124.系统配置参数m',计算定点数加法k'x
ij
'+m'。
125.通过软件仿真实现对所述整数矩阵x进行量化误差的估算,确定定点数的位数。所述软件例如为matlab软件。
126.而通过脉动矩阵子模块对校正后的初始输入数据进行预处理的具体步骤包括:
127.系统配置参数α',计算矩阵乘法z'=y'
×
α',其中z'为前端计算结果,y'=k'x
ij
'+m';
128.将所述计算结果z'转化为浮点数。其中所述y'为3x3的矩阵,所述参数α'也为一3x3的矩阵,最终的计算结果z'为3x3的定点数矩阵。
129.在上一实施例中采用浮点数计算的方案。系统输入的无符号整数实时数据,在一开始就进行定浮点转换。在fpag模块内部的计算全部采用浮点数运算器,每次浮点运算需要至少消耗3个时钟周期。而在本实施例中,采用定点数计算的方案,如果根据算法精度要求,进行评估各局部定点化处理,使用定点数格式完成乘加运算,在最终把结果转换为浮点数,可以利用dsp48资源代替浮点数运算器,计算用时会缩短到之前的1/3。
130.在又一实施例中,所述前端计算步骤包括:
131.系统配置参数a、k和m,计算z=x
×
p1+p2,其中x为初始输入数据的无符号的整数矩阵;p1=kα;p2=m
×
α,m为每个元素均为m的矩阵;z为前端计算结果。
132.在之前的采用浮点数计算的方案的实施例中,前端计算步骤分为两步各步骤,用
矩阵表示第一步为y=kx+m,其中m为每个元素都为参数m的3x3矩阵;第二步为z=y
×
a。第一步需要定点转浮点、浮点数乘法和浮点数加法3个子步骤;第二步使用脉动矩阵计算。
133.将两步计算公式合并得到z=(kx+m)
×
a=x
×
(ka)+(m
×
a)。由于k,m,a都是系统配置的参数,如果系统提前一段时间配置参数(即使用参数计算模块进行配置参数的计算获取配置参数,配置参数的获取为现有技术,再次不做赘述),并且使用一些fpga寄存器缓存资源,可以把两步计算合并为一步z=x
×
p1+p2,其中,p1=kα,p2=m
×
α。由于m是每个元素均为m的特殊3x3矩阵,因此m
×
a实际可以减化为a矩阵按列求和并乘以m得到1x3的行向量,最终参数矩阵3行的每一行均为该行向量。由于计算并不复杂且不依赖实时数据,提前计算出缓存在寄存器中,在系统运行过程中只需要实现定点转浮点、矩阵乘法和矩阵加法即可。相对于之前的采用浮点数计算的方案的实施例,此种方法用额外的寄存器资源消耗,换取减少了运行中的一步浮点数乘法运算,进一步提高了计算速度。本实施例在fpag模块内部的计算全部采用浮点数运算器。
134.当然本实施所述的方案也适用于定点数计算,仅需将浮点数运算替换成定点运算即可。
135.在所述前端计算模块设置在所述运动控制板卡的fpga模块中时,所述运动控制数据高速协同处理系统的上下行数据流图如图5所示。
136.下行参数配置的过程如下:主控卡中的参数配置信息传输至所述运动控制板卡的dsp模块,所述dsp模块按照所述参数配置信息中的dsp相关参数进行设置;然后,所述参数配置信息传输至所述运动控制板卡的fpga模块,即第三fpga模块,所述第三fpga模块按照所述参数配置信息中的第三fpga模块的相关参数进行设置;接着,所述参数配置信息传输至所述光纤接口卡,所述光纤接口卡按照所述参数配置信息中的相关参数进行设置,例如第二fpga模块按照所述参数配置信息中的第二fpga模块的相关参数进行设置;最后,所述参数配置信息被所述光纤接口卡转换成光线信号传输至传感器采集卡,使得所述传感器采集卡按照所述参数配置信息中的相关参数进行设置。
137.上行输入数据流的过程包括:所述传感器采集卡的传感器数据转换成光纤信号传输至所述光纤接口卡;所述光纤信号被所述光纤接口卡通过内转换发送给所述运动控制卡的fpga模块;所述fpga模块进行数据处理,并将处理后的数据发送至所述运动控制卡的dsp模块,所述dsp模块通过计算获取伺服控制数据,最终该数据被反馈至所述主控卡。
138.本发明提出的一种运动控制数据高速协同处理方法,通过采用fpga的逻辑资源与dsp协同计算的方式,fpga负责前端数据处理和矩阵运算,dsp负责运动控制核心算法,有效的提高了运动控制模块的计算速度,减少了dsp模块的运算负担,缩短了控制系统的伺服周期,可满足光刻设备的指标需求。
139.此外,可以理解的是,虽然本发明已以较佳实施例披露如上,然而上述实施例并非用以限定本发明。对于任何熟悉本领域的技术人员而言,在不脱离本发明技术方案范围情况下,都可利用上述揭示的技术内容对本发明技术方案作出许多可能的变动和修饰,或者修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
140.而且还应该理解的是,本发明并不限于此处描述的特定的方法、化合物、材料、制
造技术、用法和应用,它们可以变化。还应该理解的是,此处描述的术语仅仅用来描述特定实施例,而不是用来限制本发明的范围。必须注意的是,此处的以及所附权利要求中使用的单数形式“一个”、“一种”以及“该”包括复数基准,除非上下文明确表示相反意思。因此,例如,对“一个步骤”引述意味着对一个或者多个步骤的引述,并且可能包括次级步骤。应该以最广义的含义来理解使用的所有连词。因此,词语“或者”应该被理解为具有逻辑“或者”的定义,而不是逻辑“异或者”的定义,除非上下文明确表示相反意思。此处描述的结构将被理解为还引述该结构的功能等效物。可被解释为近似的语言应该被那样理解,除非上下文明确表示相反意思。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1