專(zhuān)利名稱(chēng):用于時(shí)分多路復(fù)用總線的總線成幀器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明主要涉及一種總線成幀器及其結(jié)構(gòu)。
背景計(jì)算機(jī)總線(或簡(jiǎn)稱(chēng)“總線”)是在設(shè)備(例如處理器和存儲(chǔ)器)之間傳送數(shù)據(jù)的線路集合。數(shù)據(jù)是以一種特定的格式在總線上傳送的。例如,數(shù)據(jù)可以“幀”的格式來(lái)傳輸。一般而言,一個(gè)幀是一種數(shù)據(jù)結(jié)構(gòu),該數(shù)據(jù)結(jié)構(gòu)將數(shù)據(jù)包組織到指定要傳送數(shù)據(jù)包的次序的時(shí)隙中去。在幀中包括其它的信息,例如要傳送數(shù)據(jù)包的端口。
成幀器是一種設(shè)備,它從源接收數(shù)據(jù)包并且從該數(shù)據(jù)包中構(gòu)成幀。典型的是,成幀器將幀存儲(chǔ)于緩沖存儲(chǔ)器并在幀中所指定的時(shí)隙將數(shù)據(jù)它從緩沖存儲(chǔ)器傳輸?shù)娇偩€。
圖1是一種總線成幀器的方框圖。
圖2是由總線成幀器產(chǎn)生的幀的數(shù)據(jù)結(jié)構(gòu)的方框圖。
圖3是一例圖2所示數(shù)據(jù)結(jié)構(gòu)的實(shí)例。
圖4是顯示該總線成幀器所使用的總線判決方案的時(shí)序圖。
說(shuō)明參照?qǐng)D1,該圖示出了一種總線成幀器10??偩€成幀器10可從一個(gè)外部設(shè)備(未顯示)的端口11接收數(shù)據(jù),生成并傳輸數(shù)據(jù)幀,檢測(cè)在幀中的信息,并將該信息存儲(chǔ)于內(nèi)部數(shù)據(jù)庫(kù)用于,例如,向外部設(shè)備(未顯示)報(bào)告。在本實(shí)施例中,成幀器10與設(shè)備上一組八個(gè)端口相連接,然而,成幀器10并不限于如此。例如,成幀器10能夠與一組128E1/T1總線格式的端口相連接。
總線成幀器10包含引擎12,總線訪問(wèn)映射器14,功能模塊16,和電路17。在該實(shí)施例中,這些基本單元可以硬件的方式來(lái)實(shí)現(xiàn);然而,它們也可以軟件的方式來(lái)實(shí)現(xiàn)或者硬件和軟件相結(jié)合的方式來(lái)實(shí)現(xiàn)。各基本單元可采用各種總線相互連接。
幀總線19與引擎12和總線訪問(wèn)映射器14相互連接。內(nèi)部總線20與引擎12、總線訪問(wèn)映射器14,電路17和功能模塊16相互連接。讀/寫(xiě)(R/W)總線21與功能模塊16和總線訪問(wèn)映射器14相互連接。也可以使用其它總線。
引擎12包括線路/幀引擎22,信令引擎24,警示引擎26,設(shè)備數(shù)據(jù)鏈接引擎(FDL)27,和管理引擎29。線路/幀引擎22接收來(lái)自端口11的數(shù)據(jù),對(duì)數(shù)據(jù)實(shí)行任何所需的編碼或解碼,檢查數(shù)據(jù)中的位以決定該數(shù)據(jù)是否同步的、生成該數(shù)據(jù)的幀、在存儲(chǔ)器中存儲(chǔ)該幀或有關(guān)幀的信息、以及在幀總線上輸出該幀。
在該實(shí)施例中,每一幀都包括數(shù)據(jù)結(jié)構(gòu)30(見(jiàn)圖2),它具有以N行和M(例如,32)列的數(shù)據(jù)塊,其中N和M是大于1的整數(shù)。每個(gè)數(shù)據(jù)結(jié)構(gòu)30的塊包括適用于由成幀器10以總線幀協(xié)議實(shí)現(xiàn)的數(shù)據(jù)且該數(shù)據(jù)對(duì)應(yīng)于在接收設(shè)備(未顯示)上的目標(biāo)端口和適用于該數(shù)據(jù)的時(shí)隙。目標(biāo)端口可識(shí)別的數(shù)據(jù)所指定的它的接收設(shè)備上的端口。時(shí)隙為傳送到該端口的數(shù)據(jù)提供一種次序關(guān)系。其它數(shù)據(jù)(未顯示),例如,信令和警示數(shù)據(jù),也可以包括于幀的數(shù)據(jù)結(jié)構(gòu)中。
參照?qǐng)D2,數(shù)據(jù)結(jié)構(gòu)30的各個(gè)塊31都包含二個(gè)數(shù)字,如“0,x”、“1,y”……“n,w”,其中N是大于1的整數(shù)。這些數(shù)字中的第一個(gè)數(shù)字(行號(hào)),例如“0”,“1”和“N”提供該塊數(shù)據(jù)的端口號(hào)。于是,塊31指定為端口“0”、塊32指定為端口“1”、塊34指定為端口“N”,等等。在本實(shí)施例中,數(shù)據(jù)接收設(shè)備的端口可分配不同的數(shù)字,從而就沒(méi)有必要識(shí)別在各個(gè)數(shù)據(jù)塊中的設(shè)備。各個(gè)數(shù)據(jù)塊中的第二個(gè)數(shù)列(列號(hào)),例如“x”、“y”、“w”,是一個(gè)整數(shù),為每個(gè)數(shù)據(jù)幀(也就是每列)提供數(shù)據(jù)塊的時(shí)隙。
作為例子,圖3顯示了一個(gè)數(shù)據(jù)結(jié)構(gòu)36的例子。正如所顯示的,每列37、39等等,相應(yīng)于指定為接收設(shè)備端口的數(shù)據(jù)幀。這樣,列37被指定為對(duì)應(yīng)于端口“0”、列39被指定為對(duì)應(yīng)于端口“1”、列40被指定為對(duì)應(yīng)于端口“26”,并以次類(lèi)推。時(shí)隙,例如,在列行中的41條和在列39中的42,表示了指示在每列(即每個(gè)端口數(shù)據(jù))中數(shù)據(jù)塊的次序關(guān)系。
根據(jù)由時(shí)隙指定的次序關(guān)系,將數(shù)據(jù)從線路/幀引擎22傳送到幀總線19。幀總線19是一個(gè)時(shí)分多路復(fù)用(TDM)總線,來(lái)自不同端口(它們可能在不同的設(shè)備上)的數(shù)據(jù)通過(guò)該總線的交織后再傳送。
一旦存在著與有效時(shí)隙相關(guān)聯(lián)的數(shù)據(jù)位時(shí),線路/幀引擎22就將數(shù)據(jù)傳輸?shù)綆偩€19上。于是,該幀總線傳輸一個(gè)端口指示符、時(shí)隙信息和端口狀態(tài)信息。利用這個(gè)信息,該數(shù)據(jù)然后能夠由其它的引擎處理。在這一點(diǎn)上,信令引擎24、警示引擎26、FDL引擎27、和管理引擎29從幀總線19接收幀、從幀提取相關(guān)的信息、和通過(guò)內(nèi)部總線20向線路17提供該信息。
信令引擎24從在幀總線19上的幀提取信令信息,該信令信息在成幀器10的二個(gè)基本單元之間傳送。在傳輸?shù)酵獠吭O(shè)備的一個(gè)幀中,該跟隨最后的數(shù)據(jù)塊的時(shí)隙可以用來(lái)傳輸信令信息。
警示引擎26在幀總線19上所傳輸?shù)膸兴阉骶敬a(數(shù)據(jù))。這些警示代碼可嵌入在該幀的數(shù)據(jù)結(jié)構(gòu)之中,并且用于指出設(shè)備或架構(gòu)中的問(wèn)題。警示引擎26在發(fā)現(xiàn)存在警示信息時(shí)就提出警示代碼。
FDL引擎搜索并提取在二個(gè)基本單元之間傳輸?shù)牟⑶仪度朐趲偩€19上的幀之中的消息。例如,傳送和接收狀態(tài)信息可以構(gòu)成一個(gè)消息。該消息由在該幀中特定的代碼所定義。
管理引擎29識(shí)別和提取被稱(chēng)為“輔助管理”位,它們存在于幀總線19上的一個(gè)幀中。輔助管理可以T1和E1格式幀來(lái)表示并且攜帶在二個(gè)基本單元之間的碼字及相類(lèi)似的。
電路17包括總線判決器60、主接口模塊61、內(nèi)部中央處理單元(CPU)62、和內(nèi)部數(shù)據(jù)庫(kù)64。電路17實(shí)現(xiàn)在成幀器10中監(jiān)督和控制的能力。
電路17通過(guò)內(nèi)部總線20連接著成幀器10的其它基本單元。正如以上所指出的那樣,內(nèi)部總線20連接著電路17、引擎12、功能模塊16和總線存取映射器14??偩€判決器60判定通過(guò)功能模塊16和總線提取映射器14對(duì)R/W總線21的存取。判決方案利用圖4在以下描述。
在本實(shí)施例中,主接口模塊61是一個(gè)與諸如計(jì)算機(jī)之類(lèi)的外部設(shè)備(未顯示)的8位連接。通過(guò)主接口模塊61,命令和數(shù)據(jù)可以在成幀器10和該外部設(shè)備之間傳輸。該外部設(shè)備可以通過(guò)主接口模塊61配置、詢(xún)問(wèn)、控制、清除(等等)成幀器10的基本單元(例如,引擎12,總線存取映射器14,功能模塊16,和電路17)。例如,該外部設(shè)備可以發(fā)出命令以配置成幀器10的基本單元、從成幀器10下載數(shù)據(jù)、和/或?qū)Τ蓭?0上傳數(shù)據(jù)。
主接口模塊61通過(guò)前置總線66連接著內(nèi)部CPU62。內(nèi)部CPU62可以是一個(gè)駐留在成幀器10內(nèi)部的微處理器、微控制器及相類(lèi)似的。當(dāng)和外部設(shè)備一起情況下,內(nèi)部CPU62可以配置、詢(xún)問(wèn)、控制、清除(等)成幀器10的基本單元。內(nèi)部CPU62將來(lái)自成幀器10的各種基本單元中聚集來(lái)的數(shù)據(jù)存儲(chǔ)在內(nèi)部數(shù)據(jù)庫(kù)64之中。
內(nèi)部數(shù)據(jù)庫(kù)64可以是一個(gè)非易失性?xún)?chǔ)存介質(zhì),例如,硬盤(pán)。內(nèi)部CPU64可以通過(guò)主接口模塊與外部設(shè)備交換來(lái)自?xún)?nèi)部數(shù)據(jù)庫(kù)64的數(shù)據(jù)。另外,在內(nèi)部數(shù)據(jù)庫(kù)64中的數(shù)據(jù)可以由內(nèi)部CPU64使用,以對(duì)成幀器10的各種基本單元進(jìn)行再編程和再配置。
功能模塊16與總線存取映射器14一起由R/W總線21實(shí)現(xiàn)相互連接的。功能模塊16可以配置成從其它模塊接收和請(qǐng)求信息,例如,幀時(shí)隙信息。每個(gè)功能模塊的接口是十分普通的,它允許該功能模塊也連接著內(nèi)部總線20。
在這個(gè)實(shí)施例中,功能模塊16包括(但不限于此)一個(gè)掃描高速總線69,片段緩沖器70,一個(gè)系統(tǒng)底板71,一個(gè)位出錯(cuò)率測(cè)試(BERT)發(fā)生器/分析器72,和一個(gè)高級(jí)數(shù)據(jù)鏈路控制器(HDLC)74。片段緩沖器70可臨時(shí)存儲(chǔ)數(shù)據(jù),以調(diào)節(jié)成幀器10的系統(tǒng)時(shí)鐘(以下將討論)和外部時(shí)鐘域之間的頻率和相位的差異。掃描高速總線69提供對(duì)外部設(shè)備(未顯示)的高速存取。系統(tǒng)底板71具有一個(gè)接口,其中8位脈沖編碼調(diào)制(PCM)總線,使得電路板也與底板相互連接。其它類(lèi)型的接口可能也可使用。BERT分析/發(fā)生器72檢查幀的位錯(cuò)誤并且給內(nèi)部CPU62返回該信息的報(bào)告(如果檢測(cè)到十分明顯的錯(cuò)誤,CPU62可以對(duì)成幀器基本單元進(jìn)行某種再配置)。HDLC74將信息嵌入在R/W總線21上的數(shù)據(jù)幀中。所嵌入的數(shù)據(jù)允許設(shè)備(例如,外部主機(jī)和內(nèi)部CPU62)與遠(yuǎn)程CPH交換數(shù)據(jù)。
總線存取映射器14是幀總線19與R/W總線21的接口。例如,總線存取映射器14可進(jìn)行任何需要的數(shù)據(jù)轉(zhuǎn)換和/或緩沖,從而構(gòu)成不同大小的幀總線19和R/W總線21。在這個(gè)實(shí)施例中,在成幀器10的所有總線,包括幀總線19、內(nèi)部總線20、R/W總線21和預(yù)置總線66,都以相同的系統(tǒng)時(shí)鐘進(jìn)行運(yùn)行,在這個(gè)實(shí)施例中將系統(tǒng)時(shí)鐘稱(chēng)之為“SYSCLK”的系統(tǒng)時(shí)鐘。為所有的總線提供單一的系統(tǒng)時(shí)鐘能夠增加系統(tǒng)的穩(wěn)定性和簡(jiǎn)化定時(shí)分析和模擬。通過(guò)接口電路/板,包括底板71,主接口模塊61,和線路/幀引擎22提供了對(duì)外部時(shí)鐘領(lǐng)域的訪問(wèn)。
成幀器10包括一個(gè)高速總線陣列,它可用于在它的基本單元之間傳送數(shù)據(jù)。端口的每個(gè)8-端口組都有一個(gè)總線。如上所述,成幀器10包括幀總線19,內(nèi)部總線20,R/W總線21,和預(yù)設(shè)總線66。如上所述,所有這些總線都以相同的系統(tǒng)時(shí)鐘,SYSCLK進(jìn)行運(yùn)行。這些總線的每一個(gè)可能是一個(gè)或多個(gè)單獨(dú)的總線組成的。
更詳細(xì)的討論,預(yù)置總線66是一個(gè)本地總線,可用于提供對(duì)隨機(jī)存取存儲(chǔ)器(RAM)(未顯示)和狀態(tài)寄存器的訪問(wèn),或者擴(kuò)展到對(duì)其它成幀器10的源的訪問(wèn)。內(nèi)部總線20連接著成幀器10的所有的存儲(chǔ)位置、寄存器和RAM,從外部設(shè)備或內(nèi)部CPU62,并且從而提供對(duì)它們的訪問(wèn)。
幀總線19包括一個(gè)接收(Rx)幀總線(R FramBus),通過(guò)它可接收數(shù)據(jù),和一個(gè)傳送(Tx)幀總線(Tx FramBus),通過(guò)它可發(fā)送數(shù)據(jù)。Fx FrameBus和TxFrameBus可用于與成幀器引擎12通信。例如,線路/幀引擎22可使用幀總線19向HDLC模塊74,警示引擎26,信令引擎24,等等發(fā)送信息。
幀總線19是一個(gè)幀特征總線,其中,諸如時(shí)隙號(hào)和幀號(hào)之類(lèi)的信息卻可用于傳輸數(shù)據(jù)。這個(gè)信息可發(fā)送到總線存取映射器14,其中時(shí)隙可映射成邏輯信道,它能夠?qū)ο嗤亩丝跇?gòu)成一些位或若干時(shí)隙。該邏輯信道由功能部件16連接著R/W總線21。Rx FrameBus攜帶著信息,例如,幀的時(shí)隙號(hào)碼、數(shù)據(jù)、端口模式、端口狀態(tài)、信令信息、和循環(huán)冗余校驗(yàn)(CRC)幀號(hào)碼。Tx FrameBus攜帶有時(shí)隙號(hào)碼、數(shù)據(jù)、端口模式、信令信息、循環(huán)冗余校驗(yàn)(CRC)幀號(hào)碼、以及準(zhǔn)備信號(hào)。
R/W總線21包括一個(gè)寫(xiě)總線(WrBus),可對(duì)它寫(xiě)入數(shù)據(jù),和一個(gè)讀總線(RdBus),可從它讀出數(shù)據(jù)。更詳細(xì)地,WrBus被用來(lái)對(duì)片段緩沖器70寫(xiě)信息。在本實(shí)施例中,WrBus可具有10個(gè)數(shù)據(jù)位(位09)。位0是到達(dá)總線接口的第一個(gè)位。位7是到達(dá)的最后一個(gè)位。位8可用作為T(mén)1F-位和位9可用作為多幀位。多幀位表示為單一端口所指定的多個(gè)幀。也就是,如果對(duì)同一個(gè)端口設(shè)定了數(shù)據(jù)結(jié)構(gòu)30的多個(gè)幀,該多幀位可指示這些幀。
RdBus可用于從片段緩沖器70中讀取數(shù)據(jù)并且發(fā)送和接收功能模塊的信號(hào)信息(信令)。在本實(shí)施例中,RdBus具有10個(gè)數(shù)據(jù)位和8個(gè)信令位來(lái)說(shuō)。對(duì)于信令位,位0到3都是“Stuff”位和位4到7都是數(shù)據(jù)位。Stuff位是填充位,它并不包含內(nèi)在的數(shù)據(jù)。
當(dāng)功能模塊必須對(duì)R/W總線21寫(xiě)時(shí),它就請(qǐng)求WrBus,并將數(shù)據(jù)寫(xiě)入WrBus數(shù)據(jù)還包括了地址信息以指示該數(shù)據(jù)所指定的功能模塊。任何能驅(qū)動(dòng)WrBus的功能模塊都能夠?qū)ψ鳛锽rBus時(shí)機(jī)的任何其它模塊寫(xiě)入。
對(duì)RdBus和WrBus的訪問(wèn)由總線判決器60控制,因此各個(gè)總線傳送器能夠以二個(gè)時(shí)鐘周期來(lái)執(zhí)行。準(zhǔn)備信號(hào)可用于在該總線上要求等待狀態(tài)時(shí),協(xié)調(diào)該數(shù)據(jù)。在R/W總線21上所發(fā)生的總線事務(wù)是以下列時(shí)序發(fā)生的初始化一個(gè)模塊已被準(zhǔn)許請(qǐng)求訪問(wèn)總線周期1設(shè)置地址、命令(Tini)(傳輸啟動(dòng)信號(hào)-見(jiàn)下)和數(shù)據(jù)。如果模塊在當(dāng)前總線周期之后并沒(méi)有請(qǐng)求總線,則該啟動(dòng)程序模塊就不再維持它的請(qǐng)求(REQ)線。
周期2總線判決器60準(zhǔn)許該總線給下一個(gè)請(qǐng)求總線的設(shè)備。如果此模塊保持可請(qǐng)求的總線訪問(wèn),該準(zhǔn)許就交給同一個(gè)模塊。
周期N當(dāng)模塊事務(wù)已完成時(shí),該模塊響應(yīng)進(jìn)入周期維持Trdy(準(zhǔn)備信號(hào)-見(jiàn)下)。在Trdy維持之后,下一個(gè)事務(wù)能夠立即啟動(dòng)。查生成Tini的模塊檢測(cè)到Trdy時(shí)就去除該信號(hào),除非該模塊準(zhǔn)許有下一個(gè)周期并且該模塊要求對(duì)該總線訪問(wèn)。
目標(biāo)程序該目標(biāo)模塊檢測(cè)到當(dāng)前總線周期周期1該目標(biāo)模塊檢測(cè)Tini何時(shí)有效,并且如果目標(biāo)模塊檢測(cè)到在總線上的模塊識(shí)別號(hào)(ID)和它自身的模塊ID相匹配,那么目標(biāo)模塊就在當(dāng)前周期中響應(yīng)。
周期N該目標(biāo)模塊維持Trdy以完成該傳送。如果N等于2,這意味著沒(méi)有等待狀態(tài)插入到該總線。
如果33MHz(兆赫茲)時(shí)鐘頻率用于R/W總線21,并且該總線為8位寬度,那么R/W總線21的最大傳輸速率是每總線16MB/s(每秒兆字節(jié))。
在有兩個(gè)功能模塊(或其他設(shè)備)都試圖同時(shí)訪問(wèn)R/W總線21的情況下,判決器60管理他們的訪問(wèn)。參照?qǐng)D4,顯示了一個(gè)對(duì)于R/W總線21的請(qǐng)求/準(zhǔn)許序列。判決器60確定那一個(gè)請(qǐng)求者控制總線,這將如下所述。
判決器60準(zhǔn)許(GNT)是按照一個(gè)固定的、所有的功能模塊具有相同的優(yōu)先權(quán)的次序給出。判決器60對(duì)該總線順序地分配模塊。一旦一個(gè)準(zhǔn)許分配給了一個(gè)模塊之后,該準(zhǔn)許可在同一個(gè)模塊中維持,直到此模塊停止請(qǐng)求訪問(wèn)該總線或者該模塊被強(qiáng)制地退出它當(dāng)前的操作。
當(dāng)一個(gè)模塊請(qǐng)求訪問(wèn)R/W總線21時(shí),該模塊維持請(qǐng)求(REQ)線。圖4表示二個(gè)請(qǐng)求線REQ1和REQ2。判決器60響應(yīng)于一個(gè)請(qǐng)求且以如下的方式來(lái)準(zhǔn)許該總線。如果當(dāng)前具有總線準(zhǔn)許的一個(gè)模塊停止請(qǐng)求該總線以及沒(méi)有另一個(gè)REQ有效,那么一個(gè)新的GNT就使該模塊具有REQ有效。如果沒(méi)有傳輸在進(jìn)行并且有一個(gè)REQ線有效,那么就可發(fā)布GNT。如果所有的REQ線都是無(wú)效的,那么所有的GNT線也都是無(wú)效的。
如果模塊的GNT線是有效的,則由功能模塊產(chǎn)生傳輸?shù)某跏蓟盘?hào)(Tini),以致傳輸準(zhǔn)備信號(hào)(Trdy)有效的,并且該模塊的REQ線也是有效。反之,Tini保持零(意味著沒(méi)有傳輸初始化)。在檢測(cè)到Trdy有效和它的GNT線有效之后。可產(chǎn)生Tini。采用程度注釋?zhuān)琓ini=1 if(GNT=1 and REQ=1 and Rrdy=1)該REQ線在同一個(gè)總線周期中為非-維持,在此周期中,如果沒(méi)有同一模塊對(duì)該總線的其它請(qǐng)求,則可產(chǎn)生Tini脈沖。反之,該REQ信號(hào)保持有效。如果沒(méi)有傳輸在進(jìn)行,(Tprog=0)并且已經(jīng)接收到的一個(gè)REQ使得一個(gè)GNT線變成為有效,則可由判決器60產(chǎn)生一個(gè)“內(nèi)部”Trdy信號(hào)。在此情況下,可在產(chǎn)生GNT的同一個(gè)總線周期中產(chǎn)生內(nèi)部Trdy信號(hào)。
“傳輸正在進(jìn)行“信號(hào)Tprog,在Tini維持時(shí)也維持著,而在Trdy維持(任何Trdy,甚至一個(gè)內(nèi)部的Trdy)或者檢測(cè)到一個(gè)退出信號(hào)Tabort時(shí)可清除。采用程序注釋?zhuān)琲f(Trdy=1 OR Tabort=1),Then Tprog=0otherwise,Tini=1 then Tprog=1當(dāng)在總線上沒(méi)有Tini或Trdy信號(hào)并且所有的GNT線都為零時(shí),R/W總線21可處于IDLE模式。在一個(gè)IDLE之后的第一個(gè)Trdy信號(hào)可由判決器60產(chǎn)生,以將R/W總線21分配給一個(gè)請(qǐng)求的模塊。于是該Trdy信號(hào)可由不同的模塊16以相鄰的總線周期中(即,不跳過(guò)周期)來(lái)使能反向連接的總線傳輸。
判決器60按以下方式生成退出信號(hào)Tabort。維持在Tini之后15個(gè)時(shí)鐘周期中,如果沒(méi)有其它模塊維持Trdy,那么將假設(shè)沒(méi)有模塊響應(yīng)于訪問(wèn)或者一個(gè)傳輸也沒(méi)有啟動(dòng)。在這個(gè)情況下,就在存在著一種超時(shí)的情景,這是由于周期的這數(shù)量能夠允許即使是慢速模塊的響應(yīng)。當(dāng)一個(gè)模塊正請(qǐng)求R/W總線21時(shí),準(zhǔn)許訪問(wèn),并且如果在維持的Trdy之后的8個(gè)時(shí)鐘周期中該模塊并沒(méi)有啟動(dòng)該周期,就就存在一種超時(shí)。(假設(shè)該模塊不能啟動(dòng)一個(gè)周期并且因此準(zhǔn)許從該模塊去除該準(zhǔn)許。)如果產(chǎn)生了Tabort信號(hào),那么產(chǎn)生該Tabort信號(hào)的模塊就可以使用Tabort作為T(mén)rdy信號(hào)并完成當(dāng)前周期。如果啟動(dòng)程序模塊保持請(qǐng)求該總線,那么啟動(dòng)程序模塊維持總線的控制。
作為例子,在圖4中,各個(gè)總線周期76,77,79等等是由時(shí)鐘脈沖(即80)上升沿觸發(fā)。在時(shí)間81,一個(gè)功能模塊發(fā)出對(duì)R/W總線21的請(qǐng)求(REQ1)。由于沒(méi)有其它模塊已控制R/W總線21,在下一個(gè)周期77,判決器60準(zhǔn)許(GNT1)82該請(qǐng)求(REQ1)。如果在總線上沒(méi)有其它的傳輸,判決器維持Trdy84。在下一個(gè)總線周期79,維持著所有的Trdy,REQ1和GNT1,由功能模塊維持Tini85。判決器60隨后,內(nèi)部將持一個(gè)傳輸(Tprog)86信號(hào),它表示在R/W總線21上存在著當(dāng)前的傳輸。
在時(shí)間87,第二個(gè)功能模塊發(fā)出一個(gè)對(duì)R/W總線21的請(qǐng)求(REQ2)。由于GNT1已經(jīng)被維持著,在下一個(gè)總線周期79,判決器60不再準(zhǔn)許第二個(gè)功能模塊訪問(wèn)R/W總線21。否則,判決器60準(zhǔn)許(GNT2)90第二個(gè)功能模塊訪問(wèn)R/W總線21之前,一直等待GNT1變成低88(周期89)。由于不同的功能模塊正在請(qǐng)求訪問(wèn)(REQ1和REQ2),Tini信號(hào)85保持為高。正如上述情況,在下一個(gè)總線周期,判決器60內(nèi)部保持傳輸(Tprog)91信號(hào),以表示在R/W總線21上存在一個(gè)當(dāng)前傳輸。
整個(gè)的或部分的成幀器10可能以硬件、軟件、或者二者的組合的方式來(lái)實(shí)現(xiàn)。整個(gè)的或部分的成幀器10也可以在可編程機(jī)器上可執(zhí)行的計(jì)算機(jī)程序來(lái)實(shí)現(xiàn),這類(lèi)機(jī)器都包括一個(gè)處理器和一個(gè)處理器可讀取的存儲(chǔ)介質(zhì)(包括易失的和非易失的存儲(chǔ)器和/或存儲(chǔ)單元)。
每個(gè)這樣的程序可以高級(jí)的過(guò)程或者面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言來(lái)實(shí)現(xiàn),以便于與計(jì)算機(jī)系統(tǒng)相通信。然而,該程序也能夠以匯編或機(jī)器語(yǔ)言的形式來(lái)實(shí)現(xiàn)。該語(yǔ)言可以是編譯的或解釋的語(yǔ)言。
各個(gè)計(jì)算機(jī)程序都可以存儲(chǔ)于諸如存儲(chǔ)介質(zhì)的制造廠商的商品中,例如,CD-ROM、硬盤(pán)、或者磁盤(pán),這是通用或?qū)S玫目删幊逃?jì)算機(jī)可讀取的以便于在計(jì)算機(jī)讀取存儲(chǔ)媒介或設(shè)備時(shí)配置和操作該計(jì)算機(jī),以實(shí)現(xiàn)整個(gè)或部分的成幀器10。
由成幀器10基本單元使用的有限狀態(tài)機(jī)的狀態(tài)可以存儲(chǔ)于RAM中,而不是觸發(fā)器或寄存器中。這就可減少對(duì)成幀器10的硬盤(pán)的需求并且增加了它的整體效率。
成幀器10并不局限于以上所描述的實(shí)施例。例如,成幀器并不局限于在圖中所顯示的特殊硬件和軟件。成幀器10并不局限于使用圖2或3所示的數(shù)據(jù)結(jié)構(gòu)。成幀器的并不局限于使用圖4所示的判決方案。成幀器10并不局限于使用E1或T1格式幀。成幀器10也可以采用J1格式幀或任何其它格式的幀。成幀器10可以使用與以上描述的物理總線結(jié)構(gòu)所不同的物理總線結(jié)構(gòu)。
本文未描述的其它實(shí)施例也都在以下權(quán)利要求的范圍之中。
權(quán)利要求
1.一種總線成幀器,它包括引擎,它從通過(guò)一個(gè)時(shí)分多路復(fù)用總線正在傳輸?shù)臄?shù)據(jù)幀中提取信息;和處理器,它通過(guò)內(nèi)部總線從所述引擎中恢復(fù)所述信息并且轉(zhuǎn)發(fā)所述信息。
2.根據(jù)權(quán)利要求1所述的總線成幀器,進(jìn)一步包括映射器,它將時(shí)分多路復(fù)用總線上的數(shù)據(jù)幀映射到讀/寫(xiě)總線;和功能模塊,接收來(lái)自所述讀/寫(xiě)總線的數(shù)據(jù)并且處理所述數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的總線成幀器,其特征在于,所述時(shí)分多路復(fù)用總線、內(nèi)部總線、和讀/寫(xiě)總線都以相同的時(shí)鐘運(yùn)行。
4.根據(jù)權(quán)利要求1所述的總線成幀器,其特征在于,進(jìn)一步包括存儲(chǔ)媒介,用于將信息存儲(chǔ)于數(shù)據(jù)庫(kù);和接口模塊,用于提供與外部設(shè)備的鏈接;其中,所述處理器將信息轉(zhuǎn)發(fā)到至少一個(gè)儲(chǔ)存介質(zhì)和接口模塊。
5.根據(jù)權(quán)利要求1所述的總線成幀器,進(jìn)一步包括幀引擎,它產(chǎn)生幀并將所述幀輸出到時(shí)分多路復(fù)用總線。
6.根據(jù)權(quán)利要求5所述的總線成幀器,其特征在于,所述幀引擎在輸出所述幀之前在存儲(chǔ)器中存儲(chǔ)所述幀,在存儲(chǔ)器中的所述幀包括數(shù)據(jù)結(jié)構(gòu),它具有排列成N行、M列的數(shù)據(jù)塊,其中N和M都是大于1的整數(shù),數(shù)據(jù)塊包括對(duì)應(yīng)于所述數(shù)據(jù)的目標(biāo)端口和時(shí)隙的數(shù)據(jù)。
7.根據(jù)權(quán)利要求1所述的總線成幀器,其特征在于,所述引擎包括(a)從所述幀中提取信令信息的信令引擎,(b)從所述幀中提取警示代碼的警示引擎,(c)從所述幀中提取消息的設(shè)備數(shù)據(jù)鏈接引擎,和(d)從所述幀中提取管理位的管理引擎。
8.根據(jù)權(quán)利要求2所述的總線成幀器,其特征在于,所述功能模塊包括(a)掃描高速總線,(b)片段緩沖器,它臨時(shí)存儲(chǔ)數(shù)據(jù)以調(diào)整在所述總線成幀器時(shí)鐘和外部時(shí)鐘域之間頻率和相位的差異,(c)一個(gè)連接到外部設(shè)備的系統(tǒng)底板,(d)位差錯(cuò)率檢測(cè)發(fā)生器/分析器,和(e)一個(gè)高速數(shù)據(jù)鏈接控制器。
9.根據(jù)權(quán)利要求1所述的總線成幀器,進(jìn)一步包括一個(gè)讀/寫(xiě)總線;多個(gè)功能模塊,它們通過(guò)讀/寫(xiě)總線與引擎通信;和一個(gè)判決器,它管理多個(gè)功能模塊對(duì)讀/寫(xiě)總線的訪問(wèn)。
10.根據(jù)權(quán)利要求9所述的總線成幀器,其特征在于,所述判決器在第一個(gè)總線周期中準(zhǔn)許多個(gè)功能模塊中的第一個(gè)模塊訪問(wèn)所述讀/寫(xiě)總線,并且在第二個(gè)總線周期中準(zhǔn)許多個(gè)功能模塊中的第二個(gè)訪問(wèn)所述讀/寫(xiě)總線,且所述第二個(gè)總線周期緊跟著所述第一個(gè)總線周期。
11.一種方法,它包括利用一個(gè)引擎提取通過(guò)一個(gè)時(shí)分多路復(fù)用總線正在傳輸?shù)臄?shù)據(jù)幀中的信息;和通過(guò)內(nèi)部總線從所述引擎恢復(fù)所述信息,并且轉(zhuǎn)發(fā)所述信息。
12.根據(jù)權(quán)利要求11所述的方法,進(jìn)一步包括將時(shí)分多路復(fù)用總線上的數(shù)據(jù)幀映射到讀/寫(xiě)總線;和通過(guò)讀/寫(xiě)總線,將數(shù)據(jù)幀轉(zhuǎn)發(fā)到處理所述數(shù)據(jù)的功能模塊。
13.根據(jù)權(quán)利要求12所述的方法,其特征在于,所述時(shí)分多路復(fù)用總線、內(nèi)部總線、和所述讀/寫(xiě)總線都以相同的時(shí)鐘運(yùn)行。
14.根據(jù)權(quán)利要求11所述的方法,其特征在于,進(jìn)一步包括將信息存儲(chǔ)到存儲(chǔ)介質(zhì)上的數(shù)據(jù)庫(kù)中;其中,所述信息可轉(zhuǎn)發(fā)到至少一個(gè)存儲(chǔ)介質(zhì)和外部設(shè)備。
15.根據(jù)權(quán)利要求11所述的方法,進(jìn)一步包括產(chǎn)生所述述幀;和將所述幀輸出到所述時(shí)分多路復(fù)用總線。
16.根據(jù)權(quán)利要求15所述的方法,進(jìn)一步包括在輸出所述幀之前,將幀存儲(chǔ)于存儲(chǔ)器中,在存儲(chǔ)器中的所述幀包括一種數(shù)據(jù)結(jié)構(gòu),具有排列成N行、M列的數(shù)據(jù)塊,其中N和M都是大于1的整數(shù),數(shù)據(jù)塊包括對(duì)應(yīng)于所述數(shù)據(jù)的目標(biāo)端口和時(shí)隙的數(shù)據(jù)。
17.根據(jù)權(quán)利要求11所述的方法,其特征在于,所述引擎包括(a)從所述幀中提取信令信息的信令引擎,(b)從所述幀中提取警示代碼的警示引擎,(c)從所述幀中提取消息的設(shè)備數(shù)據(jù)鏈接引擎,和(d)從所述幀中提取管理位的管理引擎。
18.根據(jù)權(quán)利要求12所述的方法,其特征在于,所述功能模塊包括(a)掃描高速總線,(b)片段緩沖器,它臨時(shí)存儲(chǔ)數(shù)據(jù)以調(diào)整在內(nèi)部時(shí)鐘和外部時(shí)鐘域之間頻率和相位的差異,(c)連接到外部設(shè)備的系統(tǒng)底板,(d)位差錯(cuò)率檢測(cè)發(fā)生器/分析器,和(e)高速數(shù)據(jù)鏈接控制器。
19.根據(jù)權(quán)利要求11所述的方法,進(jìn)一步包括管理多個(gè)功能模塊對(duì)一個(gè)讀/寫(xiě)總線的訪問(wèn),并通過(guò)所述總線與所述引擎交換通信。
20.根據(jù)權(quán)利要求19所述的方法,其特征在于,所述管理包括在第一個(gè)總線周期中準(zhǔn)許多個(gè)功能模塊的第一個(gè)模塊訪問(wèn)所述讀/寫(xiě)總線訪問(wèn);和在第二個(gè)總線周期中準(zhǔn)許多個(gè)功能模塊的第二個(gè)模塊訪問(wèn)所述讀/寫(xiě)總線,且所述第二個(gè)總線周期緊跟在所述第一個(gè)總線周期之后。
21.一種商品包括一個(gè)機(jī)器可讀媒介,它存儲(chǔ)著可執(zhí)行指令,所述指令使機(jī)器從通過(guò)時(shí)分多路復(fù)用總線正在傳輸?shù)臄?shù)據(jù)幀中提取信息;和通過(guò)內(nèi)部總線恢復(fù)所述信息并且轉(zhuǎn)發(fā)所述信息。
22.根據(jù)權(quán)利要求21所述的商品,進(jìn)一步包括指令將時(shí)分多路復(fù)用總線上的數(shù)據(jù)幀映射到讀/寫(xiě)總線;和通過(guò)所述讀/寫(xiě)總線將所述數(shù)據(jù)幀轉(zhuǎn)發(fā)到處理所述數(shù)據(jù)的功能模塊。
23.根據(jù)權(quán)利要求22所述的商品,其特征在于,所述時(shí)分多路復(fù)用總線、內(nèi)部總線、和所述讀/寫(xiě)總線都以相同的時(shí)鐘運(yùn)行。
24.根據(jù)權(quán)利要求21所述的商品,其特征在于,進(jìn)一步包括指令將信息存儲(chǔ)到存儲(chǔ)介質(zhì)上的數(shù)據(jù)庫(kù)中;其中,所述信息轉(zhuǎn)發(fā)到至少一個(gè)存儲(chǔ)介質(zhì)和外部設(shè)備。
25.根據(jù)權(quán)利要求21所述的商品,進(jìn)一步包括指令產(chǎn)生所述幀;和將所述幀輸出到所述時(shí)分多路復(fù)用總線。
26.根據(jù)權(quán)利要求25所述的商品,進(jìn)一步包括指令在輸出所述幀之前,在存儲(chǔ)器中存儲(chǔ)所述幀,所述在存儲(chǔ)器中的幀包括一種數(shù)據(jù)結(jié)構(gòu),具有排列成N行、M列的數(shù)據(jù)塊,其中N和M都是大于1的整數(shù),數(shù)據(jù)塊包括對(duì)應(yīng)于所述數(shù)據(jù)的目標(biāo)端口和時(shí)隙的數(shù)據(jù)。
27.根據(jù)權(quán)利要求21所述的商品,其特征在于,所述信息可利用引擎提取,所述引擎包括(a)從所述幀中提取信令信息的信令引擎,(b)從所述幀中提取警示代碼的警示引擎,(c)從所述幀中提取消息的設(shè)備數(shù)據(jù)鏈接引擎,和(d)從所述幀中提取管理位的日常管理引擎。
28.根據(jù)權(quán)利要求22所述的商品,其特征在于,所述功能模塊包括(a)掃描高速總線,(b)片段緩沖器,它臨時(shí)存儲(chǔ)數(shù)據(jù)以調(diào)整在內(nèi)部時(shí)鐘和外部時(shí)鐘域之間頻率和相位的差異,(c)連接到外部設(shè)備的系統(tǒng)底板,(d)位差錯(cuò)率檢測(cè)發(fā)生器/分析器,和(e)高速數(shù)據(jù)鏈接控制器。
29.根據(jù)權(quán)利要求21所述的商品,進(jìn)一步包括指令管理多個(gè)功能模塊對(duì)讀/寫(xiě)總線的訪問(wèn),通過(guò)所述總線與引擎交換通信。
30.根據(jù)權(quán)利要求29所述的商品,其特征在于,所述管理包括在第一個(gè)總線周期中準(zhǔn)許多個(gè)功能模塊的第一個(gè)模塊訪問(wèn)所述讀/寫(xiě)總線;和在第二個(gè)總線周期中準(zhǔn)許多個(gè)功能模塊的第二個(gè)模塊訪問(wèn)所述讀/寫(xiě)總線,且所述第二個(gè)總線周期緊跟在所述第一個(gè)總線周期之后。
全文摘要
一種總線成幀器包括一個(gè)引擎,該引擎從通過(guò)一個(gè)時(shí)分多路復(fù)用總線正傳輸?shù)臄?shù)據(jù)幀中提取信息;和一個(gè)處理器,它通過(guò)內(nèi)部總線恢復(fù)引擎的信息并轉(zhuǎn)發(fā)所述信息??偩€成幀器還包括一個(gè)映射器,它將時(shí)分多路復(fù)用總線上的數(shù)據(jù)映射到一個(gè)讀/寫(xiě)總線和一個(gè)功能模塊,功能模塊可以接受讀/寫(xiě)總線的數(shù)據(jù)。
文檔編號(hào)H04Q11/04GK1568463SQ02820317
公開(kāi)日2005年1月19日 申請(qǐng)日期2002年10月11日 優(yōu)先權(quán)日2001年10月15日
發(fā)明者J·帕羅米諾埃查笛亞, G·莫萊諾弗圖尼 申請(qǐng)人:英特爾公司