本發(fā)明涉及片上系統(tǒng)(SOC)的領(lǐng)域。
更具體地,本發(fā)明涉及具有高可靠度的嵌入在芯片上的系統(tǒng)的架構(gòu)。
背景技術(shù):
現(xiàn)代飛行器中控制和顯示系統(tǒng)的存在需要使用嵌入式計(jì)算裝置。這種裝置可以以片上系統(tǒng)(SOC)的形式出現(xiàn)。這種系統(tǒng)可以包括一個(gè)或多個(gè)諸如處理器之類的主處理模塊以及諸如存儲(chǔ)器接口或通信外圍設(shè)備之類的從屬模塊。
對(duì)于航空航天領(lǐng)域中諸如駕駛并監(jiān)控飛行器之類的關(guān)鍵應(yīng)用而言,使用這種片上系統(tǒng)必須要求這些系統(tǒng)具有最大的可靠性,因?yàn)槿魏喂收匣虿僮鳟惓6伎赡軐?duì)飛行器乘客的生命造成災(zāi)難性的后果。特別是需要能夠證明組件的運(yùn)行的確定性、對(duì)故障的抵抗能力以及最壞情況執(zhí)行時(shí)間。
然而,現(xiàn)有的片上系統(tǒng)不能保證針對(duì)這種關(guān)鍵應(yīng)用的足夠的可靠性。具體來說,現(xiàn)有的片上系統(tǒng)的不同處理模塊通常共享系統(tǒng)的高速緩沖存儲(chǔ)器和從屬模塊的一部分,這使得它們?nèi)菀自馐芄收?。此外,現(xiàn)有系統(tǒng)通常不能使其未使用的模塊失效,具有難以證實(shí)且缺少文檔的嵌入式微代碼,這使得難以證明這些系統(tǒng)的操作的確定性。
因此,需要一種提供下述架構(gòu)的片上系統(tǒng),該架構(gòu)使得可以證明其對(duì)內(nèi)部操作故障的抵抗力并證明其操作的確定性。
技術(shù)實(shí)現(xiàn)要素:
因此,本發(fā)明在第一方面涉及一種包括一組主模塊和從屬模塊的片上系統(tǒng)(SoC),
所述主模塊來自:
-對(duì)所述片上系統(tǒng)的所有組件具有優(yōu)先訪問權(quán)限的主處理模塊和與所述主處理模塊相連的直接存儲(chǔ)器訪問(DMA)控制器;
-至少一個(gè)輔助處理模塊和與每個(gè)輔助處理模塊相連的直接存儲(chǔ)器訪問(DMA)控制器;
每個(gè)主模塊被配置為連接到時(shí)鐘源、電源和從屬模塊,所述從屬模塊來自:
-通過專用通信鏈路連接到所述主模塊處的一組外圍設(shè)備,也稱為“鄰近外圍設(shè)備”,
-至少一個(gè)內(nèi)部存儲(chǔ)器,
-由所述主模塊共享的一組外圍設(shè)備和外部存儲(chǔ)器,
其特征在于:
主處理模塊及該主處理模塊的直接存儲(chǔ)器訪問(DMA)控制器的所述時(shí)鐘源、所述電源、所述鄰近外圍設(shè)備和高速緩沖存儲(chǔ)器專用于所述主處理模塊且不與所述一組主模塊中的其他處理模塊共享,
每個(gè)主處理模塊及該主處理模塊的直接存儲(chǔ)器訪問(DMA)控制器的所述至少一個(gè)內(nèi)部存儲(chǔ)器專用于所述主處理模塊,所述主處理模塊始終能夠訪問該至少一個(gè)內(nèi)部存儲(chǔ)器。
這樣的架構(gòu)使得可以將每個(gè)處理模塊連同其直接存儲(chǔ)器訪問控制器、其鄰近外圍設(shè)備及其內(nèi)部存儲(chǔ)器從片上系統(tǒng)的其余部分隔離。這種隔離使得可以加強(qiáng)系統(tǒng)的運(yùn)行確定性以及系統(tǒng)的抗故障能力。
根據(jù)有利且非限制性的特征,主處理模塊可以通過至少一個(gè)通信總線連接到輔助處理模塊的內(nèi)部存儲(chǔ)器。
因此,主處理模塊可以訪問所有內(nèi)部存儲(chǔ)器的內(nèi)容,同時(shí)保持該主處理模塊的內(nèi)部存儲(chǔ)器的完整性;相反地,該主處理模塊的內(nèi)部存儲(chǔ)器不能被其他處理模塊訪問。
此外,根據(jù)第一方面的系統(tǒng)可以包括至少兩級(jí)互連:
-將每個(gè)主模塊連接到該主模塊的內(nèi)部存儲(chǔ)器處的第一級(jí),
-將所述主模塊連接到所述一組共享的外圍設(shè)備和外部存儲(chǔ)器處的從屬模塊的第二級(jí),
所述從屬模塊根據(jù)所述從屬模塊的功能、所述從屬模塊的優(yōu)先級(jí)和/或所述從屬模塊的帶寬要求而分布在多個(gè)互連之間,從屬模塊彼此不直接通信,
互連由經(jīng)由一級(jí)或多級(jí)接線器級(jí)連接到多個(gè)從屬端口的多個(gè)主端口組成。
這使得可以減少連接到同一互連的主模塊和從屬模塊的數(shù)量,并且因此降低仲裁的復(fù)雜性并提高片上系統(tǒng)的確定性和可靠性。系統(tǒng)的可靠性也因連接到兩個(gè)不同互連的兩個(gè)從屬模塊之間在不經(jīng)過主模塊的情況下不能直接通信而得到加強(qiáng)。
此外,所述第二互連級(jí)以及所述一組共享的外圍設(shè)備和外部存儲(chǔ)器可以連接到與所述主模塊的時(shí)鐘源和電源隔離開的時(shí)鐘源和電源。
這加強(qiáng)了片上系統(tǒng)的抗故障能力。
此外,所述系統(tǒng)可以包括能夠通過所述第二互連級(jí)的互連連接到共享外圍設(shè)備處的外部主機(jī)。
這使得片上系統(tǒng)能夠允許其從屬模塊訪問外部組件。
此外,主模塊的鄰近外圍設(shè)備和內(nèi)部存儲(chǔ)器可以連接到該主模塊的電源和時(shí)鐘源。
作為替選,主模塊的鄰近外圍設(shè)備與該主模塊的通信接口可以連接到該主模塊的時(shí)鐘源。
在另一替選中,主模塊的鄰近外圍設(shè)備和內(nèi)部存儲(chǔ)器可以連接到專用的電源和時(shí)鐘源。
這通過防止時(shí)鐘源故障或電源故障影響多個(gè)處理模塊的鄰近外圍設(shè)備或內(nèi)部存儲(chǔ)器而加強(qiáng)了片上系統(tǒng)的抗故障能力。
作為示例,主模塊的鄰近外圍設(shè)備可以是:復(fù)位控制器、看門狗、中斷控制器、實(shí)時(shí)控制器、專用于航空航天應(yīng)用的外圍設(shè)備或直接存儲(chǔ)器訪問(DMA)控制器。
輔助處理模塊的鄰近外圍設(shè)備可以是實(shí)時(shí)控制器、看門狗、直接存儲(chǔ)器訪問(DMA)控制器或中斷控制器。
這使得每個(gè)處理模塊能夠總是以相同的訪問時(shí)間來直接訪問這些外圍設(shè)備,而不會(huì)由于來自另一個(gè)主模塊的競(jìng)爭(zhēng)訪問而導(dǎo)致任何額外的延遲。
此外,互連可以是:
-將控制外部存儲(chǔ)器和/或諸如SPI(串行外圍設(shè)備接口)鏈路之類的用于外部存儲(chǔ)器的接口的串聯(lián)鏈路的一組從屬模塊分組在一起的外部存儲(chǔ)器互連;
-將包括通信外圍設(shè)備的一組從屬模塊分組在一起的通信互連,該通信外圍設(shè)備例如是下述各項(xiàng)之一:以太網(wǎng)、ARINC、UART(“通用異步收發(fā)器”)、SPI(“串行外設(shè)接口”)、AFDX(“航空電子全雙工交換以太網(wǎng)”)、A429(ARINC429)、A825(ARINC 825)、CAN(控制器局域網(wǎng)絡(luò))或I2C;
-將包括用于航空航天專用應(yīng)用的控制外圍設(shè)備的一組從屬模塊分組在一起的控制互連,例如被配置為實(shí)現(xiàn)專用于發(fā)動(dòng)機(jī)控制或制動(dòng)計(jì)算的功能的控制模塊;
-連接到可編程區(qū)域以用于添加自定義功能的自定義互連。
這使得可以限制連接到每個(gè)互連的從屬模塊的數(shù)量,并且可以根據(jù)從屬模塊的功能將從屬模塊分組在同一個(gè)互連上,以便降低這些互連的內(nèi)部結(jié)構(gòu)的復(fù)雜性。
每個(gè)互連可以包括監(jiān)視和故障檢測(cè)機(jī)制。
這使得可以監(jiān)視互連處的模塊之間的交換,以避免發(fā)送錯(cuò)誤的命令或數(shù)據(jù),并且還避免由于其中一個(gè)模塊中的故障而阻塞互連。
作為示例,每個(gè)互連處的不同級(jí)的內(nèi)部接線器可以以下列方式分組在一起:
-根據(jù)所述主模塊必須能夠連接的所述從屬模塊、所述主模塊的功能、所述主模塊的優(yōu)先級(jí)和/或所述主模塊的帶寬要求,在第一接線器的第一級(jí)處將所述主模塊分組在一起成為主模塊組,每個(gè)主模塊組連接到接線器,
-這些第一接線器的輸出連接到第二級(jí)接線器,該第二級(jí)接線器根據(jù)連接到該第二級(jí)接線器上的所述主模塊、從屬模塊的功能和/或從屬模塊的帶寬要求而將從屬模塊分組成從屬模塊組,單一的通信鏈路連接主模塊組和從屬模塊組。
此外,來自下述組中的所述從屬模塊可以分組在一起成為從屬模塊組:
-使用快速通信總線專用于主處理模塊的從屬模塊,
-使用慢速通信總線專用于主處理模塊的從屬模塊,
-使用快速通信總線在不同的主模塊組間共享的從屬模塊,
-使用慢速通信總線在不同的主模塊組間共享的從屬模塊。
這減少了互連的內(nèi)部物理路徑的數(shù)量和復(fù)雜性,并且減少了接線器級(jí)的數(shù)量和接線器的數(shù)量,使得互連的延遲更小并且仲裁不那么復(fù)雜。
可以將處理模塊布置在片上系統(tǒng)中以便被物理地隔離。
這使得可以在SEU(單事件翻轉(zhuǎn))或MBU(多位翻轉(zhuǎn))類型的改變的情況下降低共同故障的概率。
附圖說明
在閱讀以下實(shí)施例的描述的基礎(chǔ)上本發(fā)明的其它特征和優(yōu)勢(shì)將變得明顯。將參照附圖給出該描述,其中:
-圖1示意性地示出了根據(jù)本發(fā)明的實(shí)施例的片上系統(tǒng)的架構(gòu);
-圖2示出了根據(jù)本發(fā)明的實(shí)施例的片上系統(tǒng)的詳細(xì)示例;
-圖3示出了根據(jù)本發(fā)明的實(shí)施例的片上系統(tǒng)中互連的架構(gòu);
-圖4示出了現(xiàn)有技術(shù)的互連架構(gòu)的示例;
-圖5示出了根據(jù)本發(fā)明的實(shí)施例的互連架構(gòu)的示例。
具體實(shí)施方式
參照?qǐng)D1,本發(fā)明的實(shí)施例涉及片上系統(tǒng)100(SoC)。
這種系統(tǒng)包括一組主模塊和從屬模塊。系統(tǒng)100在這些主模塊之中包括諸如處理器或多核處理器的核之類的處理模塊;這種處理器可以歸屬于各種系列的處理器。
具體地,系統(tǒng)100在這些主模塊之中包括主處理模塊101a及一個(gè)或多個(gè)輔助處理模塊101b。主處理模塊有權(quán)訪問系統(tǒng)中激活的所有資源并控制系統(tǒng)的正常運(yùn)行。輔助處理模塊可以用作協(xié)處理器來提供額外的計(jì)算能力或特定的功能,或允許維護(hù)。片上系統(tǒng)100還可以包括與每個(gè)處理模塊相連并減輕處理模塊上的負(fù)載以用于處理數(shù)據(jù)傳輸?shù)闹苯哟鎯?chǔ)器訪問控制器(DMA0,DMA1)102a、102b作為主模塊。可以設(shè)想出沒有DMA的等效系統(tǒng),則由處理模塊來處理與存儲(chǔ)器的數(shù)據(jù)傳輸。
每個(gè)處理模塊101a、101b包括高速緩沖存儲(chǔ)器103a、103b。每個(gè)處理模塊的高速緩沖存儲(chǔ)器都是特定于該處理模塊的,并且不與其他處理模塊共享,以便確保處理模塊的完全隔離并且降低共模故障的風(fēng)險(xiǎn)。
以同樣的方式,每個(gè)處理模塊連接到其特定的電源和時(shí)鐘源。這確保了處理模塊相對(duì)于彼此的獨(dú)立性,并且在處理模塊之一的電源或時(shí)鐘源發(fā)生故障的情況下降低了共同故障的概率。
還可以通過將處理模塊布置在嵌入式系統(tǒng)上彼此間隔開的不同位置中來使處理模塊物理隔離,例如通過將它們各自布置在部件的一角處。這使得可以在SEU(單事件翻轉(zhuǎn))或MBU(多位翻轉(zhuǎn))類型的改變的情況下降低共同故障的概率。
為了減少不同處理模塊之間的沖突,主處理模塊101a是有權(quán)訪問片上系統(tǒng)100的所有組件的唯一主模塊。此外,在對(duì)片上系統(tǒng)100的從屬模塊的所有這些訪問中,主處理模塊都優(yōu)先于所有其他主模塊。因此,片上系統(tǒng)100的操作的確定性得到加強(qiáng)。
此外,主處理模塊101a控制片上系統(tǒng)100的包括輔助處理模塊在內(nèi)的所有其他模塊的激活和去激活。主處理模塊可以重置輔助處理模塊。主處理模塊101a還負(fù)責(zé)對(duì)片上系統(tǒng)100的健康狀態(tài)進(jìn)行分析以及在檢測(cè)到故障時(shí)分配處罰。因此,處理模塊101可以使未被使用的模塊或在發(fā)生故障時(shí)表現(xiàn)出錯(cuò)誤行為的模塊去激活。
有利地,主處理模塊101a總是激活的。該主處理模塊101a特別用于只需要使用單個(gè)處理模塊的所有應(yīng)用程序。
此外,系統(tǒng)100可以為外部主機(jī)111提供連接,以便使該外部主機(jī)有權(quán)訪問片上系統(tǒng)100的從屬模塊。這樣的外部主機(jī)可以包括:核、處理器或微控制器、或其他外圍設(shè)備的外部主機(jī)。
每個(gè)主模塊可以連接到以下從屬模塊:
-至少一個(gè)內(nèi)部存儲(chǔ)器104a、104b,
-通過專用通信鏈路連接到主模塊的一組外圍設(shè)備(所謂的“鄰近外圍設(shè)備”)105a、105b,
-由主模塊共享的一組外圍設(shè)備和外部存儲(chǔ)器106。
處理模塊及該處理模塊的直接存儲(chǔ)器訪問DMA控制器的內(nèi)部存儲(chǔ)器104a、104b專用于該處理模塊,并且不與其他處理模塊共享。
然而,主處理模塊101a可以訪問所有輔助處理模塊101b的所有內(nèi)部存儲(chǔ)器,例如以進(jìn)行數(shù)據(jù)監(jiān)視或以使用非活動(dòng)的輔助處理模塊的存儲(chǔ)區(qū)域來擴(kuò)展主處理模塊101a的內(nèi)部存儲(chǔ)容量。為此,主處理模塊可以通過至少一個(gè)通信總線直接鏈接到輔助處理模塊的內(nèi)部存儲(chǔ)器。系統(tǒng)可以包括用于主處理模塊與輔助處理模塊的內(nèi)部存儲(chǔ)器之間的每個(gè)鏈路的單獨(dú)的總線。或者,可以利用公共總線來將主處理模塊鏈接到多個(gè)輔助處理模塊,可選地具有增加的多路復(fù)用器來管理總線上的交換并管理優(yōu)先級(jí)。
相反,輔助處理模塊沒有物理地鏈接到主處理模塊的內(nèi)部存儲(chǔ)器,以便保證主處理模塊的隔離。
外部主機(jī)也無權(quán)訪問各種處理模塊的內(nèi)部存儲(chǔ)器。這也使得可以保證主處理模塊對(duì)其內(nèi)部存儲(chǔ)器的訪問的恒定時(shí)間。
這樣的內(nèi)部存儲(chǔ)器可以包括內(nèi)部直接訪問RAM(隨機(jī)存取存儲(chǔ)器)存儲(chǔ)器和/或閃存。每個(gè)處理模塊可以通過AXI-M型總線鏈接到其內(nèi)部存儲(chǔ)器。
處理模塊的內(nèi)部存儲(chǔ)器可以連接到該處理模塊的時(shí)鐘源和電源,以便降低共模故障的概率。為了加強(qiáng)隔離,該內(nèi)部存儲(chǔ)器也可以連接到電源和時(shí)鐘源。
除了主處理模塊直接訪問輔助處理模塊的內(nèi)部存儲(chǔ)器的手段之外,片上系統(tǒng)100還可以包括諸如DPRAM(雙端口隨機(jī)存取存儲(chǔ)器)類型的附加存儲(chǔ)器107,該附加存儲(chǔ)器107專用于兩個(gè)處理模塊之間數(shù)據(jù)的交換,并可由這些處理模塊訪問。第一處理模塊可以向該存儲(chǔ)器寫入數(shù)據(jù),從而這些數(shù)據(jù)可用于其他處理模塊,而無需其他處理模塊直接訪問第一處理模塊的內(nèi)部存儲(chǔ)器。在多個(gè)輔助處理模塊的情況下,可以為鏈接到該輔助處理模塊和主處理模塊的每個(gè)輔助處理模塊提供這樣的附加存儲(chǔ)器。
每個(gè)處理模塊也可以鏈接到鄰近外圍設(shè)備105a、105b。這樣的外圍設(shè)備專用于每個(gè)處理模塊并且可以由每個(gè)處理模塊單獨(dú)訪問,以便確保處理模塊彼此間的隔離并且降低共模故障的概率。外部主機(jī)也無權(quán)訪問這些鄰近外圍設(shè)備。這使得可以在不同的處理模塊之間不進(jìn)行任何仲裁,從而使得可以增強(qiáng)片上系統(tǒng)100的操作的確定性。
因此,每個(gè)處理模塊可以連接到現(xiàn)有處理器的標(biāo)準(zhǔn)鄰近外圍設(shè)備,例如以下的鄰近外圍設(shè)備:
-確保處理模塊正確執(zhí)行應(yīng)用程序的看門狗(WD),
-使應(yīng)用的執(zhí)行同步的實(shí)時(shí)控制器(RTC),
-對(duì)處理模塊的DMA模塊的操作進(jìn)行管理的直接存儲(chǔ)器訪問(DMA)控制器,
-中斷控制器(IRQ),
-復(fù)位控制器,
-專用于航空航天應(yīng)用的外圍設(shè)備。
與主處理模塊不同,輔助處理模塊不連接到這些監(jiān)控和配置外圍設(shè)備,因?yàn)檩o助處理模塊只需要用來確保它們自己正確的操作的外圍設(shè)備。
類似于內(nèi)部存儲(chǔ)器,處理模塊的鄰近外圍設(shè)備可以連接到該處理模塊的時(shí)鐘源和電源,以便降低共模故障的概率?;蛘撸瑸榱诉M(jìn)一步加強(qiáng)抗故障能力,僅處理模塊的鄰近外圍設(shè)備105a、105b與該處理模塊的通信接口連接到該處理模塊的時(shí)鐘源,且處理模塊連接到單獨(dú)的電源。為了加強(qiáng)隔離,鄰近外圍設(shè)備也可以連接到專用的電源和時(shí)鐘源。
每個(gè)處理模塊可以通過AHB–PP(先進(jìn)的高性能總線)型總線連接到其鄰近外圍設(shè)備。
因此,每個(gè)處理模塊具有由每個(gè)處理模塊自身的電源和時(shí)鐘源供電的、不與片上系統(tǒng)100的其他處理模塊共享的它自己的高速緩沖存儲(chǔ)器、內(nèi)部存儲(chǔ)器和鄰近外圍設(shè)備。
此外,主處理模塊是作為優(yōu)先項(xiàng)有權(quán)訪問片上系統(tǒng)的所有模塊的唯一的處理模塊,并且具有用于對(duì)片上系統(tǒng)進(jìn)行監(jiān)視和配置的外圍設(shè)備。
這種架構(gòu)最大化了不同處理模塊的分離,最大限度地降低了共模故障的可能性,并且加強(qiáng)了片上系統(tǒng)操作的確定性。
每個(gè)主模塊還可以連接到如圖1所示的由主模塊共享的一組外圍設(shè)備和外部存儲(chǔ)器106。
如上所述,主處理模塊系統(tǒng)地優(yōu)先于其他處理模塊來訪問共享外圍設(shè)備和外部存儲(chǔ)器106。
主模塊可以連接的共享外圍設(shè)備和外部存儲(chǔ)器的類型的細(xì)節(jié)在下面的段落中進(jìn)行了說明,并且在圖1和圖2中進(jìn)行了示出。
每個(gè)主模塊可以特別地連接到外部存儲(chǔ)控制器108,這些外部存儲(chǔ)控制器108諸如有:SDRam(同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)/DDR(雙倍數(shù)據(jù)速率)或閃存控制器或QSPI(排隊(duì)串行外設(shè)接口)存儲(chǔ)器或控制器。
外部主機(jī)無法訪問外部存儲(chǔ)控制器108。
每個(gè)主模塊還可以連接到通信外圍設(shè)備109,這些通信外圍設(shè)備109諸如有:AFDX(航空電子全雙工)、μAFDX、A429、以太網(wǎng)、UART、SPI、I2C或A285/CAN控制器。
每個(gè)主模塊還可以訪問用于航空航天專用應(yīng)用的控制外圍設(shè)備110。這樣的外圍設(shè)備可以尤其被配置成實(shí)現(xiàn)特定于發(fā)動(dòng)機(jī)控制或制動(dòng)計(jì)算的功能,例如傳感器采集功能(ACQ)、控制功能(ACT)、保護(hù)功能(PROTECT)或計(jì)算機(jī)間鏈接功能(LINK)。
最后,每個(gè)主模塊可以連接到由FPGA(現(xiàn)場(chǎng)可編程門陣列)電路組成的可編程區(qū)域122,該FPGA電路允許向片上系統(tǒng)添加自定義功能。
所有的共享外圍設(shè)備和外部存儲(chǔ)器106可以連接到與處理模塊連接的時(shí)鐘源和電源隔離開的時(shí)鐘源和電源。主模塊的鄰近外圍設(shè)備105a、105b與該主模塊的通信接口也可以連接到該主模塊的時(shí)鐘源。因此,在時(shí)鐘源或電源故障之后影響片上系統(tǒng)的相當(dāng)大部分的共模故障的可能性降低。
主模塊經(jīng)由被稱為互連的互連網(wǎng)絡(luò)連接到從屬模塊。
如圖3所示,互連包括主端口301,每個(gè)主端口連接有從屬模塊302,每個(gè)主端口通過一級(jí)或多級(jí)接線器連接到從屬端口303,每個(gè)從屬端口連接有主模塊304。
可以使用第一互連級(jí)將主模塊連接到內(nèi)部存儲(chǔ)器,并且如果外部存儲(chǔ)器不被共享則適用于外部存儲(chǔ)器。如圖2所示,可以使用第二互連級(jí)將主模塊連接到所述一組外圍設(shè)備中的從屬模塊。每個(gè)互連級(jí)可以包括一個(gè)或多個(gè)互連。
在其中外圍設(shè)備和共享存儲(chǔ)器不連接到與主模塊的時(shí)鐘源相同的時(shí)鐘源的這種架構(gòu)中,第一互連級(jí)還用于將主模塊的信號(hào)重新同步到與共享外圍設(shè)備106的時(shí)鐘域相同的時(shí)鐘域。
第一互連級(jí)可以包括用于每個(gè)處理模塊的兩個(gè)互連:一個(gè)互連用于通過外部存儲(chǔ)控制器將主機(jī)連接到內(nèi)部存儲(chǔ)器和外部存儲(chǔ)器,并且中間互連位于處理模塊與第二級(jí)之間用于連接共享外圍設(shè)備。這兩個(gè)互連可以連接到與它們所依賴的處理模塊的時(shí)鐘源和電源相同的時(shí)鐘源和電源。
在第二互連級(jí)處,從屬模塊根據(jù)其功能、優(yōu)先級(jí)和/或其帶寬要求而分布在多個(gè)互連中。這使得可以減少連接到同一互連的從屬模塊的數(shù)量,并且因此降低仲裁的復(fù)雜性并提高片上系統(tǒng)的操作的確定性和可靠性。
一個(gè)互連可用于上述共享外圍設(shè)備和存儲(chǔ)器集合中的每個(gè)類別的模塊,即:
-將控制外部存儲(chǔ)器和/或用于外部存儲(chǔ)器的接口的串聯(lián)鏈路(諸如SPI)的一組從屬模塊分組在一起的一個(gè)外部存儲(chǔ)器互連118;
-將包括通信外圍設(shè)備的一組從屬模塊分組在一起的一個(gè)通信互連119;
-將包括用于航空航天專用應(yīng)用的控制外圍設(shè)備的一組從屬模塊分組在一起的控制互連120;
-連接到可編程區(qū)域以用于添加自定義功能的定制互連121。
在第二互連級(jí)的兩個(gè)互連之間不可能進(jìn)行直接通信。因此,只有在主模塊的請(qǐng)求下才能進(jìn)行這兩個(gè)互連之間的數(shù)據(jù)傳輸。
如果處理模塊與其鄰近外圍設(shè)備之間所采用的連接不是多端口,則還可以使用附加互連來將每個(gè)處理模塊連接到其鄰近外圍設(shè)備。
每個(gè)互連還可以包括專用于監(jiān)視互連上的數(shù)據(jù)交換以及用于檢測(cè)任何故障的機(jī)制。例如,可以使用這樣的機(jī)制來避免在正在進(jìn)行的數(shù)據(jù)交換中斷的情況下互聯(lián)網(wǎng)被阻斷,以及當(dāng)存在數(shù)據(jù)交換請(qǐng)求時(shí)檢查主模塊對(duì)從屬模塊的訪問權(quán)限,并且還可以監(jiān)控AXI和AHB總線上的事務(wù)。
在現(xiàn)有系統(tǒng)中,互連通常獨(dú)立于由該互連提供的其他鏈路而將每個(gè)主端口連接到每個(gè)從屬端口。隨著連接到互連的主模塊和從屬模塊的數(shù)量的增加,內(nèi)部到互連的鏈接的數(shù)量及要使用的接線器的數(shù)量將迅速增加。
作為示例,將這種互連結(jié)構(gòu)策略應(yīng)用于上述控制互連將導(dǎo)致諸如圖4所示的架構(gòu)。由于這種架構(gòu)的復(fù)雜性和由此復(fù)雜性產(chǎn)生的仲裁問題,在用于航空航天應(yīng)用的片上系統(tǒng)的情況下,這種架構(gòu)是不可取的。
根據(jù)本發(fā)明的片上系統(tǒng)提出了一種新的互連結(jié)構(gòu)策略,其中,根據(jù)主模塊必須能夠連接的從屬模塊、主模塊的功能、主模塊的優(yōu)先級(jí)和/或主模塊的帶寬要求,在第一接線器的第一級(jí)處將主模塊分組在一起成為主模塊組,每個(gè)主模塊組連接到接線器。因此,互連的第一級(jí)接線器包括最多與主機(jī)組一樣多的接線器。
然后,這些第一接線器的輸出連接到第二級(jí)接線器,該第二級(jí)接線器根據(jù)連接到其上的主模塊、從屬模塊的功能和/或從屬模塊的帶寬要求而將從屬模塊分組成從屬模塊組,一個(gè)單一的通信鏈路連接一個(gè)主模塊組和一個(gè)從屬模塊組。
例如,來自下述組中的從屬模塊可以分組在一起成為從屬模塊組:
-使用快速通信總線專用于主處理模塊的從屬模塊,
-使用慢速通信總線專用于主處理模塊的從屬模塊,
-使用快速通信總線在不同的主模塊組間共享的從屬模塊,
-使用慢速通信總線在不同的主模塊組間共享的從屬模塊。
因此,第二級(jí)接線器包括最多與從屬模塊組一樣多的接線器,并且互連包括最多與主模塊組的數(shù)量乘以從屬模塊組的數(shù)量的乘積一樣多的內(nèi)部物理路徑。
這樣的互連生成策略減少了互連的內(nèi)部物理路徑的數(shù)量和復(fù)雜性,并且減少了接線器級(jí)的數(shù)量和接線器的數(shù)量,使得互連的延遲更小并且仲裁不那么復(fù)雜且確定。
作為示例,圖5中示出了這種策略在上述控制互連的應(yīng)用。
主處理模塊101a和外部主機(jī)111是唯一有權(quán)訪問連接到控制互連的所有從屬模塊的主模塊。因此,這兩個(gè)主模塊在第一接線器112上被分組在一起成為第一主模塊組。
輔助處理模塊101b和主處理模塊的DMA 102a(DMA0)有權(quán)訪問相同的從屬模塊,即共享存儲(chǔ)器107和以太網(wǎng)控制器。因此,它們可以在第二接線器上分組在一起成為第二主模塊組。然而,它們的帶寬要求非常不同,可以選擇將它們隔離并連接到兩個(gè)不同的接線器113和114。因此,可以針對(duì)這些主模塊中的每個(gè)主模塊使用不同的接線器。
最后,由于輔助處理模塊的DMA 102b(DMA1)只有權(quán)訪問以太網(wǎng)控制器,所以它不與之前提到的主模塊分為一組。
在從屬模塊側(cè),由于諸如LINK計(jì)算機(jī)間鏈路模塊、采集單元ACQ、控制單元ACT和保護(hù)模塊PROTEC之類的模塊僅可由上述第一主模塊組的主模塊訪問并且主處理模塊和外部主機(jī)分組在一起,因此這些從屬模塊分組在一起成為第一從屬模塊組。所有這些模塊連接到互連的第二級(jí)接線器的同一接線器115。
然后,需要將第一主模塊組的接線器連接到第一從屬模塊組的單個(gè)物理鏈路來將主處理模塊101a和外部主機(jī)111連接到第一從屬模塊組的所有從屬模塊。
以相同的方式,具有相似功能的兩個(gè)以太網(wǎng)控制器根據(jù)它們的功能在互連的第二級(jí)接線器的第二接線器116上被分組成為第二從屬模塊組。
最后,使用附加接線器117來將互連的第一級(jí)接線器的不同接線器連接到共享存儲(chǔ)器從屬模塊。
由于輔助處理模塊的DMA 102b僅連接到以太網(wǎng)控制器,所以在互連的第一級(jí)處不需要附加的接線器來將DMA 102b連接到將兩個(gè)以太網(wǎng)控制器分組在一起的接線器116。
總而言之,如此形成的控制互連僅需要六個(gè)接線器112至117以及八個(gè)內(nèi)部物理鏈路來將五個(gè)主模塊和七個(gè)從屬模塊互連。
為了加強(qiáng)片上系統(tǒng)的運(yùn)行的確定性并且為了通過減少仲裁來減少延遲,可以以下述方式來配置每個(gè)互連,該方式為系統(tǒng)地優(yōu)先考慮連接到主處理模塊的接線器的物理鏈路或連接到包括主處理模塊的主模塊組的物理鏈路。
因此,本發(fā)明提出了一種由于其操作確定性及其抗故障能力而呈現(xiàn)高可靠性的片上系統(tǒng)。因此,這樣的系統(tǒng)可以用于航空航天領(lǐng)域中的關(guān)鍵應(yīng)用,例如控制發(fā)動(dòng)機(jī)、制動(dòng)器或飛行器的電致動(dòng)器。這樣的片上系統(tǒng)也可以用于需要高可靠性的其他領(lǐng)域,例如汽車行業(yè)、醫(yī)療領(lǐng)域等。