高速实时联动控制电路及芯片的制作方法

文档序号:6323708阅读:181来源:国知局
专利名称:高速实时联动控制电路及芯片的制作方法
技术领域
本实用新型属于工业控制领域,具体是一种高速实时联动控制电路及芯片。
背景技术
多任务分时操作系统在计算机领域得到迅速发展,利用PC强大的数据处理功能、 人机交互功能、图形功能开发高度智能化的数控系统是目前数控领域的一个重要发展方 向。基于PC的数控系统一般采用多处理器结构,下位机多采用基于DSP、ARM或者单片机的 结构,该种架构的优点包括实时性强、下位机带有处理器,功能强大、可修改程序升级,开 放性好、可实现复杂控制,如图1。虽然该架构有上述优点,但是存在集成度、可靠性、系统结 构比较复杂等问题。
发明内容为了解决现有技术中存在的上述问题,本实用新型基于可编程逻辑器件,提出适 用于多任务非实时操作系统的多轴联动高速实时联动控制芯片的系统结构,具体是一种高 速实时联动控制电路及芯片,具体技术方案如下一种高速实时联动控制电路,包括CPU读写控制模块、FIFO模块、FIFO读取控制模 块、初始化模块、辅助控制模块、插补控制模块和输出控制模块;所述CPU读写控制模块的 数据输入端接收外部控制数据,它的数据输出端连接FIFO模块的输入端;FIFO模块的输出 端连接FIFO读取控制模块,FIFO读取控制模块的输出端连接初始化模块输入端,初始化模 块输出端分别连接辅助控制模块和插补控制模块的输入端;辅助控制模块和插补控制模块 的输出端分别连接输出控制模块的输入端,输出控制模块的输出端即为本电路的输出端; 所述FIFO模块内还包括监测FIFO空/满状态的检测模块。还包括数据校验模块和状态寄存器;所述CPU读写控制模块的数据输出端通过内 部总线连接数据校验模块的数据输入端,数据校验模块的数据输出端通过所述内部总线连 接FIFO模块的数据输入端;状态寄存器的输入端通过所述内部总线连接所述数据校验模块的状态输出端;状 态寄存器的数据输出端通过所述内部总线连接CPU读写控制模块状态输入端;所述监测FIFO空/满状态的检测模块的数据输出端连接状态寄存器数据输入端, CPU可读取/设置状态寄存器。所述状态寄存器通过内部总线与CPU读写控制模块进行双向通信。辅助控制模块由指令判别电路、开关量输出电路与模拟量输出电路构成;所述指 令判别电路的输入端即为辅助控制模块的输入端,指令判别电路输出使能信号分别给开关 量输出电路与模拟量输出电路;开关量输出电路与模拟量输出电路的输出即为辅助控制模 块的输出。所述插补控制模块有多个,包括圆弧插补控制模块和直线插补控制模块。圆弧插补控制模块由余数寄存器、积分电路、被积函数寄存器、终点判别电路、基准脉冲发生电路、脉冲溢出电路构成;直线插补控制模块结构由余数寄存器、积分电路、被积函数寄存器、终点判别电 路、基准脉冲发生电路、脉冲溢出电路构成。一种高速实时联动控制芯片,该芯片是可编程逻辑器件;该可编程逻辑器件集成 有上述的高速实时联动控制电路。所述可编程逻辑器件是CPLD或FPGA。本实用新型为缓解非实时多任务操作系统与高速实时运动控制之间的矛盾,在电 路(或可编程逻辑器件)中设置一定数量的指令队列,指令队列不满时,PC通过局部总线, 利用CPU空闲时间将运动控制指令写入本电路(或可编程逻辑器件),同时可编程逻辑器件 通过局部总线为PC提供工作状态,供其查询。本实用新型可以应用于工业运动控制领域,与现有技术相比,应用本实用新型的 有益效果如下1、本电路可以通过大规模集成电路实现复杂运动控制,集成度高,可靠性好;2、可以采用专用芯片(集成电路)取代传统单片机、DSP等处理器,易用性好,外 围电路简单,成本极大降低;3、专用芯片内置大容量先入先出(FIFO)电路,缓解了上位PC机多任务操作系统 与下位机强实时运动控制间的矛盾。4、可编程逻辑器件的资源丰富、运算由硬件完成,速度快。本实用新型提供了一个 开放的IP核,可移植到其它可编程器件。

