調(diào)節(jié)對(duì)從設(shè)備的訪問(wèn)的制作方法
【專利摘要】本發(fā)明涉及調(diào)節(jié)對(duì)從設(shè)備的訪問(wèn)。一種方法包括從主設(shè)備接收對(duì)于訪問(wèn)與總線交換結(jié)構(gòu)的從端口關(guān)聯(lián)的多個(gè)從設(shè)備中的從設(shè)備的請(qǐng)求。從端口在從設(shè)備之間共享。所述方法包括,響應(yīng)于所述請(qǐng)求,在從設(shè)備之間復(fù)用從端口的使用。
【專利說(shuō)明】調(diào)節(jié)對(duì)從設(shè)備的訪問(wèn)
【背景技術(shù)】
[0001]為了在被稱為“主機(jī)(master)”的發(fā)起總線代理(例如,處理器)和目標(biāo)總線代理或“從機(jī)(slave)”(例如,存儲(chǔ)設(shè)備)之間傳遞數(shù)據(jù)的目的,具有多個(gè)主機(jī)和從機(jī)的計(jì)算機(jī)系統(tǒng)可以包括總線結(jié)構(gòu)(fabric)。在典型的總線操作中,主機(jī)通過(guò)將地址信號(hào)連同適當(dāng)?shù)目刂菩盘?hào)和數(shù)據(jù)信號(hào)(如果數(shù)據(jù)被寫(xiě)到從機(jī)的話)一起驅(qū)動(dòng)到總線上以把從機(jī)作為目標(biāo)來(lái)對(duì)給定的從機(jī)發(fā)起總線操作(諸如讀或?qū)懖僮?。為了如下目的,作為總線操作的目標(biāo)的從機(jī)通過(guò)生成適當(dāng)?shù)男盘?hào)到總線上來(lái)進(jìn)行響應(yīng):如往來(lái)于主機(jī)的傳送數(shù)據(jù);指示錯(cuò)誤;或發(fā)信號(hào)通知主機(jī)重試總線操作。
[0002]總線是通常在任何一個(gè)時(shí)間將單個(gè)主機(jī)耦合到單個(gè)從機(jī)的受限的系統(tǒng)資源。因此,當(dāng)多個(gè)主機(jī)嘗試同時(shí)訪問(wèn)相同的從機(jī)時(shí),總線矩陣可以時(shí)間復(fù)用它們的請(qǐng)求并可以包括執(zhí)行在請(qǐng)求主機(jī)之間的仲裁以調(diào)節(jié)(競(jìng)爭(zhēng)總線訪問(wèn)的可能的多個(gè)主機(jī)中)哪個(gè)主機(jī)可以訪問(wèn)總線的總線仲裁(arbitration)電路或“仲裁器”。
【發(fā)明內(nèi)容】
[0003]在示例性實(shí)施例中,一種方法包括從主設(shè)備接收對(duì)于訪問(wèn)與總線交換結(jié)構(gòu)的從端口關(guān)聯(lián)的多個(gè)從設(shè)備中的從設(shè)備的請(qǐng)求。從端口在從設(shè)備之間共享。所述方法包括,響應(yīng)于所述請(qǐng)求,在從設(shè)備之間復(fù)用從端口的使用。
[0004]在另一個(gè)示例性實(shí)施例中,一種裝置包括從復(fù)用器;和包括從端口和主端口的總線矩陣電路。從端口在多個(gè)從設(shè)備之間共享。從復(fù)用器適于響應(yīng)于耦合到主端口的主機(jī)所發(fā)起的對(duì)于訪問(wèn)多個(gè)從設(shè)備中的從設(shè)備的請(qǐng)求而選擇性地將第一從設(shè)備耦合到從端口。
[0005]在又另一個(gè)示例性實(shí)施例中,一種裝置包括包含處理核;非易失性存儲(chǔ)設(shè)備;易失性存儲(chǔ)設(shè)備;復(fù)用器;和總線矩陣電路的集成電路。處理核適于與非易失性和易失性存儲(chǔ)設(shè)備進(jìn)行通信??偩€矩陣電路包括從端口,和耦合到處理核的主端口。復(fù)用器適于響應(yīng)于來(lái)自處理核的對(duì)于訪問(wèn)存儲(chǔ)設(shè)備的請(qǐng)求而選擇性地將非易失性和易失性存儲(chǔ)設(shè)備之一耦合到從端口。
[0006]根據(jù)下述附圖、描述和權(quán)利要求,優(yōu)勢(shì)和其他期望特征將變得顯而易見(jiàn)。
【專利附圖】
【附圖說(shuō)明】
[0007]圖1是根據(jù)示例性實(shí)施例的系統(tǒng)的示意圖。
[0008]圖2是根據(jù)示例性實(shí)施例的微控制器單元(MCU)的示意圖。
[0009]圖3是描述根據(jù)示例性實(shí)施例用于調(diào)節(jié)對(duì)MCU的從設(shè)備的訪問(wèn)的技術(shù)的流程圖。
[0010]圖4是根據(jù)示例性實(shí)現(xiàn)方式的電動(dòng)機(jī)控制系統(tǒng)的示意圖。
【具體實(shí)施方式】
[0011]微控制器單元(MCU)可以包括訪問(wèn)存儲(chǔ)在MCU的非易失性存儲(chǔ)設(shè)備(諸如例如,閃存設(shè)備)中的機(jī)器可執(zhí)行指令(例如,“程序”)的處理核。作為程序運(yùn)行的結(jié)果,處理核可以進(jìn)一步訪問(wèn)(即,寫(xiě)入數(shù)據(jù)到其中和從中讀取數(shù)據(jù))可以被存儲(chǔ)在易失性存儲(chǔ)設(shè)備(諸如,MCU的靜態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(SRAM))中的諸如棧、堆、臨時(shí)變量等等之類的程序數(shù)據(jù)。本文公開(kāi)了允許處理核以可以對(duì)于最小化或防止由于處理核在非易失性和易失性存儲(chǔ)器訪問(wèn)之間切換而引起的仲裁周期的目的有利的方式高效地訪問(wèn)程序指令和程序數(shù)據(jù)的技術(shù)和系統(tǒng)。
[0012]作為更具體的示例,圖1描繪示例性系統(tǒng)10中的MCU 24。對(duì)于該示例,MCU 24控制一個(gè)或多個(gè)組件70的各方面。作為示例,依賴于特定應(yīng)用,組件70可以包括一個(gè)或多個(gè)下述部件:電動(dòng)機(jī)、家用電器、庫(kù)存控制終端、計(jì)算機(jī)、平板計(jì)算機(jī)、智能功率計(jì)、無(wú)線接口、蜂窩接口、交互式觸摸屏用戶接口等等。MCU 24的組件的全部或部分可以是集成電路(IC)或半導(dǎo)體封裝30的部分。例如,MCU 24的組件的全部或部分可以被制造在半導(dǎo)體封裝30的單個(gè)裸片(die)上或多個(gè)裸片上(例如,多芯模塊)。
[0013]如下文進(jìn)一步詳細(xì)討論的,MCU 24包括調(diào)節(jié)MCU 24的主機(jī)(例如,處理核)和從機(jī)(例如,易失性和非易失性存儲(chǔ)設(shè)備)之間的通信的總線矩陣電路或模塊200。MCU 24的從側(cè)(slave side)復(fù)用器282被構(gòu)造成允許MCU 24的部分從機(jī)共同共享總線矩陣模塊200的端口,這繼而可以提供以下優(yōu)勢(shì):允許諸如MCU 24的處理核之類的主機(jī)在非易失性和易失性存儲(chǔ)器訪問(wèn)之間切換的同時(shí)引發(fā)少量(如果有的話)總線仲裁周期。
[0014]參考圖2,根據(jù)示例性實(shí)施例,MCU 24包括諸如處理核150之類的主機(jī)(或“主設(shè)備”)。作為示例,在一些實(shí)施例中,處理核150可以是運(yùn)行精簡(jiǎn)指令集計(jì)算機(jī)(RISC)指令集的諸如高級(jí)RISC機(jī)器(ARM)處理核之類的32位核。如本文公開(kāi)的,處理核150通常與諸如一個(gè)或多個(gè)非易失性存儲(chǔ)設(shè)備165 (例如,閃存設(shè)備)和易失性存儲(chǔ)設(shè)備167 (例如,靜態(tài)隨機(jī)訪問(wèn)存儲(chǔ)器(SRAM)存儲(chǔ)設(shè)備)之類的MCU 24的多個(gè)其他從機(jī)(或“從設(shè)備”)進(jìn)行通信。對(duì)于下文描述的示例,在圖2中描繪示例性非易失性存儲(chǔ)設(shè)備165和兩個(gè)易失性存儲(chǔ)設(shè)備167-0和167-1,不過(guò)應(yīng)該理解的是根據(jù)其他示例性實(shí)施例MCU 24可以包含許多其他此類設(shè)備。
[0015]根據(jù)本文公開(kāi)的示例性實(shí)施例,非易失性存儲(chǔ)設(shè)備165存儲(chǔ)表示供處理核150運(yùn)行的程序指令的數(shù)據(jù)220 ;并且易失性存儲(chǔ)設(shè)備167-0和167-1存儲(chǔ)由于程序指令的運(yùn)行而可以被處理核150所更新和讀取的程序數(shù)據(jù)224。以這種方式,程序數(shù)據(jù)224可以與棧、堆、變量、數(shù)組等相關(guān)聯(lián)。應(yīng)該注意的是,處理核150可以讀和寫(xiě)程序指令數(shù)據(jù)和程序數(shù)據(jù)到MCU 24的其他易失性和非易失性存儲(chǔ)設(shè)備。
[0016]應(yīng)該注意的是,依賴于特定實(shí)施例MCU 24可以包含除圖2中示出的主機(jī)和從機(jī)之外的主機(jī)和從機(jī)。例如,從機(jī)可以包括除存儲(chǔ)器存儲(chǔ)組件之外的組件,諸如例如數(shù)學(xué)加速器、從MCU 24和數(shù)字組件的外部環(huán)境接收模擬信號(hào)的組件(諸如,模擬到數(shù)字轉(zhuǎn)換器(ADC)、比較器等)、諸如例如,通用串行總線(USB)接口、通用異步接收器/發(fā)射器(UART)、系統(tǒng)管理總線(SMB)接口、串行外部(SPI)接口等。
[0017]MCU 24包括本文中通常稱為“總線矩陣電路”或“總線矩陣模塊200”的總線交換矩陣或總線交換結(jié)構(gòu)。在示例性實(shí)施例中,總線矩陣模塊200可以是集成電路(例如,制造在單個(gè)裸片或在多個(gè)裸片上);并且在進(jìn)一步實(shí)施例中,總線矩陣模塊200可以是集成電路組??偩€矩陣模塊200調(diào)節(jié)MCU 24的主機(jī)組和從機(jī)組之間的通信。對(duì)于圖2的示例性實(shí)施例,總線矩陣模塊200包含耦合到諸如處理核150和直接存儲(chǔ)器訪問(wèn)(DMA)控制器204之類的主機(jī)的主端口 248 (圖2中描述的特定主端口 Mc^PM1X以這種方式,每個(gè)主機(jī)與對(duì)應(yīng)的主端口 248傳遞地址、控制和數(shù)據(jù)信號(hào)205,諸如用于耦合到圖2中的Mtl端口的處理核150的地址、控制和數(shù)據(jù)信號(hào)205。給定主機(jī)可以具有多個(gè)總線端口。在此類情況下,每個(gè)總線端口可以耦合到總線矩陣模塊200的單獨(dú)主端口。主機(jī)的主端口 248也可以被復(fù)用并且然后耦合到總線矩陣主端口。
[0018]總線矩陣模塊200進(jìn)一步包含選擇性地耦合到從機(jī)(諸如,非易失性165和易失性167存儲(chǔ)設(shè)備)的地址、控制和數(shù)據(jù)信號(hào)的從端口 252 (圖2中示出特定從端口 Sc^SpSyS3),如本文進(jìn)一步討論的。以這種方式,總線矩陣模塊200通常包含被模塊200控制以選擇性地將主機(jī)和從機(jī)的地址、控制和數(shù)據(jù)信號(hào)耦合在一起的諸如開(kāi)關(guān)(例如,晶體管)之類的電路。依賴于特定實(shí)施例,總線矩陣模塊200可以全部由硬件組件形成或可以由硬件和軟件的組合形成。
[0019]諸如處理核150之類的給定主機(jī)可以請(qǐng)求訪問(wèn)從機(jī)之一并提供對(duì)應(yīng)的地址到總線矩陣模塊200以選擇從端口 252之一,以使得總線矩陣模塊200將與選擇的從端口關(guān)聯(lián)的從機(jī)耦合到主機(jī)。根據(jù)示例性實(shí)施例,由主機(jī)選出的從端口的指示表現(xiàn)為總線矩陣模塊200的對(duì)應(yīng)的從選擇端口 250處的對(duì)應(yīng)的信號(hào)。這些指示可以例如從解碼的地址位導(dǎo)出,以使得特定地址空間可以是利用給定的從端口(和關(guān)聯(lián)的從機(jī))可識(shí)別的。因?yàn)槎鄠€(gè)主機(jī)可能嘗試同時(shí)訪問(wèn)相同的從端口,根據(jù)示例性實(shí)施例,總線矩陣模塊200在請(qǐng)求相同的從端口的多個(gè)主機(jī)之間執(zhí)行時(shí)間復(fù)用的仲裁(例如,諸如基于循環(huán)法(round robin)的策略之類的基于公平性的策略、基于優(yōu)先 級(jí)的策略或考慮公平性和優(yōu)先級(jí)的組合的策略)。換句話說(shuō),對(duì)從機(jī)的仲裁控制的訪問(wèn)適應(yīng)(accommodate )其中多個(gè)主機(jī)同時(shí)競(jìng)爭(zhēng)對(duì)給定從機(jī)的訪問(wèn)的場(chǎng)景。根據(jù)示例性實(shí)施例,由于總線矩陣模塊200形成多個(gè)并發(fā)(concurrent)主從連接的能力,允許在主機(jī)和從機(jī)對(duì)之間的并發(fā)、或并行訪問(wèn)。
[0020]根據(jù)本文公開(kāi)的系統(tǒng)和技術(shù),MCU 24允許使用在多個(gè)從機(jī)之間共同共享的總線矩陣模塊200的單個(gè)從端口 252來(lái)訪問(wèn)這些從機(jī)。此類布置具有以下特定優(yōu)勢(shì):降低了在被訪問(wèn)的從機(jī)例如被分配給單獨(dú)的從端口的情況下當(dāng)處理核150將訪問(wèn)從一個(gè)從端口切換到另一個(gè)從端口時(shí)原本會(huì)被引起的等待時(shí)間。對(duì)于本文描述的示例性實(shí)施例,MCU 24運(yùn)行被存儲(chǔ)在非易失性存儲(chǔ)設(shè)備165中作為程序指令數(shù)據(jù)220的程序指令;并且MCU 24處理保留在易失性存儲(chǔ)設(shè)備167-0和167-1中的程序數(shù)據(jù)224。將從設(shè)備復(fù)用到單個(gè)從端口 252上具有以下特定優(yōu)勢(shì):防止當(dāng)給定主機(jī)從一個(gè)從機(jī)切換到下一個(gè)時(shí)總線矩陣模塊200停止一個(gè)或多個(gè)周期。根據(jù)本文公開(kāi)的系統(tǒng)和技術(shù),地址解碼方案將多個(gè)從機(jī)地址范圍合并到由于從端口復(fù)用而引起的從機(jī)共享的從端口 252的地址范圍。當(dāng)以這種方式被編程時(shí),總線矩陣模塊200將給定主機(jī)視為在從機(jī)之間切換,盡管此類切換可能發(fā)生,從而避免使總線矩陣模塊200 “停止”。應(yīng)該注意的是,從側(cè)復(fù)用器282包含用于將適當(dāng)?shù)膹臋C(jī)總線耦合到單個(gè)從端口 252的附加的解碼邏輯(未在圖2中示出),如圖2中從側(cè)復(fù)用器282的圖圖示關(guān)于從端口復(fù)用的特征。
[0021]根據(jù)示例性實(shí)現(xiàn)方式,當(dāng)處理核150運(yùn)行特定程序或應(yīng)用時(shí),為了在不引起任何總線矩陣仲裁處罰(penalty)的情況下檢索程序指令以及存儲(chǔ)和檢索關(guān)聯(lián)的程序數(shù)據(jù)的目的,處理核150可以訪問(wèn)非易失性存儲(chǔ)設(shè)備(諸如,圖2中示出的非易失性設(shè)備165)以及易失性存儲(chǔ)設(shè)備167 (諸如易失性存儲(chǔ)設(shè)備167-0和167-1)二者。這些訪問(wèn)繼而涉及通過(guò)單個(gè)總線的通信。
[0022]更具體地,根據(jù)示例性實(shí)施例,MCU 24可以采用“馮諾依曼”型架構(gòu),這意味著MCU24使用單個(gè)總線來(lái)傳遞表示程序指令和數(shù)據(jù)二者的信號(hào)。利用此類架構(gòu),處理核150使用總線上的時(shí)間復(fù)用的總線操作(讀周期、寫(xiě)周期等)來(lái)訪問(wèn)非易失性存儲(chǔ)設(shè)備165和易失性存儲(chǔ)設(shè)備167。因?yàn)槊總€(gè)程序指令可以包括取指令和取數(shù)據(jù)二者,本文公開(kāi)的從設(shè)備復(fù)用技術(shù)具有以下特定優(yōu)勢(shì):通常避免由于取數(shù)據(jù)和指令而引起消耗總線周期,如本領(lǐng)域技術(shù)人員能夠領(lǐng)會(huì)的。
[0023]根據(jù)示例性實(shí)施例,MCU 24包括從地址解碼器270和從側(cè)復(fù)用器282。從地址解碼器270耦合到從選擇端口 250 (圖2中描繪示例性從選擇端口 Sc^SpS2和S3)以允許(與多個(gè)從機(jī)關(guān)聯(lián)的)多個(gè)地址范圍共同共享總線矩陣模塊200的從端口 252。就這一點(diǎn)而言,任何這些多個(gè)地址范圍可以被用于選擇被共同共享的從端口 252。作為更具體的示例,非易失性存儲(chǔ)設(shè)備165、易失性存儲(chǔ)設(shè)備167-0和易失性存儲(chǔ)設(shè)備167-1可以使用三個(gè)不同的地址范圍來(lái)尋址;并且對(duì)于該示例,這些從機(jī)可以共享Stl從端口 252。從地址解碼器270被構(gòu)造成通過(guò)選擇Stl從端口來(lái)對(duì)主機(jī)對(duì)于對(duì)這三個(gè)不同的地址范圍中的任何一個(gè)的訪問(wèn)的請(qǐng)求進(jìn)行響應(yīng)。
[0024]從側(cè)復(fù)用器282通??刂茝臋C(jī)到從端口 252的耦合以及對(duì)于共同共享的從端口而言多個(gè)從機(jī)的復(fù)用。對(duì)于圖2的示例性實(shí)施例,從側(cè)復(fù)用器282在非易失性存儲(chǔ)設(shè)備165、易失性存儲(chǔ)設(shè)備167-0和易失性存儲(chǔ)設(shè)備167-1之間復(fù)用Stl從端口 252的使用。此外,對(duì)于圖2中描繪的示例性實(shí)施例,從側(cè)復(fù)用器282允許易失性存儲(chǔ)設(shè)備167-0和167-1被分別單獨(dú)分配給S1和S2從端口 252 (并不與Stl從端口 252共享),如(經(jīng)由橋260)耦合到S3從端口 252的系統(tǒng)配置寄存器264的寄存器數(shù)據(jù)266所配置的。因而,在附加的權(quán)利要求的范圍內(nèi)的許多變形和實(shí)施例被預(yù)期。
[0025]更具體 地,根據(jù)示例性實(shí)施例,寄存器數(shù)據(jù)266可以是被處理核150可編程的并且包含具有可以被用于選擇性地編程從端口分配的關(guān)聯(lián)邏輯級(jí)別的各個(gè)位。對(duì)于本文所述的示例性實(shí)施例,利用單獨(dú)地對(duì)應(yīng)于從機(jī)的寄存器數(shù)據(jù)266的給定位,寄存器數(shù)據(jù)266控制至少哪些從機(jī)共享Stl從端口 252。對(duì)于圖2的示例性實(shí)施例,寄存器數(shù)據(jù)266包含單獨(dú)地控制是否易失性存儲(chǔ)設(shè)備167-0和167-1共享Stl從端口 252的兩個(gè)位;并且這兩個(gè)位被以下兩個(gè)相應(yīng)的信號(hào)所表示:被斷言成(例如,驅(qū)動(dòng)成邏輯I值)配置易失性存儲(chǔ)設(shè)備167-0與非易失性存儲(chǔ)設(shè)備165 (并依賴于其分配可能與易失性存儲(chǔ)設(shè)備167-1)共享Stl從端口 252(替代被分配S1從端口 252)的SHARE_VMD0信號(hào),以及被斷言成(例如,驅(qū)動(dòng)成邏輯I值)配置易失性存儲(chǔ)設(shè)備167-1與非易失性存儲(chǔ)設(shè)備165 (并依賴于其分配可能與易失性存儲(chǔ)設(shè)備167-0)共享Stl從端口 252 (替代被分配到S2從端口 252)的SHARE_VMD1信號(hào)。
[0026]現(xiàn)轉(zhuǎn)向從地址解碼器270的示例性實(shí)施例,根據(jù)一些實(shí)施例,從地址解碼器270基于下述地址空間信號(hào)來(lái)控制總線矩陣模塊200的從請(qǐng)求端口 250的選擇性斷言:被斷言成(例如,驅(qū)動(dòng)成邏輯I值)指示把非易失性存儲(chǔ)設(shè)備165的地址空間內(nèi)的地址作為目標(biāo)的主機(jī)訪問(wèn)的NVMD_ADDR_SPACE信號(hào);被斷言成(例如,驅(qū)動(dòng)成邏輯I值)指示把系統(tǒng)配置寄存器264的地址作為目標(biāo)的主機(jī)訪問(wèn)的APB_ADDR_SPACE信號(hào);被斷言成(例如,驅(qū)動(dòng)成邏輯I值)指示把易失性存儲(chǔ)設(shè)備167-0的地址空間內(nèi)的地址作為目標(biāo)的主機(jī)訪問(wèn)的VMD0_ADDR_SPACE信號(hào);和被斷言成(例如,驅(qū)動(dòng)成邏輯I值)指示把易失性存儲(chǔ)設(shè)備167-1的地址空間內(nèi)的地址作為目標(biāo)的主機(jī)訪問(wèn)的VMD1_ADDR_SPACE信號(hào)。例如,這些信號(hào)可以是被解碼的地址線信號(hào)。
[0027]從地址解碼器270通常對(duì)SHARE_VMD0和SHARE_VMD01信號(hào)進(jìn)行響應(yīng),以使得這些信號(hào)可以被用于為了從端口選擇的目的而選擇性地有效地將易失性存儲(chǔ)設(shè)備167-0和167-1的地址范圍映射到非易失性存儲(chǔ)設(shè)備165的地址范圍。
[0028]更具體地,根據(jù)示例性實(shí)施例,從地址解碼器270包括將其輸出信號(hào)耦合到Stl從選擇端口 250的OR(或)門272。OR門272接收NVMD_ADDR_SPACE信號(hào)和由接收VMD0_ADDR_SPACE信號(hào)和SHARE_VMD0信號(hào)的AND (與)門274的輸出端子所提供的信號(hào)。OR門272還接收由接收VMD1_ADDR_SPACE信號(hào)和SHARE_VMD1信號(hào)的AND門276所提供的輸出信號(hào)。因而,OR門272斷言(例如,驅(qū)動(dòng)成邏輯I值)S0選擇端口以從而響應(yīng)于把非易失性存儲(chǔ)設(shè)備165的地址空間作為目標(biāo)的主機(jī)請(qǐng)求、把易失性存儲(chǔ)設(shè)備167-0的地址空間作為目標(biāo)的主機(jī)請(qǐng)求(假定易失性存儲(chǔ)設(shè)備167-0被配置成共享Stl從端口 252)、或把易失性存儲(chǔ)設(shè)備167-1的地址空間作為目標(biāo)的主機(jī)請(qǐng)求(假定易失性存儲(chǔ)設(shè)備167-1被配置成共享Stl從端口 252)來(lái)選擇Stl從端口 252。
[0029]從地址解碼器270進(jìn)一步包括將其輸出信號(hào)耦合到S1從選擇端口 250的AND門278。AND 門 278 接收 VMDO_ADDR_SPACE 信號(hào)和取反的 SHARE_VMD0 信號(hào)。因而,AND 門 278斷言(例如,驅(qū)動(dòng)成邏輯I值)S1選擇端口以從而響應(yīng)于把易失性存儲(chǔ)設(shè)備167-0的地址空間作為目標(biāo)的主機(jī)請(qǐng)求以及易失性存儲(chǔ)設(shè)備167-0被分配給S1從端口 252而不是共享Stl從端口 252來(lái)選擇S1從端口 252。
[0030]從地址解碼器270還包括將其輸出信號(hào)耦合到S2從選擇端口 250的AND門280。AND門280接收VMD1_ADDR_SPACE信號(hào)和取反的SHARE_VMD1信號(hào)。因而,AND門280斷言(例如,驅(qū)動(dòng)成邏輯I值)S2選擇端口以從而響應(yīng)于把易失性存儲(chǔ)設(shè)備167-1的地址空間作為目標(biāo)的主機(jī)請(qǐng)求以及易失性存儲(chǔ)設(shè)備167-1被分配給S2從端口 252而不是共享Stl從端口 252來(lái)選擇S2從端口 252。最后,對(duì)于圖2描繪的實(shí)施例,從地址解碼器270將APB_ADDR_SPACE信號(hào)提供給S3從選擇端口 250,對(duì)于該示例,系統(tǒng)配置寄存器264專用于S3從端口 252,以使得響應(yīng)于把系統(tǒng)配置寄存器264的地址作為目標(biāo)的主機(jī)請(qǐng)求而選擇S3從端Π 252。
[0031]根據(jù)示例性實(shí)施例,從側(cè)復(fù)用器282選擇性地將從機(jī)(諸如非易失性存儲(chǔ)設(shè)備165、易失性存儲(chǔ)設(shè)備167-0和易失性存儲(chǔ)設(shè)備167-1)耦合到從端口 252。從側(cè)復(fù)用器282包括具有將用于選擇的從設(shè)備的地址、控制和數(shù)據(jù)信號(hào)提供到Stl從端口 252的多個(gè)輸出端子的OR門288。更具體地,OR門288包括從非易失性存儲(chǔ)設(shè)備165接收被選通(gate)的地址、控制和數(shù)據(jù)信號(hào)166的第一組輸入端子。這些選通信號(hào)由AND門284的多個(gè)輸出端子所提供。AND門284包括耦合到信號(hào)166的一組輸入端子以及耦合到AND門286的輸出端子的輸入端子以控制選通(即,控制何時(shí)信號(hào)166耦合到Stl從端口 252)。AND門286接收當(dāng)主機(jī)請(qǐng)求與Stl從端口 252關(guān)聯(lián)的從設(shè)備之一以及總線矩陣模塊200的仲裁器準(zhǔn)予訪問(wèn)時(shí)被斷言的信號(hào)(稱為“REQ_S0”)。AND門286還接收當(dāng)主機(jī)請(qǐng)求與非易失性存儲(chǔ)設(shè)備165關(guān)聯(lián)的地址空間時(shí)被斷言(例如,驅(qū)動(dòng)到邏輯I值)的NVMD_ADDR_SPACE信號(hào)。
[0032]OR門288包括從易失性存儲(chǔ)設(shè)備167_0接收被選通的地址、控制和數(shù)據(jù)信號(hào)168的第二組輸入端子。這些被選通的信號(hào)由AND門290的多個(gè)輸出端子所提供。AND門290包括耦合到信號(hào)168的一組輸入端子和耦合到AND門292的輸出端子的輸入端子以控制選通。AND門292接收REQ_SO信號(hào)并且接收當(dāng)主機(jī)請(qǐng)求與易失性存儲(chǔ)設(shè)備167-0關(guān)聯(lián)的地址空間時(shí)被斷言(例如,驅(qū)動(dòng)成邏輯I值)的信號(hào)“VMDO_ADDR_SPACE”。AND門292還接收SHARE_VMD0信號(hào)。因此,當(dāng)主機(jī)請(qǐng)求訪問(wèn)易失性存儲(chǔ)設(shè)備167-0、該訪問(wèn)被準(zhǔn)予并且MCU 24(經(jīng)由系統(tǒng)配置寄存器264)被配置成與易失性存儲(chǔ)設(shè)備167-0共享Stl從端口 252時(shí),AND門290將來(lái)自易失性存儲(chǔ)設(shè)備167-0的信號(hào)168耦合到OR門288 (并耦合到Stl從端口 252)。
[0033]OR門288包括從易失性存儲(chǔ)設(shè)備167_1接收被選通的地址、控制和數(shù)據(jù)信號(hào)169的第三組輸入端子。這些被選通的信號(hào)由AND門294的多個(gè)輸出端子所提供。AND門294包括耦合到信號(hào)169的一組輸入端子和包括耦合到AND門296的輸出端子的輸入端子的另一個(gè)輸入端子以控制選通。AND門296接收REQ_S0信號(hào)并且接收當(dāng)主機(jī)請(qǐng)求與易失性存儲(chǔ)設(shè)備167-1關(guān)聯(lián)的地址空間時(shí)被斷言(例如,驅(qū)動(dòng)成邏輯I值)的信號(hào)“VMD1_ADDR_SPACE”。AND門296還接收SHARE_VMD1信號(hào)。因此,當(dāng)主機(jī)請(qǐng)求訪問(wèn)易失性存儲(chǔ)設(shè)備167-1、該訪問(wèn)被準(zhǔn)予并且MCU 24 (經(jīng)由系統(tǒng)配置寄存器264)被配置成與易失性存儲(chǔ)設(shè)備167-1共享S。從端口 252時(shí),AND門294將來(lái)自易失性存儲(chǔ)設(shè)備167-1的信號(hào)169耦合到OR門288 (并耦合到Stl從端口 252)。
[0034]如圖2所示,根據(jù)示例性實(shí)施例,易失性存儲(chǔ)設(shè)備167-0的信號(hào)168可以耦合到SI從端口 252以使得易失性存儲(chǔ)設(shè)備167-0可以使用被分配給SI從端口 252的地址范圍來(lái)訪問(wèn)。類似地,易失性存儲(chǔ)設(shè)備167-1的信號(hào)169可以耦合到S2從端口 252,以使得易失性存儲(chǔ)設(shè)備167-1可以使用被分配給S2從端口 252的地址范圍來(lái)訪問(wèn)。此外,如圖2所示,根據(jù)示例性實(shí)施例,橋260可以耦合到S3從端口 252。除了系統(tǒng)配置寄存器264之外,其他設(shè)備(輸入設(shè)備等)可以耦合到橋260的端子262并且可以是通過(guò)S3從端口 252可訪問(wèn)的。
[0035]在附加的權(quán)利要求的范圍內(nèi)的其他變形被預(yù)期。例如,根據(jù)進(jìn)一步實(shí)施例,兩個(gè)從機(jī)可以共享Stl從端口 252并且不具有去往S1從端口 252的替換路徑。作為更具體的示例,根據(jù)特定實(shí)施例,非易失性存儲(chǔ)設(shè)備165和數(shù)學(xué)加速器從設(shè)備二者可以(例如,與一個(gè)或多個(gè)易失性存儲(chǔ)設(shè)備167)共享Stl從端口 252,并且非易失性存儲(chǔ)設(shè)備165和數(shù)學(xué)加速器設(shè)備可以不具有去往另一個(gè)從端口 252的替換路徑。此類布置可以具有以下優(yōu)勢(shì):消除當(dāng)主機(jī)從非易失性存儲(chǔ)設(shè)備165轉(zhuǎn)換到數(shù)學(xué)加速器以及返回時(shí)的仲裁周期。
[0036]作為另一個(gè)示例,根據(jù)進(jìn)一步實(shí)施例,兩個(gè)從機(jī)可以共享S1從端口。例如,根據(jù)示例性實(shí)施例,易失性存儲(chǔ)設(shè)備167-0和167-1可以使用從側(cè)復(fù)用器282的復(fù)用電路來(lái)共享S1從端口 252。該實(shí)施例具有以下優(yōu)勢(shì):將兩個(gè)易失性存儲(chǔ)設(shè)備167-0和167-1結(jié)合以使得設(shè)備167-0和167-1表現(xiàn)得像單個(gè)存儲(chǔ)設(shè)備(例如,單個(gè)的SRAM設(shè)備)一樣,從而減少當(dāng)主機(jī)訪問(wèn)在其地址范圍之間轉(zhuǎn)換時(shí)的仲裁等待時(shí)間。
[0037]參考圖3,因而,根據(jù)示例性實(shí)施例,一種方法300包括從主機(jī)接收(塊304)對(duì)于訪問(wèn)與總線交換結(jié)構(gòu)的從端口關(guān)聯(lián)的多個(gè)從設(shè)備中的目標(biāo)從設(shè)備的請(qǐng)求。根據(jù)方法300,響應(yīng)于該請(qǐng)求,在從設(shè)備之間復(fù)用(塊308)從設(shè)備對(duì)從端口的使用以允許主機(jī)訪問(wèn)目標(biāo)從設(shè)備。
[0038]參考圖4,MCU 24可以被用于各種不同的應(yīng)用。作為示例,圖4描繪其中為了控制電動(dòng)機(jī)474的目的電動(dòng)機(jī)控制系統(tǒng)400的MCU 24生成/接收輸入和輸出信號(hào)(I/O信號(hào))的發(fā)送機(jī)控制應(yīng)用。以這種方式,為了與電動(dòng)機(jī)接口 470 (包含驅(qū)動(dòng)器、傳感器等的接口)進(jìn)行通信的目的,MCU 24可以在其I/O端子450處生成信號(hào);并且連同該通信,I/O端子450可以與電動(dòng)機(jī)接口傳遞波形(例如,脈沖寬度調(diào)制(PWM)信號(hào))、接收感測(cè)的電流和電壓、經(jīng)由一個(gè)或多個(gè)串行總線來(lái)傳遞數(shù)據(jù)等。為了下述目的,MCU 24的I/O端子440可以生成/接收用于與系統(tǒng)400的用戶控制接口 476進(jìn)行通信的信號(hào),所述目的即傳遞電動(dòng)機(jī)474或電動(dòng)機(jī)接口 470的狀態(tài),傳遞檢測(cè)的故障情況,接收用戶引導(dǎo)的命令和信號(hào)等。
[0039]盡管本文已經(jīng)公開(kāi)了有限數(shù)量的實(shí)施例,但是得益于本公開(kāi)本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到由其產(chǎn)生的各種修改和變形。這意為附加的權(quán)利要求涵蓋所有此類修改和變形。
【權(quán)利要求】
1.一種方法,包括: 從把與總線交換結(jié)構(gòu)的從端口關(guān)聯(lián)的多個(gè)從設(shè)備中的從設(shè)備作為目標(biāo)的主設(shè)備接收請(qǐng)求,所述從端口在多個(gè)從設(shè)備之間共享;以及 響應(yīng)于該請(qǐng)求,在多個(gè)從設(shè)備之間復(fù)用從端口的使用。
2.根據(jù)權(quán)利要求1所述的方法,其中所述請(qǐng)求指示與目標(biāo)從設(shè)備關(guān)聯(lián)的地址,并且復(fù)用從端口的使用包括基于所述地址來(lái)選擇目標(biāo)從設(shè)備。
3.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括使用總線交換結(jié)構(gòu)來(lái)基于考慮是否至少一個(gè)其他主機(jī)同時(shí)競(jìng)爭(zhēng)對(duì)多個(gè)從設(shè)備中的至少一個(gè)從設(shè)備的訪問(wèn)的仲裁協(xié)議而選擇性地將主端口耦合到從端口。
4.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 在主設(shè)備和耦合到從端口的多個(gè)從設(shè)備之間傳遞程序指令和程序數(shù)據(jù)。
5.根據(jù)權(quán)利要求1所述的方法,其中接收所述請(qǐng)求包括解碼由主設(shè)備所提供的地址。
6.根據(jù)權(quán)利要求1所述的方法,其中復(fù)用從端口的使用包括在至少非易失性存儲(chǔ)設(shè)備和易失性存儲(chǔ)設(shè)備之間復(fù)用從端口的使用。
7.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 使用寄存器來(lái)編程寄存器數(shù)據(jù)以識(shí)別共享從端口的多個(gè)從設(shè)備。
8.一種裝置,包括:· 總線矩陣電路,包括從端口和主端口,所述從端口在多個(gè)從設(shè)備之間共享;以及 復(fù)用器,適于響應(yīng)于由耦合到主端口的主機(jī)所發(fā)起的對(duì)于訪問(wèn)多個(gè)從設(shè)備中的第一從設(shè)備的請(qǐng)求而選擇性地將第一從設(shè)備耦合到從端口。
9.根據(jù)權(quán)利要求8所述的裝置,其中從設(shè)備包括至少一個(gè)易失性存儲(chǔ)設(shè)備和至少一個(gè)非易失性存儲(chǔ)設(shè)備。
10.根據(jù)權(quán)利要求8所述的裝置,進(jìn)一步包括: 從地址解碼器,用于指示作為對(duì)與多個(gè)從設(shè)備關(guān)聯(lián)的多個(gè)地址范圍的響應(yīng)的從端口的選擇。
11.根據(jù)權(quán)利要求8所述的裝置,其中所述復(fù)用器適于選擇性地將多個(gè)從設(shè)備耦合到從端口。
12.根據(jù)權(quán)利要求8所述的裝置,進(jìn)一步包括耦合到總線矩陣電路以存儲(chǔ)數(shù)據(jù)的寄存器,所述寄存器適于可編程地配置在多個(gè)從設(shè)備之間共享從端口。
13.一種裝置,包括: 集成電路,包括處理核、非易失性存儲(chǔ)設(shè)備、易失性存儲(chǔ)設(shè)備、復(fù)用器和總線矩陣電路,其中: 所述處理核適于與非易失性和易失性存儲(chǔ)設(shè)備進(jìn)行通信; 所述總線矩陣電路包括從端口和耦合到所述處理核的主端口 ;以及 所述復(fù)用器適于響應(yīng)于來(lái)自處理核的對(duì)于訪問(wèn)非易失性和易失性存儲(chǔ)設(shè)備之一的請(qǐng)求而選擇性地將非易失性和易失性存儲(chǔ)設(shè)備之一耦合到從端口。
14.根據(jù)權(quán)利要求13所述的裝置,其中: 總線矩陣電路適于選擇性地將主端口耦合到從端口 ;以及 總線矩陣電路適于至少部分基于仲裁協(xié)議的應(yīng)用而控制所述耦合。
15.根據(jù)權(quán)利要求13所述的裝置,進(jìn)一步包括耦合到總線矩陣電路的寄存器,所述寄存器適于存儲(chǔ)數(shù)據(jù)以可編程地配置在多個(gè)從設(shè)備之間共享從端口。
16.根據(jù)權(quán)利要求15所述的裝置,其中處理器核適于向總線矩陣電路傳遞對(duì)于訪問(wèn)從端口的請(qǐng)求,所述請(qǐng)求指示與從端口關(guān)聯(lián)的地址,并且復(fù)用器適于選擇與用于服務(wù)所述請(qǐng)求的地址關(guān)聯(lián)的非易失性或易失性存儲(chǔ)設(shè)備。
17.根據(jù)權(quán)利要求13所述的裝置,其中總線矩陣電路適于使處理核將非易失性和易失性存儲(chǔ)設(shè)備視為共同作為單獨(dú)的從設(shè)備。
18.根據(jù)權(quán)利要求13所述的裝置,其中總線矩陣電路進(jìn)一步包括至少一個(gè)附加主端口,所述裝置進(jìn)一步包括耦合到所述至少一個(gè)附加主端口的直接存儲(chǔ)器訪問(wèn)控制器。
19.根據(jù)權(quán)利要求13所述的裝置,其中集成電路進(jìn)一步包括用于共享從端口的基于非存儲(chǔ)器存儲(chǔ)的從設(shè)備。
20.根據(jù)權(quán)利要求13所述的裝置,進(jìn)一步包括用于將處理核耦合到總線矩陣電路的總線?!?br>
【文檔編號(hào)】G05B19/418GK103853135SQ201310650319
【公開(kāi)日】2014年6月11日 申請(qǐng)日期:2013年12月6日 優(yōu)先權(quán)日:2012年12月6日
【發(fā)明者】W.庫(kù)杜斯 申請(qǐng)人:硅實(shí)驗(yàn)室公司