带绝对编码值接收功能的轴运动控制卡及其数据转换方法

文档序号:6290263阅读:457来源:国知局
专利名称:带绝对编码值接收功能的轴运动控制卡及其数据转换方法
技术领域
本发明涉及数控机床领域的轴运动控制装置,具体地说是一种带绝对 编码值接收功能的轴运动控制卡。
背景技术
数控机床系统中使用的传统的轴运动控制卡只能支持增量式编码器的 反馈数值,但是对于机床制造商来说, 一方面要提高机床的精度又要减少 制造成本。另一方面,从操作上来讲又要使机床的辅助时间尽量短,故障 或断电后重启的设置时间短,使机床尽可能的处于加工状态最大限度的保 证机床重启后的设置时间短,使机床尽可能处于加工状态,最大限度的保 证操作的安全性。支持绝对式光栅尺和角度编码器就可以实现上述功能。 不像增量式编码器,测量位置值需要数线数。绝对编码器的位置值是直接 从编码器中读取数码值。机床断电或故障后重开机,绝对编码器可以立刻
检测到实际位置值。增量式编码器需要机床回参考点相应增加了机床待机 或启动时间。使用绝对式编码器的旋转轴和线性轴一样不需要回参考点。 省去回参考点的时间,对生产线更具优势。增量式编码器需要限位开关去 定期检查和维护。使用绝对式编码器免去了机床的限位开关,因为无论机 床处于待机状态还是快速移动时,绝对式编码器都能提供连续的位置值。 所以很多伺服驱动器都具有绝对编码值反馈功能,因此开发支持绝对编码 值接收功能的轴运动控制卡显得十分必要。

发明内容
针对现有技术中的不足之处,本发明要解决的技术问题是提供一种可 以实时接收绝对位置数据,避免位置数据丟失的带绝对编码值接收功能的 轴运动控制卡。
为解决上述技术问题,本发明釆用的技术方案是
本发明带绝对编码值接收功能的轴运动控制卡将接收的伺服控制器的 编码器反馈信号提供给上位机系统,对上位机的控制命令进行处理后发送 给伺服控制器和I/0端子板,包括
FPGA控制模块,为轴运动控制卡的控制核心,通过编码器输入接口 模块接收伺服控制器的反馈数据,经处理后传送给上位机,并将上位机对 侍服控制器的控制信号通过DA转换模块输出至伺服控制器;编码器输入 接口模块,接收伺服控制器发送的伺服电机位置信号,并输出至FPGA控 制模块;DA转换模块,将FPGA控制模块的轴控制数据的数字信号转换为 模拟信号并输出给伺服驱动器;电源模块,为上述各模块提供工作电源。所述FPGA控制模块包括
处理器模块,包括软核处理器及RAM、 ROM模块,是上位机的协处 理器,负责对串行绝对值编码器初始值信号接收模块和串行绝对值编码器 信号接收模块接收到的数据进行运算处理,并把处理过的数据通过总线控 制模块传送给轴运动控制模块;总线控制模块,是处理器模块和增量式编 码器与绝对式编码器选择模块、串行绝对值编码器初始值信号接收模块、 串行绝对值编码器信号接收模块以及轴运动控制模块进行数据交互的接 口;增量式编码器与绝对式编码器选择模块,接收处理器模块的命令字, 并对初始串行数据与增量式脉冲信号切换模块发送选择控制信号;初始串
行数据与增量式脉冲信号切换模块,接收增量式编码器与绝对式编码器选 择模块及串行绝对值编码器初始值信号接收模块的控制信号,根据控制信
号的不同分别将编码器的PA 口数据发送给串行绝对值编码器初始值信号
接收模块或轴运动控制模块;串行绝对值编码器初始值信号接收模块,接
收编码器的PA 口传送的绝对位置初始值串行数据,把串行的位流数据转换
成数据包后再经总线控制器模块供处理器模块访问;串行绝对值编码器信 号接收模块,接收编码器的PS 口传送的绝对位置串行数据,把串行的位流 数据转换成数据包后再经总线控制器模块供处理器模块访问;轴运动控制 模块,用于接收经初始串行数据与增量式脉冲信号切换模块切换的PA 口传 送增量式脉冲信号和经处理器模块处理后的绝对值数据供上位机访问,接 收上位机对这些反馈数据进行处理后发出的轴位置控制指令,将上位机处 理后的轴位置控制数据发送给DA转换模块;时钟管理模块,对外部时钟 信号进行处理并提供给处理器模块。 所述轴运动控制模块包括
处理器总线接口模块,通过总线控制模块与处理器模块进行读写数据 交互,并将处理器模块处理后的伺服电机绝对位置编码值通过ISA总线接 口模块供上位机查询;ISA总线接口模块,用于I/O控制模块、位置编码器 管理模块、速度控制管理模块、进给轴回零检测控制模块以及处理器总线
接口模块与上位机进行数据的读写交互;位置编码器管理模块,用于伺服
控制器传来的编码器的增量式脉冲进行位置计数,并在每个运动控制插补
循环周期内通过ISA总线接口模块提供给运行于上位机中的控制软件;速 度控制管理模块,将ISA总线接口模块传来的控制软件的运动控制数据传 递给DA转换模块;进给轴回零检测控制模块,与ISA总线接口模块相连, 接收来自上位机中控制软件的控制指令,当控制软件检测到进给轴有归零 信号时,对位置编码器管理模块的编码器计数值进行归零处理;测头管理 模块,在测头检测信号有效时自动锁定位置编码器信息;1/0控制模块,通过 对ISA总线接口模块的地址译码后给出数控系统外部I/O端子板的读写控 制信号。所述串行绝对值编码器信号接收模块包括ASCII解码模块,接收位 流处理模块输出的字节型数据,并按照PS 口数据包的数据格式对这些数据 进行错误检测和数据转换,再将这些数据送给常态绝对编码值总线接口模 块;
位流接收处理模块,接收编码器PS 口传送来的位流型数据并转换成字 节型数据,每次接收完一个数据都向ASCII解码模块出一个控制信号,将 字节型变量传送给ASCII解码模块进行处理;使能信号发生模块,在数控 系统上电后,延迟一段时间对伺服控制器发出位置值编码接收使能信号, 同时受总线控制模块传来的初始值错误标志控制,当控制标志有效的时候 复位一段时间位置编码器接收使能信号,使伺服控制器重新发送初始值数 据;常态绝对编码值总线接口模块,接收来自ASCII解码模块中的转换数 据,并把这些字节型数据按照一定的地址格式供处理器总线控制模块访问。
所述ASCII解码模块包括
状态处理机模块,管理控制编码器多路选择模块的状态字接收位流接 收处理模块发出的控制信号,在没有接收到错误处理模块发出的接收错误 标志信号的情况下,每接收到一个位流处理模块的接收完一个字节控制信 号时,自动将控制状态字输出指向下一位,并输出状态字控制编码器多路 选择模块选择相应的数据通道,在转移到最后一个状态的时候,发出一个 控制信号给寄存器组模块,并在位流接收处理模块的控制信号控制下,将 当前状态转移到最初状态,在接收到错误处理模块发出的错误信号时,状 态处理机模块的输出变为初始状态;编码器多路选择模块,接收位流接收 处理模块输出的字节,并受状态处理机模块的状态字控制,在每一个状态 控制字控制下,编码器多路选择模块把输入的字节型变量送到内部暂存寄 存器中,并将这些数据输出到寄存器组模块中;同时对接收到的数据进行 检测,当出现接收数据错误时,输出一个错误标志信号到错误处理模块; 寄存器组模块,接收编码器多路选通器传来的字节型数据,控制信号是状 态处理机模块最后一个状态时的控制信号;当最后一个控制信号有效的时 候,将字节型数据送传递给常态绝对编码值总线接口模块;错误处理模块, 接收编码器多路选择模块传来的错误信号标志,当任意一个错误信号标志 有效的时候,错误处理模块就发出一个错误标志给状态处理机模块。
所述位流接收处理模块包括
脉冲沿检测模块,检测PA 口或PS 口数据的上升沿和下降沿;当检测 到有沿变化时,产生同步控制信号,对时钟分频模块产生同步信号;时钟 分频模块,将FPGA控制模块的时钟信号分频为串行通信用的时钟信号, 并受接收脉冲沿检测模块同步信号控制;数据接收移位寄存器,受时钟分 频模块分频出来的时钟信号驱动,每接收一个时钟信号数据向右移位一次, 并按照从低位到高位的顺序逐位保存;数据接收检测模块,用来对数据接收移位寄存器中的数据进行判断,当数据接收移位寄存器完整的接收到一 帧数据后,将字节型数据输出给ASCII解码模块。
所述串行绝对值编码器初始值信号接收模块包括
位流接收处理模块,将接收到的初始串行数据与增量式脉冲信号切换
模块切换的编码器PA 口传送来的位流型数据转换成字节型数据,每次接收 完一个数据都向初始值ASCII解码模块出一个控制信号,将字节型变量传 送给初始值ASCII解码模块进行处理;初始值ASCII解码模块,接收位流 处理模块输出的字节型数据,并按照PA 口初始值数据包的的数据格式对这 些数据进行错误检测和数据转换,再将这些帧数据送给初始值绝对编码器 接口模块;初始值绝对编码器接口模块,接收来自初始值ASCII解码模块 中的转换数据,并把这些字节型数据按照一定的地址格式供总线控制模块 访问。
所述初始值ASCII解码模块包括
初始值状态处理机模块,管理控制初始值编码器多路选择模块的状态 字,接收位流接收处理模块控制信号后,自动将管理控制初始值多路选择 模块的状态字输出指向下一位,控制初始值编码器多路选择模块切换相应
的数据通道;在转移到最后一个状态的时候,发出控制信号给初始值寄存 器组模块,并在接收位流接收处理模块的控制信号控制下,状态字变为最 初状态字;初始值编码器多路选择模块,其数据输入为位流接收处理模块 的输出的字节,并受初始值状态处理机模块的状态字控制,在每一个状态 控制字控制下,初始值编码器多路选择模块将输入的字节型变量送到其内 部的暂存寄存器中,并将这些暂存寄存器中的数据输出到初始值寄存器组 模块中;初始值寄存器组模块,其数据输入量为初始值编码器多路选择模 块传来的数据,控制信号为初始值状态处理机模块最后一个状态时的控制 信号;当最后一个控制信号有效时,输入数据送到输出口并传递给初始值 绝对编码器接口模块。
本发明带绝对编码值接收功能的轴运动控制卡的数据转换方法包括以 下步骤
初始化第一次接收编码器常态位置标志和初始值错误检测标志,将上 述各标志清零;通过总线控制模块读取串行绝对值编码器信号接收模块中 常态编码值总线接口模块的常态编码器位置值数据和串行绝对值编码器初 始值信号接收模块中初始值绝对编码器接口模块的初始值编码器的位置 值,并把这些数据保存在RAM中;将上述保存在RAM中的表示位置值的 数据通过乘加计算转换为上位机可识别的绝对值编码器常态位置数据和绝 对值编码器初始值位置数据;判断第一次接收编码器常态位置标志是否为 0;如果为0,则判断转换后的第一次接收到的数据和串行绝对值编码器初 始值信号接收模块中的数据差是否在预设的合理范围内,如果在合理的范围内,置位第一次接收编码器常态位置标志,表明此次接收到的初始值数 据无误,并设初始值错误检测标志为零;通过总线控制模块向轴运动控制 模块中的处理器总线接口模块写入经处理器模块处理后的绝对编码常态值 数据和绝对码器编初始值数据,或者在出现初始值错误标志的时候,把错
误标志写入使能信号发生模块,使伺服控制器重新发送初始值编码数据; 如果所述数据差不在合理的范围,则置位错误标志,重新接收编码器初始 值数据;如果判断第一次接收编码器常态位置标志不为O,则通过总线控制 模块向轴运动控制模块中的处理器总线接口模块写入经处理器模块处理后 的绝对编码常态值数据和绝对码器编初始值数据,或者在出现初始值错误 标志的时候,把错误标志写入使能信号发生模块,使伺服控制器重新发送 初始值编码数据。
本发明具有以下有益效果及优点
1. 釆用基于FPGA的片上系统的设计,提高了系统的保密性、集成性;
2. 釆用硬件并行处理的方式同时处理多个口的串行通信,提高了系统 处理的稳定性和速度;釆用协处理器的工作方式,降低了上位机的数据处 理量;
3. 釆用Alter公司生产的Cyclone系列FPGA,降低了成本增加了芯片 的门数便于以后的升级;
4. 使用绝对式编码器的旋转轴和线性轴一样不需要回参考点,省去回
参考点的时间;
5. 在系统重新上电后,可以继续接收先前加工工件的位置值避免了因 机床故障和掉电的情况造成的数据丟失。


