单芯片多重微控制器的架构及时序控制方法

文档序号:6649463阅读:186来源:国知局
专利名称:单芯片多重微控制器的架构及时序控制方法
技术领域
本发明是有关一种多重微控制器的架构及时序控制方法,特别是有关一种整合于单芯片中的多重微控制器的架构及时序控制方法。
背景技术
首先,请参阅图1所示的已知单芯片微控制器架构,在此单芯片微控制器10中,包含微控制器11、程序内存(program memory)12,以及数据存储器(data memory)13;微控制器11透过程序内存总线112以读取程序内存12中所储存的程序代码,而数据存储器13则是与微控制器11以数据存储器总线113连接以传输资料,且数据存储器13的大小可依系统规格而增减,另外,在微控制器11搭配不同的外围组件14时,亦需经由不同的周边组件控制总线114来传输信号;在微控制器系统需因应中断的需求,停止正在执行的程序而去做所谓的中断服务,因此,当有中断产生时,程序执行的顺序、时间会因断点改变而改变,无法准确的预测,将使得需以精确固定时序控制的外围组件,难以利用软件来仿真控制,另外也无法利用软件精准的量测信号。
另一已知的多重微控制器架构如图2所示,其中微控制器单元26、27、28,分别由程序内存261、271、281与微控制器262、272、282所共同组成,并透过总线与共享数据存储器23以及共享外围组件24形成所谓的多重微控制器,微控制器单元26、27、28数量端视需求的规格而改变。由于每一个微控制器单元26、27、28都拥有自己的程序内存261、271、281,所有的微控制器单元26、27、28都可以独立运作,每个微控制器262、272、282都可以有自己的时脉,缺点在于各个微控制器单元26、27、28存取共享数据存储器23与共享外围组件24时会彼此互相干扰,另外由于程序内存261、271、281无法共享,使得程序撰写变得相当复杂。
目前,内存可以支持更高的频宽,于是引导出一种超纯量/超执行绪(super-scaler/hyper-thread)多重微控制器架构,其架构如图3所示,多个微控制器32、34共享一个程序内存30并让微控制器32、34一起运作,并在每个微控制器32、34与程序内存30的间加入指令缓冲区(instruction buffer)321、341,由于每个微控制器32、34多了指令缓冲区321、341,微控制器32、34进行读取程序内存30的机率变小了,当然也减少被干扰的机率,执行的程序比较能够依照我们所需要来运作;不过很显然的,它只能降低发生的机率,但是仍然无法确保微控制器彼此不相互干扰,程序依然复杂;要将此多重微控制器架构用单芯片来实现仍有其困难。
有鉴于此,本发明是针对上述的问题,提出一种单芯片多重微控制器的架构及时序控制方法,单芯片内所有微控制器共享一个程序内存,除了降低制造成本外并且有效解决微控制器彼此干扰问题以达真正的平行处理架构。

发明内容
本发明的主要目的,是在提供一种单芯片多重微控制器的架构及时序控制方法,其是利用多个微控制器共享一程序内存,有效避免微控制器程序执行程序的干扰,并简化程序的撰写以降低成本。
本发明的另一目的,是在提供一种单芯片多重微控制器的架构及时序控制方法,以不同的微控制器在相互错开不同时序下执行的方法,可提供相当于有多个微控制器同时平行独立运作,使得多个程序可以平行处理,可提升控制效率。
根据本发明,其是一种单芯片多重微控制器的架构,其特征在于,包括至少二微控制器,每一该微控制器是可平行独立执行至少一程序;
一时序控制逻辑,与该等微控制器连接,是用以提供该等微控制器执行于相互错开的时序;以及一程序内存控制逻辑,其一端与该等微控制器连接,另一端与一程序内存连接,该程序内存控制逻辑在错开的时序下,读取来自该程序内存中的程序代码,以提供给相对应的该等微控制器。
其中,该程序内存是用以存放该等微控制器执行程序时所需的所有程序代码。
其中,在该等微控制器与该时序控制逻辑间,是由复数时序控制总线连接以传输信号。
其中,在该等微控制器与该程序内存控制逻辑间,是由复数程序内存控制总线连接以传输信号。
其中,在该程序内存与该程序内存控制逻辑间,是由一程序内存总线连接以传输信号。
依据本发明的另一重点,本发明一种单芯片多重微控制器的时序控制方法,该单芯片多重微控制器包括X个微控制器,其中X≥2,且该单芯片多重微控制器接受一个频率为F的时脉,其特征在于,该单芯片多重微控制器的时序控制方法包括令该X个微控制器各别在低于F的工作时脉频率F1、F2、….、FX下工作,且F1、F2、….、FX为第X个微控制器的工作时脉频率,并令F1+F2+….+FX≤F。
其中,该X个微控制器平均共享时脉频率资源,即F1=F2=….=FX。
其中,当该X个微控制器中有Y个未在工作状态时,仅将时脉频率资源共享给(X-Y)个微控制器,而令F1+F2+….+FX-Y≤F。


底下由具体实施例配合附图详加说明,当更容易了解本发明的目的、技术内容、特点及其所达成的功效,其中图1为已知的单芯片微控制器架构方块图。
图2为已知的多重微控制器架构方块图。
图3为另一已知的多重微控制器架构方块图。
图4为本发明的架构实施例方块图。
图5为本发明于四个微控制器的时脉运作图。
实施方式本发明是提供一种单芯片多重微控制器架构,利用数个微控制器实现于单一集成电路芯片上,微控制器共享一程序内存,各个微控制器执行程序时彼此不互相干扰,并简化程序设计。
请参阅图4所示,此为本发明的架构实施例方块图,单芯片多重微控制器40包含X个可以独立运作的微控制器,于本实施例中以具有四个微控制器46、47、48、49的单芯片多重微控制器40为例加以说明,其中,第一微控制器46用来执行主程序、第二微控制器47用来产生脉冲宽度调节(PWM)波形、第三微控制器48用来执行SPI(SerialPeripheral Interface),第四微控制器49则是用来执行I2C交握协议,并且微控制器46、47、48、49各自至少可执行一程序;而此微控制器46、47、48、49时序的决定,是由与其连接的多重微控制器时序控制逻辑41进行控制,使微控制器46、47、48、49得以具有各自的时序控制信号416、417、418、419,以使微控制器46、47、48、49可在相互错开的时序中执行各自的程序;在不同的时序控制信号416、417、418、419下,微控制器46、47、48、49会送出相对应的程序内存控制信号426、427、428、429至程序内存控制逻辑42中,再经由程序内存控制逻辑42送出程序内存控制信号431至程序内存43中,由于程序内存43存放微控制器46、47、48、49执行的程序,因此程序内存逻辑42可藉由程序内存控制信号431,至程序内存43中读取所需要的程序,并依照微控制器46、47、48、49所对应的不同时序,将相对所需要的程序代码依序传回至微控制器46、47、48、49中。
图5是为本发明于四个微控制器的时脉运作图实施例,请同时参阅图4与图5,在CLK的1#时序上,多重微控制器控制逻辑41输出一相对应的第一微控制器时序控制信号416至第一微控制器46,以使其执行主程序的第(I)个动作;在CLK的2#时序上,多重微控制器控制逻辑41将一相对应的第二微控制器时序控制信号417传输至第二微控制器47,使其执行PWM功能的第(J)个动作;在CLK的3#时序上,多重微控制器控制逻辑41以一相对应的第一微控制器时序控制信号416传至第一微控制器46中,使其执行主程序的第(I+1)个动作;在CLK的4#时序上,多重微控制器控制逻辑41输出一相对应的第三微控制器时序控制信号418以让第三微控制器48运作,使其执行SPI功能的第(K)个动作;当于CLK的5#时序上时,多重微控制器控制逻辑41对第一微控制器46输出一相对应的第一微控制器时序控制信号416,以使其执行主程序的第(I+2)个动作;在CLK的6#时序上,多重微控制器控制逻辑41将输出一相对应的第二微控制器时序控制信号417,使第二微控制器47得以执行PWM功能的第(J+1)个动作;于CLK的7#时序上,多重微控制器控制逻辑41对第一微控制器46输出一相对应的第一微控制器时序控制信号416,以使其执行主程序的第(I+3)个动作;在CLK的8#时序上,多重微控制器控制逻辑41将输出一相对应的第四微控制器时序控制信号419,使第四微控制器49得以执行I2C功能的第(L)个动作;每一微控制器时序控制信号416、417、418、419与的相对应微控制器 46、47、48、49及其执行动作的关系,均可依此顺序接续类推而得知。
承接上述的架构与时序控制方法,仍请继续参考图4与图5所示,针对就分别以第一微控制器46、第二微控制器47、第三微控制器48、第四微控制器49的执行时脉的角度来分析,当此多重微控制器的时脉为CLK时,第一微控制器46的指令执行时间点为CLK的1#、3#、5#、7#、…,相对应上述时序下第一微控制器46所执行的动作为主程序第(I)、(I+1)、(I+2)、(I+3)、…的动作,依此类推,可得到第一微控制器46的等效执行时脉为多重微控制器时脉的1/2。同理,第二微控制器47的指令执行时间点为CLK的2#、6#、10#、14#、…,而相对应上述时序下第二微控制器47所执行的动作为PWM程序第(J)、(J+1)、(J+2)、(J+3)、…的动作,依此类推,可得到第二微控制器47的等效执行时脉为多重微控制器时脉的1/4。而在第三微控制器48的指令执行时间点为CLK的4#、12#、20#、…,而相对应上述时序下第三微控制器48所执行的动作为SPI程序第(K)、(K+1)、(K+2)、…的动作,依此类推,相当于第三微控制器48的执行时脉为多重微控制器时脉的1/8。第四微控制器49的指令执行时间点为CLK的8#、16#、24#、…,因此在相对应上述时序下第四微控制器49所执行的动作为I2C程序第(L)、(L+1)、(L+2)、…的动作,依此类推,此第四微控制器49的等效执行时脉为多重微控制器时脉的1/8。
再者,请继续依图4与图5所示,第一微控制器46、第二微控制器47、第三微控制器48、第四微控制器49是运作在相互错开的时序中,所以第一微控制器46、第二微控制器47、第三微控制器48、第四微控制器49是可以共享使用一个程序内存43,也不需要额外加入指令缓冲区来降低不同微控制器彼此的干扰,所以节省了硬件成本而且没有增加多重微控制器带来的软件复杂度。
经由以上的说明可显然思及,微控制器工作频率的关系为式(1)F1+F2+….+FX≤F…………(1)其中,单芯片系统所提供的基本工作时脉频率为F,有X个微控制器各别在低于F的工作时脉频率F1,F2,….,FX下工作,其中F1,F2,….,FX为第1,2,….,X个微控制器的工作时脉频率。
本实施例中的应用例是在X=4的情况下,以F/2,F/4,F/8,F/8的方式共享资源。当然这并非唯一的方式,设计者可在本发明的概念下,用任意方式分配,例如F/4,F/4,F/4,F/4平均分享资源;或动态地在某些微控制器未使用到的时候,暂时不分享资源,而将资源仅分享给使用到的微控制器导,如F/2,F/4,F/4,0等等。
而在上述所谓的“系统所提供的基本工作时脉频率为F”,此描述不仅只用以定义系统原始所供应的时脉频率为F,更可用以为每一个指令的动作最小单位为F的广泛定义。举例而言,在电路为采取倍频的设计下,若于每一时脉周期的正半周和负半周各工作一次,则本发明所谓的F,指的是系统原始所供应时脉的两倍,或是以线路其它方式而产生的工作频率,则在此状况下经线路方式所产生的工作时脉频率,即为本发明中所述的F。更具体言之,若有一系统其原始所供应的时脉为1MHz,而系统经由线路方式产生相等于3MHz的工作频率,则本发明所谓“系统所提供的基本工作时脉频率”是3MHz,意即本发明所谓的F乃是泛指系统工作时所使用的实际工作时脉。
此外,不同的微控制器执行时序,在透过多重微控制器控制逻辑重新设定后,可产生不同功能组合的多重微控制器,而依照各种系统与外围组件规格,需要以不同的时序控制加以配合,例如,处理比较高速的交握协议的微控制器就设定比较高频率的时序。
因此,利用上述以多重微控制器时序控制逻辑以及程序内存控制逻辑使数个微控制器可执行各自的程序不但可有效解决已知时序被干扰的问题,提供一种平行处理的单芯片多重微控制器的架构,更可使多个程序得以平行处理;另外,本发明更利用数个微控制器共享程序内存而降低硬件制作成本以及软件开发的困难度。
以上所述是由实施例说明本发明的特点,其目的在使熟习该技术者能了解本发明的内容并据以实施,而非限定本发明的专利范围,故,凡其它未脱离本发明所揭示的精神所完成的等效修饰或修改,仍应包含在以下所述的申请专利范围中。
权利要求
1.一种单芯片多重微控制器的架构,其特征在于,包括至少二微控制器,每一该微控制器是可平行独立执行至少一程序;一时序控制逻辑,与该等微控制器连接,是用以提供该等微控制器执行于相互错开的时序;以及一程序内存控制逻辑,其一端与该等微控制器连接,另一端与一程序内存连接,该程序内存控制逻辑在错开的时序下,读取来自该程序内存中的程序代码,以提供给相对应的该等微控制器。
2.如权利要求1所述的单芯片多重微控制器的架构,其特征在于,其中,该程序内存是用以存放该等微控制器执行程序时所需的所有程序代码。
3.如权利要求1所述的单芯片多重微控制器的架构,其特征在于,其中,在该等微控制器与该时序控制逻辑间,是由复数时序控制总线连接以传输信号。
4.如权利要求1所述的单芯片多重微控制器的架构,其特征在于,其中,在该等微控制器与该程序内存控制逻辑间,是由复数程序内存控制总线连接以传输信号。
5.如权利要求1所述的单芯片多重微控制器的架构,其特征在于,其中,在该程序内存与该程序内存控制逻辑间,是由一程序内存总线连接以传输信号。
6.一种单芯片多重微控制器的时序控制方法,该单芯片多重微控制器包括X个微控制器,其中X≥2,且该单芯片多重微控制器接受一个频率为F的时脉,其特征在于,该单芯片多重微控制器的时序控制方法包括令该X个微控制器各别在低于F的工作时脉频率F1、F2、….、FX下工作,且F1、F2、….、FX为第X个微控制器的工作时脉频率,并令F1+F2+….+FX≤F。
7.如权利要求6所述的单芯片多重微控制器的时序控制方法,其特征在于,其中,该X个微控制器平均共享时脉频率资源,即F1=F2=….=FX。
8.如权利要求6所述的单芯片多重微控制器的时序控制方法,其特征在于,其中,当该X个微控制器中有Y个未在工作状态时,仅将时脉频率资源共享给(X-Y)个微控制器,而令F1+F2+….+FX-Y≤F。
全文摘要
本发明提供一种单芯片多重微控制器的架构及时序控制方法,包含一多重微控制器,其是整合于单一芯片中,不同的微控制器在相互错开的不同时序下分别被执行,相当于有多个微控制器同时平行独立运作。因此本发明提供一种多重微控制器的架构及时序控制方法,可将多重微控制器实现于单一集成电路芯片,并达平行处理的效能。
文档编号G06F15/76GK1952920SQ20051010908
公开日2007年4月25日 申请日期2005年10月17日 优先权日2005年10月17日
发明者唐灿弼, 张荣麟 申请人:应广科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1