微控制单元及其控制方法和控制装置与流程

文档序号:17048423发布日期:2019-03-05 19:47阅读:273来源:国知局
微控制单元及其控制方法和控制装置与流程

本发明涉及单片机技术领域,特别涉及一种微控制单元的控制方法、一种微控制单元的控制装置和一种微控制单元。



背景技术:

由mcu(microcontrolunit,微控制单元)内部设计架构决定,当mcu内部cpu(centralprocessingunit,中央处理器)需要进行程序执行时,需通过总线向程序存储单元发出存取指令,并经过总线译码得出cpu当前需要执行的动作,然后将cpu需要的程序指令以数据形式通过总线传输给cpu,因此,在mcu运行的过程中,cpu与程序存储单元之间会频繁进行数据交换,进行频繁占用总线,其余设备需要进行通信时,只能等待,或者在上述情况下cpu处于暂停状态。

然而,当mcu处理频率较高时,cpu存取指令的速率较快。外设工作速率相比mcu系统速率慢很多。当mcu处理完当前工作时,cpu将处于空闲状态,软件主函数中,不断地执行循环指令,此时则会出现以下问题:

当cpu目前处于空闲状态时,为了保持系统的正常运转,程序中使用循环跳转指令使cpu空转。但空转也需要程序执行,因此,cpu将不停地占用总线,而导致总线资源被大幅度占用。如果此时外设需要总线资源和存储体之间通信,则将得不到总线资源的完全释放,使效率降低。

当cpu处于暂停状态时,如果mcu受到外部中断需要及时处理工作,则需要唤醒cpu,降低了及时处理事务的效率。



技术实现要素:

本发明旨在至少在一定程度上解决上述技术中的技术问题之一。

为此,本发明的第一个目的在于提出一种微控制单元的控制方法,可使中央处理器在获取预设程序的过程中,无需占用总线访问程序存储器,从而总线上挂载的其它设备之间,均能够通过释放的总线逻辑进行数据传输通信,实现了总线的有效利用。

本发明的第二个目的在于提出一种非临时性计算机可读存储介质。

本发明的第三个目的在于提出一种微控制单元的控制装置。

本发明的第四个目的在于提出一种微控制单元。

为达到上述目的,本发明第一方面实施例提出了一种微控制单元的控制方法,所述微控制单元包括中央处理器、通路逻辑单元、总线和程序存储器,所述控制方法包括以下步骤:在系统运行的过程中,获取所述中央处理器发出的程序地址;判断所述程序地址是否为所述通路逻辑单元中的预设地址;如果所述程序地址为所述通路逻辑单元中的预设地址,则获取所述通路逻辑单元中与所述预设地址相匹配的预设程序;以及将所述预设程序发送至所述中央处理器,以使所述中央处理器执行所述预设程序。

根据本发明实施例的微控制单元的控制方法,在系统运行的过程中,首先获取中央处理器发出的程序地址,然后判断程序地址是否为通路逻辑单元中的预设地址,如果程序地址为通路逻辑单元中的预设地址,则获取通路逻辑单元中与预设地址相匹配的预设程序,最后将预设程序发送至中央处理器,以使中央处理器执行预设程序。由此,该控制方法可使中央处理器在获取预设程序的过程中,无需占用总线访问程序存储器,从而总线上挂载的其它设备之间,均能够通过释放的总线逻辑进行数据传输通信,实现了总线的有效利用。

为达到上述目的,本发明第二方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的微控制单元的控制方法。

根据本发明实施例的非临时性计算机可读存储介质,在系统运行的过程中,首先获取中央处理器发出的程序地址,然后判断程序地址是否为通路逻辑单元中的预设地址,如果程序地址为通路逻辑单元中的预设地址,则获取通路逻辑单元中与预设地址相匹配的预设程序,最后将预设程序发送至中央处理器,以使中央处理器执行预设程序。由此,中央处理器在获取预设程序的过程中,无需占用总线访问程序存储器,从而总线上挂载的其它设备之间,均能够通过释放的总线逻辑进行数据传输通信,实现了总线的有效利用。

为达到上述目的,本发明第三方面实施例提出了一种微控制单元的控制装置,所述微控制单元包括中央处理器、通路逻辑单元、总线和程序存储器,所述控制装置包括:第一获取模块,所述第一获取模块用于在系统运行的过程中,获取所述中央处理器发出的程序地址;判断模块,所述判断模块用于判断所述程序地址是否为所述通路逻辑单元中的预设地址;第二获取模块,所述第二获取模块用于在所述程序地址为所述通路逻辑单元中的预设地址时,获取所述通路逻辑单元中与所述预设地址相匹配的预设程序;以及第一发送模块,所述第一发送模块用于将所述预设程序发送至所述中央处理器,以使所述中央处理器执行所述预设程序。

本发明实施例的微控制单元的控制装置,在系统运行的过程中,通过第一获取模块获取中央处理器发出的程序地址,并通过判断模块判断程序地址是否为通路逻辑单元中的预设地址,如果程序地址为通路逻辑单元中的预设地址,则通过第二获取模块获取通路逻辑单元中与预设地址相匹配的预设程序,而后通过第一发送模块将预设程序发送至中央处理器,以使中央处理器执行预设程序。由此,该控制装置可使中央处理器在获取预设程序的过程中,无需占用总线访问程序存储器,从而总线上挂载的其它设备之间,均能够通过释放的总线逻辑进行数据传输通信,实现了总线的有效利用。

为了实现上述目的,本发明第四方面实施例提出的一种微控制单元包括:本发明第三方面实施例的微控制单元的控制装置。

本发明实施例的微控制单元,通过上述微控制单元的控制装置,可使中央处理器在获取预设程序的过程中,无需占用总线访问程序存储器,从而总线上挂载的其它设备之间,均能够通过释放的总线逻辑进行数据传输通信,实现了总线的有效利用。

本发明附加的方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

图1是根据本发明一个实施例的微控制单元的控制方法的流程图。

图2是根据本发明具体实施例的微控制单元的工作原理图。

图3是根据本发明一个实施例的微控制单元的控制装置的方框示意图。

图4是根据本发明另一个实施例的微控制单元的控制装置的方框示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。

下面结合附图来描述本发明实施例的微控制单元及其控制方法和控制装置及汽车。

图1是根据本发明一个实施例的微控制单元的控制方法的流程图。在本发明的实施例中,如图2所示,微控制单元mcu可包括中央处理器cpu、通路逻辑单元、总线和程序存储器,其中,程序存储器可为flash存储器,且flash存储器内部传输速率较快,有利于数据交换。

如图1所示,本发明实施例的微控制单元的控制方法包括以下步骤:

s1,在系统运行的过程中,获取中央处理器cpu发出的程序地址。其中,中央处理器cpu发出的程序地址为机器语言,即,一串二进制代码,例如,0x0016_3f6c。应说明的是,微控制单元内部的数据传输均可为机器语言。

在本发明的实施例中,上述的系统可为中央处理器cpu的嵌入式操作系统,其中,该嵌入式操作系统可为linux操作系统、android操作系统等。

s2,判断程序地址是否为通路逻辑单元中的预设地址。

s3,如果程序地址为通路逻辑单元中的预设地址,则获取通路逻辑单元中与预设地址相匹配的预设程序。

在本发明的实施例中,预设地址和预设程序均可根据时间情况进行标定,其中,预设程序可为空闲循环程序,预设地址可为空闲循环程序的地址。

需要说明的是,当程序地址为通路逻辑单元中的预设地址(即,空闲循环程序的地址)时,则说明系统处于空闲循环状态,当程序地址不为通路逻辑单元中的预设地址时,则说明系统正常处理应用程序。

s4,将预设程序发送至中央处理器cpu,以使中央处理器cpu执行预设程序。

具体地,在系统运行的过程中,中央处理器cpu会生成程序地址,并通过中央处理器cpu与通路逻辑单元之间的地址通信线路将该程序地址发送至通路逻辑单元。此时该通路逻辑单元获取该程序地址,并判断该程序地址是否为该通路逻辑单元中的预设地址(即,空闲循环程序的地址),如果是,则获取通路逻辑单元中与预设地址相匹配的预设程序(即,空闲循环程序)。然后通过通路逻辑单元与中央处理器cpu之间的数据通信线路将该预设程序发送至中央处理器cpu,以使中央处理器cpu执行预设程序(即,中央处理器cpu执行空闲循环程序)。