图1是现有技术中基于PC的上下位机数控系统;图2是应用本电路的数控系统;图3是本电路的结构图;图4是本例的结构图;图5是图4中的状态寄存器结构示意图;图6是图4中的辅助控制模块结构示意图;图7是图4中的圆弧插补控制模块结构示意图;图8是图4中的直线插补控制模块结构示意图。
具体实施方式
以下结合附图,以FPGA为例对本实用新型作进一步说明。参考图2,应用本电路的数控系统,包括主控计算机(即上位机软硬件)和本电路, 主控计算机发出运动指令,本电路根据该指令控制具体执行机构。如图3,一种高速实时联动控制电路,其特征是包括CPU读写控制模块、 FIFO (First In First Out)模块、FIFO读取控制模块、初始化模块、辅助控制模块、插补控 制模块和输出控制模块;所述CPU读写控制模块的数据输入端接收外部控制数据,它的数 据输出端连接FIFO模块的输入端;FIFO模块的输出端连接FIFO读取控制模块,FIFO读取 控制模块的输出端连接初始化模块输入端,初始化模块输出端分别连接辅助控制模块和插 补控制模块的输入端;辅助控制模块和插补控制模块的输出端分别连接输出控制模块的输入端,输出控制模块的输出端即为本电路的输出端;所述FIFO模块内还包括监测FIFO空/ 满状态的检测模块。本电路还包括数据校验模块和状态寄存器;所述CPU读写控制模块的数据输出端 通过内部总线连接数据校验模块的数据输入端,数据校验模块的数据输出端通过所述内部 总线连接FIFO模块的数据输入端;状态寄存器的输入端通过所述内部总线连接所述数据校验模块的状态输出端;状 态寄存器的数据输出端通过所述内部总线连接CPU读写控制模块状态输入端;所述监测FIFO空/满状态的检测模块的输出端连接状态寄存器输入端,状态寄存 器通过内部总线与CPU读写控制模块相连,所述状态寄存器通过内部总线与CPU读写控制 模块进行双向通信。本例中,高速实时联动控制电路被集成在可编程逻辑器件,例如CPLD或FPGA中, 用FPGA芯片实现即可,在此不作进一步限制。如图4,本例还设有输入模块,外部输入经输入模块进入芯片,直接影响状态寄存 器的相应状态位。本例中本电路(集成在FPGA中)的工作过程是,上位PC机或其他处理器完成人 机交互、数据处理等工作,通过局部总线与CPU读写控制将数据送入控制芯片的寄存器,芯 片数据校验模块从寄存器中取得数据并按照一定算法完成数据校验,校验无误,数据送入 FIFO (含状态检测)模块并修正状态寄存器;校验出错,数据校验模块修改状态寄存器,修 改相应状态位,提示校验出错。FIFO读取控制读取状态寄存器,FIFO为空时,修改状态寄存器相应状态位,不做 任何其他处理;反之,FIFO不为空时,读取数据送至初始化模块,由初始化模块完成指令判 别、相关寄存器初始化,把数据送入圆弧插补、直线插补或辅助控制模块,而后启动相应模 块,实现指令。本例中1. CPU读写控制电路主要由读写逻辑控制电路构成,它响应CPU读写时序,通过并 行10接口将CPU数据送入芯片数据缓冲区或将状态寄存器的数据送上CPU的局部总线。如 图4。2.输入模块电路主要由16-4编码电路构成,它对外部输入的开关量如行程开关、 故障信息等编码,送入芯片的数据缓冲区,形成状态寄存器的OFtl-OF3位。3.数据校验电路主要由偶校验电路构成,它采用偶校验对输入数据进行校验,出 错,则置位状态寄存器的PF状态位,供CPU检索。4. FIFO及状态检测电路获取CPU送至数据缓冲区的数据信息,动态修正FIFO的读 写指针,FIFO空或满时,置位状态寄存器的空状态标志位EF或满状态标志位FF。状态寄存器为16位寄存器,结构如图5,其中1) FIFO状态标志位由空状态位EF与满状态位FF构成。2)外部状态位由0&_0&构成,用户可自行定义功能。3)数据校验位(Parity) 1位,为PF。5. FIFO读取控制电路主要由读控制电路构成,上一运动结束且允许运动时,FIFO 读取控制电路将FIFO中的指令取出送入初始化控制电路的指令与数据缓冲器。
5[0048]6.初始化电路获取指令与数据,首先进行指令判别,根据指令初始化直线插补、圆 弧插补或辅助控制模块的相关寄存器,准备执行指令。7.辅助控制模块实现系统中的开关量与模拟量输出控制,由指令判别电路、开关 量输出电路与模拟量输出电路构成,如图6。受到芯片功率与输出电压限制,辅助控制模块输出的开关量需经外部的电压转换 进行电压与功率的放大,才能用于实际设备;同时,芯片输出的模拟量实际上为16位的数字量,需在外围电路中添加DA转换才 能输出模拟量。8.圆弧插补控制模块由余数寄存器、积分电路、被积函数寄存器、终点判别电路、 基准脉冲发生电路、脉冲溢出电路构成,结构如图7。插补圆弧时,初始化模块对X、Y余数寄存器清零,并分别把X、Y被积函数寄存器初 始化为圆弧起点的Y、X坐标,基准脉冲由芯片时钟根据运动速度分频得到,这里的基准脉 冲发生器实际上为分频系数可变的脉冲分频器。开始运动后,每来一次基准脉冲,Χ、Υ积分器分别按各自的被积函数寄存器积分一 次,结果放入相应的余数寄存器。余数寄存器溢出时,相应轴脉冲溢出使能,一个基准脉冲 被送入相应轴。X轴(或Y轴)运动1步,总步数减1,坐标值发生做加1或减1运算,同时修正Y 轴(或X轴)被积函数寄存器值直至运动结束。单个运动轴到达该方向终点坐标,终点判别电路禁止该方向运动轴积分器的使能 端,积分停止,该轴运动结束;X、Y轴运动都结束,则插补完成。9.直线插补控制模块结构与圆弧插补类似,也由余数寄存器、积分电路、被积函数 寄存器、终点判别电路、基准脉冲发生电路、脉冲溢出电路构成,结构如图8。插补直线时,初始化模块对X、Y、Z余数寄存器清零,并分别把X、Y、Z被积函数寄 存器初始化为直线终点的X、Y、Z坐标,基准脉冲由芯片时钟根据运动速度分频得到,与圆 弧插补相同,基准脉冲发生器同样是分频系数可变的脉冲分频器。开始运动后,每来一次基准脉冲,Χ、Υ、Ζ积分器分别按各自的被积函数寄存器积分 一次,结果放入相应的余数寄存器。余数寄存器溢出时,相应轴脉冲溢出使能,一个基准脉 冲被送入相应轴。X轴(或Y轴、Z轴)运动1步,总步数减1,坐标值发生做加1或减1运算直至运 动结束。积分过程中,被积函数寄存器值保持终点坐标值不变。单轴运动到达该方向终点坐标,终点判别电路禁止该轴积分器的使能端,积分停 止,该轴运动结束。X、Y、Z轴运动都结束,则插补完成。
权利要求一种高速实时联动控制电路,其特征是包括CPU读写控制模块、FIFO模块、FIFO读取控制模块、初始化模块、辅助控制模块、插补控制模块和输出控制模块;所述CPU读写控制模块的数据输入端接收外部控制数据,它的数据输出端连接FIFO模块的输入端;FIFO模块的输出端连接FIFO读取控制模块,FIFO读取控制模块的输出端连接初始化模块输入端,初始化模块输出端分别连接辅助控制模块和插补控制模块的输入端;辅助控制模块和插补控制模块的输出端分别连接输出控制模块的输入端,输出控制模块的输出端即为本电路的输出端;所述FIFO模块内还包括监测FIFO空/满状态的检测模块。
2.根据权利要求1所述的高速实时联动控制电路,其特征是还包括数据校验模块和状 态寄存器;所述CPU读写控制模块的数据输出端通过内部总线连接数据校验模块的数据输 入端,数据校验模块的数据输出端通过所述内部总线连接FIFO模块的数据输入端;状态寄存器的输入端通过所述内部总线连接所述数据校验模块的状态输出端;状态寄 存器的输出端通过所述内部总线连接CPU读写控制模块状态输入端;所述监测FIFO空/满状态的检测模块的数据输出端连接状态寄存器数据输入端,CPU 可读取/设置状态寄存器。
3.根据权利要求2所述的高速实时联动控制电路,其特征是所述状态寄存器通过内部 总线与CPU读写控制模块进行双向通信。
4.根据权利要求1、2或3所述的高速实时联动控制电路,其特征是所述辅助控制模块 由指令判别电路、开关量输出电路与模拟量输出电路构成;所述指令判别电路的输入端即 为辅助控制模块的输入端,指令判别电路输出使能信号分别给开关量输出电路与模拟量输 出电路;开关量输出电路与模拟量输出电路的输出即为辅助控制模块的输出。
5.根据权利要求1、2或3所述的高速实时联动控制电路,其特征是所述插补控制模块 有多个。
6.根据权利要求5所述的高速实时联动控制电路,其特征是所述插补控制模块包括圆 弧插补控制模块和直线插补控制模块。
7.一种高速实时联动控制芯片,其特征是该芯片是可编程逻辑器件;该可编程逻辑器 件集成有权利要求1 6任一所述的高速实时联动控制电路。
8.根据权利要求7所述的高速实时联动控制芯片,其特征是所述可编程逻辑器件是 CPLD 或 FPGA。
专利摘要高速实时联动控制电路,包括CPU读写控制模块、FIFO模块、FIFO读取控制模块、初始化模块、辅助控制模块、插补控制模块和输出控制模块;所述CPU读写控制模块的数据输入端接收外部控制数据,它的数据输出端连接FIFO模块的输入端;FIFO模块的输出端连接FIFO读取控制模块,FIFO读取控制模块的输出端连接初始化模块输入端,初始化模块输出端分别连接辅助控制模块和插补控制模块的输入端;辅助控制模块和插补控制模块的输出端分别连接输出控制模块的输入端,输出控制模块的输出端即为本电路的输出端;所述FIFO模块内还包括监测FIFO空/满状态的检测模块。本电路是集成在芯片中,可方便应用于工业运动控制领域。
文档编号G05B19/414GK201689326SQ201020022809
公开日2010年12月29日 申请日期2010年1月6日 优先权日2010年1月6日
发明者张建华, 方力, 李宏胜, 葛红宇 申请人:南京工程学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1