当前位置: 首页 > 专利查询>上海大学专利>正文

多微控制器系统任务调用方法技术方案

技术编号:2843871 阅读:126 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种微控制器系统任务调用方法。本方法是基于MCS-51体系,在指令系统不变的前提下,将几个基于MCS-51体系的微控制器通过片上总线连接成一个多微控制器系统,其中一个微控制器作为主处理器直接面向终端用户,其它作为从处理器。本设计中的任务调用方法将应用系统领域的各个任务程序集成在各个从处理器的程序存储器中,并将这些任务编号为超级指令码。系统对这些任务的调用是通过总线机制,由主处理器向相应的从处理器发送相应的超级指令码,即由从处理器根据特定的寻址方法找到任务程序,自动完成该任务,实现任务调用。本设计的超级指令任务调用方法降低了对主处理器存储能力和处理强度的要求,提高系统的并行处理能力。本基于多MCU体系超级指令任务调用方法可应用于基于MCS-51指令体系的单片微控制器,亦可应用于其它多微控制器、微处理器等领域。

【技术实现步骤摘要】

本专利技术涉及一种多MCU(Micro Control Unit)系统的任务调用的方法,可应用于MCS-51指令体系的多微控制器系统,亦可应用于其它多微控制器、多微处理器等领域。
技术介绍
在微控制器运行中,需要调用很多子程序和子任务。这些任务和主程序并不一定是按顺序在程序存储区中依次存放,而是通过中断或者调用程序如ACALL,LCALL等命令来实现的。传统的任务调用是通过纯软件的方法,当使用任务调用的时候需要保护现场,将现有程序指针等信息压到堆栈中,当任务结束后再将压栈的信息弹出,这种方法对于相对较简单的系统没有问题,但是对于数据运算量非常庞大的特定系统,譬如数字图像处理系统,每帧图像的信息量就非常巨大,如果此系统还包括知识库的管理、自学习等功能,把实现这些功能的程序都集成在单个MCU中作为子程序调用,需要很大的存储空间,并且全部由单个处理器来调用和完成将严重地影响到系统的工作速度。如果在不改变指令系统的前提下,采用多MCU系统,把这些大量的任务和子程序分配给若干个从处理器来完成,将降低对主处理器存储空间的要求,并且大大提高系统的并行处理能力和速度。
技术实现思路
本专利技术的目的在于提供一种基于。在指令系统不变的前提下,将应用系统的各个独立的任务调用程序分配到各个从处理器中,由多个微控制器来共同完成系统的任务调用工作,从而降低对主处理器存储能力和处理强度的要求,以便将价格相对较低,应用广泛的MCS-51架构微控制器应用于需要大量复杂算法的高端系统中。为达到上述目的,本专利技术的构思如下将几个微处理器通过片上总线连接成一个多MCU系统,其中一个微处理器作为主处理器直接面向终端用户,而其它作为从处理器。将应用系统领域的各个任务调用程序集成在各个从处理器的程序存储器中,并且将这些任务进行编号,将它们一一对应于几组代码,本专利技术中称为超级指令码。当用户程序需要调用这些任务调用程序时,通过总线机制实现多MCU的通讯,由主处理器向相应的从处理器发送相应的超级指令码,即可由从处理器自动完成该任务,实现任务的调用。而要想从处理器自动完成这些特定任务,就需要一种有效的寻址方式,可以根据发过来的超级指令码找到任务调用程序的入口地址,而对各个任务调用程序的长度几乎没有限制。根据上述构思,本专利技术采用下述技术方案一种微控制器系统超级指令任务调用方法,基于MCS-51体系,其特征在于在指令系统不变的前提下,将几个基于MCS-51体系的MCU通过片上总线连接成一个多MCU系统,其中一个MCU作为主处理器直接面向终端用户,其它作为从处理器;将应用系统领域的各个任务程序集成在各个从处理器的程序存储器中,并将这些任务编号为超级指令码;对这些任务的调用是通过总线机制,由主处理器向相应的从处理器发送相应的超级指令码,即由从处理器根据特定的寻址方法找到任务程序,自动完成该任务,实现任务调用。上述多MCU系统任务调用方法的具体步骤为a.在主处理器中添加主处理器总线接口模块,实现主处理器与总线的连接;b.在从处理器中添加从处理器总线接口模块,实现从处理器与总线的连接;c.对主处理器中的程序指针模块进行改动,实现选定从处理器忙时主处理器的等待重试功能;(注MCU中的程序指针模块主要负责程序存储器的读取控制,其程序指针寄存器PROGA用于存放当前程序地址);d.对从处理器的操作码寄存器模块进行改动,使得从处理器可以区分当前处于执行普通指令期间还是从处理器自动寻址期间。操作码寄存器模块在执行普通指令期间的原始功能是将指令中的机器码和立即数区分开来,分别送给译码模块和ALU(算术逻辑单元)处理。此处当从处理器接收到超级指令码时,并不按照普通指令码处理,也即并不将得到的入口地址送去译码,而是代之以空操作,让该从处理器继续保持在等待状态。e.对从处理器中的程序指针模块进行改动,实现从处理器根据超级指令码由硬件自动寻址的功能。上述的在主处理器中添加主处理器总线接口模块,实现主处理器与总线连接的具体步骤如下a.上述设定多MCU系统控制特殊功能寄存器MPCON的方法为(a)确定多MCU系统控制特殊功能寄存器MPCON的地址为OCAH,通过读写多MCU系统控制特殊功能寄存器MPCON来实现对从处理器的选择与控制;MPCON地址CAH (b)多MCU系统控制特殊功能寄存器MPCON在系统复位时为00H,用户通过指令MOV MPCON,#8xH(x=1~n,n为从处理器的个数)控制该特殊功能寄存器MPCON,其最高位被置1表示当前进行多MCU系统主从处理器通信;同时该特殊功能寄存器低三位用于存放从处理器的地址标号,当主处理器要进行一次超级指令任务调用的时候,首先向从处理器发送地址标号选择需要执行当前任务的从处理器;b.在主处理器中设置超级指令码特殊功能寄存器SCOM(a)确定多MCU系统超级指令码特殊功能寄存器SCOM的地址为OCBH,所有超级指令码通过读写特殊功能寄存器SCOM来实现;SCOM地址CBH (b)多MCU系统超级指令码特殊功能寄存器SCOM在系统复位后为00H,用户通过MOV SCOM,#**H指令控制该特殊功能寄存器SCOM,当主处理器发送完地址标号后,如果选中的从处理器空闲可以接受任务,则主处理器通过写特殊功能寄存器SCOM,将超级指令码发送给从处理器;c.在主处理器中设置从处理器反馈接收寄存器SREADY从处理器反馈接收寄存器SREADY用户不可见,其位数等于从处理器的个数,其每一位分别连接到各从处理器的空闲标志位RHx上;主处理器通过查询主处理器反馈接受寄存器SREADY[x]的状态获知相应从处理器的当前状态; SREADY[(n-1):0] d.设定重试撤销信号DONTSTAY,从处理器的反馈状态及主处理器自身状态共同决定DONTSTAY的状态,该信号是在发生过若干次重试后不再需要重试时置1有效,表示主处理器此时脱离“重试”状态,不需要再重新输出地址标号;e.在设置超级指令码特殊功能寄存器SCOM后,当用户程序为MOV SCOM,#**H时,将微处理器内部数据线上的数据赋予S_COM,其它时刻寄存器S_COM为0;g.设定MCU通信标志信号MPSOC_STROBE,该信号根据多MCU系统控制特殊功能寄存器MPCON的最高位MPCON[7]的状态变化;如果MPCON[7]发生由0变为1的跳变,则表示发生主从通信,MPSOC_STROBE为1,并且只维持一个时钟周期。其它情况下MPSOC_STROBE为0。上述的在从处理器中添加从处理器的总线接口模块,实现从处理器与总线连接的具体步骤如下a.在从处理器总线接口模块中设定从处理器空闲标志READY(a)确定从处理器空闲标志特殊功能寄存器READY的地址位OCCH,从处理器任务完成状态由该寄存器标志;READY地址CCH (b)从处理器空闲标志特殊功能寄存器READY在系统复位时为80H,该特殊功能寄存器READY的最高位命名为RHx(x=1~n,n为从处理器的个数),RHx=1表示相应从处理器当前空闲,等待任务;RHx=0表示相应从处理器当前仍在执行上一任务,不接受新任务;RHx由硬件清零,软件置位;用户通过MOV READY,#80H的指令将寄存本文档来自技高网...