进一步而言,上述的空闲循环程序以c语言代码while(1)实现,即为一条跳转指令,跳转回当前指令继续重复执行,也就是说,在系统处于空闲循环状态的时间内,中央处理器cpu将不停的执行该空闲循环程序,以保持系统的正常运转。

需要说明的是,该实施例中所描述的预设地址和预设程序,均是上述系统在初始化的过程中写入的。

进一步而言,在本发明的一个实施例中,上述微控制单元的控制方法还可包括在系统初始化的过程中,将空闲循环程序和空闲循环程序的地址写入通路逻辑单元。

具体地,上述的操作系统在初始化的过程中,会执行一段写入代码,以将空闲循环程序和空闲循环程序的地址写入通路逻辑单元中。其中,该空闲循环程序和空闲循环程序的地址可以是上述微控制单元mcu的生产厂商直接设置在该写入代码中的,当该写入代码被执行时,将其自动写入通路逻辑单元。其中,也可将调取该空闲循环程序的地址函数设置在写入代码中,当该写入代码被执行时,通过该地址函数调取该空闲循环程序,将其自动写入通路逻辑单元。应说明的是,该空闲循环程序原先存储的位置可以是程序存储器。

综上所述,本发明实施例提供的微控制单元的控制方法,可使中央处理器cpu在获取预设程序的过程中,无需占用总线访问程序存储器,从而总线上挂载的其它设备之间,均能够通过释放的总线逻辑进行数据传输通信,实现了总线的有效利用。

另外,在本发明的一个实施例中,上述微控制单元的控制方法还包括如果程序地址不为通路逻辑单元中的预设地址,则将程序地址发送至总线,其中,总线对程序地址进行译码以获得与程序地址对应的程序获取指令,并将程序获取指令发送至程序存储器,然后程序存储器根据程序获取指令获取程序,并将程序发送至总线,最后总线将程序发送至中央处理器cpu。

具体地,如果上述的程序地址不为通路逻辑单元中的预设地址(即,空闲循环程序的地址),则该通路逻辑单元将通过自身与总线之间的地址通信线路将该程序地址发送至总线。而后总线对该程序地址进行译码以获得与程序地址对应的程序获取指令,并将程序获取指令发送至程序存储器(例如,flash存储器),程序存储器根据程序获取指令获取程序,并将该程序通过发送至总线,最后总线将该程序通过总线与中央处理器cpu之间的数据通信线路发送至中央处理器cpu,以使中央处理器cpu执行该程序(即,中央处理器cpu执行应用程序)。

也就是说,本发明中的微控制单元mcu在总线与中央处理器cpu的访问接口处设计一个通路逻辑单元,该通路逻辑单元可存储空闲循环程序段对应的机器代码(即,机器语言),同时具有地址匹配功能。当中央处理器cpu执行其它程序时,发出的地址通过上述通路逻辑单元,并不进行拦截,允许其送往总线,实现正常的地址译码以及存取功能。当中央处理器cpu执行空闲循环程序时,发出相应的地址后,通路逻辑单元识别所发地址为中央处理器cpu读取空闲循环程序段的地址,因此将拦截,避免中央处理器cpu占用总线,并继续保持总线处于释放状态,以供其它设备进行使用,同时将预存在通路逻辑单元中该地址对应的空闲循环程序代码发送给中央处理器cpu,中央处理器cpu进行代码执行,完成正常的空闲循环。

为使本领域技术人员更清楚地了解本发明,图2是根据本发明具体实施例的微控制单元的工作原理图。如图2所示,以空闲循环程序的地址为0x0016_3f6c(机器语言),空闲循环程序为0x3105_aa7b(机器语言)为例,其中,上述系统在初始化的过程中,将上述空闲循环程序的地址和空闲循环程序预先调用至通路逻辑单元中的匹配地址段和匹配代码段中,即,将空闲循环程序和空闲循环程序的地址写入通路逻辑单元。

