CN100412850C - 单芯片多重微控制器的架构及时序控制方法 - Google Patents
单芯片多重微控制器的架构及时序控制方法 Download PDFInfo
- Publication number
- CN100412850C CN100412850C CNB200510109081XA CN200510109081A CN100412850C CN 100412850 C CN100412850 C CN 100412850C CN B200510109081X A CNB200510109081X A CN B200510109081XA CN 200510109081 A CN200510109081 A CN 200510109081A CN 100412850 C CN100412850 C CN 100412850C
- Authority
- CN
- China
- Prior art keywords
- microcontroller
- single chip
- microcontrollers
- program storage
- sequential
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Programmable Controllers (AREA)
Abstract
本发明提供一种单芯片多重微控制器的架构及时序控制方法,包含一多重微控制器,其是整合于单一芯片中,不同的微控制器在相互错开的不同时序下分别被执行,相当于有多个微控制器同时平行独立运作。因此本发明提供一种多重微控制器的架构及时序控制方法,可将多重微控制器实现于单一集成电路芯片,并达平行处理的效能。
Description
技术领域
本发明是有关一种多重微控制器的架构及时序控制方法,特别是有关一种整合于单芯片中的多重微控制器的架构及时序控制方法。
背景技术
首先,请参阅图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分别为对应的第1、2、…、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乃是泛指系统工作时所使用的实际工作时脉。
此外,不同的微控制器执行时序,在透过多重微控制器控制逻辑重新设定后,可产生不同功能组合的多重微控制器,而依照各种系统与外围组件规格,需要以不同的时序控制加以配合,例如,处理比较高速的交握协议的微控制器就设定比较高频率的时序。
因此,利用上述以多重微控制器时序控制逻辑以及程序存储器控制逻辑使数个微控制器可执行各自的程序不但可有效解决已知时序被干扰的问题,提供一种平行处理的单芯片多重微控制器的架构,更可使多个程序得以平行处理;另外,本发明更利用数个微控制器共享程序存储器而降低硬件制作成本以及软件开发的困难度。
以上所述是由实施例说明本发明的特点,其目的在使熟习该技术者能了解本发明的内容并据以实施,而非限定本发明的专利范围,故,凡其它未脱离本发明所揭示的精神所完成的等效修饰或修改,仍应包含在以下所述的申请专利范围中。
Claims (8)
1. 一种单芯片多重微控制器的架构,其特征在于,包括:
至少二个微控制器,每一该微控制器是可平行独立执行至少一程序;
一时序控制逻辑,与该至少二个微控制器连接,其使该至少二个微控制器是有各自的时序控制信号,以使该至少二个微控制器可在相互错开时序中执行各自的程序;以及
一程序存储器控制逻辑,其一端与该至少二个微控制器连接,另一端与一程序存储器连接,该程序存储器是多个微控制器共享,该程序存储器控制逻辑在错开的时序下,读取来自该程序存储器中的程序代码,以提供给相对应的该至少二个微控制器。
2. 如权利要求1所述的单芯片多重微控制器的架构,其特征在于,其中,该程序存储器是用以存放该至少二个微控制器执行程序时所需的所有程序代码。
3. 如权利要求1所述的单芯片多重微控制器的架构,其特征在于,其中,在该至少二个微控制器与该时序控制逻辑间,是由多个时序控制总线连接以传输信号。
4. 如权利要求1所述的单芯片多重微控制器的架构,其特征在于,其中,在该至少二个微控制器与该程序存储器控制逻辑间,是由多个程序存储器控制总线连接以传输信号。
5. 如权利要求1所述的单芯片多重微控制器的架构,其特征在于,其中,在该程序存储器与该程序存储器控制逻辑间,是由一程序存储器总线连接以传输信号。
6. 一种单芯片多重微控制器的时序控制方法,该单芯片多重微控制器包括X个微控制器,其中X≥2,且该单芯片多重微控制器接受一个频率为F的时脉,其特征在于,该单芯片多重微控制器的时序控制方法包括:
不同的微控制器在相互错开的不同的时序下执行;
令该X个微控制器各别在低于F的工作时脉频率F1、F2、…、FX下工作,且F1、F2、…、FX分别为对应的第1、2、…、X微控制器的工作时脉频率,并令
F1+F2+…+FX≤F。
7. 如权利要求6所述的单芯片多重微控制器的时序控制方法,其特征在于,其中,该X个微控制器平均共享时脉频率资源,即F1=F2=…=FX。
8. 如权利要求6所述的单芯片多重微控制器的时序控制方法,其特征在于,其中,当该X个微控制器中有Y个未在工作状态时,仅将时脉频率资源共享给X-Y个微控制器,而令F1+F2+…+FX-Y≤F。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200510109081XA CN100412850C (zh) | 2005-10-17 | 2005-10-17 | 单芯片多重微控制器的架构及时序控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200510109081XA CN100412850C (zh) | 2005-10-17 | 2005-10-17 | 单芯片多重微控制器的架构及时序控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1952920A CN1952920A (zh) | 2007-04-25 |
CN100412850C true CN100412850C (zh) | 2008-08-20 |
Family
ID=38059266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200510109081XA Active CN100412850C (zh) | 2005-10-17 | 2005-10-17 | 单芯片多重微控制器的架构及时序控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100412850C (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4345309A (en) * | 1980-01-28 | 1982-08-17 | Digital Equipment Corporation | Relating to cached multiprocessor system with pipeline timing |
US5202973A (en) * | 1990-06-29 | 1993-04-13 | Digital Equipment Corporation | Method of controlling a shared memory bus in a multiprocessor system for preventing bus collisions and for ensuring a full bus |
US5701413A (en) * | 1993-01-25 | 1997-12-23 | Bull Hn Information Systems Italia S.P.A. | Multi-processor system with shared memory |
CN1339874A (zh) * | 2001-06-26 | 2002-03-13 | 李之彦 | 多路可编程通用可集成时序控制器 |
CN1617068A (zh) * | 2003-11-10 | 2005-05-18 | 日本电气株式会社 | 多cpu结构的带有通信功能的移动终端及其控制方法 |
-
2005
- 2005-10-17 CN CNB200510109081XA patent/CN100412850C/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4345309A (en) * | 1980-01-28 | 1982-08-17 | Digital Equipment Corporation | Relating to cached multiprocessor system with pipeline timing |
US5202973A (en) * | 1990-06-29 | 1993-04-13 | Digital Equipment Corporation | Method of controlling a shared memory bus in a multiprocessor system for preventing bus collisions and for ensuring a full bus |
US5701413A (en) * | 1993-01-25 | 1997-12-23 | Bull Hn Information Systems Italia S.P.A. | Multi-processor system with shared memory |
CN1339874A (zh) * | 2001-06-26 | 2002-03-13 | 李之彦 | 多路可编程通用可集成时序控制器 |
CN1617068A (zh) * | 2003-11-10 | 2005-05-18 | 日本电气株式会社 | 多cpu结构的带有通信功能的移动终端及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1952920A (zh) | 2007-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112199173B (zh) | 双核cpu实时操作系统数据处理方法 | |
CN101196738A (zh) | 基于pc机的开放式数控系统 | |
CN102636987B (zh) | 双重化控制装置 | |
CN105786736A (zh) | 一种多芯片级联的方法、芯片和装置 | |
CN109902056A (zh) | 一种串行传输的方法、装置、设备及计算机可读存储介质 | |
CN111767121B (zh) | 运算方法、装置及相关产品 | |
CN102063337B (zh) | 多处理器核的信息交互和资源分配的方法及系统 | |
RU2016121724A (ru) | Архитектура параллельной вычислительной системы | |
CN100412850C (zh) | 单芯片多重微控制器的架构及时序控制方法 | |
US20070067605A1 (en) | Architecture of a parallel-processing multi-microcontroller system and timing control method thereof | |
CN104077080A (zh) | 存储器存取方法、存储器存取控制方法、spi闪存装置及其控制器 | |
CN106326172B (zh) | 一种APB总线slave接口扩展电路及其使用方法 | |
CN201662798U (zh) | 一种端口映射设备转换装置及控制系统 | |
CN102063308B (zh) | 一种用于地震勘探资料处理流程控制的方法 | |
CN104836710A (zh) | 一种基于分布式系统一主多从通信的方法与装置 | |
CN102567281B (zh) | 可重构调度算子阵列结构、集成电路阵列结构及控制模块 | |
CN115599719A (zh) | 一种基于fpga的fifo接口多通道dma控制器 | |
CN108228242A (zh) | 一种可配置且具弹性的指令调度器 | |
CN103714012A (zh) | 数据处理方法和装置 | |
Visconti et al. | Operation principle, advanced procedures and validation of a new Flex-SPI communication Protocol for smart IoT devices | |
CN113721989A (zh) | 一种多处理器并行操作系统及计算机架构 | |
CN1877555A (zh) | 平行处理的多重微控制器的结构及时序控制方法 | |
CN111767999A (zh) | 数据处理方法、装置及相关产品 | |
CN101539849A (zh) | 一种处理器以及一种寄存器选通方法 | |
CN201134025Y (zh) | 采用dsp的冲击测量控制仪 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220929 Address after: 3rd Floor, Building 6, Electronic Information Industrial Park, Economic Development Zone, Chizhou City, Anhui Province Patentee after: Chizhou Guangyu Electronic Technology Co.,Ltd. Address before: Taiwan, Hsinchu, China Patentee before: PADAUK TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |