專(zhuān)利名稱(chēng):平行處理的多重微控制器的結(jié)構(gòu)及時(shí)序控制方法
技術(shù)領(lǐng)域:
本發(fā)明是有關(guān)一種多重微控制器的結(jié)構(gòu)及時(shí)序控制方法,特別是有關(guān)一種平行處理的多重微控制器的結(jié)構(gòu)及時(shí)序控制方法。
背景技術(shù):
微控制器/微處理器(Microcontroller/Microprocessor,簡(jiǎn)稱(chēng)MCU/MPU)又稱(chēng)為單晶片電腦(Single chip Microcomputer),是不需其他輔助電路而能獨(dú)立執(zhí)行運(yùn)算的裝置,主要是負(fù)責(zé)系統(tǒng)產(chǎn)品中控制功能的積體電路元件,一顆微控制器幾乎就是一臺(tái)微型的電腦,因?yàn)樗送暾娔X所提供的各種功能。
微控制器的應(yīng)用相當(dāng)廣泛,包括消費(fèi)性電子、工業(yè)控制、醫(yī)療儀器、車(chē)控等等,應(yīng)用在不同的領(lǐng)域所控制的周邊元件也有所不同,各周邊元件的交握協(xié)定(handshaking protocol)也有所不同,常見(jiàn)的交握協(xié)定有I2C protocol、通用異步收發(fā)協(xié)定(universal asynchronousreceiver/transmitters,UART protocol)等,微控制器必需在符合各種交握協(xié)定下與不同的周邊元件溝通。有些應(yīng)用上微控制器必需產(chǎn)生特定時(shí)序(specific timing)或固定時(shí)序(fix timing)來(lái)控制周邊元件或波形測(cè)量,例如產(chǎn)生脈沖寬度調(diào)節(jié)(pulse width modulation,PWM)來(lái)控制馬達(dá)。所以微控制器必需能夠產(chǎn)生準(zhǔn)確的時(shí)序來(lái)控制周邊元件或用準(zhǔn)確的時(shí)序來(lái)測(cè)量輸入的信號(hào)。
一般微控制器利用軟件模擬(software emulation)或增加特定硬件線(xiàn)路來(lái)解決時(shí)序問(wèn)題,例如周邊元件與微控制器用I2C當(dāng)做交握協(xié)定,微控制器可用軟件來(lái)模擬I2C交握協(xié)定或是在微控制器內(nèi)部增加I2C交握協(xié)定的硬件電路。一般而言,用軟件模擬可以節(jié)省硬件成本,但是不容易精確的產(chǎn)生特定時(shí)序或固定時(shí)序來(lái)控制周邊元件;至于在微控制器內(nèi)部增加特定的硬件電路是可以精確的控制所需要的時(shí)序,但又因?yàn)樵黾恿擞布娐范匦柙黾映杀?,尤其是不同的周邊元件所需要的交握協(xié)定可能不同,微控制器常常必需增加更多交握協(xié)定的硬件電路,讓微控制器可以控制更多的周邊元件。
已知一種微控制器系統(tǒng)結(jié)構(gòu)如圖1所示,微控制器11透過(guò)程序存儲(chǔ)器總線(xiàn)(program memory bus)讀取程序存儲(chǔ)器(program memory)12,資料存儲(chǔ)器(data memory)13則是視系統(tǒng)的需求而增加,由于微控制器需要一直讀取程序存儲(chǔ)器,微控制器存取(access)資料存儲(chǔ)器則透過(guò)另一組資料存儲(chǔ)器總線(xiàn),微控制器也常常需要搭配不同的周邊元件14去完成系統(tǒng)規(guī)格,透過(guò)不同的周邊元件控制總線(xiàn)對(duì)周邊元件進(jìn)行控制,從整個(gè)微控制器系統(tǒng)觀點(diǎn)來(lái)看,其缺點(diǎn)是當(dāng)中斷產(chǎn)生時(shí),我們無(wú)法預(yù)測(cè)程序執(zhí)行的順序,也無(wú)法預(yù)測(cè)程序執(zhí)行時(shí)間,所以那些需用精確固定時(shí)序來(lái)控制的周邊元件,就無(wú)法用軟件來(lái)模擬以達(dá)到控制的效果,用來(lái)精準(zhǔn)的量測(cè)信號(hào)也不易達(dá)到。
另一已知的多重微控制器結(jié)構(gòu)如圖2所示,多個(gè)微控制器單元25、26、27透過(guò)總線(xiàn)與共用的資料存儲(chǔ)器28與共用的周邊元件29形成所謂的多重微控制器,多重微控制器系統(tǒng)的微控制器單元數(shù)量端視系統(tǒng)的規(guī)格需求而改變。在這系統(tǒng)里,由于每一個(gè)微控制器單元都擁有自己的程序存儲(chǔ)器,所有的微控制器單元都可以獨(dú)立運(yùn)作,每個(gè)微控制器都可以有自己的時(shí)脈,缺點(diǎn)在于程序復(fù)雜無(wú)法共用程序存儲(chǔ)器而且整個(gè)系統(tǒng)成本相當(dāng)昂貴。
再者,隨著半導(dǎo)體技術(shù)的進(jìn)步,存儲(chǔ)器可以支援更高的頻寬,于是引導(dǎo)出一種超純量/超執(zhí)行緒(super-scaler/hyper-thread)多重微控制器結(jié)構(gòu),其系統(tǒng)結(jié)構(gòu)如圖3所示,多個(gè)微控制器31、32共用一個(gè)程序存儲(chǔ)器33并讓多個(gè)微控制器一起運(yùn)作,并在每個(gè)微控制器31、32與程序存儲(chǔ)器的間加入指令緩沖區(qū)(instruction buffer),由于每個(gè)微控制器多了指令緩沖區(qū),微控制器讀取程序存儲(chǔ)器機(jī)率變小了,當(dāng)然也減少被干擾的機(jī)率,執(zhí)行的程序比較能夠依照我們所需要來(lái)運(yùn)作;不過(guò)很顯然的,它只能降低發(fā)生的機(jī)率,但是無(wú)法確保不受干擾,而那些需固定時(shí)間來(lái)做固定時(shí)序的周邊元件,仍然無(wú)法用軟件來(lái)精確的控制,且其整個(gè)硬件成本相當(dāng)高。
有監(jiān)于此,本發(fā)明是針對(duì)上述的問(wèn)題,提出一種平行處理的多重微控制器的結(jié)構(gòu)及時(shí)序控制方法,可以降低制造成本有效解決微控制器受干擾的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明的主要目的,是在提供一種平行處理的多重微控制器的結(jié)構(gòu)及時(shí)序控制方法,其是利用數(shù)個(gè)微控制器程序執(zhí)行狀態(tài)模組來(lái)平行執(zhí)行多個(gè)程序,使得多個(gè)程序可以平行處理,避免微控制器程序執(zhí)行程序受干擾的問(wèn)題。
本發(fā)明的另一目的,是在提供一種平行處理的多重微控制器的結(jié)構(gòu)及時(shí)序控制方法,其是利用多重微控制器控制邏輯控制數(shù)個(gè)微控制器程序執(zhí)行狀態(tài)模組執(zhí)行的順序,簡(jiǎn)化硬件結(jié)構(gòu)并可降低整個(gè)系統(tǒng)制作成本。
本發(fā)明的再一目的,是在提供一種平行處理的多重微控制器的結(jié)構(gòu)及時(shí)序控制方法,可使軟件以精確產(chǎn)生固定時(shí)序來(lái)控制周邊元件。
根據(jù)本發(fā)明的目的,本發(fā)明一種平行處理的多重微控制器的結(jié)構(gòu),其特征在于,包括至少二微控制器程序執(zhí)行狀態(tài)模組,每一該等微控制器程序執(zhí)行狀態(tài)模組可執(zhí)行至少一程序;一多重微控制器控制邏輯,其是連接該等微控制器程序執(zhí)行狀態(tài)模組,可控制該等微控制器程序執(zhí)行狀態(tài)模組于錯(cuò)開(kāi)的時(shí)序中執(zhí)行各自的程序;以及一微控制器運(yùn)算邏輯,其是連接該等微控制器程序執(zhí)行狀態(tài)模組并提供輔助運(yùn)算。
其中該等微控制器程序執(zhí)行狀態(tài)模組之一與該微控制器運(yùn)算邏輯整合成一個(gè)微控制器。
其中設(shè)定該等微控制器程序執(zhí)行狀態(tài)模組之一優(yōu)先處理中斷。
其中,該微控制器運(yùn)算邏輯包括一程序定序器及一算術(shù)邏輯單元,并由一總線(xiàn)與該程序定序器及該算術(shù)邏輯單元連接以傳送信號(hào)。
其中,每一該微控制器程序執(zhí)行狀態(tài)模組包括一程序計(jì)數(shù)器及一算數(shù)旗標(biāo),并由一總線(xiàn)連接該程序計(jì)數(shù)器及該算數(shù)旗標(biāo)以傳送信號(hào)。
其中,該等微控制器程序執(zhí)行狀態(tài)模組經(jīng)過(guò)一交握協(xié)定傳送控制信號(hào)至周邊元件。
其中,該交握協(xié)定是選自I2C protocol、通用異步收發(fā)協(xié)定、SPI、輸入信號(hào)的脈沖寬度測(cè)量程序、計(jì)時(shí)器所組成群組的其中之一。
其中,還包括一程序存儲(chǔ)器,其是儲(chǔ)存數(shù)個(gè)程序并經(jīng)由程序存儲(chǔ)器總線(xiàn)與該等微控制器程序執(zhí)行狀態(tài)模組連接。
其中,該等微控制器程序執(zhí)行狀態(tài)模組是讀取該程序存儲(chǔ)器的程序執(zhí)行運(yùn)算。
其中,該程序是選自主程序、PWM波形產(chǎn)生程序、輸入信號(hào)的脈沖寬度測(cè)量程序、I2C交握協(xié)定程序、UART交握協(xié)定程序、SPI交握協(xié)定程序、Timer計(jì)時(shí)程序所組成群組的其中之一。
其中,還包括至少一資料存儲(chǔ)器,其是經(jīng)由資料存儲(chǔ)器總線(xiàn)與該等微控制器程序執(zhí)行狀態(tài)模組連接。
根據(jù)本發(fā)明的另一目的,本發(fā)明一種多重微控制器的時(shí)序控制方法,該多重微控制器包括X個(gè)微控制程序執(zhí)行狀態(tài)模組,共用Y個(gè)程序存儲(chǔ)器,其中X≥2、Y≥1,且該多重微控制器接受一個(gè)頻率為1/T的時(shí)脈,其特征在于,該時(shí)序控制方法包括
令所述X個(gè)微控制程序執(zhí)行狀態(tài)模組各別在低于1/T的工作時(shí)脈頻率1/T1、1/T2…1/TX下工作,且1/T1、1/T2…1/TX為第X個(gè)微控制程序執(zhí)行狀態(tài)模組的工作時(shí)脈頻率,并令1/T1+1/T2+…+1/TX≤Y*1/T。
其中在X個(gè)微控制程序執(zhí)行狀態(tài)模組中,設(shè)定至少一個(gè)固定的微控制器程序執(zhí)行狀態(tài)模組來(lái)優(yōu)先處理中斷。
其中該y個(gè)程序存儲(chǔ)器設(shè)置于多重微控制器的外部或內(nèi)部。
其中該X個(gè)微控制程序執(zhí)行狀態(tài)模組各別與對(duì)應(yīng)的一個(gè)微控制器運(yùn)算邏輯整合成一個(gè)完整的微控制器。
其中該X個(gè)微控制程序執(zhí)行狀態(tài)模組動(dòng)態(tài)地與同一個(gè)微控制器運(yùn)算邏輯整合成一個(gè)完整的微控制器。
其中以1/Tn(n=1,2…X)表示1/T1,1/T2…1/TX,則當(dāng)n=1,2…X-1時(shí), 1/Tn=(1/2n)*Y*(1/T)當(dāng)n=X時(shí), 1/Tn=(1/2(X-1))*Y*(1/T)。
其中X個(gè)微控制程序執(zhí)行狀態(tài)模組平均共享時(shí)脈頻率資源,即1/T1=1/T2=…=1/TX。
其中當(dāng)X個(gè)微控制程序執(zhí)行狀態(tài)模組中有x個(gè)未在工作狀態(tài)時(shí),僅將時(shí)脈頻率資源分享給(X-x)個(gè)微控制程序執(zhí)行狀態(tài)模組,而令1/T1+1/T2+…+1/TX-x≤y*1/T。
根據(jù)本發(fā)明的又一目的,本發(fā)明一種多重微控制器的中斷處理方法,該多重微控制器包括X個(gè)微控制程序執(zhí)行狀態(tài)模組,其特征在于,該方法包括在該X個(gè)微控制程序執(zhí)行狀態(tài)模組中,設(shè)定至少一個(gè)固定的微控制器程序執(zhí)行狀態(tài)模組來(lái)優(yōu)先處理中斷。
其中該X個(gè)微控制程序執(zhí)行狀態(tài)模組各別與對(duì)應(yīng)的微控制器運(yùn)算邏輯整合成一個(gè)完整的微控制器。
其中該X個(gè)微控制程序執(zhí)行狀態(tài)模組動(dòng)態(tài)地與同一個(gè)微控制器運(yùn)算邏輯整合成一個(gè)完整的微控制器。
底下由具體實(shí)施例配合附圖詳加說(shuō)明,當(dāng)更容易了解本發(fā)明的目的、技術(shù)內(nèi)容、特點(diǎn)及其所達(dá)成的功效,其中圖1為已知一種微控制器系統(tǒng)結(jié)構(gòu)實(shí)施例。
圖2為另一已知的多重微控制器結(jié)構(gòu)實(shí)施例。
圖3為又一已知的多重微控制器結(jié)構(gòu)實(shí)施例。
圖4為本發(fā)明的結(jié)構(gòu)實(shí)施例示意圖。
圖5為本發(fā)明的一種結(jié)構(gòu)實(shí)施例方塊圖。
圖6為本發(fā)明的另一種結(jié)構(gòu)實(shí)施例方塊圖。
圖7為本發(fā)明于四個(gè)微控制器程序執(zhí)行狀態(tài)模組的時(shí)脈運(yùn)作圖實(shí)施例。
圖8為本發(fā)明的另一實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
本發(fā)明是提供一種多重微控制器(Multiple MCU,MMCU)結(jié)構(gòu),可使微控制器在執(zhí)行程序時(shí)不受干擾,亦可使軟件精確的產(chǎn)生與控制時(shí)序。
請(qǐng)參閱圖4為本發(fā)明的結(jié)構(gòu)實(shí)施例示意圖,多重微控制器(MMCU)系統(tǒng)包含X個(gè)可以獨(dú)立運(yùn)作的微控制器MCU_1、MCU_2、MCU_3、MCU_4(本實(shí)施例中以X=4為例加以說(shuō)明),MCU_1是用來(lái)執(zhí)行主程序、MCU_2用來(lái)產(chǎn)生脈沖寬度調(diào)節(jié)(PWM)波形、MCU_3用來(lái)測(cè)量輸入信號(hào)的脈沖寬度、MCU_4則是用來(lái)執(zhí)行I2C交握協(xié)定。
請(qǐng)參閱圖5為本發(fā)明的一種結(jié)構(gòu)實(shí)施例方塊圖,當(dāng)有四個(gè)微控制器MCU_1、MCU_2、MCU_3、MCU_4時(shí),相對(duì)的有四個(gè)相同的微控制器程序執(zhí)行狀態(tài)模組(microcontroller program execution status module)51、52、53、54。微控制器程序執(zhí)行狀態(tài)模組51(程序計(jì)數(shù)器1、累加器1、算數(shù)旗標(biāo)1)就給MCU_1運(yùn)作時(shí)使用,微控制器程序執(zhí)行狀態(tài)模組52(程序計(jì)數(shù)器2、累加器2、算數(shù)旗標(biāo)2)就給MCU_2運(yùn)作時(shí)使用,微控制器程序執(zhí)行狀態(tài)模組53(程序計(jì)數(shù)器3、累加器3、算數(shù)旗標(biāo)3)就給MCU_3運(yùn)作時(shí)使用,微控制器程序執(zhí)行狀態(tài)模組54(程序計(jì)數(shù)器4、累加器4、算數(shù)旗標(biāo)4)就給MCU_4運(yùn)作時(shí)使用,且多重微控制器控制邏輯55在不同時(shí)序選擇不同的微控制器程序執(zhí)行狀態(tài)模組作運(yùn)算。
四個(gè)微控制器程序執(zhí)行狀態(tài)模組51、52、53、54可各自執(zhí)行至少一程序,多重微控制器控制邏輯55連接微控制器程序執(zhí)行狀態(tài)模組51、52、53、54,并可使微控制器程序執(zhí)行狀態(tài)模組51、52、53、54于錯(cuò)開(kāi)的時(shí)序中執(zhí)行各自的程序,且有一微控制器運(yùn)算邏輯50連接微控制器程序執(zhí)行狀態(tài)模組51、52、53、54以提供輔助運(yùn)算;其中,微控制器運(yùn)算邏輯50包括程序定序器514與算數(shù)邏輯單元515,兩者由連接總線(xiàn)以傳送信號(hào);另外,微控制器程序執(zhí)行狀態(tài)模組51、52、53、54亦各自有一程序計(jì)數(shù)器、一累加器及一算數(shù)旗標(biāo)。
在以上結(jié)構(gòu)中,微控制器程序執(zhí)行狀態(tài)模組51、52、53、54以動(dòng)態(tài)的方式共享微控制器運(yùn)算邏輯50。當(dāng)其中一個(gè)微控制器程序執(zhí)行狀態(tài)模組51、52、53、54和微控制器運(yùn)算邏輯50搭配工作時(shí),便構(gòu)成一個(gè)動(dòng)態(tài)的完整傳統(tǒng)微控制器。
再參閱圖6為本發(fā)明的另一種結(jié)構(gòu)實(shí)施例方塊圖,包括一微控制器60可執(zhí)行至少一程序、三個(gè)微控制器程序執(zhí)行狀態(tài)模組62、63、64以同樣方式可各自執(zhí)行至少一程序、及多重微控制器控制邏輯(MMCUcontrol logic)65連接微控制器60及微控制器程序執(zhí)行狀態(tài)模組62、63、64,并可使微控制器60及微控制器程序執(zhí)行狀態(tài)模組62、63、64于錯(cuò)開(kāi)的時(shí)序中執(zhí)行各自的程序。
其中,微控制器60具有程序計(jì)數(shù)器1(program counter 1)、累加器1(Accumulator 1)、算數(shù)旗標(biāo)1(Arithmetic flag 1)、程序定序器(program sequencer)601、算術(shù)邏輯單元(ALU)602;另外,微控制器程序執(zhí)行狀態(tài)模組62、63、64亦各自包括有程序計(jì)數(shù)器、累加器、算數(shù)旗標(biāo),如此微控制器60中的程序計(jì)數(shù)器1、累加器1與算數(shù)旗標(biāo)1亦可視為一微控制器程序執(zhí)行狀態(tài)模組61。
以上圖6的結(jié)構(gòu)在實(shí)質(zhì)上與圖5的結(jié)構(gòu)相同,目的僅是說(shuō)明在晶片制作上,可沿用原本的傳統(tǒng)微控制器電路作為微控制器60,而外加其他電路設(shè)計(jì)作為其他結(jié)構(gòu)部分,在設(shè)計(jì)上較為便利。
再請(qǐng)參閱圖7為本發(fā)明于四個(gè)微控制器程序執(zhí)行狀態(tài)模組的時(shí)脈運(yùn)作圖實(shí)施例,在CLK的1#時(shí)序上,多重微控制器控制邏輯55選擇微控制器程序執(zhí)行狀態(tài)模組51運(yùn)作,即執(zhí)行MCU_1程序;在CLK的2#時(shí)序上,多重微控制器控制邏輯55選擇微控制器程序執(zhí)行狀態(tài)模組52運(yùn)作,即執(zhí)行MCU_2程序;在CLK的3#時(shí)序上,多重微控制器控制邏輯55選擇微控制器程序執(zhí)行狀態(tài)模組51運(yùn)作,即執(zhí)行MCU_1程序;在CLK的4#時(shí)序上,多重微控制器控制邏輯55選擇微控制器程序執(zhí)行狀態(tài)模組53運(yùn)作,即執(zhí)行MCU_3程序;在CLK的5#時(shí)序上,多重微控制器控制邏輯55選擇微控制器程序執(zhí)行狀態(tài)模組51運(yùn)作,即執(zhí)行MCU_1程序;在CLK的6#時(shí)序上,多重微控制器控制邏輯55選擇微控制器程序執(zhí)行狀態(tài)模組52運(yùn)作,即執(zhí)行MCU_2程序;依此類(lèi)推,在本發(fā)明的結(jié)構(gòu)中,若要增加系統(tǒng)功能讓更多的微控制器可以同時(shí)運(yùn)作,只要增加新的微控制器程序執(zhí)行狀態(tài)模組即可。
從整個(gè)來(lái)看,多重微控制器的時(shí)脈為CLK,MCU_1的指令執(zhí)行時(shí)間點(diǎn)為CLK的1#、3#、5#、7#、…,在CLK的1#時(shí)執(zhí)行主程序的第(N)個(gè)動(dòng)作,在CLK的3#時(shí)執(zhí)行主程序的第(N+1)個(gè)動(dòng)作,在CLK的5#時(shí)執(zhí)行主程序的第(N+2)個(gè)動(dòng)作,依此類(lèi)推,相當(dāng)于MCU_1的執(zhí)行時(shí)脈為多重微控制器時(shí)脈的1/2。MCU_2的指令執(zhí)行時(shí)間點(diǎn)為CLK的2#、6#、10#、14#、…,在CLK的2#時(shí)執(zhí)行PWM功能的第(M)個(gè)動(dòng)作,在CLK的6#時(shí)執(zhí)行PWM功能的第(M+1)個(gè)動(dòng)作,在CLK的10#時(shí)執(zhí)行PWM功能的第(M+2)個(gè)動(dòng)作,依此類(lèi)推,相當(dāng)于MCU_2的執(zhí)行時(shí)脈為多重微控制器時(shí)脈的1/4。MCU_3的指令執(zhí)行時(shí)間點(diǎn)為CLK的4#、12#、…,在CLK的4#時(shí)執(zhí)行脈沖寬度量測(cè)的第(U)個(gè)動(dòng)作,在CLK的12#時(shí)執(zhí)行脈沖寬度量測(cè)的第(U+1)個(gè)動(dòng)作,依此類(lèi)推,相當(dāng)于MCU_3的執(zhí)行時(shí)脈為多重微控制器時(shí)脈的1/8。MCU_4的指令執(zhí)行時(shí)間點(diǎn)為CLK的8#、16#、…,在CLK的8#時(shí)執(zhí)行I2C功能的第(V)個(gè)動(dòng)作,在CLK的16#時(shí)執(zhí)行I2C功能的第(V+1)個(gè)動(dòng)作,依此類(lèi)推,相當(dāng)于MCU_4的執(zhí)行時(shí)脈為多重微控制器時(shí)脈的1/8。
再者,圖7所示的MCU_1、MCU_2、MCU_3、MCU_4是運(yùn)作在各個(gè)錯(cuò)開(kāi)的時(shí)序中,所以MCU_1、MCU_2、MCU_3、MCU_4是可以共用程序存儲(chǔ)器,也不需要加入指令緩沖區(qū)來(lái)降低不同微控制器彼此的干擾,所以節(jié)省了硬件成本而且沒(méi)有增加多重微控制器帶來(lái)的軟件復(fù)雜度。
由以上說(shuō)明也可顯然思及,所共用的程序存儲(chǔ)器可以不只一個(gè),例如可由四個(gè)MCU共用兩個(gè)程序存儲(chǔ)器。換言之MCU、程序存儲(chǔ)器、時(shí)脈三者的間的關(guān)系為式(1)1/T1+1/T2+…+1/TX≤Y*1/T…………(1)其中,系統(tǒng)所提供的基本工作時(shí)脈頻率為1/T,有X個(gè)MCU各別在低于1/T的工作時(shí)脈頻率1/T1,1/T2…1/TX下工作,其中1/T1,1/T2…1/TX為第1,2…X個(gè)MCU的工作時(shí)脈頻率,而Y為程序存儲(chǔ)器的數(shù)目。
前述圖7的例子是在X=4,Y=1的情況下,以1/2T,1/4T,1/8T,1/8T的方式共享資源。當(dāng)然這并非唯一的方式,設(shè)計(jì)者可在本發(fā)明的概念下,用任意方式分配,例如1/4T,1/4T,1/4T,1/4T;或動(dòng)態(tài)地在某些MCU未使用到的時(shí)候,暫時(shí)不分享資源,而將資源僅分享給使用到的MCU,如1/2T,1/4T,1/4T,0;等等。
需強(qiáng)調(diào)的是,以上時(shí)脈頻率資源共享的觀念,為本發(fā)明的另一重點(diǎn),即使不搭配圖5和圖6的硬件結(jié)構(gòu),而應(yīng)用于例如圖3的傳統(tǒng)結(jié)構(gòu)中,也仍然是一項(xiàng)新穎的作法。換言之,上述所謂的MCU,可以是固定的傳統(tǒng)MCU如圖3,或動(dòng)態(tài)的MCU(微控制器程序執(zhí)行狀態(tài)模組+微控制器運(yùn)算邏輯)如圖5、圖6所示。
又,所謂“系統(tǒng)所提供的基本工作時(shí)脈頻率為1/T”,是廣義指每一個(gè)指令的動(dòng)作最小單位為1/T,而不一定狹義是系統(tǒng)原始所供應(yīng)的時(shí)脈頻率為1/T。舉例而言,如果電路是采取倍頻設(shè)計(jì),在每一時(shí)脈周期的正半周和負(fù)半周各工作一次,則本發(fā)明所謂的1/T,是指系統(tǒng)原始所供應(yīng)時(shí)脈的兩倍,或是以線(xiàn)路其他方式,產(chǎn)生其它供給MMCU的工作頻率,則本發(fā)明所謂的1/T,是指經(jīng)線(xiàn)路方式所產(chǎn)生的工作時(shí)脈頻率。更詳言之,例如系統(tǒng)原始所供應(yīng)的時(shí)脈為1MHz,而系統(tǒng)經(jīng)由線(xiàn)路方式產(chǎn)生相等于3MHz的工作頻率,則本發(fā)明所謂“系統(tǒng)所提供的基本工作時(shí)脈頻率”是3MHz,意即本發(fā)明所謂的1/T是泛指系統(tǒng)工作時(shí)所使用的實(shí)際工作時(shí)脈。
此外,根據(jù)以上的分工方式,我們可以在中斷需求來(lái)臨時(shí),將中斷服務(wù)程序固定指派給一個(gè)(或某些個(gè)固定的)MCU來(lái)處理,而確保其他的MCU完全不會(huì)被中斷。這種「固定由某一或某些MCU來(lái)處理中斷」的安排方式同樣不僅可適用于圖5、圖6的結(jié)構(gòu),也可適用于圖3的結(jié)構(gòu)。本發(fā)明的此種新穎的中斷處理方法,可以在所有MCU工作滿(mǎn)載而仍出現(xiàn)新的中斷需求時(shí),確保大部分的MCU時(shí)序可以精確控制。
附帶說(shuō)明,不同功能組合的多重微控制器,其不同的微控制器執(zhí)行時(shí)序則透過(guò)多重微控制器控制邏輯55重新設(shè)定,時(shí)序的設(shè)定也需配合系統(tǒng)規(guī)格與周邊元件規(guī)格,例如,比較高速的交握協(xié)定就設(shè)定比較高頻率的時(shí)序。
另外,圖8所示為本發(fā)明的另一實(shí)施例的結(jié)構(gòu)示意圖,其是具有六個(gè)微控制器,第一個(gè)微控制器MCU_1執(zhí)行主程序,第二個(gè)微控制器MCU_2執(zhí)行I2C功能,第三個(gè)微控制器MCU_3執(zhí)行UART功能,第四個(gè)微控制器MCU_4執(zhí)行PWM功能,第五個(gè)微控制器MCU_5執(zhí)行特殊波形產(chǎn)生功能一,第六個(gè)微控制器MCU_6執(zhí)行特殊波形產(chǎn)生功能二,各自對(duì)應(yīng)一微控制器程序執(zhí)行狀態(tài)模組,亦即X=6。
因此,本發(fā)明可以不同數(shù)量的微控制器來(lái)執(zhí)行各個(gè)程序,只要增加微控制器程序執(zhí)行狀態(tài)模組即可,或是調(diào)整每一個(gè)微控制器執(zhí)行數(shù)個(gè)不同的程序以達(dá)到最佳執(zhí)行效能的調(diào)校,使得制作成本與效能表現(xiàn)得到最佳的平衡。
另外我們可以用軟件來(lái)完成不同的交握協(xié)定與各種周邊元件溝通,正確的產(chǎn)生固定時(shí)序以控制不同的周邊元件及精確的量測(cè)信號(hào)寬度,除上面所舉例外,SPI交握協(xié)定程序,Timer計(jì)時(shí)程序,輸入信號(hào)的脈沖寬度測(cè)量程序都是應(yīng)用的范疇;不但大大降低硬件成本也大大強(qiáng)化微控制器使用的彈性。
本發(fā)明利用上述以數(shù)個(gè)微控制器程序執(zhí)行狀態(tài)模組使微控制器執(zhí)行不同的運(yùn)算程序,經(jīng)由多重微控制器控制邏輯依照時(shí)脈執(zhí)行各自的程序。因此,本發(fā)明不但可有效解決已知時(shí)序被干擾而無(wú)法精確控制時(shí)序的問(wèn)題,提供一種平行處理的多重微控制器的結(jié)構(gòu),可使多個(gè)程序可以平行處理,并且硬件結(jié)構(gòu)簡(jiǎn)單可降低整個(gè)系統(tǒng)制作成本。
以上所述是由實(shí)施例說(shuō)明本發(fā)明的特點(diǎn),其目的在使熟習(xí)該技術(shù)者能了解本發(fā)明的內(nèi)容并據(jù)以實(shí)施,而非限定本發(fā)明的專(zhuān)利范圍,故,凡是其他未脫離本發(fā)明所揭示的精神所完成的等效修飾或修改,仍應(yīng)包含在以下所述的申請(qǐng)專(zhuān)利范圍中。
權(quán)利要求
1.一種平行處理的多重微控制器的結(jié)構(gòu),其特征在于,包括至少二微控制器程序執(zhí)行狀態(tài)模組,每一該等微控制器程序執(zhí)行狀態(tài)模組可執(zhí)行至少一程序;一多重微控制器控制邏輯,其是連接該等微控制器程序執(zhí)行狀態(tài)模組,可控制該等微控制器程序執(zhí)行狀態(tài)模組于錯(cuò)開(kāi)的時(shí)序中執(zhí)行各自的程序;以及一微控制器運(yùn)算邏輯,其是連接該等微控制器程序執(zhí)行狀態(tài)模組并提供輔助運(yùn)算。
2.如權(quán)利要求1所述的平行處理的多重微控制器的結(jié)構(gòu),其特征在于,其中該等微控制器程序執(zhí)行狀態(tài)模組之一與該微控制器運(yùn)算邏輯整合成一個(gè)微控制器。
3.如權(quán)利要求1所述的平行處理的多重微控制器的結(jié)構(gòu),其特征在于,其中設(shè)定該等微控制器程序執(zhí)行狀態(tài)模組之一優(yōu)先處理中斷。
4.如權(quán)利要求1所述的平行處理的多重微控制器的結(jié)構(gòu),其特征在于,其中,該微控制器運(yùn)算邏輯包括一程序定序器及一算術(shù)邏輯單元,并由一總線(xiàn)與該程序定序器及該算術(shù)邏輯單元連接以傳送信號(hào)。
5.如權(quán)利要求1所述的平行處理的多重微控制器的結(jié)構(gòu),其特征在于,其中,每一該微控制器程序執(zhí)行狀態(tài)模組包括一程序計(jì)數(shù)器及一算數(shù)旗標(biāo),并由一總線(xiàn)連接該程序計(jì)數(shù)器及該算數(shù)旗標(biāo)以傳送信號(hào)。
6.如權(quán)利要求1所述的平行處理的多重微控制器的結(jié)構(gòu),其特征在于,其中,該等微控制器程序執(zhí)行狀態(tài)模組經(jīng)過(guò)一交握協(xié)定傳送控制信號(hào)至周邊元件。
7.如權(quán)利要求6所述的平行處理的多重微控制器的結(jié)構(gòu),其特征在于,其中,該交握協(xié)定是選自I2C protocol、通用異步收發(fā)協(xié)定、SPI、輸入信號(hào)的脈沖寬度測(cè)量程序、計(jì)時(shí)器所組成群組的其中之一。
8.如權(quán)利要求1所述的平行處理的多重微控制器的結(jié)構(gòu),其特征在于,其中,還包括一程序存儲(chǔ)器,其是儲(chǔ)存數(shù)個(gè)程序并經(jīng)由程序存儲(chǔ)器總線(xiàn)與該等微控制器程序執(zhí)行狀態(tài)模組連接。
9.如權(quán)利要求8所述的平行處理的多重微控制器的結(jié)構(gòu),其特征在于,其中,該等微控制器程序執(zhí)行狀態(tài)模組是讀取該程序存儲(chǔ)器的程序執(zhí)行運(yùn)算。
10.如權(quán)利要求9所述的平行處理的多重微控制器的結(jié)構(gòu),其特征在于,其中,該程序是選自主程序、PWM波形產(chǎn)生程序、輸入信號(hào)的脈沖寬度測(cè)量程序、I2C交握協(xié)定程序、UART交握協(xié)定程序、SPI交握協(xié)定程序、Timer計(jì)時(shí)程序所組成群組的其中之一。
11.如權(quán)利要求1所述的平行處理的多重微控制器的結(jié)構(gòu),其特征在于,其中,還包括至少一資料存儲(chǔ)器,其是經(jīng)由資料存儲(chǔ)器總線(xiàn)與該等微控制器程序執(zhí)行狀態(tài)模組連接。
12.一種多重微控制器的時(shí)序控制方法,該多重微控制器包括X個(gè)微控制程序執(zhí)行狀態(tài)模組,共用Y個(gè)程序存儲(chǔ)器,其中X≥2、Y≥1,且該多重微控制器接受一個(gè)頻率為1/T的時(shí)脈,其特征在于,該時(shí)序控制方法包括令所述X個(gè)微控制程序執(zhí)行狀態(tài)模組各別在低于1/T的工作時(shí)脈頻率1/T1、1/T2…1/TX下工作,且1/T1、1/T2…1/TX為第X個(gè)微控制程序執(zhí)行狀態(tài)模組的工作時(shí)脈頻率,并令1/T1+1/T2+…+1/TX≤Y*1/T。
13.如權(quán)利要求12所述的多重微控制器的時(shí)序控制方法,其特征在于,其中在X個(gè)微控制程序執(zhí)行狀態(tài)模組中,設(shè)定至少一個(gè)固定的微控制器程序執(zhí)行狀態(tài)模組來(lái)優(yōu)先處理中斷。
14.如權(quán)利要求12所述的多重微控制器的時(shí)序控制方法,其特征在于,其中該Y個(gè)程序存儲(chǔ)器設(shè)置于多重微控制器的外部或內(nèi)部。
15.如權(quán)利要求12所述的多重微控制器的時(shí)序控制方法,其特征在于,其中該X個(gè)微控制程序執(zhí)行狀態(tài)模組各別與對(duì)應(yīng)的一個(gè)微控制器運(yùn)算邏輯整合成一個(gè)完整的微控制器。
16.如權(quán)利要求12所述的多重微控制器的時(shí)序控制方法,其特征在于,其中該X個(gè)微控制程序執(zhí)行狀態(tài)模組動(dòng)態(tài)地與同一個(gè)微控制器運(yùn)算邏輯整合成一個(gè)完整的微控制器。
17.如權(quán)利要求12所述的多重微控制器的時(shí)序控制方法,其特征在于,其中以1/Tn(n=1,2…X)表示1/T1,1/T2…1/TX,則當(dāng)n=1,2…X-1時(shí),1/Tn=(1/2n)*Y*(1/T)當(dāng)n=X時(shí),1/Tn=(1/2(X-1))*Y*(1/T)。
18.如權(quán)利要求12所述的多重微控制器的時(shí)序控制方法,其特征在于,其中X個(gè)微控制程序執(zhí)行狀態(tài)模組平均共享時(shí)脈頻率資源,即1/T1=1/T2=…=1/TX。
19.如權(quán)利要求12所述的多重微控制器的時(shí)序控制方法,其特征在于,其中當(dāng)X個(gè)微控制程序執(zhí)行狀態(tài)模組中有x個(gè)未在工作狀態(tài)時(shí),僅將時(shí)脈頻率資源分享給(X-x)個(gè)微控制程序執(zhí)行狀態(tài)模組,而令1/T1+1/T2+…+1/TX-x≤Y*1/T。
20.一種多重微控制器的中斷處理方法,該多重微控制器包括X個(gè)微控制程序執(zhí)行狀態(tài)模組,其特征在于,該方法包括在該X個(gè)微控制程序執(zhí)行狀態(tài)模組中,設(shè)定至少一個(gè)固定的微控制器程序執(zhí)行狀態(tài)模組來(lái)優(yōu)先處理中斷。
21.如權(quán)利要求20所述的多重微控制器的中斷處理方法,其特征在于,其中該X個(gè)微控制程序執(zhí)行狀態(tài)模組各別與對(duì)應(yīng)的微控制器運(yùn)算邏輯整合成一個(gè)完整的微控制器。
22.如權(quán)利要求20所述的多重微控制器的中斷處理方法,其特征在于,其中該X個(gè)微控制程序執(zhí)行狀態(tài)模組動(dòng)態(tài)地與同一個(gè)微控制器運(yùn)算邏輯整合成一個(gè)完整的微控制器。
全文摘要
本發(fā)明提供一種平行處理的多重微控制器的結(jié)構(gòu)及時(shí)序控制方法,其是一多重微控制器的結(jié)構(gòu),內(nèi)含多個(gè)微控制器程序執(zhí)行狀態(tài)模組,在同一時(shí)脈下,不同的微控制器程序執(zhí)行狀態(tài)模組在相互錯(cuò)開(kāi)不同時(shí)序下被執(zhí)行,相當(dāng)于有多個(gè)微控制器同時(shí)平行獨(dú)立運(yùn)作。因此本發(fā)明提供一種平行處理的多重微控制器的結(jié)構(gòu)及時(shí)序控制方法,可避免因增加硬件電路而增加成本,并且有效解決執(zhí)行程序時(shí)的時(shí)序被干擾而無(wú)法精確控制時(shí)序的問(wèn)題。
文檔編號(hào)G06F15/78GK1877555SQ200510075579
公開(kāi)日2006年12月13日 申請(qǐng)日期2005年6月6日 優(yōu)先權(quán)日2005年6月6日
發(fā)明者張榮麟 申請(qǐng)人:應(yīng)廣科技股份有限公司