当该系统正常处理应用程序时,中央处理器cpu将不会发出0x0016_3f6c地址寻址动作,此时,逻辑单元中的判断逻辑将优先提取中央处理器cpu发出的地址,并自动与匹配地址段的地址进行比较,发现此时发出的地址与0x0016_3f6c均不匹配,则此地址将通过通路逻辑单元释放给总线逻辑,同时保持中央处理器cpu对总线的控制权,不进行任何控制干涉。

当该系统处于空闲循环状态时,中央处理器cpu将需要不断执行空闲循环指令,需不断发出0x0016_3f6c对此地址下的代码程序进行读取,此时,通路逻辑单元优先截取中央处理器cpu发出的地址并对其进行匹配性判断,发现与匹配地址段中的地址相吻合,此时,可通过通路逻辑单元将中央处理器cpu发送给总线的所有控制信号进行截断,保持总线逻辑仍旧处于释放状态,同时将匹配代码段中的数据发送给中央处理器cpu,即是中央处理器cpu需要执行的代码数据0x3105_aa7b,并告知中央处理器cpu当前存取控制已达到目的。此时中央处理器cpu将收到通路逻辑单元发送的代码数据,并正确进行执行。在此过程中,总线上挂载的其它设备之间,均能够通过释放的总线逻辑进行数据传输通信,实现了总线的有效利用。

综上,根据本发明实施例的微控制单元的控制方法,在系统运行的过程中,首先获取中央处理器发出的程序地址,然后判断程序地址是否为通路逻辑单元中的预设地址,如果程序地址为通路逻辑单元中的预设地址,则获取通路逻辑单元中与预设地址相匹配的预设程序,最后将预设程序发送至中央处理器,以使中央处理器执行预设程序。由此,该控制方法可使中央处理器在获取预设程序的过程中,无需占用总线访问程序存储器,从而总线上挂载的其它设备之间,均能够通过释放的总线逻辑进行数据传输通信,实现了总线的有效利用。

另外,本发明的实施例还提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述的微控制单元的控制方法。

根据本发明实施例的非临时性计算机可读存储介质,在系统运行的过程中,首先获取中央处理器发出的程序地址,然后判断程序地址是否为通路逻辑单元中的预设地址,如果程序地址为通路逻辑单元中的预设地址,则获取通路逻辑单元中与预设地址相匹配的预设程序,最后将预设程序发送至中央处理器,以使中央处理器执行预设程序。由此,中央处理器在获取预设程序的过程中,无需占用总线访问程序存储器,从而总线上挂载的其它设备之间,均能够通过释放的总线逻辑进行数据传输通信,实现了总线的有效利用。

图3是根据本发明一个实施例的微控制单元的控制装置的方框示意图。在本发明的实施例中,如图2所示,微控制单元mcu可包括中央处理器cpu、通路逻辑单元、总线和程序存储器,其中,程序存储器可为flash存储器,且flash存储器内部传输速率较快,有利于数据交换。

如图3所示,本发明实施例的微控制单元的控制装置包括:第一获取模块100、判断模块200、第二获取模块300和第一发送模块400。

其中,第一获取模块100用于在系统运行的过程中,获取中央处理器发出的程序地址。其中,中央处理器cpu发出的程序地址为机器语言,即一串二进制代码,例如,0x0016_3f6c。应说明的是,微控制单元内部的数据传输均可为机器语言。

在本发明的实施例中,上述的系统可为中央处理器cpu的嵌入式操作系统,其中,该嵌入式操作系统可为linux操作系统、android操作系统等。

判断模块200用于判断程序地址是否为通路逻辑单元中的预设地址。

第二获取模块300用于在程序地址为通路逻辑单元中的预设地址时,获取通路逻辑单元中与预设地址相匹配的预设程序。

在本发明的实施例中,预设地址和预设程序均可根据时间情况进行标定,其中,预设程序可为空闲循环程序,预设地址可为空闲循环程序的地址。

需要说明的是,当程序地址为通路逻辑单元中的预设地址(即,空闲循环程序的地址)时,则说明系统处于空闲循环状态,当程序地址不为通路逻辑单元中的预设地址时,则说明系统正常处理应用程序。