图1为应用本发明轴运动控制卡的数控系统结构框图2为轴运动控制卡中FPGA内部逻辑结构框图3为FPGA内部轴运动控制模块结构框图4为FPGA内部串行绝对值编码器信号接收模块结构框图5为绝对值编码器信号接收模块中ASCII解码模块结构框图6为绝对值编码器信号接收模块中位流接收处理模块结构框图7为FPGA内部串行绝对值编码器初始值信号接收模块结构框图8为绝对值编码器信号接收模块中初始值ASCII解码模块结构框图9为本发明数据转换方法流程图。
具体实施例方式
如图l所示,本发明装置应用于数控系统中,其将接收的伺服控制器 的编码器反馈信号提供给上位机系统,对上位机的控制命令进行处理后发 送给伺服控制器和I/O端子板,本发明装置包括FPGA控制模块,为轴 运动控制卡的控制核心,通过编码器输入接口模块接收伺服控制器的反馈 数据,通过ISA总线接口经处理后传送给上位机,并将上位机对侍服控制器的控制信号通过DA转换模块输出至伺服控制器;编码器输入接口模块, 接收伺服控制器发送的伺服电机位置信号,并输出至FPGA控制模块;DA 转换模块,将FPGA控制模块的轴控制数据的数字信号转换为模拟信号并 输出给伺服驱动器;电源模块,为上述各模块提供工作电源。
如图2所示,本发明装置中的FPGA (釆用Alter公司生产的Cyclone 系列)内部逻辑结构具有处理器模块,包括软核处理器(本实施例釆用 32位NIOS处理器)及RAM、 ROM模块(本实施例釆用32位16K片上 RAM及ROM),是上位机(本实施例釆用研华6751工业CPU卡)的协处 理器,其在本实施例中负责对四路串行绝对值编码器初始值信号接收模块 和四路串行绝对值编码器信号接收模块接收到的数据进行运算处理,并把 处理过的数据通过总线控制模块传送给一路轴运动控制模块;
总线控制模块(本实施例釆用Altera公司的Avalon总线控制器),是处 理器模块和增量式编码器与绝对式编码器选择模块、串行绝对值编码器初 始值信号接收模块、串行绝对值编码器信号接收模块以及轴运动控制模块 进行数据交互的接口;
增量式编码器与绝对式编码器选择模块,接收处理器模块的命令字, 并对初始串行数据与增量式脉冲信号切换模块发送选择控制信号。增量式 编码器与绝对式编码器选择模块可以由上位机配置,配置数据通过ISA总 线写入到该模块中,由该模块进行译码,根据译码结果给初始串行数据与 增量式脉冲信号切换模块发出相应的选择信号;
初始串行数据与增量式脉冲信号切换模块,接收增量式编码器与绝对 式编码器选择模块及串行绝对值编码器初始值信号接收模块的控制信号, 根据控制信号的不同分别将编码器的PA 口数据发送给串行绝对值编码器 初始值信号接收模块或轴运动控制模块;
串行绝对值编码器初始值信号接收模块,接收初始串行数据与增量式
脉冲信号切换模块切换的编码器PA 口传送的绝对位置初始值串行数据,把 串行的位流数据转换成数据包后再经总线控制器模块供处理器模块访问;
串行绝对值编码器信号接收模块,接收编码器的PS 口传送的绝对位置 串行数据,把串行的位流数据转换成数据包后再经总线控制器模块供处理 器模块访问;
轴运动控制模块,用于接收经初始串行数据与增量式脉冲信号切换模 块切换的PA 口传送增量式脉冲信号和经处理器模块处理后的绝对值数据 供上位机访问,接收上位机对这些反馈数据进行处理后发出的轴位置控制 指令,将上位机处理后的轴位置控制数据发送给DA转换模块;
时钟管理模块,对外部时钟信号进行处理并提供给处理器模块。
如图3所示,上述轴运动控制模块包括处理器总线接口模块,通过总线控制模块与处理器模块进行读写数据交互,并将处理器模块处理后的
伺服电机绝对位置编码值通过ISA总线接口模块供上位机查询;
ISA总线接口模块,用于I/O控制模块、位置编码器管理模块、速度控 制管理模块、进给轴回零检测控制模块以及处理器总线接口模块与上位机 进行数据的读写交互;
位置编码器管理模块,用于伺服控制器传来的编码器的增量式脉冲进 行位置计数,并在每个运动控制插补循环周期内通过ISA总线接口模块提 供给运行于上位机中的控制软件;
速度控制管理模块将ISA总线接口模块传来的控制软件的运动控制数 据传递给DA转换模块;
进给轴回零检测控制模块,与ISA总线接口模块相连,接收来自上位
机中控制软件的控制指令,当控制软件检测到进给轴有归零信号时,对位 置编码器管理模块的编码器计数值进行归零处理;
测头管理模块,在测头检测信号有效时自动锁定位置编码器信息; I/O控制模块,通过对ISA总线接口模块的地址译码后给出数控系统外 部I/O端子板的读写控制信号。
如图4所示,FPGA内部串行绝对值编码器信号接收模块包括ASCII 解码模块,接收位流处理模块输出的字节型数据,并按照PS口数据包的数 据格式对这些数据进行错误检测和数据转换,再将这些数据送给常态绝对 编码值总线接口模块;
位流接收处理模块,接收编码器PS 口传送来的位流型数据并转换成字 节型数据,每次接收完一个数据都向ASCII解码模块出一个控制信号,将 字节型变量传送给ASCII解码模块进行处理;
使能信号发生模块,在数控系统上电后,延迟一段时间对伺服控制器 发出位置值编码接收使能信号,同时受总线控制模块传来的初始值错误标 志控制,当控制标志有效的时候复位一段时间位置编码器接收使能信号, 使伺服控制器重新发送初始值数据;
常态绝对编码值总线接口模块,接收来自ASCII解码模块中的转换数 据,并把这些字节型数据按照一定的地址格式供处理器总线控制模块访问。
如图5所示,串行绝对值编码器信号接收模块中ASCII解码模块包括 状态处理机模块,管理控制编码器多路选择模块的状态字(该状态机处理 器共管理16个状态)接收位流接收处理模块接收完一个字节后所发出的控 制信号,在没有接收到错误处理模块发出的接收错误标志信号的情况下, 每接收到一个位流处理模块的接收完一个字节控制信号时,自动将控制状 态字输出指向下 一位,并输出状态字控制编码器多路选择模块选择相应的 数据通道;在转移到最后一个状态的时候,发出一个控制信号给寄存器组模块,并在位流接收处理模块的控制信号控制下,将当前状态转移到最初
状态;在接收到错误处理模块发出的错误信号时,状态处理机模块的输出 变为初始状态;
编码器多路选择模块,接收位流接收处理模块输出的字节,并受状态 处理机模块的状态字控制,在每一个状态控制字控制下,编码器多路选择 模块把输入的字节型变量送到内部暂存寄存器中,并将这些数据输出到寄 存器组模块中;同时对接收到的数据进行检测,当出现接收数据错误时, 输出 一个错误标志信号到错误处理模块;
寄存器组模块,接收编码器多路选通器传来的字节型(13个字节)数 据,控制信号是状态处理机模块最后一个状态时的控制信号;当最后一个 控制信号有效的时候,将字节型数据送传递给常态绝对编码值总线接口模 块;
错误处理模块,接收编码器多路选择模块传来的错误信号标志,当任 意一个错误信号标志有效的时候,错误处理模块就发出一个错误标志给状 态处理机模块。
如图6所示,所述串行绝对值编码器信号接收模块中位流接收处理模 块包括
脉冲沿检测模块,检测PA 口或PS 口数据的上升沿和下降沿;当检测 到有沿变化时,产生同步控制信号,对时钟分频模块产生同步信号;
时钟分频模块,将FPGA控制模块的时钟信号分频为串行通信用的时 钟信号,并受接收脉冲沿检测模块同步信号控制;
数据接收移位寄存器,受时钟分频模块分频出来的时钟信号驱动,每 接收一个时钟信号数据向右移位一次,并按照从低位到高位的顺序逐位保 存;
数据接收检测模块,用来对数据接收移位寄存器中的数据进行判断, 当数据接收移位寄存器完整的接收到一帧数据后,将字节型数据输出给
ASCII解码模块
如图7所示,FPGA内部串行绝对值编码器初始值信号接收模块包括 位流接收处理模块,将接收到的初始串行数据与增量式脉冲信号切换模块 切换的编码器PA 口传送来的位流型数据转换成字节型数据,每次接收完一 个数据都向初始值ASCII解码模块输出一个控制信号,将字节型变量传送 给ASCII解码模块进行处理;
初始值ASCII解码模块,接收位流处理模块输出的字节型数据,并按 照PA 口初始值数据包的的数据格式对这些数据进行错误检测和数据转换, 再将这些帧数据送给初始值绝对编码器接口模块;
初始值绝对编码器接口模块,接收来自初始值ASCII解码模块中的转 换数据,并把这些字节型数据按照一定的地址格式供总线控制模块访问。如图8所示,串行绝对值编码器初始值信号接收模块中初始值ASCII 解码模块包括初始值状态处理机模块,管理控制初始值编码器多路选择 模块的状态字,接收位流接收处理模块接收完一个字节后所发出的控制信 号后,自动将管理控制初始值多路选择模块的状态字输出指向下一位,控 制初始值编码器多路选择模块切换相应的数据通道;在转移到最后一个状 态的时候,发出控制信号给初始值寄存器组模块,并在接收位流接收处理 模块的控制信号控制下,状态字变为最初状态字;
初始值编码器多路选择模块,其数据输入为位流接收处理模块的输出 的字节,并受初始值状态处理机模块的状态字控制,在每一个状态控制字 控制下,初始值编码器多路选择模块将输入的字节型变量送到其内部的暂 存寄存器中,并将这些暂存寄存器中的数据输出到初始值寄存器组模块中;
初始值寄存器组模块,其数据输入量为初始值编码器多路选择模块传
来的数据(6个字节),控制信号为初始值状态处理机模块最后一个状态时
的控制信号;当最后一个控制信号有效时,输入数据送到输出口并传递给 初始值绝对编码器接口模块。 本发明装置工作过程如下
数控系统向伺服控制器发送位置值编码接收使能信号,当该信号为高 电平时伺服控制器将接收到的伺服电机位置编码数据以串行数据的形式通 过PA 口向轴运动控制卡发送绝对编码初始值数据;在接收最后的串行数据 后,大约经过25ms, PA 口变为通常的增量动作,PS口开始发送串行绝对 值常态值位置数据;
PA 口的串行绝对值初始值数据首先进入到初始串行数据与增量式脉冲 信号切换模块中,如果串行绝对值编码器初始值信号接收模块未接收完一 个完整的数据包或者增量式编码器与绝对式编码器选择模块选择的是工作 于接收绝对值的轴运动控制卡工作模式,PA 口的数据被传送到串行绝对 值编码器初始值信号接收模块中;
在串行绝对值编码器初始值信号接收模块中,首先由位流接收处理模
块将PA 口传来的位流型数据转换成字节型数据,每次接收完一个数据都向 初始值ASCII解码模块出 一个控制信号,将字节型变量传送给初始值ASCII 解码模块进行处理;
初始值ASCII解码模块接收位流处理模块输出的字节型数据,并按照 PA 口初始值数据包的的数据格式对这些数据进行数据转换,再将这些帧数 据送给初始值绝对编码器接口模块;
初始值绝对编码器接口模块接收来自初始值ASCII解码模块中的转换 数据,并把这些字节型数据按照一定的地址格式供总线控制模块访问;
软核处理器通过总线控制模块读取初始值ASCII解码模块中的转换数 据通过数据转换把绝对编码器初始值数据通过总线控制模块写入到轴运动控制模块中处理器总线接口模块,上位机通过ISA总线接口模块访问处理
器总线接口模块供控制软件使用;
PS 口的串行绝对值数据首先传送到串行绝对值编码器信号接收模块 中,在串行绝对值编码器信号接收模块中,首先由位流接收处理模块将PS 口传来的位流型数据转换成字节型数据,每次接收完一个数据都向ASCII 解码模块出一个控制信号,将字节型变量传送给ASCII解码模块进行处理;
ASCII解码模块接收位流处理模块输出的字节型数据,并按照PS 口初 始值数据包的的数据格式对这些数据进行错误检测和数据转换,再将这些 帧数据送给常态编码值总线接口模块;
常态编码值总线接口模块接收来自ASCII解码模块中的转换数据,并 把这些字节型数据按照一定的地址格式供总线控制模块访问。
软核处理器通过总线控制模块读取ASCII解码模块中的转换数据,通 过数据转换把绝对编码器数据通过总线控制模块写入到轴运动控制模块中 处理器总线接口模块,上位机通过ISA总线接口模块访问处理器总线接口 模块供控制软件使用。
当PA 口转为发送脉冲型数据时,同PB 口一起供轴运动控制卡内轴运 动控制模块中的位置编码器管理模块进行位置计数。该位置计数值中的数 据通过ISA总线接口模块供上位机的控制软件使用。
上位机中的控制软件的运动控制数据通过ISA总线接口模块传递给速 度控制管理模块,速度控制管理模块对数据进行转换将数字量传递给DA 转换模块,用于控制伺服控制器;
当控制软件检测到进给轴有归零信号时,把控制指令通过ISA总线接 口模块进给轴回零检测控制模块,对位置编码器管理模块的编码器计数值 进行归零处理。
上述PA 口绝对值编码器初始值位置数据以及PS 口中的常态编码器位 置数据的数据转换过程具体如下(如图9所示)
初始化第一次接收编码器常态位置标志和初始值错误检测标志,将上 述各标志清零;
通过总线控制模块读取串行绝对值编码器信号接收模块中常态编码值 总线接口模块的常态编码器位置值数据和串行绝对值编码器初始值信号接 收模块中初始值绝对编码器接口模块的初始值编码器的位置值,并把这些 数据保存在RAM中;
将上述保存在RAM中的表示位置值的数据通过乘加计算转换为上位 机可识别的绝对值编码器常态位置数据和绝对值编码器初始值位置数据;
判断第一次接收编码器常态位置标志是否为0;
如果为0,则判断转换后的第一次接收到的数据和串行绝对值编码器初始值信号接收模块中的数据差是否在预设的合理范围内,如果在合理的范 围内,置位第一次接收编码器常态位置标志,表明此次接收到的初始值数
据无误,并设初始值错误检测标志为零;如果判断第一次接收编码器常态 位置标志不为o,则通过总线控制模块向轴运动控制模块中的处理器总线接 口模块写入经处理器模块处理后的绝对编码常态值数据和绝对码器编初始 值数据,或者在出现初始值错误标志的时候,把错误标志写入使能信号发 生模块,使伺服控制器重新发送初始值编码数据;
通过总线控制模块向轴运动控制模块中的处理器总线接口模块写入经 处理器模块处理后的绝对编码常态值数据和绝对码器编初始值数据,或者 在出现初始值错误标志的时候,把错误标志写入使能信号发生模块,使伺 服控制器重新发送初始值编码数据;
如果所述数据差不在合理的范围,则置位错误标志,重新接收编码器 初始值数据。
权利要求
1. 一种带绝对编码值接收功能的轴运动控制卡,将接收的伺服控制器的编码器反馈信号提供给上位机系统,对上位机的控制命令进行处理后发送给伺服控制器和I/O端子板,其特征在于包括FPGA控制模块,为轴运动控制卡的控制核心,通过编码器输入接口模块接收伺服控制器的反馈数据,经处理后传送给上位机,并将上位机对侍服控制器的控制信号通过DA转换模块输出至伺服控制器;编码器输入接口模块,接收伺服控制器发送的伺服电机位置信号,并输出至FPGA控制模块;DA转换模块,将FPGA控制模块的轴控制数据的数字信号转换为模拟信号并输出给伺服驱动器;电源模块,为上述各模块提供工作电源。
2. 按权利要求1所述的带绝对编码值接收功能的轴运动控制卡,其特征 在于所述FPGA控制模块包括处理器模块,包括软核处理器及RAM、 ROM模块,是上位机的协处 理器,负责对串行绝对值编码器初始值信号接收模块和串行绝对值编码器 信号接收模块接收到的数据进行运算处理,并把处理过的数据通过总线控 制模块传送给轴运动控制模块;总线控制模块,是处理器模块和增量式编码器与绝对式编码器选择模 块、串行绝对值编码器初始值信号接收模块、串行绝对值编码器信号接收 模块以及轴运动控制模块进行数据交互的接口 ;增量式编码器与绝对式编码器选择模块,接收处理器模块的命令字, 并对初始串行数据与增量式脉冲信号切换模块发送选择控制信号;初始串行数据与增量式脉冲信号切换模块,接收增量式编码器与绝对 式编码器选择模块及串行绝对值编码器初始值信号接收模块的控制信号, 根据控制信号的不同分别将编码器的PA 口数据发送给串行绝对值编码器 初始值信号接收模块或轴运动控制模块;串行绝对值编码器初始值信号接收模块,接收编码器的PA 口传送的绝 对位置初始值串行数据,把串行的位流数据转换成数据包后再经总线控制 器模块供处理器模块访问;串行绝对值编码器信号接收模块,接收编码器的PS 口传送的绝对位置 串行数据,把串行的位流数据转换成数据包后再经总线控制器模块供处理 器模块访问;轴运动控制模块,用于接收经初始串行数据与增量式脉冲信号切换模块切换的PA 口传送增量式脉冲信号和经处理器模块处理后的绝对值数据 供上位机访问,接收上位机对这些反馈数据进行处理后发出的轴位置控制指令,将上位机处理后的轴位置控制数据发送给DA转换模块;时钟管理模块,对外部时钟信号进行处理并提供给处理器模块。
3. 按权利要求2所述的带绝对编码值接收功能的轴运动控制卡,其特 征在于所述轴运动控制模块包括处理器总线接口模块,通过总线控制模块与处理器模块进行读写数据 交互,并将处理器模块处理后的伺服电机绝对位置编码值通过ISA总线接 口模块供上位机查询;ISA总线接口模块,用于I/0控制模块、位置编码器管理模块、速度控 制管理模块、进给轴回零检测控制模块以及处理器总线接口模块与上位机 进行数据的读写交互;位置编码器管理模块,用于伺服控制器传来的编码器的增量式脉冲进 行位置计数,并在每个运动控制插补循环周期内通过ISA总线接口模块提 供给运行于上位机中的控制软件;速度控制管理模块,将ISA总线接口模块传来的控制软件的运动控制 数据传递给DA转换模块;进给轴回零检测控制模块,与ISA总线接口模块相连,接收来自上位机 中控制软件的控制指令,当控制软件检测到进给轴有归零信号时,对位置 编码器管理模块的编码器计数值进行归零处理;测头管理模块,在测头检测信号有效时自动锁定位置编码器信息;I/O控制模块,通过对ISA总线接口模块的地址译码后给出数控系统外部i/o端子板的读写控制信号。
4. 按权利要求2所述的带绝对编码值接收功能的轴运动控制卡,其特 征在于所述串行绝对值编码器信号接收模块包括ASCII解码模块,接收位流处理模块输出的字节型数据,并按照PS口 数据包的数据格式对这些数据进行错误检测和数据转换,再将这些数据送 给常态绝对编码值总线接口模块;位流接收处理模块,接收编码器PS 口传送来的位流型数据并转换成字 节型数据,每次接收完一个数据都向ASCII解码模块出一个控制信号,将 字节型变量传送给ASCII解码模块进行处理;使能信号发生模块,在数控系统上电后,延迟一段时间对伺服控制器 发出位置值编码接收使能信号,同时受总线控制模块传来的初始值错误标 志控制,当控制标志有效的时候复位一段时间位置编码器接收使能信号, 使伺服控制器重新发送初始值数据;常态绝对编码值总线接口模块,接收来自ASCII解码模块中的转换数据,并把这些字节型数据按照一定的地址格式供处理器总线控制模块访问。
5. 按权利要求4所述的带绝对编码值接收功能的轴运动控制卡,其特征在于所述ASCII解码模块包括状态处理机模块,管理控制编码器多路选择模块的状态字位流接收处 理模块发出的控制信号,在没有接收到错误处理模块发出的接收错误标志 信号的情况下,每接收到一个位流处理模块的接收完一个字节控制信号时, 自动将控制状态字输出指向下一位,并输出状态字控制编码器多路选择模 块选择相应的数据通道;在转移到最后一个状态的时候,发出一个控制信 号给寄存器组模块,并在位流接收处理模块的控制信号控制下,将当前状 态转移到最初状态;在接收到错误处理模块发出的错误信号时,状态处理机模块的输出变为初始状态;编码器多路选择模块,接收位流接收处理模块输出的字节,并受状态 处理机模块的状态字控制,在每一个状态控制字控制下,编码器多路选择 模块把输入的字节型变量送到内部暂存寄存器中,并将这些数据输出到寄存器组模块中;同时对接收到的数据进行检测,当出现接收数据错误时, 输出 一个错误标志信号到错误处理模块;寄存器组模块,接收编码器多路选通器传来的字节型数据,控制信号 是状态处理机模块最后一个状态时的控制信号;当最后一个控制信号有效 的时候,将字节型数据送传递给常态绝对编码值总线接口模块;错误处理模块,接收编码器多路选择模块传来的错误信号标志,当任 意一个错误信号标志有效的时候,错误处理模块就发出一个错误标志给状 态处理机模块。
6. 按权利要求4所述的带绝对编码值接收功能的轴运动控制卡,其征在于所述位流接收处理模块包括脉冲沿检测模块,检测PA 口或PS 口数据的上升沿和下降沿;当检测 到有沿变化时,产生同步控制信号,对时钟分频模块产生同步信号;时钟分频模块,将FPGA控制模块的时钟信号分频为串行通信用的时 钟信号,并受接收脉冲沿检测模块同步信号控制;数据接收移位寄存器,受时钟分频模块分频出来的时钟信号驱动,每 接收一个时钟信号数据向右移位一次,并按照从低位到高位的顺序逐位保 存;数据接收检测模块,用来对数据接收移位寄存器中的数据进行判断, 当数据接收移位寄存器完整的接收到一帧数据后,将字节型数据输出给 ASCII解码模块。
7. 按权利要求2所述的带绝对编码值接收功能的轴运动控制卡,其特 征在于所述串行绝对值编码器初始值信号接收模块包括位流接收处理模块,将接收到的初始串行数据与增量式脉冲信号切换模块切换的编码器PA 口传送来的位流型数据转换成字节型数据,每次接收 完一个数据都向初始值ASCII解码模块出一个控制信号,将字节型变量传送给初始值ASCII解码模块进行处理;初始值ASCII解码模块,接收位流处理模块输出的字节型数据,并按 照PA 口初始值数据包的的数据格式对这些数据进行错误检测和数据转换, 再将这些帧数据送给初始值绝对编码器接口模块;初始值绝对编码器接口模块,接收来自初始值ASCII解码模块中的转 换数据,并把这些字节型数据按照一定的地址格式供总线控制模块访问。
8. 按权利要求7所述的带绝对编码值接收功能的轴运动控制卡,其特 征在于所述初始值ASCII解码模块包括初始值状态处理机模块,管理控制初始值编码器多路选择模块的状态 字,接收位流接收处理模块控制信号后,自动将管理控制初始值多路选择 模块的状态字输出指向下 一位,控制初始值编码器多路选择模块切换相应 的数据通道;在转移到最后一个状态的时候,发出控制信号给初始值寄存 器组模块,并在接收位流接收处理模块的控制信号控制下,状态字变为最 初状态字;初始值编码器多路选择模块,其数据输入为位流接收处理模块的输出 的字节,并受初始值状态处理机模块的状态字控制,在每一个状态控制字 控制下,初始值编码器多路选择模块将输入的字节型变量送到其内部的暂 存寄存器中,并将这些暂存寄存器中的数据输出到初始值寄存器组模块中;初始值寄存器组模块,其数据输入量为初始值编码器多路选择模块传 来的数据,控制信号为初始值状态处理机模块最后一个状态时的控制信号; 当最后一个控制信号有效时,输入数据送到输出口并传递给初始值绝对编 码器接口模块。
9. 一种带绝对编码值接收功能的轴运动控制卡的数据转换方法,其特征 在于包括以下步骤初始化第一次接收编码器常态位置标志和初始值错误检测标志,将上 述各标志清零;通过总线控制模块读取串行绝对值编码器信号接收模块中常态编码值 总线接口模块的常态编码器位置值数据和串行绝对值编码器初始值信号接 收模块中初始值绝对编码器接口模块的初始值编码器的位置值,并把这些 数据保存在RAM中;将上述保存在RAM中的表示位置值的数据通过乘加计算转换为上位 机可识别的绝对值编码器常态位置数据和绝对值编码器初始值位置数据;判断第一次接收编码器常态位置标志是否为0;如果为0,则判断转换后的第一次接收到的数据和串行绝对值编码器初始值信号接收模块中的数据差是否在预设的合理范围内,如果在合理的范 围内,置位第一次接收编码器常态位置标志,表明此次接收到的初始值数 据无误,并设初始值错误检测标志为零;通过总线控制模块向轴运动控制模块中的处理器总线接口模块写入经 处理器模块处理后的绝对编码常态值数据和绝对码器编初始值数据,或者 在出现初始值错误标志的时候,把错误标志写入使能信号发生模块,使伺 服控制器重新发送初始值编码数据。
10.按权利要求9所述带绝对编码值接收功能的轴运动控制卡的数据 转换方法,其特征在于如果所述数据差不在合理的范围,则置位错误标志,重新接收编码器 初始值数据;如果判断第一次接收编码器常态位置标志不为0,则通过总线 控制模块向轴运动控制模块中的处理器总线接口模块写入经处理器模块处 理后的绝对编码常态值数据和绝对码器编初始值数据,或者在出现初始值 错误标志的时候,把错误标志写入使能信号发生模块,使伺服控制器重新 发送初始值编码数据。
全文摘要
本发明涉及一种带绝对编码值接收功能的轴运动控制卡及其数据转换方法,包括FPGA控制模块,为轴运动控制卡的控制核心,通过编码器输入接口模块接收伺服控制器的反馈数据,经处理后传送给上位机,并将上位机对侍服控制器的控制信号通过DA转换模块输出至伺服控制器;编码器输入接口模块,接收伺服控制器发送的伺服电机位置信号,并输出至FPGA控制模块;DA转换模块,将FPGA控制模块的轴控制数据的数字信号转换为模拟信号并输出给伺服驱动器;电源模块,为上述各模块提供工作电源。本发明提高了系统的保密性、集成性;提高了系统处理的稳定性和速度;解决了传统的只能接收增量式编码值的轴运动控制卡在系统断电造成的位置数据丢失问题,降低了上位机的数据处理量。
文档编号G05B19/414GK101470436SQ20071015929
公开日2009年7月1日 申请日期2007年12月28日 优先权日2007年12月28日
发明者方 何, 喆 王, 超 王 申请人:中国科学院沈阳计算技术研究所有限公司;沈阳高精数控技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1