运动控制器数据通讯及其中断调度的方法和装置制造方法及图纸

技术编号:2780244 阅读:329 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种运动控制器数据通讯及其中断调度的方法和装置。装置通过采用可编程逻辑器件(CPLD)内部嵌入式阵列块(EAB)所包含的随机存贮器单元(RAM)构建一种双端口RAM结构实现多CPU之间数据通信。利用CPLD内部逻辑单元设计一种中断同步机制来实现多CPU之间的通讯协调。通过系统中断信号的触发和清除,运动控制器的多CPU可以实现对RAM特定单元地址的读/写,使多CPU系统的通讯数据传送按照其使用节拍来传递,不受CPU扫描周期的影响。这样不但使数据通信的可靠性大大提高,也节省了CPU查询的时间。避免了中断的重复响应或丢失现象,增加了高速运动控制系统的安全性、可靠性和稳定性。

Motion controller data communication and interrupt scheduling method and device thereof

The invention discloses a method and a device for data communication and interrupt scheduling of a motion controller. Device by using programmable logic device (CPLD) within the embedded array block (EAB) random memory unit contains (RAM) to construct a structure of dual port RAM to realize data communication between multi CPU. An interrupt synchronization mechanism is designed by using CPLD internal logic unit to realize the coordination of communication among multiple CPU. Through the system interrupt signal triggering and clear, multi CPU motion controller can read or write to the specific unit address of the RAM, the data communication system of multi CPU transmission according to the use of the beat transfer is not affected by the CPU scan cycle. In this way, not only the reliability of data communication is greatly improved, but also the time of CPU inquiry is saved. The repeated response or loss of interrupt is avoided, and the safety, reliability and stability of the high-speed motion control system are increased.

【技术实现步骤摘要】