第一发送模块400用于将预设程序发送至中央处理器,以使中央处理器执行预设程序。

具体地,在系统运行的过程中,中央处理器cpu会生成程序地址,并通过中央处理器cpu与通路逻辑单元之间的地址通信线路将该程序地址发送至通路逻辑单元。此时第一获取模块100将获取该程序地址,然后判断模块200判断该程序地址是否为该通路逻辑单元中的预设地址(即,空闲循环程序的地址),如果是,则第二获取模块300获取通路逻辑单元中与预设地址相匹配的预设程序(即,空闲循环程序)。然后第一发送模块400通过通路逻辑单元与中央处理器cpu之间的数据通信线路将该预设程序发送至中央处理器cpu,以使中央处理器cpu执行预设程序(即,中央处理器cpu执行空闲循环程序)。

进一步而言,上述的空闲循环程序以c语言代码while(1)实现,即为一条跳转指令,跳转回当前指令继续重复执行,也就是说,在系统处于空闲循环状态的时间内,中央处理器cpu将不停的执行该空闲循环程序,以保持系统的正常运转。

需要说明的是,该实施例中所描述的预设地址和预设程序,均是上述系统在初始化的过程中写入的。

进一步而言,在本发明的一个实施例中,第一获取模块100还可用于在系统初始化的过程中,将空闲循环程序和空闲循环程序的地址写入通路逻辑单元。

具体地,上述的操作系统在初始化的过程中,第一获取模块100会执行一段写入代码,以将空闲循环程序和空闲循环程序的地址写入通路逻辑单元中。其中,该空闲循环程序和空闲循环程序的地址可以是上述微控制单元mcu的生产厂商直接设置在该写入代码中的,当该写入代码被执行时,将其自动写入通路逻辑单元。其中,也可将调取该空闲循环程序的地址函数设置在写入代码中,当该写入代码被执行时,通过该地址函数调取该空闲循环程序,将其自动写入通路逻辑单元。应说明的是,该空闲循环程序原先存储的位置可以是程序存储器。

综上所述,本发明实施例提供的微控制单元的控制装置,可使中央处理器cpu在获取预设程序的过程中,无需占用总线访问程序存储器,从而总线上挂载的其它设备之间,均能够通过释放的总线逻辑进行数据传输通信,实现了总线的有效利用。

另外,在本发明的一个实施例中,如图4所示,上述微控制单元的控制装置还包括第二发送模块500,第二发送模块500可用于在程序地址不为通路逻辑单元中的预设地址时,将程序地址发送至总线,其中,总线对程序地址进行译码以获得与程序地址对应的程序获取指令,并将程序获取指令发送至程序存储器,然后程序存储器根据程序获取指令获取程序,并将程序发送至总线,最后总线将程序发送至中央处理器。

需要说明的是,前述对微控制单元的控制方法实施例的解释说明也适用于该实施例的微控制单元的控制装置,此处不再赘述。

综上,本发明实施例的微控制单元的控制装置,在系统运行的过程中,通过第一获取模块获取中央处理器发出的程序地址,并通过判断模块判断程序地址是否为通路逻辑单元中的预设地址,如果程序地址为通路逻辑单元中的预设地址,则通过第二获取模块获取通路逻辑单元中与预设地址相匹配的预设程序,而后通过第一发送模块将预设程序发送至中央处理器,以使中央处理器执行预设程序。由此,该控制装置可使中央处理器在获取预设程序的过程中,无需占用总线访问程序存储器,从而总线上挂载的其它设备之间,均能够通过释放的总线逻辑进行数据传输通信,实现了总线的有效利用。

为了实现上述实施例,本发明还提出一种微控制单元,其包括上述的微控制单元的控制装置。

需要说明的是,上述的微控制单元可用于汽车、移动终端、智能家电等电子设备上。

本发明实施例的微控制单元,通过上述微控制单元的控制装置,可使中央处理器在获取预设程序的过程中,无需占用总线访问程序存储器,从而总线上挂载的其它设备之间,均能够通过释放的总线逻辑进行数据传输通信,实现了总线的有效利用。

在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1