【技术保护点】
一种微控制器系统任务调用方法,基于MCS-51体系,其特征在于:在指令系统不变的前提下,将几个基于MCS-51体系的MCU通过片上总线连接成一个多MCU系统,其中一个MCU作为主处理器直接面向终端用户,其它作为从处理器;将应用系统领域的各个任务程序集成在各个从处理器的程序存储器中,并将这些任务编号为超级指令码;对这些任务的调用是通过总线机制,由主处理器向相应的从处理器发送相应的超级指令码,即由从处理器根据特定的寻址方法找到任务程序,自动完成该任务,实现任务调用。

【技术特征摘要】
1.一种微控制器系统任务调用方法,基于MCS-51体系,其特征在于在指令系统不变的前提下,将几个基于MCS-51体系的MCU通过片上总线连接成一个多MCU系统,其中一个MCU作为主处理器直接面向终端用户,其它作为从处理器;将应用系统领域的各个任务程序集成在各个从处理器的程序存储器中,并将这些任务编号为超级指令码;对这些任务的调用是通过总线机制,由主处理器向相应的从处理器发送相应的超级指令码,即由从处理器根据特定的寻址方法找到任务程序,自动完成该任务,实现任务调用。2.根据权利要求1所述的多微控制器任务调用方法,其特征在于具体步骤为a.在主处理器中添加主处理器总线接口模块,实现主处理器与总线的连接;b.在从处理器中添加从处理器总线接口模块,实现从处理器与总线的连接;c.对主处理器中的程序指针模块进行改动,实现选定从处理器忙时主处理器的等待重试功能;d.对从处理器的操作码寄存器模块进行改动,使得从处理器可以区分当前处于执行普通指令期间还是接收超级指令自动寻址期间。操作码寄存器模块在执行普通指令期间的原始功能是将指令中的机器码和立即数区分开来,分别送给译码模块和ALU(算术逻辑单元)处理;此处当从处理器接收到超级指令码时,并不按照普通指令码处理,也即并不将得到的入口地址送去译码,而是代之以空操作,让该从处理器继续保持在等待状态;e.对从处理器中的程序指针模块进行改动,实现从处理器根据超级指令码由硬件自动寻址的功能。3.根据权利要求2所述的多微控制器系统任务调用方法,其特征在于所述的步骤a中在主处理器中添加主处理器总线接口模块,实现主处理器与总线连接的具体步骤为a.在主处理器中设置多MCU系统控制特殊功能寄存器MPCON(a)确定多MCU系统控制特殊功能寄存器MPCON的地址为OCAH,通过读写多MCU系统控制特殊功能寄存器MPCON来实现对从处理器的选择与控制;MPCON 地址CAH(b)多MCU系统控制特殊功能寄存器MPCON在系统复位时为OOH,用户通过指令MOV MPCON,#8xH(x=1~n,n为从处理器的个数)控制该特殊功能寄存器MPCON,其最高位被置1表示当前进行多MCU系统主从处理器通信;同时该特殊功能寄存器低三位用于存放从处理器的地址标号,当主处理器要进行一次超级指令任务调用的时候,首先向从处理器发送地址标号选择需要执行当前任务的从处理器;b.在主处理器中设置超级指令码特殊功能寄存器SCOM(a)确定多MCU系统超级指令码特殊功能寄存器SCOM的地址为OCBH,所有超级指令码通过读写特殊功能寄存器SCOM来实现;SCOM 地址CBH(b)多MCU系统超级指令码特殊功能寄存器SCOM在系统复位后为OOH,用户通过MOV SCOM,#**H指令控制该特殊功能寄存器SCOM,当主处理器发送完地址标号后,如果选中的从处理器空闲可以接受任务,则主处理器通过写特殊功能寄存器SCOM,将超级指令码发送给从处理器;c.在主处理器中设置从处理器反馈接收寄存器SREADY从处理器反馈接收寄存器SREADY用户不可见,其位数等于从处理器的个数,其每一位分别连接到各从处理器的空闲标志位RHx上;主处理器通过查询主处理器反馈接受寄存器SREADY[x]的状态获知相应从处理器的当前状态;SREADY[(n-1):0]d.设定重试撤销信号DONTSTAY,从处理器的反馈状态及主处理器自身状态共同决定DONTSTAY的状态,该信号是在发生过若干次重试后不再需要重试时置1有效,表示主处理器此时脱离“重试”状态,不需要再重新输出地址标号;e.在设置超级指令码特殊功能寄存器SCOM后,当用户程序为MOV SCOM,#**H时,将微处理器内部数据线上的数据赋予S_COM,其它时刻寄存器S_COM为0;g.设定MCU通信标志信号MPSOC_STROBE,该信号根据多MCU系统控制特殊功能寄存器MPCON的最高位MPCON[7]的状态变化;如果MPCON[7]发生由0变为1的跳变,则表示发生主从通信,MPSOC_STROBE为1,并且只维持一个时钟周期;其它情况下MPSOC_STROBE为0。4.根据权利要求2所述的多微控制器任务调用方法,其特征在于所述的步骤b中在从处理器中添加总线接口模块,实现从处理器与总线连接的具体步骤为a.在从处理器总线接口模块中设置从处理器空闲标志READY(a)确定从处理器空闲标志特殊功能寄存器READY的地址位OCCH,从处理器任务完成状态由该寄存器标志;READY 地址CCH(b)从处理器空闲标志特殊功能寄存器READY在系统复位时为80H,该特殊功能寄存器READY的最高位命名为RHx(x=1~n,n为从处理器的个数),RHx=1表示相应从处理器当前空闲,等待任务;RHx=0表示相应从处理器当前仍在执行上一任务,不接受新任务;RHx由硬件清零,软件置位;用户通过MOV READY,#80H的指令将寄存器READY的最高位RHx置1;READY的其它位暂为保留位,默认为0,它可以用于将来的系统扩充,从处理器可以向主处理器反馈更多信息;RHx连接到主处理器的SREADY的各个位,形成从处理器对主处理器的反馈信息;b.设定数据输入门控信号S_COM_ENTRY及从处理器超级指令码寄存器S_COM_NUM;当数据输入门控信号S_COM_ENTRY为1有效,允许主从通信的数据总线上的超级指令码进入该从处理器,即把主处理器的输出S_COM读入从处理器内部,并赋予从处理器内的超级指令码寄存器S_COM_NUM;S_COM_ENTRY在从处理器找到任务调用程序的入口地址后清零;c.设定内部寄存器RH_tp,它比RH信号延迟2个时钟周期,目的是将RH信号状态延迟,以避免RH信号和其它判断信号同时变化,产生竞争冒险;d.当同时满足以下三个条件(1)地址标号与自身匹配;(2)RH_tp为1,即该从处理器空闲;(3)主处理器超级指令码写有效信号有效;此时S_COM_ENTRY信号打开允许超级指令码进入,同时RHx信号被硬件清零;e.设定从处理器接收状态信号RECEPTEDx(x=1~n,n为从处理器的个数)信号,该信号将输出到主处理器中,表征超级指令码是否已被指定从处理器获得;若...

【专利技术属性】
技术研发人员:胡越黎冉峰丁倩
申请(专利权)人:上海大学
类型:发明
国别省市:31[中国|上海]

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

1