本专利技术属于机械设备的数控
,具体涉及一种运动控制器的数 据通讯及其中断调度方法及装置。
技术介绍
运动控制器中通常采用多个CPU实现不同功能的数据处理,这样能够 充分发挥各种不同CPU功能和操作系统的优势,以解决运动控制中的不同任务特点与需求。但在设计一个复杂的控制系统时,CPU需要对大量事务进行处理,同 时需要对同一个或者一批数据进行不同的处理,CPU之间数据的快速实时交换是决定控制系统是否满足要求的关键和核心,尤其在实际应用环境中 存在大量不确定的突发事件,而且必须对这些事件进行了实时处理,通过 一般定时查询的方法来处理无论在效率上,还是在数据通信的可靠性上都是很低的,对于一些要求实时性和非实时性共存的大规模软件设计,CPU之间的数据交换和协调直接决定系统的性能,甚至决定系统的成败。在设计运动控制器采用多CPU系统中,虽然采用双端口 RAM或先进先 出存储器(FIFO)缓冲等手段,使通信的时序要求得到了很大程度上的缓 解,但仍存在数据竞争的问题,如双端口RAM正在对某地址单元进行写操 作时,另一端口要读取同一单元则读取的数据是不可靠的。另外,多个CPU 的运行速度往往不同,若读写的时序、节拍安排不当,则很可能造成读取 的一部分数据是本周期写入的,而另一部分则是上个周期写入的,而这种错误现象往往是随机发生的,给系统的调试和性能测试造成了很大麻烦。 造成运动控制系统安全隐患,影响控制系统的安全性、稳定性和可靠性。
技术实现思路
本专利技术的目的在于提供一种解决高速运动控制器中多CPU通讯实时性 和可靠性问题,可以避免运动控制器中多CPU可能出现的数据竞争及读写 混乱问题的运动控制器的数据通讯及其中断调度方法及装置。为达到上述目的,本专利技术的装置包括包括第一CPU、第二CPU和可编程逻辑器件CPLD,该可编程逻辑器件CPLD包含第一地址比较器、第二 地址比较器、第一地址计数器、第二地址计数器、双端口 RAM、双端口 RAM 地址选择器和双端口 RAM输出选择器;所说的第一 CPU的地址线与第一地址比较器相连,第一 CPU的数据线 与双端口 RAM的数据输入端相连,第一地址比较器的输出端1S1和第一CPU 的IOW信号进行逻辑或后,作为第一地址计数器装载端的输入信号,第一 CPU通过写1S1地址来改变第一地址计数器的现行值,第一地址计数器的 输出端与双端口 RAM地址选择器的第一地址输入端相连,第一地址比较器 的输出端1S2与双端口RAM地址选择器的选通输入端相连,同时,第一地 址比较器的输出端1S2和第一 CPU的IOW相或后作为双端口 RAM的数据锁 存端和第一地址计数器的加计数时钟端的输入信号,该信号的上升沿将第 一 CPU数据输出端的数据写入双端口 RAM的数据输入端,并使第一地址计 数器的内部计数值加一;连续向第一地址比较器的1S2端口写数据,第一 CPU可访问双端口 RAM的全部存储空间;所说的第二CPU的地址线与第二地址比较器相连,双端口 RAM的数据 输出端与双端口 RAM输出选择器的数据输入端相连,双端口 RAM输出选择器的数据输出端与第二 CPU的数据线相连,第二地址比较器的输出端2S1 与第二 CPU的写信号WR进行逻辑或后,作为第二地址计数器的装载端的输入信号,第二CPU通过写2S1地址改变第二地址计数器的现行值;第二 地址计数器的地址计数输出端与双端口 RAM地址选择器的第二地址输入端 相连,第二地址比较器的输出端2S2和第二 CPU的RD信号进行逻辑或后 作为双端口 RAM输出选择器的控制端和第二地址计数器时钟端的输入信 号,当该信号为低电平时,双端口 RAM4中的数据传送到数据总线上输入 到第二CPU,同时,该信号的上升沿,使第二地址计数器的内部计数值加 一,第二CPU连续读2S2端口,便可访问双端口RAM的全部存储空间。本专利技术的CPLD还包含第一中断地址比较器、第二中断地址比较器、 第一中断D触发器和第二中断D触发器,第一 CPU的地址总线与第一中断 地址比较器相连,第二CPU的地址总线与第二中断地址比较器相连,第一 中断地址比较器的输出与第一 CPU的写控制信号相或后作为第一中断D触 发器的时钟输入端,第二中断地址比较器的输出与第二CPU的读控制信号 相或后作为第一中断D触发器的消除端输入,第一中断D触发器的数据输 入端接高电平,第一中断D触发器的数据输出端接第二 CPU的中断请求信 号,第二中断地址比较器的输出与第二CPU的写控制信号相或后作为第二 中断D触发器的时钟输入端,第一中断地址比较器的输出与第一 CPU的读 控制信号相或后作为第二中断D触发器的消除端输入,第二中断D触发器 的数据输入端接高电平,第二中断D触发器的数据输出端接第一 CPU的中 断请求信号。本专利技术运动控制器的数据通讯及其中断调度方法,利用CPLD内部逻 辑单元设计中断同步结构来实现多CPU中断调度,采用CPLD内部嵌入式阵列块EAB所包含的RAM构建双端串口 RAM结构并依靠中断节拍来实现多 CPU之间的数据通讯。其中数据通讯方法采用CPLD内部嵌入式阵列块EAB中RAM单元构建 双端口 RAM,将双端口 RAM分为两部分, 一部分由第一CPU写,由第二CPU 读,另一部分则是第二CPU写,由第一CPU读,第一 CPU和第二 CPU之间' 通过双端口 RAM4实现数据通信,具体过程如下1) 第一CPU写1S1地址,改变第一地址计数器的现行值,并有第一 地址比较器的输出端1S2与双端口 RAM地址选择器的选通端相连,双端口 RAM地址选择器选择为第一地址计数器有效;2) 第一 CPU写1S2地址,第一地址比较器的输出信号1S2和第一 CPU 的IOW逻辑或后将第一CPU输出的数据锁存,将数据写入双端口RAM,并 使第一地址计数器的值加一;3) 第二CPU写2S1地址,改变第二地址计数器的现行值,由于第一 CPU已完成写操作,双端口 RAM地址选择器选择第二地址计数器有效,4) 第二 CPU写2S2地址,第二地址比较器的2S2和第二 CPU的RD进 行逻辑或后使双端口 RAM中的数据传送到数据总线上输入到第二 CPU,实 现双端口RAM的读操作,同时,该信号的上升沿,使第二地址计数器的值 加一;所说的CPLD的逻辑单元通过可编程方式实现的中断信号调度机制, 其过程如下1) 第一 CPU将要通讯的数据写到双端口 RAM中,然后写第一中断地 址比较器的地址,第一中断D触发器触发,触发第二CPU的中断信号;2) 第二 CPU响应中断,首先通过读第一中断地址比较器的地址,清除第一中断D触发器,并通过上述数据通讯方法读取数据完成一次数据通 讯,第二CPU若选择写第二中断地址比较器的地址,第二中断D触发器触 发,触发第一CPU的中断信号转到下一步骤,否则结束,只进行一次通信; 3)第一 CPU响应中断,首先通过读第二中断地址比较器的地址,清除第二中断D触发器,并通过上述数据通讯方法读取数据完成一次数据通 讯,第二CPU若选择写第二中断地址比较器的地址,第二中断D触发器触 发,触发第一CPU的中断信号,转到步骤2),保持持续通信状态,否则结束。本专利技术采用CPLD的EAB中RAM单元构建双端口 RAM本文档来自技高网...

