并行操作逻辑运算及其控制器的制作方法

文档序号:6394763阅读:314来源:国知局
专利名称:并行操作逻辑运算及其控制器的制作方法
技术领域
本实用新型涉及一种并行操作逻辑运算及其控制器,尤其涉及一种基于采用FPGA并行操作电路硬连接的PLC逻辑运算控制器操作控制电路及其时序控制方法的并行操作逻辑运算及其控制器。
背景技术
逻辑运算是每一种CPU所具有的功能,ARM微处理器也是如此,但ARM微处理器的逻辑运算是字与字之间按位逻辑运算,没有直接位与位之间的逻辑运算命令,以及没有位处理命令;对于具有位处理功能的微处理器,比如以8051为内核的系列单片机,AVR系列单片机,设计有位处理器实现位逻辑运算,在位处理器中设置一个位单元为位累加器,位逻辑运算操作都是一个位单元内容与另一个位单元内容进行逻辑操作,位累加器作为目的操作数位单元,或源操作数位单元,所以2个位单元内容进行逻辑操作运算时,首先需要将一个位单元的内容传输给位累加器,然后再进行位逻辑运算;而且每次只能够执行2个位单元内容的逻辑运算;小型可编程控制器(PLC)是以位逻辑运算命令为主的控制装置,如果应用AVR系列单片机或以8051为内核的系列单片机作为小型PLC的控制核心芯片,执行小型PLC用户程序时,执行一条逻辑运算命令需要进行一次判断操作码,然后根据操作码的操作功能调用一次对应的逻辑运算子程序,运算结果存放在位累加器中,直到执行输出类命令;如果应用ARM微处理器作为小型PLC的控制核心芯片,处理过程更为复杂;每一条逻辑操作命令的执行需要判断一次操作码和调用一次子程序的过程,影响了命令的执行速度;而应用FPGA设计小型PLC时,将逻辑运算器作为PLC系统CPU的一个部分,PLC系统控制器按照逻辑运算命令要求发送参与操作的位信息,如果运算结果是下一条逻辑运算命令结果,则运算结果返回逻辑运算器一个输入端的暂存器中,否则将运算结果传输至该运算结果所对应的位单元中,没有充分应用FPGA并行操作的特点。
发明内容本实用新型的目的在于提供一种能够自主完成PLC逻辑命令所要求功能的并行操作逻辑运算及其控制器;该并行操作逻辑运算及其控制器应用FPGA设计硬连接控制电路,在系统WR作用下存储命令和多操作位,并在内部时序脉冲控制下自主完成命令的操作;同时充分应用FPGA的并行操作处理功能,实现逻辑命令操作与PLC用户程序执行过程的并行操作。解决上述技术问题的技术方案是:一种并行操作逻辑运算及其控制器,包括命令译码与操作位存储模块、脉冲分配器模块、多操作位逻辑运算控制模块、双操作位逻辑运算控制模块、时序控制模块、先进后出位单元堆栈和输出控制器;所述命令译码与操作位存储模块分别与脉冲分配器模块、多操作位逻辑运算控制模块、双操作位逻辑运算控制模块、时序控制模块、先进后出位单元堆栈和输出控制器连接;[0006]所述脉冲分配器模块还与双操作位逻辑运算控制模块、时序控制模块和输出控制器连接;所述多操作位逻辑运算控制模块还与先进后出位单元堆栈连接;所述双操作位逻辑运算控制模块还与先进后出位单元堆栈连接;所述时序控制模块还与先进后出位单元堆栈和输出控制器连接;所述先进后出位单元堆栈还与输出控制器连接;所述命令译码与操作位存储模块在系统WR信号的作用下,存储6位命令字(Dnrl-Dn)经译码输出命令信号,存储参与逻辑运算的η位(Dlr1-Dtl)多操作位并予以输出,向脉冲分配器模块发出启动脉冲;所述命令译码与操作位存储模块被复位时,所有命令输出端为“O”;所述脉冲分配器模块作为并行操作逻辑运算及其控制器的内部时序脉冲发生器,输出脉冲①,脉冲②,脉冲③和脉冲④,为时序控制模块、双操作位逻辑运算控制模块和输出控制器提供时序控制信号;所述多操作位逻辑运算控制模块根据命令译码与操作位存储模块输出的逻辑命令,选择参与运算的操作位,实施有效位最多为η位(Dlr1-Dtl)的多操作位和操作位的位逻辑的与运算和或运算;输出逻辑运算的结果;所述双操作位逻辑运算控制模块在执行ANB命令和ORB命令时,在脉冲②的作用下,锁存器锁存来自先进后出位单元堆栈输出的位信息作为操作位1,操作位2也来自先进后出位单元堆栈输出的位信息;输出逻辑运算的结果;所述时序控制模块根据命令译码与操作位存储模块输出的命令,按照脉冲分配器模块输出的时序信号,控制先进后出位单元堆栈的位信息的压栈和出栈的操作;向输出控制器输出控制脉冲;所述先进后出位单元堆栈在时序控制模块输出的控制信号作用下,存储执行命令操作的结果和输出位信息;所述输出控制器执行OUT命令、SET命令及RST命令,在系统RD信号的作用下,将执行命令的结果输出至系统数据总线Dtl位;上述m为32或16,11为26或10,当111=32,11=26 ;当 m=16, n=10o其进一步技术方案是:所述命令译码与操作位存储模块包括模块地址识别器、命令与操作位寄存器、命令译码器、非门I和与门I ;模块地址识别器的模块地址输入端与系统地址总线连接,如果系统地址总线的地址值是本控制器的地址值,模块地址识别器输出的CS信号为“0”,否则为“ I”;模块地址识别器的CS信号输出端和命令与操作位寄存器使能端,脉冲分配器模块连接;所述命令与操作位寄存器的复位信号输入端与脉冲分配器模块连接;WR信号输入端与系统写入信号WR线连接;数据输入端与系统数据总线(Dnrl-Dtl)连接;所述命令与操作位寄存器的命令编码输出端与命令译码器的命令信息输入端连接;多操作位输出端与多操作位逻辑运算控制模块连接;当所述命令与操作位寄存器被复位,命令编码输出端全部为 “ I ” ;所述命令译码器的命令信息输出端与脉冲分配器模块、多操作位逻辑运算控制模块、双操作位逻辑运算控制模块、时序控制模块和输出控制器连接;复位信息输出端和非门I的输入端连接;当命令信息输入端全部为“I”时,复位命令输出端为“1”,其它命令输出端全部为“ O ”,命令输出为“ I”有效;非门I的输出端和与门I的一个输入端连接;与门I的另一个输入端与系统复位信号线连接;输出端与脉冲分配器模块和先进后出位单元堆栈连接;与门I的输出信号作为模块复位命令;模块复位命令输出为“O”有效;上述 m 为 32 或 16, η 为 26 或 10,当 m=32, n=26 ;当 m=16, n=10。所述脉冲分配器模块包括脉冲分配器、或门I和与门II ;所述脉冲分配器的时钟输入端与系统时钟脉冲线连接;启动信号脉冲输入端和命令译码与操作位存储模块的模块地址识别器的CS信号输出端连接;复位信号输入端和与门II的输出端连接;脉冲分配器有5个脉冲输出端,脉冲⑤输出端和与门II的一个输入端连接;脉冲④输出端和或门I的一个输入端及时序控制模块连接;脉冲③输出端与时序控制模块连接;脉冲②输出端与时序控制模块、双操作位逻辑运算控制模块和输出控制器连接;脉冲①输出端与时序控制模块连接;或门I的其它两个输入端分别和命令译码与操作位存储模块的ORB命令输出端及ANB命令输出端连接;或门I的输出端和与门II的一个输入端连接;与门II的另一个输入端和命令译码与操作位存储模块的模块复位命令输出端连接;与门II的输出端还与命令译码与操作位存储模块的命令与操作位寄存器的复位信号输入端连接。所述多操作位逻辑运算控制模块包括与运算1、或运算1、二选一选择器1、三态门1、三态门I1、三态门II1、三态门IV、三态门V、或门I1、或门II1、或门IV、或门V和或非门;
与运算I的多操作位输入端和命令译码与操作位存储模块的多操作位输出端连接;操作位输入端和三态门I的输出端、三态门II的输出端及三态门III的输出端连接;与运算I的运算结果输出端与二选一选择器I的一个输入端连接;或运算I的多操作位输入端和命令译码与操作位存储模块的多操作位输出端连接;操作位输入端和三态门I的输出端、三态门II的输出端及三态门III的输出端连接;运算结果输出端与二选一选择器I的另一个输入端连接;二选一选择器I的选择控制输入端和或门IV的输出端连接;选择结果输出端和三态门V的输入端连接;三态门I的输入端和三态门I的控制端及命令译码与操作位存储模块的LD命令输出端连接;三态门I的输出端与三态门II的输出端、三态门III的输出端、与运算I的操作位输入端及或运算I的操作位输入端连接;三态门II的输入端和命令译码与操作位存储模块的LD命令输出端连接;控制端与命令译码与操作位存储模块的LDR命令输出端连接;三态门III的输入端和三态门IV的输出端连接;控制端和或门II的输出端连接;三态门IV的输入端和位堆栈存储器连接;控制端和或门V的输出端连接;三态门V的控制端和或门V的输出端连接;输出端与位堆栈存储器连接;或门II的两个输入端分别和命令译码与操作位存储模块的AND命令输出端及OR命令输出端连接;[0036]或门III的两个输入端分别和命令译码与操作位存储模块的LD命令输出端及AND命令输出端连接;输出端和或门IV的一个输入端连接;或门IV的另一个输入端和或非门I的输出端连接;或门V的四个输入端分别和命令译码与操作位存储模块的LD命令输出端、LDR命令输出端、OR命令输出端及AND命令输出端连接;或非门I的两个输入端分别和命令译码与操作位存储模块的LDR命令输出端及OR命令输出端连接。所述双操作位逻辑运算控制模块包括与运算I1、或运算I1、二选一选择器I1、锁存器、三态门V1、三态门νπ和或门VI ;与运算II的操作位I输入端与锁存器的输出端连接;操作位2输入端和三态门VI的输出端连接;运算结果输出端与二选一选择器II的一个输入端连接;或运算II的操作位I输入端与锁存器的输出端连接;操作位2输入端和三态门VI的输出端连接;运算结果输出端与二选一选择器II的另一个输入端连接;二选一选择器II的选择控制输入端和命令译码与操作位存储模块的ANB命令输出端连接;选择结果输出端和三态门νπ的输入端连接;锁存器的位信息输入端与三态门VI的输出端连接;锁存脉冲输入端与脉冲②输出端连接;三态门VI的输入端与位堆栈存储器连接;控制端和或门VI的输出端连接;三态门νπ的控制端和或门VI的输出端连接;输出端与位堆栈存储器连接;或门VI的两个输入端分别和命令译码与操作位存储模块的ORB命令输出端及AND命令输出端连接。所述时序控制模块包括或门νπ、或门珊、或门IX、或门X、或门X1、或门ΧΠ、或门XII1、或门XIV、与门II1、与门IV、与门V、与门V1、与门νπ、与门珊、与门IX、与门X、与门X1、与门ΧΠ、与门XII1、与门XIV、与门X V和三态门珊;或门νπ的两个输入端分别和命令译码与操作位存储模块的LDR命令输出端及LD命令输出端连接;输出端和与门III的一个输入端及与门IV的一个输入端连接;或门VDI的两个输入端分别和命令译码与操作位存储模块的OR命令输出端及AND命令输出端连接;或门VDI的输出端和与门V的一个输入端及与门VI的一个输入端连接;或门IX的两个输入端分别和命令译码与操作位存储模块的ORB命令输出端及ANB命令输出端连接;或门IX的输出端和与门νπ的一个输入端、与门珊的一个输入端、与门IX的一个输入端及与门X的一个输入端连接;或门X的三个输入端分别和命令译码与操作位存储模块的OUT命令输出端、SET命令输出端及RST命令输出端连接;或门X的输出端和与门XIV的一个输入端、与门X V的一个输入端及输出控制器连接;或门XI的二个输入端分别和与门III的输出端及与门ΧΠ的输出端连接;或门XI的输出端与先进后出位单元堆栈连接;或门ΧΠ的五个输入端分别和与门V的输出端、与门IX的输出端、与门νπ的输出端、与门XI的输出端及与门XIV的输出端连接;或门ΧΠ的输出端与先进后出位单元堆栈连接;或门XIII的四个输入端分别和与门IV的输出端、与门VI的输出端、与门X的输出端及与门XIII的输出端连接;或门XIII的输出端与先进后出位单元堆栈连接;或门XIV的两个输入端分别和与门VDI的输出端及与门X V的输出端连接;或门XIV的输出端与先进后出位单元堆栈连接;与门III的另一个输入端与脉冲①输出端连接;与门IV的另一个输入端与脉冲②输出端连接;与门V的另一个输入端与脉冲①输出端连接;与门VI的另一个输入端与脉冲②输出端连接;与门VII的另一个输入端与脉冲①输出端连接;与门VDI的另一个输入端与脉冲②输出端连接;与门IX的另一个输入端与脉冲③输出端连接;与门X的另一个输入端与脉冲④输出端连接;与门XI的二个输入端分别与脉冲①输出端和命令译码与操作位存储模块的MPS命令输出端连接;与门ΧΠ的二个输入端分别与脉冲②输出端和命令译码与操作位存储模块的MPS命令输出端连接;与门XIII的二个输入端分别与脉冲③输出端和命令译码与操作位存储模块的MPS命令输出端连接;与门XIV的另一个输入端与脉冲①输出端连接;与门X V的另一个输入端与脉冲②输出端连接;三态门VDI的输入端与位堆栈存储器连接;三态门VDI的输出端与堆栈存储器连接;三态门VDI的控制端和命令译码与操作位存储模块的MPS命令输出端连接。所述先进后出位单元堆栈包括位堆栈存储器和加I或减I计数器;所述位堆栈存储器的出栈脉冲输入端和时序控制模块的或门ΧΠ的输出端连接;压栈脉冲输入端和时序控制模块的或门XIII的输出端连接;位堆栈存储器的位信息输出端与多操作位逻辑运算控制模块的三态门IV的输入端、双操作位逻辑运算控制模块的三态门VI的输入端、时序控制模块的三态门珊的输入端及输出控制器连接;位堆栈存储器的位信息输入端与多操作位逻辑运算控制模块的三态门V的输出端、双操作位逻辑运算控制模块的三态门νπ的输出端及时序控制模块的三态门珊的输出端连接;位堆栈存储器的地址输入端与加I或减I计数器的计数输出端连接; 所述加I或减I计数器的复位输入端和命令译码与操作位存储模块的模块复位命令输出端连接;加I或减I计数器的堆栈地址加I脉冲输入端与时序控制模块的或门XI的输出端连接;加I或减I计数器的堆栈地址减I脉冲输入端与时序控制模块的或门XIV的输出端连接。所述输出控制器包括位单元暂存器、与门X V1、二选一选择器II1、与非门、或非门
I1、三态门IX和非门II ;所述位单元暂存器的写入脉冲CP端和与门XVI的输出端连接,D输入端与二选一选择器III的输出端连接;位单元暂存器的输出端与三态门IX的输入端连接;与门X VI的二个输入端分别与时序控制模块的或门X的输出端和脉冲②输出端连接;二选一选择器III的二个输入端分别与位堆栈存储器的位信息输出端和与非门的输出端连接;二选一选择器III的控制端和命令译码与操作位存储模块的RST命令输出端连接;与非门的二个输入端分别与位堆栈存储器的位信息输出端和命令译码与操作位存储模块的RST命令输出端连接;或非门II的二个输入端分别与系统RD信号线和非门II的输出端连接;或非门II的输出端与三态门IX的控制端连接;三态门IX的输出端与系统数据总线Dtl位连接;非门II的输入端与时序控制模块的或门X的输出端连接。其更进一步的技术方案是:所述脉冲分配器模块的脉冲分配器作为并行操作逻辑运算及其控制器的内部时序控制,当命令译码与操作位存储模块的模块地址识别器输出端的CS信号由“I”一“O”时,启动脉冲分配器工作;在系统时钟脉冲的作用下,按顺序输出脉冲①,脉冲②,脉冲③,脉冲④,脉冲⑤;当执行LD、LDR命令时:脉冲①:堆栈地址+1 ;脉冲②:运算结果位信息压入堆栈;脉冲③:无操作;脉冲④:复位脉冲分配器及命令与操作位寄存器;当执行AND,0R命令时:脉冲①:堆栈栈顶单元的位信息出栈作为操作位;脉冲②:运算结果位信息压入堆栈;脉冲③:无操作;脉冲④:复位脉冲分配器及命令与操作位寄存器;当执行OUT、SET、RST命令时,脉冲①:堆栈栈顶单元的位信息出栈;脉冲②:堆栈地址减1,位单元暂存器锁存输出位信息;脉冲③:无操作;脉冲④:复位脉冲分配器及命令与操作位寄存器;当执行MPS命令时:脉冲①:堆栈栈顶单元的位信息出栈;脉冲②:堆栈地址加I;脉冲③:位信息压入堆栈,使得栈顶相邻的2个单元的位信息相同;脉冲④:复位脉冲分配器及命令与操作位寄存器;当执行ANB、ORB命令时:脉冲①:堆栈栈顶单元的位信息出栈作为操作位I;脉冲②:堆栈地址减1,锁存器锁存操作位I;脉冲③:堆栈栈顶单元的位信息出栈作为操作位2 ;脉冲④:运算结果位信息压入堆栈;脉冲⑤:复位脉冲分配器及命令与操作位寄存器。由于采用以上结构,本实用新型之并行操作逻辑运算及其控制器具有以下有益效果:一.逻辑运算具有自主控制功能本实用新型之并行操作逻辑运算及其控制器被系统地址选中,在系统WR信号的作用下将命令和多操作位写入命令与操作寄存器,脉冲分配器被启动,并行操作逻辑运算及其控制器在脉冲分配器的时序脉冲作用下自主完成逻辑命令的操作,并行操作逻辑运算及其控制器在执行逻辑命令的过程中,不需要PLC系统对并行操作逻辑运算及其控制器再进行任何操作,充分应用了 FPGA的并行操作处理功能,实现逻辑命令操作与PLC用户程序和其他任务的执行过程的并行操作。二.读出运算结果简单快捷本实用新型之并行操作逻辑运算及其控制器在执行输出类命令时,首先并行操作逻辑运算及其控制器被模块地址选中,在系统WR信号的作用下,将输出命令写入命令译码与操作位存储模块的命令与操作寄存器,经过系统一个时钟的延时,在系统RD信号的作用下将位信息读出发送到系统数据总线Dtl位;这样,系统在执行输出类命令过程中,系统只需要2个时钟即可读出输出结果,提高了操作速度。三.可并行执行多操作位的逻辑运算本实用新型之并行操作逻辑运算及其控制器中,每条逻辑运算命令可以有多个操作位,这样一条命令相当于相同逻辑运算的多条命令,减少了系统对命令操作码的判断操作过程,充分利用了 FPGA并行操作的功能,提高了操作速度。四.系统性价比高本实用新型之并行操作逻辑运算及其控制器以FPGA的硬连接控制电路为核心,即可达到自主完成逻辑运算和脉冲控制的目的,也达到逻辑命令处理并行操作的目的,对于逻辑类命令只需要发送一条命令即可完成,对于输出类命令读出输出结果只需要占用2个系统时钟,提高了 PLC执行命令序列的速度,具有较高的性价比。
以下结合附图和实施例对本实用新型之并行操作逻辑运算及其控制器的技术特征作进一步的说明。

图1:本实用新型之并行操作逻辑运算及其控制器的系统结构框图;图2:本实用新型之并行操作逻辑运算及其控制器的命令译码与操作位存储模块的电路连接图;图3:本实用新型之并行操作逻辑运算及其控制器的脉冲分配器的电路连接图4:本实用新型之并行操作逻辑运算及其控制器的多操作位逻辑运算控制模块的电路连接图;图5:本实用新型之并行操作逻辑运算及其控制器的双操作位逻辑运算控制模块的电路连接图;图6:本实用新型之并行操作逻辑运算及其控制器的时序控制模块的电路连接图;图7:本实用新型之并行操作逻辑运算及其控制器的输出控制器的电路连接图;图8-1 图8-2:本实用新型之并行操作逻辑运算及其控制器的脉冲分配器脉冲输出波形图:图8-1:执行ORB,ANB命令的脉冲分配器脉冲输出波形图;图8-2:执行其它命令的脉冲分配器脉冲输出波形图。图中:I 一命令译码与操作位存储模块,II 一脉冲分配器模块,III 一多操作位逻辑运算控制模块,IV—双操作位逻辑运算控制模块,V—时序控制模块,VI—先进后出位单元堆栈,νπ—输出控制器;I一模块地址识别,2—命令与操作位寄存器,3—命令译码器,4一非门I,5—与门I,6—脉冲分配器,7—或门I,8—与门11,9一与运算I,10—或运算I,11 一二选一选择器 I,12—二态门 I,13—二态门 II,14一二态丨]III,15一二态门 IV,16一二态门 V,17一或门II,18一或门III,19一或门IV,20一或门V,21一或非门I,22—与运算II,23一或运算II,24一_■选一选择器II,25一锁存器,26—二态门VI,27一二态门VII,28一或门VI,29一或丨]Vn j 30一或丨]VDI, 31一或丨]IX, 32一或丨]X, 33一或丨]XI, 34一或丨 IXH, 35一或丨]XIII,36一或门XIV,37—与门III,38—与门IV,39—与门V,40—与门VI,41一与门VL 42—与门珊,43—与门IX,44—与门X,45—与门XI,46—与门XL 47—与门XIII,48—与门X IV,49—与门X V,50—三态门珊,51—位堆栈存储器,52—加I或减I计数器,53—位单元暂存器,54—与门X VI,55—二选一选择器III,56—与非门,57—或非门II,58—三态门IX,59—非门II。文中缩略语说明:PLC — Programmable Logical Controller,可编程逻辑控制器,简称可编程控制器;FPGA — Field Programmable Gate Array,现场可编程门阵列;LD命令:LOADING AND命令,载入逻辑与命令,本实用新型中表示PLC每行程序第一个软元件与第二个软元件等进行与运算,可以有多个操作位,操作位之间进行逻辑与;LDR命令:LOADING OR命令,载入或命令,本实用新型中表示PLC每行程序第一个软元件与第二个软元件等进行或运算,可以有多个操作位,操作位之间进行逻辑或;AND命令:AND命令,与命令,可以有多个操作位,本实用新型中表示AND命令中的操作位之间进行逻辑与,并与上一条命令的执行结果进行逻辑与;OR命令:0R命令,或命令,可以有多个操作位,本实用新型中表示OR命令中的操作位之间进行逻辑或,并与上一条命令的执行结果进行逻辑或;ANB命令:AND BLOCK命令,逻辑块与命令,表示两个逻辑运算模块之间进行逻辑与;ORB命令:0RB BLOCK命令,逻辑块或命令,表示两个逻辑运算模块之间进行逻辑或.[0118]MPS命令:BIT MEMORY PUSHED ON THE STACK命令,位信息压入位单元堆栈;OUT命令:0UT命令,输出命令;SET命令:SET命令,置I命令; RST命令:RESET命令,复位命令;D0位:DATA。,第O位位单元;RD 脉冲:READ PULSE,读脉冲。模块端口说明:命令译码与操作位存储模块1:1 a:LD命令输出端;I b:LDR命令输出端;I c:AND命令输出端;I d:0R命令输出端;I e =ANB命令输出端;I f:0RB命令输出端;I g:MPS命令输出端;I h:0UT命令输出端;I 1:SET命令输出端;I j:RST命令输出端;I k:多操作位输出端;I 1:模块复位命令输出端;I m:复位信号输入端;I η:脉冲分配器启动信号输出端;I ο:系统复位信号输入端;I P:系统地址总线输入端;I q:系统WR信号输入端;I r:系统数据总线输入端;脉冲分配器模块II: II a:脉冲①输出端;II b:脉冲②输出端;II c:脉冲③输出端;II d:脉冲④输出端;II e:复位命令输入端;II f:命令与操作位寄存器复位信号输出立而;II g:启动脉冲输入; II h:系统时钟输入; II i:0RB命令输入%5 ; II j:ANB命令输入端;[0127]多操作位逻辑运算控制模块III JII a:LD命令输入端;III b:LDR命令输入端JII c:
AND命令输入端;III d:0R命令输入端;III e:多操作位输入端;III f:堆栈输出位信息输入端JII g:堆栈输入位信息输出端;双操作位逻辑运算控制模块IV:IV a:ANB命令输入端;IV b:0RB命令输入端;IV c:堆栈输出位信息输入端;IV d:堆栈输入位信息输出端;IV e:脉冲②输入端;时序控制模块V:V a:LD命令输入端;V b:LDR命令输入端;V c =AND命令输入端;V d:0R命令输入端;V e =ANB命令输入端;V f =ORB命令输入端;V g =MPS命令输入端;Vh:0UT命令输入端;V 1:SET命令输入端;V j:RST命令输入端;V k:结果输出控制脉冲输出端;V 1:脉冲①输入端;V m:脉冲②输入端;V η:脉冲③输入端;V ο:脉冲④输入端;V P:减I脉冲输出端;V q:加I脉冲输出端;V r:堆栈RD脉冲输出端;V s:堆栈WR脉冲输出端;V t:堆栈输入位信息输出端;V u:堆栈输出位信息输入端;先进后出位单元堆栈VI:VI a:复位命令输入端;VI b:位信息压栈脉冲输入端;VI c:位信息出栈脉冲输入端;VI d:堆栈地址加I脉冲输入端;VI e:堆栈地址减I脉冲输入端;VI f:位信息输出端;VI g:位信息输入端;输出控制器νπ ;vn a:PLC系统数据总线Dtl位信息输出端;VIIb:PLC系统RD信号输入端;ΥΠ c:脉冲②输入端;ΥΠ d:堆栈输出位信息输入端;ΥΠ e:控制脉冲输入端;ΥΠ f =RST命令输入%5 ;
具体实施方式
实施例一:一种逻辑运算多操作位最多为26位的并行操作逻辑运算及其控制器如图1所示,该并行操作逻辑运算及其控制器包括命令译码与操作位存储模块
1、脉冲分配器模块I1、多操作位逻辑运算控制模块II1、双操作位逻辑运算控制模块IV、时序控制模块V、先进后出位单元堆栈VI和输出控制器νπ ;所述命令译码与操作位存储模块I分别与脉冲分配器模块I1、多操作位逻辑运算控制模块II1、双操作位逻辑运算控制模块IV、时序控制模块V、先进后出位单元堆栈VI和输出控制器νπ连接;所述脉冲分配器模块II还与双操作位逻辑运算控制模块IV、时序控制模块V和输出控制器νπ连接;所述多操作位逻辑运算控制模块III还与先进后出位单元堆栈VI连接;所述双操作位逻辑运算控制模块IV还与先进后出位单元堆栈VI连接;所述时序控制模块V还与先进后出位单元堆栈VI和输出控制器νπ连接;所述先进后出位单元堆栈VI还与输出控制器νπ连接;所述命令译码与操作位存储模块I在系统WR信号的作用下,存储6位命令字(D31-D26)经译码输出命令信号,存储参与逻辑运算的26位(D25-Dtl)多操作位并予以输出,向脉冲分配器模块II发出启动脉冲;所述命令译码与操作位存储模块I被复位时,所有命令输出端为“O”;所述脉冲分配器模块II作为并行操作逻辑运算及其控制器的内部时序脉冲发生器,输出脉冲①,脉冲②,脉冲③和脉冲④,为时序控制模块V、双操作位逻辑运算控制模块IV和输出控制器νπ提供时序控制信号;[0142]所述多操作位逻辑运算控制模块III根据命令译码与操作位存储模块I输出的逻辑命令,选择参与运算的操作位,实施有效位最多为26位(D25-Dtl)的多操作位和操作位的位逻辑的与运算和或运算;输出逻辑运算的结果;所述双操作位逻辑运算控制模块IV在执行ANB命令和ORB命令时,在脉冲②的作用下,锁存器25锁存来自先进后出位单元堆栈VI输出的位信息作为操作位I,操作位2也来自先进后出位单元堆栈VI输出的位信息;输出逻辑运算的结果;所述时序控制模块V根据命令译码与操作位存储模块I输出的命令,按照脉冲分配器模块II输出的时序信号,控制先进后出位单元堆栈VI的位信息的压栈和出栈的操作;向输出控制器νπ输出控制脉冲;所述先进后出位单元堆栈VI在时序控制模块V输出的控制信号作用下,存储执行命令操作的结果和输出位信息;所述输出控制器VII执行OUT命令、SET命令及RST命令,在系统RD信号的作用下,将执行命令的结果输出至系统数据总线Dtl位(参见图1、图2和图4,图中m、η的取值范围是:m为32或16, η为26或10,对于本实施例而言,m为32, η为16)。如图2所示,所述命令译码与操作位存储模块I包括模块地址识别器1、命令与操作位寄存器2、命令译码器3、非门I 4和与门I 5 ;模块地址识别器I的模块地址输入端与系统地址总线连接,如果系统地址总线的地址值是本控制器的地址值,模块地址识别器I输出的CS信号为“0”,否则为“I” ;模块地址识别器I的CS信号输出端和命令与操作位寄存器2使能端,脉冲分配器模块II连接;所述命令与操作位寄存器2的复位信号输入端与脉冲分配器模块II连接;WR信号输入端与系统写入信号WR线连接;数据输入端与系统数据总线(D31-Dtl)连接;所述命令与操作位寄存器2的命令编码输出端与命令译码器3的命令信息输入端连接;多操作位输出端与多操作位逻辑运算控制模块III连接;当所述命令与操作位寄存器2被复位,命令编码输出端全部为“I”;所述命令译码器3的命令信息输出端与脉冲分配器模块I1、多操作位逻辑运算控制模块II1、双操作位逻辑运算控制模块IV、时序控制模块V和输出控制器νπ连接;复位信息输出端和非门I 4的输入端连接;当命令信息输入端全部为“I”时,复位命令输出端为“1”,其它命令输出端全部为“O”,命令输出为“I”有效;非门I 4的输出端和与门I 5的一个输入端连接;与门I 5的另一个输入端与系统复位信号线连接;输出端与脉冲分配器模块II和先进后出位单元堆栈VI连接;与门I 5的输出信号作为模块复位命令;模块复位命令输出为“O”有效;(参见图1和图2,图中m的取值范围是:m为32或16,对于本实施例而言,m为32)。如图3所示,所述脉冲分配器模块II包括脉冲分配器6、或门I 7和与门II 8 ;所述脉冲分配器6的时钟输入端与系统时钟脉冲线连接;启动信号脉冲输入端和命令译码与操作位存储模块I的模块地址识别器I的CS信号输出端连接;复位信号输入端和与门II 8的输出端连接;脉冲分配器6有5个脉冲输出端,脉冲⑤输出端和与门II 8的一个输入端连接;脉冲④输出端和或门I 7的一个输入端及时序控制模块V连接;脉冲③输出端与时序控制模块V连接;脉冲②输出端与时序控制模块V、双操作位逻辑运算控制模块IV和输出控制器νπ连接;脉冲①输出端与时序控制模块V连接;或门I 7的其它两个输入端分别和命令译码与操作位存储模块I的ORB命令输出端及ANB命令输出端连接;或门I 7的输出端和与门II 8的一个输入端连接;与门II 8的另一个输入端和命令译码与操作位存储模块I的模块复位命令输出端连接;与门II 8的输出端还与命令译码与操作位存储模块I的命令与操作位寄存器2的复位信号输入端连接。如图4所示,所述多操作位逻辑运算控制模块III包括与运算I 9、或运算I 10、二选一选择器I 11、三态门I 12、三态门II 13、三态门III 14、三态门IV 15、三态门V 16、或门
II17、或门III 18、或门IV 19、或门V 20和或非门21 ;与运算I 9的多操作位输入端和命令译码与操作位存储模块I的多操作位输出端连接;操作位输入端和三态门I 12的输出端、三态门II 13的输出端及三态门III 14的输出端连接;与运算I 9的运算结果输出端与二选一选择器Ill的一个输入端连接;或运算I 10的多操作位输入端和命令译码与操作位存储模块I的多操作位输出端连接;操作位输入端和三态门I 12的输出端、三态门II 13的输出端及三态门III 14的输出端连接;运算结果输出端与二选一选择器I 11的另一个输入端连接;二选一选择器I 11的选择控制输入端和或门IV 19的输出端连接;选择结果输出端和三态门V 16的输入端连接;三态门I 12的输入端和三态门I 12的控制端及命令译码与操作位存储模块I的LD命令输出端连接;三态门I 12的输出端与三态门II 13的输出端、三态门III14的输出端、与运算I 9的操作位输入端及或运算I 10的操作位输入端连接;三态门II 13的输入端和命令译码与操作位存储模块I的LD命令输出端连接;控制端与命令译码与操作位存储模块I的LDR命令输出端连接;三态门III14的输入端和三态门IV 15的输出端连接;控制端和或门II 17的输出端连接;三态门IV 15的输入端和位堆栈存储器51连接;控制端和或门V 20的输出端连接;三态门V 16的控制端和或门V 20的输出端连接;输出端与位堆栈存储器51连接;或门II 17的两个输入端分别和命令译码与操作位存储模块I的AND命令输出端及OR命令输出端连接;或门III18的两个输入端分别和命令译码与操作位存储模块I的LD命令输出端及AND命令输出端连接;输出端和或门IV 19的一个输入端连接;或门IV 19的另一个输入端和或非门I 21的输出端连接;或门V 20的四个输入端分别和命令译码与操作位存储模块I的LD命令输出端、LDR命令输出端、OR命令输出端及AND命令输出端连接;或非门I 21的两个输入端分别和命令译码与操作位存储模块I的LDR命令输出端及OR命令输出端连接。如图5所示,所述双操作位逻辑运算控制模块IV包括与运算II 22、或运算II 23、二选一选择器II 24、锁存器25、三态门VI 26、三态门Vn 27和或门VI 28 ;与运算II 22的操作位I输入端与锁存器25的输出端连接;操作位2输入端和三态门VI 26的输出端连接;运算结果输出端与二选一选择器II 24的一个输入端连接;或运算II 23的操作位I输入端与锁存器25的输出端连接;操作位2输入端和三态门VI 26的输出端连接;运算结果输出端与二选一选择器II 24的另一个输入端连接;二选一选择器II 24的选择控制输入端和命令译码与操作位存储模块I的ANB命令输出端连接;选择结果输出端和三态门Vn 27的输入端连接;锁存器25的位信息输入端与三态门VI 26的输出端连接;锁存脉冲输入端与脉冲②输出端连接;三态门VI 26的输入端与位堆栈存储器51连接;控制端和或门VI 28的输出端连接;三态门VII 27的控制端和或门VI 28的输出端连接;输出端与位堆栈存储器51连接;或门VI 28的两个输入端分别和命令译码与操作位存储模块I的ORB命令输出端及AND命令输出端连接。如图6所示,所述时序控制模块V包括或门VII 29、或门VDI 30、或门IX 31、或门X 32、或门XI 33、或门ΧΠ 34、或门XIII 35、或门XIV 36、与门III 37、与门IV 38、与门V 39、与门VI 40、与门VII 41、与门VDI 42、与门IX 43、与门X 44、与门XI 45、与门ΧΠ 46、与门XIII 47、与门XIV 48、与门X V 49和三态门VDI 50 ;或门VII 29的两个输入端分别和命令译码与操作位存储模块I的LDR命令输出端及LD命令输出端连接;输出端和与门III 37的一个输入端及与门IV 38的一个输入端连接;或门珊30的两个输入端分别和命令译码与操作位存储模块I的OR命令输出端及AND命令输出端连接;或门珊30的输出端和与门V 39的一个输入端及与门VI 40的一个输入端连接;或门IX 31的两个输入端分别和命令译码与操作位存储模块I的ORB命令输出端及ANB命令输出端连接;或门IX 31的输出端和与门VII 41的一个输入端、与门VDI 42的一个输入端、与门IX 43的一个输入端及与门X 44的一个输入端连接;或门X 32的三个输入端分别和命令译码与操作位存储模块I的OUT命令输出端、SET命令输出端及RST命令输出端连接;或门X 32的输出端和与门XIV 48的一个输入端、与门X V 49的一个输入端及输出控制器VII连接;或门XI 33的二个输入端分别和与门III 37的输出端及与门ΧΠ 46的输出端连接;或门XI 33的输出端与先进后出位单元堆栈VI连接;或门ΧΠ34的五个输入端分别和与门V 39的输出端、与门IX 43的输出端、与门Vn 41的输出端、与门XI 45的输出端及与门XIV 48的输出端连接;或门ΧΠ 34的输出端与先进后出位单元堆栈VI连接;或门XIII 35的四个输入端分别和与门IV 38的输出端、与门VI 40的输出端、与门X 44的输出端及与门XIII47的输出端连接;或门XIII 35的输出端与先进后出位单元堆栈VI连接;或门XIV 36的两个输入端分别和与门珊42的输出端及与门X V 49的输出端连接;或门XIV 36的输出端与先进后出位单元堆栈VI连接;[0183]与门III 37的另一个输入端与脉冲①输出端连接;与门IV 38的另一个输入端与脉冲②输出端连接;与门V 39的另一个输入端与脉冲①输出端连接;与门VI 40的另一个输入端与脉冲②输出端连接;与门YD 41的另一个输入端与脉冲①输出端连接;与门VDI 42的另一个输入端与脉冲②输出端连接;与门IX 43的另一个输入端与脉冲③输出端连接;与门X 44的另一个输入端与脉冲④输出端连接;与门XI 45的二个输入端分别与脉冲①输出端和命令译码与操作位存储模块I的MPS命令输出端连接;与门ΧΠ 46的二个输入端分别与脉冲②输出端和命令译码与操作位存储模块I的MPS命令输出端连接;与门XIII 47的二个输入端分别与脉冲③输出端和命令译码与操作位存储模块I的MPS命令输出端连接;与门XIV 48的另一个输入端与脉冲①输出端连接;与门X V 49的另一个输入端与脉冲②输出端连接;三态门VDI50的输入端与位堆栈存储器51连接;三态门VDI50的输出端与堆栈存储器51连接;三态门VDI50的控制端和命令译码与操作位存储模块I的MPS命令输出端连接。所述先进后出位单元堆栈VI包括位堆栈存储器51和加I或减I计数器52 ;所述位堆栈存储器51的出栈脉冲输入端和时序控制模块V的或门ΧΠ 34的输出端连接;压栈脉冲输入端和时序控制模块V的或门XIII 35的输出端连接;位堆栈存储器51的位信息输出端与多操作位逻辑运算控制模块III的三态门IV 15的输入端、双操作位逻辑运算控制模块IV的三态门VI 26的输入端、时序控制模块V的三态门珊50的输入端及输出控制器VII连接;位堆栈存储器51的位信息输入端与多操作位逻辑运算控制模块III的三态门V 16的输出端、双操作位逻辑运算控制模块IV的三态门VII 27的输出端及时序控制模块V的三态门VDI 50的输出端连接;位堆栈存储器51的地址输入端与加I或减I计数器52的计数输出端连接;所述加I或减I计数器52的复位输入端和命令译码与操作位存储模块I的模块复位命令输出端连接;加I或减I计数器52的堆栈地址加I脉冲输入端与时序控制模块V的或门XI 33的输出端连接;加I或减I计数器52的堆栈地址减I脉冲输入端与时序控制模块V的或门XIV 36的输出端连接(参见图6)。如图7所示,所述输出控制器VII包括位单元暂存器53、与门XVI 54、二选一选择器
III55、与非门56、或非门II 57、三态门IX 58和非门II 59 ;所述位单元暂存器53的写入脉冲CP端和与门XVI 54的输出端连接,D输入端与二选一选择器III 55的输出端连接;位单元暂存器53的输出端与三态门IX 58的输入端连接;与门XVI 54的二个输入端分别与时序控制模块V的或门X 32的输出端和脉冲②输出端连接;二选一选择器III 55的二个输入端分别与位堆栈存储器51的位信息输出端和与非门56的输出端连接;二选一选择器III 55的控制端和命令译码与操作位存储模块I的RST命令输出端连接;与非门56的二个输入端分别与位堆栈存储器51的位信息输出端和命令译码与操作位存储模块I的RST命令输出端连接;或非门II 57的二个输入端分别与系统RD信号线和非门II 59的输出端连接;或非门II 57的输出端与三态门IX 58的控制端连接;三态门IX 58的输出端与系统数据总线Dtl位连接;非门II 59的输入端与时序控制模块V的或门X 32的输出端连接。本实用新型并行操作逻辑运算及其控制器工作过程如下:所述脉冲分配器模块II的脉冲分配器6作为并行操作逻辑运算及其控制器的内部时序控制,当命令译码与操作位存储模块I的模块地址识别器I输出端的CS信号由“I”一“O”时,启动脉冲分配器6工作;在系统时钟脉冲的作用下,按顺序输出脉冲①,脉冲②,脉冲③,脉冲④,脉冲⑤;当执行LD、LDR命令时:脉冲①:堆栈地址+1 ;脉冲②:运算结果位信息压入堆栈;脉冲③:无操作;脉冲④:复位脉冲分配器6及命令与操作位寄存器2 ;当执行AND,0R命令时:脉冲①:堆栈栈顶单元的位信息出栈作为操作位;脉冲②:运算结果位信息压入堆栈;脉冲③:无操作;脉冲④:复位脉冲分配器6及命令与操作位寄存器2 ;当执行OUT、SET、RST命令时,脉冲①:堆栈栈顶单元的位信息出栈;脉冲②:堆栈地址减1,位单元暂存器53锁存输出位信息;脉冲③:无操作;脉冲④:复位脉冲分配器6及命令与操作位寄存器2 ;当执行MPS命令时:脉冲①:堆栈栈顶单元的位信息出栈;脉冲②:堆栈地址加I;脉冲③:位信息压入堆栈,使得栈顶相邻的2个单元的位信息相同;脉冲④:复位脉冲分配器6及命令与操作位寄存器2 ;当执行ANB、ORB命令时:脉冲①:堆栈栈顶单元的位信息出栈作为操作位I;脉冲②:堆栈地址减1,锁存器锁存操作位I;脉冲③:堆栈栈顶单元的位信息出栈作为操作位
2;脉冲④:运算结果位信息压入堆栈;脉冲⑤:复位脉冲分配器6及命令与操作位寄存器2。实施例二:一种逻辑运算多操作位最多为10位的并行操作逻辑运算及其控制器实施例二是本实用新型实施例一的一种变换结构,该10位逻辑运算及其控制器的基本结构同实施例一;所不同之处在于:该10位逻辑运算模块的命令译码与操作位存储模块的系统数据总线输入端由32位(D31-Dtl)变换成16位(D15- Dtl),所述命令译码与操作位存储模块的多操作位输出端由26位(D25- D0)变换成10位(D9- D0);多操作位逻辑运算控制模块中的与运算I和或运算I的多操作位输入端由26位变换成10位,多操作位逻辑运算控制模块III根据命令译码与操作位存储模块I输出的逻辑命令,选择参与运算的操作位,实施有效位最多为10位的多操作位和操作位的位逻辑的与运算和或运算(参见图1、图2和图4,图中m、n的取值范围是:m为32或16,n为26或10,对于本实施例而言,m为16,η 为 10)。
权利要求1.一种并行操作逻辑运算及其控制器,其特征在于:该控制器包括命令译码与操作位存储模块(I )、脉冲分配器模块(II)、多操作位逻辑运算控制模块(III)、双操作位逻辑运算控制模块(IV)、时序控制模块(V)、先进后出位单元堆栈(VI)和输出控制器(νπ); 所述命令译码与操作位存储模块(I )分别与脉冲分配器模块(II)、多操作位逻辑运算控制模块(III)、双操作位逻辑运算控制模块(IV)、时序控制模块(V)、先进后出位单元堆栈(VI)和输出控制器(νπ)连接; 所述脉冲分配器模块(II)还与双操作位逻辑运算控制模块(IV)、时序控制模块(V)和输出控制器(νπ)连接; 所述多操作位逻辑运算控制模块(III)还与先进后出位单元堆栈(VI)连接; 所述双操作位逻辑运算控制模块(IV)还与先进后出位单元堆栈(VI)连接; 所述时序控制模块(V)还与先进后出位单元堆栈(VI)和输出控制器(νπ)连接; 所述先进后出位单元堆栈(VI)还与输出控制器(νπ)连接; 所述命令译码与操作位存储模块(I )在系统WR信号的作用下,存储6位(Dnrl-Dn)命令字经译码输出命令信号,存储参与逻辑运算的η位(Dlr1-Dtl)多操作位并予以输出,向脉冲分配器模块(II)发出启动脉冲;所述命令译码与操作位存储模块(I )被复位时,所有命令输出端为“O”; 所述脉冲分配器模块(II)作为并行操作逻辑运算及其控制器的内部时序脉冲发生器,输出脉冲①,脉冲②,脉冲③和脉冲④,为时序控制模块(V)、双操作位逻辑运算控制模块(IV)和输出控制器(νπ)提供时序控制信号; 所述多操作位逻辑运算控制模块(III)根据命令译码与操作位存储模块(I )输出的逻辑命令,选择参与运算的操作位,实施有效位最多为η位(Dlr1-Dtl)的多操作位和操作位的位逻辑的与运算和或运算;输出逻辑运算的结果; 所述双操作位逻辑运算控制模块(IV)在执行ANB命令和ORB命令时,在脉冲②的作用下,锁存器(25)锁存来自先进后出位单元堆栈(VI)输出的位信息作为操作位I,操作位2也来自先进后出位单元堆栈(VI)输出的位信息;输出逻辑运算的结果; 所述时序控制模块(V)根据命令译码与操作位存储模块(I )输出的命令,按照脉冲分配器模块(II)输出的时序信号,控制先进后出位单元堆栈(VI)的位信息的压栈和出栈的操作;向输出控制器(νπ)输出控制脉冲; 所述先进后出位单元堆栈(VI)在时序控制模块(V)输出的控制信号作用下,存储执行命令操作的结果和输出位信息; 所述输出控制器α/Π)执行OUT命令、SET命令及RST命令,在系统RD信号的作用下,将执行命令的结果输出至系统数据总线Dtl位;上述m为32或16,11为26或10,当111=32,11=26 ;当 m=16, n=10o
2.如权利要求1所述的一种并行操作逻辑运算及其控制器,其特征在于:所述命令译码与操作位存储模块(I )包括模块地址识别器(1)、命令与操作位寄存器(2)、命令译码器(3)、非门I (4)和与门I (5);模块地址识别器(I)的模块地址输入端与系统地址总线连接,如果系统地址总线的地址值是本控制器的地址值,模块地址识别器(1)输出的CS信号为“0”,否则为“ 1 ” ;模块地址识别器(I)的CS信号输出端和命令与操作位寄存器(2)使能端,脉冲分配器模块(II)连接;所述命令与操作位寄存器(2)的复位信号输入端与脉冲分配器模块(II)连接;WR信号输入端与系统写入信号WR线连接;数据输入端与系统数据总线(Dnrl-Dtl)连接;所述命令与操作位寄存器(2)的命令编码输出端与命令译码器(3)的命令信息输入端连接;多操作位输出端与多操作位逻辑运算控制模块(III)连接;当所述命令与操作位寄存器(2)被复位,命令编码输出端全部为“I”; 所述命令译码器(3)的命令信息输出端与脉冲分配器模块(II)、多操作位逻辑运算控制模块(III)、双操作位逻辑运算控制模块(IV)、时序控制模块(V)和输出控制器(νπ)连接;复位信息输出端和非门I (4)的输入端连接;当命令信息输入端全部为“I”时,复位命令输出端为“ I”,其它命令输出端全部为“O”,命令输出为“ I”有效; 非门I (4)的输出端和与门1(5)的一个输入端连接; 与门I (5)的另一个输入端与系统复位信号线连接;输出端与脉冲分配器模块(II)和先进后出位单元堆栈(VI)连接;与门I (5)的输出信号作为模块复位命令;模块复位命令输出为 “O”有效;m 为 32 或 16,η 为 26 或 10,当 m=32, n=26 ;当 m=16,n=10。
3.如权利要求2所述的一种并行操作逻辑运算及其控制器,其特征在于:所述脉冲分配器模块(II)包括脉冲分配器(6)、或门I (7)和与门II (8);所述脉冲分配器(6)的时钟输入端与系统时钟脉冲线连接;启动信号脉冲输入端和命令译码与操作位存储模块(I )的模块地址识别器(I)的CS信号输出端连接;复位信号输入端和与门II (8)的输出端连接;脉冲分配器(6)有5个脉冲输出端,脉冲⑤输出端和与门II (8)的一个输入端连接;脉冲④输出端和或门I (7)的一个输入端及时序控制模块(V)连接;脉冲③输出端与时序控制模块(V)连接;脉冲②输出端与时序控制模块(V)、双操作位逻辑运算控制模块(IV)和输出控制器(νπ)连接;脉冲①输出端与时序控制模块(V)连接; 或门I (7)的其它两个输入端分别和命令译码与操作位存储模块(I )的ORB命令输出端及ANB命令输出端连接;或门I (7)的输出端和与门II (8)的一个输入端连接; 与门II (8)的另一个输入端和命令译码与操作位存储模块(I )的模块复位命令输出端连接;与门II (8)的输出端还与命令译码与操作位存储模块(I )的命令与操作位寄存器(2)的复位信号输入端连接。
4.如权利要求3所述的一种并行操作逻辑运算及其控制器,其特征在于:所述多操作位逻辑运算控制模块(III)包括与运算I (9)、或运算I (10)、二选一选择器I (11)、三态门I (12)、三态门II (13)、三态门111(14)、三态门IV(15)、三态门V (16)、或门II (17)、或门IIK18)、或门IV (19)、或门V (20)和或非门(21);与运算I (9)的多操作位输入端和命令译码与操作位存储模块(I )的多操作位输出端连接;操作位输入端和三态门I (12)的输出端、三态门II (13)的输出端及三态门111(14)的输出端连接;与运算I (9)的运算结果输出端与二选一选择器I(Il)的一个输入端连接; 或运算I (10)的多操作位输入端和命令译码与操作位存储模块(I )的多操作位输出端连接;操作位输入端和三态门I (12)的输出端、三态门II (13)的输出端及三态门III(14)的输出端连接;运算结果输出端与二选一选择器I (11)的另一个输入端连接; 二选一选择器I (11)的选择控制输入端和或门IV(19)的输出端连接;选择结果输出端和三态门V (16)的输入端连接; 三态门I (12)的输入端和三态门I (12)的控制端及命令译码与操作位存储模块(I )的LD命令输出端连接;三态门I (12)的输出端与三态门II (13)的输出端、三态门III(14)的输出端、与运算I (9)的操作位输入端及或运算I (10)的操作位输入端连接; 三态门II (13)的输入端和命令译码与操作位存储模块(I )的LD命令输出端连接;控制端与命令译码与操作位存储模块(I )的LDR命令输出端连接; 三态门III(14)的输入端和三态门IV (15)的输出端连接;控制端和或门II (17)的输出端连接; 三态门IV(15)的输入端和位堆栈存储器(51)连接;控制端和或门V (20)的输出端连接; 三态门V (16)的控制端和或门V (20)的输出端连接;输出端与位堆栈存储器(51)连接; 或门II (17)的两个输入端分别和命令译码与操作位存储模块(I )的AND命令输出端及OR命令输出端连接; 或门111(18)的两个输入端分别和命令译码与操作位存储模块(I )的LD命令输出端及AND命令输出端连接;输出端和或门IV(19)的一个输入端连接; 或门IV(19)的另一个输入端和或非门I (21)的输出端连接; 或门V (20)的四个输入端分别和命令译码与操作位存储模块(I )的LD命令输出端、LDR命令输出端、OR命令输出端及AND命令输出端连接; 或非门I (21)的两个输入端分别和命令译码与操作位存储模块(I )的LDR命令输出端及OR命令输出端连接。
5.如权利要求4所述的一种并行操作逻辑运算及其控制器,其特征在于:所述双操作位逻辑运算控制模块(IV)包括与运算II (22)、或运算II (23)、二选一选择器II (24)、锁存器(25)、三态门VK26)、三态门VIK27)和或门VK28);与运算II (22)的操作位I输入端与锁存器(25)的输出端连接;操作位2输入端和三态门VI (26)的输出端连接;运算结果输出端与二选一选择器II (24)的一个输入端连接; 或运算II (23)的操作位I输入端与锁存器(25)的输出端连接;操作位2输入端和三态门VK26)的输出端连接;运算结果输出端与二选一选择器II (24)的另一个输入端连接;二选一选择器II (24)的选择控制输入端和命令译码与操作位存储模块(I )的ANB命令输出端连接;选择结果输出端和三态门VII(27)的输入端连接; 锁存器(25)的位信息输入端与三态门VI (26)的输出端连接;锁存脉冲输入端与脉冲②输出端连接; 三态门VK26)的输入端与位堆栈存储器(51)连接;控制端和或门VK28)的输出端连接; 三态门VIK27)的控制端和或门VK28)的输出端连接;输出端与位堆栈存储器(51)连接; 或门VK28)的两个输入端分别和命令译码与操作位存储模块(I )的ORB命令输出端及AND命令输出端连接。
6.如权利要求5所述的一种并行操作逻辑运算及其控制器,其特征在于:所述时序控制模块(V)包括或门VII (29)、或门珊(30)、或门IX (31)、或门X (32)、或门XI (33)、或门ΧΠ(34)、或门 ΧΙΙΚ35)、或门 XIV (36)、与门111(37)、与门IV (38)、与门 V (39)、与门VK40)、与门ΥΠ(41)、与门珊(42)、与门IX(43)、与门父(44)、与门)(1(45)、与门)01(46)、与门父111(47)、与门XIV (48)、与门X V (49)和三态门VDI (50);或门VII (29)的两个输入端分别和命令译码与操作位存储模块(I )的LDR命令输出端及LD命令输出端连接;输出端和与门III(37)的一个输入端及与门IV(38)的一个输入端连接; 或门珊(30)的两个输入端分别和命令译码与操作位存储模块(I )的OR命令输出端及AND命令输出端连接;或门VDK30)的输出端和与门V (39)的一个输入端及与门VI(40)的一个输入端连接; 或门IX(31)的两个输入端分别和命令译码与操作位存储模块(I )的ORB命令输出端及ANB命令输出端连接;或门IX (31)的输出端和与门VII (41)的一个输入端、与门VDK42)的一个输入端、与门ΙΧ(43)的一个输入端及与门X (44)的一个输入端连接; 或门X (32)的三个输入端分别和命令译码与操作位存储模块(I )的OUT命令输出端、SET命令输出端及RST命令输出端连接;或门X (32)的输出端和与门XIV (48)的一个输入端、与门X V (49 )的一个输入端及输出控制器(YD)连接; 或门ΧΚ33)的二个输入端分别和与门111(37)的输出端及与门ΧΠ(46)的输出端连接;或门ΧΚ33)的输出端与先进后出位单元堆栈(VI)连接; 或门ΧΠ(34)的五个输入 端分别和与门乂(39)的输出端、与门仅(43)的输出端、与门训(41)的输出端、与门ΧΚ45)的输出端及与门XIV(48)的输出端连接;或门ΧΠ(34)的输出端与先进后出位单元堆栈(VI)连接; 或门ΧΙΙΚ35)的四个输入端分别和与门IV(38)的输出端、与门VK40)的输出端、与门X (44)的输出端及与门XIIK47)的输出端连接;或门XIIK35)的输出端与先进后出位单元堆栈(VI)连接; 或门父1¥(36)的两个输入端分别和与门珊(42)的输出端及与门父乂(49)的输出端连接;或门XIV(36)的输出端与先进后出位单元堆栈(VI)连接; 与门111(37)的另一个输入端与脉冲①输出端连接; 与门IV(38)的另一个输入端与脉冲②输出端连接; 与门V (39)的另一个输入端与脉冲①输出端连接; 与门VK40)的另一个输入端与脉冲②输出端连接; 与门ΥΠ(41)的另一个输入端与脉冲①输出端连接; 与门VDK42)的另一个输入端与脉冲②输出端连接; 与门ΙΧ(43)的另一个输入端与脉冲③输出端连接; 与门X (44)的另一个输入端与脉冲④输出端连接; 与门ΧΚ45)的二个输入端分别与脉冲①输出端和命令译码与操作位存储模块(I )的MPS命令输出端连接; 与门ΧΠ(46)的二个输入端分别与脉冲②输出端和命令译码与操作位存储模块(I )的MPS命令输出端连接; 与门ΧΙΙΚ47)的二个输入端分别与脉冲③输出端和命令译码与操作位存储模块(I )的MPS命令输出端连接; 与门XIV(48)的另一个输入端与脉冲①输出端连接; 与门X V (49)的另一个输入端与脉冲②输出端连接;三态门VDK50)的输入端与位堆栈存储器(51)连接;三态门VDK50)的输出端与堆栈存储器(51)连接;三态门VDK50)的控制端和命令译码与操作位存储模块(I )的MPS命令输出端连接。
7.如权利要求6所述的一种并行操作逻辑运算及其控制器,其特征在于:所述先进后出位单元堆栈(VI)包括位堆栈存储器(51)和加I或减I计数器(52); 所述位堆栈存储器(51)的出栈脉冲输入端和时序控制模块(V)的或门ΧΠ(34)的输出端连接;压栈脉冲输入端和时序控制模块(V)的或门ΧΙΙΚ35)的输出端连接;位堆栈存储器(51)的位信息输出端与多操作位逻辑运算控制模块(III)的三态门IV(15)的输入端、双操作位逻辑运算控制模块(IV)的三态门VK26)的输入端、时序控制模块(V)的三态门VDI(50)的输入端及输出控制器(YD)连接;位堆栈存储器(51)的位信息输入端与多操作位逻辑运算控制模块(III)的三态门V (16)的输出端、双操作位逻辑运算控制模块(IV)的三态门W(27)的输出端及时序控制模块(V)的三态门VDK50)的输出端连接;位堆栈存储器(51)的地址输入端与加I或减I计数器(52)的计数输出端连接; 所述加I或减I计数器(52 )的复位输入端和命令译码与操作位存储模块(I )的模块复位命令输出端连接;加I或减I计数器(52)的堆栈地址加I脉冲输入端与时序控制模块(V)的或门ΧΚ33)的输出端连接;加I或减I计数器(52)的堆栈地址减I脉冲输入端与时序控制模块(V)的或门XIV(36)的输出端连接。
8.如权利要求7所述的一种并行操作逻辑运算及其控制器,其特征在于:所述输出控制器(YD)包括位单元暂存器(53)、与门XVK54)、二选一选择器111(55)、与非门(56)、或非门II (57)、三态门ΙΧ(58)和非门II (59);所述位单元暂存器(53)的写入脉冲CP端和与门XVK54)的输出端连接,D输入端与二选一选择器111(55)的输出端连接;位单元暂存器(53)的输出端与三态门IX(58)的输入端连接; 与门XVI (54)的二个输入端分别与时序控制模块(V)的或门X (32)的输出端和脉冲②输出端连接; 二选一选择器111(55)的二个输入端分别与位堆栈存储器(51)的位信息输出端和与非门(56)的输出端连接;二选一选择器111(55)的控制端和命令译码与操作位存储模块(I )的RST命令输出端连接; 与非门(56)的二个输入端分别与位堆栈存储器(51)的位信息输出端和命令译码与操作位存储模块(I )的RST命令输出端连接; 或非门II (57)的二个输入端分别与系统RD信号线和非门II (59)的输出端连接;或非门II (57)的输出端与三态门IX (58)的控制端连接; 三态门IX (58)的输出端与系统数据总线Dtl位连接; 非门II (59)的输入端与时序控制模块(V)的或门X (32)的输出端连接。
专利摘要一种并行操作逻辑运算及其控制器,包括命令译码与操作位存储模块、脉冲分配器、多操作位逻辑运算控制模块、双操作位逻辑运算控制模块、时序控制模块、先进后出位单元堆栈和输出控制器;该控制器应用FPGA设计硬连接控制电路,在系统WR作用下存储命令和多操作位,并在内部时序脉冲控制下自主完成命令的操作;包括执行多操作位逻辑命令,ORB、ANB、MPS命令,输出类命令;在系统RD作用下读出输出位信息到系统数据总线D0位;执行命令时,按照命令操作要求,完成逻辑运算和对堆栈位信息出栈和压栈的操作,不需要PLC系统对并行操作逻辑运算及控制器再进行任何操作,实现逻辑命令与PLC用户程序执行过程的并行操作。
文档编号G06F9/38GK202948438SQ20122058688
公开日2013年5月22日 申请日期2012年11月8日 优先权日2012年11月8日
发明者李克俭, 蔡启仲, 覃永新, 张炜, 余玲, 蒋玉新, 周曙光 申请人:广西工学院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1