【技术保护点】
一种运动控制器的数据通讯及其中断调度装置,其特征在于:包括第一CPU(1)、第二CPU(5)和可编程逻辑器件CPLD,该可编程逻辑器件CPLD包含第一地址比较器(2)、第二地址比较器(6)、第一地址计数器(3)、第二地址计数器(7)、双端口RAM(4)、双端口RAM地址选择器(8)和双端口RAM输出选择器(9); 所说的第一CPU(1)的地址线与第一地址比较器(2)相连,第一CPU(1)的数据线与双端口RAM(4)的数据输入端相连,第一地址比较器(2)的输出端1S1和第一CPU(1)的IOW信号进行逻辑或后,作为第一地址计数器(3)装载端的输入信号,第一CPU(1)通过写1S1地址来改变第一地址计数器(3)的现行值,第一地址计数器(3)的输出端与双端口RAM地址选择器(9)的第一地址输入端相连,第一地址比较器(2)的输出端1S2与双端口RAM地址选择器(9)的选通输入端相连,同时,第一地址比较器(2)的输出端1S2和第一CPU(1)的IOW相或后作为双端口RAM(4)的数据锁存端和第一地址计数器(3)的加计数时钟端的输入信号,该信号的上升沿将第一CPU(1)数据输出端的数据写入双端口RAM(4)的数据输入端,并使第一地址计数器(3)的内部计数值加一;连续向第一地址比较器的1S2端口写数据,第一CPU(1)可访问双端口RAM(4)的全部存储空间; 所说的第二CPU(5)的地址线与第二地址比较器(6)相连,双端口RAM(4)的数据输出端与双端口RAM输出选择器(8)的数据输入端相连,双端口RAM输出选择器(8)的数据输出端与第二CPU(5)的数据线相连,第二地址比较器(6)的输出端2S1与第二CPU(5)的写信号WR进行逻辑或后,作为第二地址计数器(7)的装载端的输入信号,第二CPU(5)通过写2S1地址改变第二地址计数器(7)的现行值;第二地址计数器(7)的地址计数输出端与双端口RAM地址选择器(9)的第二地址输入端相连,第二地址比较器(6)的输出端2S2和第二CPU(5)的RD信号进行逻辑或后作为双端口RAM输出选择器(8)的控制端和第二地址计数器(7)时钟端的输入信号,当该信号为低电平时,双端口RAM(4)中的数据传送到数据总线上输入到第二CPU(5),同时,该信号的上升沿,使第二地址计数器(7)的内部计数值加一,第二CPU(5)连续读2S2端口,便可访问双端口RAM的全部存储空间。...

【技术特征摘要】

【专利技术属性】
技术研发人员:陶涛梅雪松刘栋姜歌东许睦旬马振群杨虎
申请(专利权)人:西安交通大学
类型:发明
国别省市:87[中国|西安]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1