專利名稱:用于串行通信總線的數(shù)據(jù)鏈路層設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及串行通信總線上的數(shù)據(jù)通信領(lǐng)域。更具體地,本發(fā)明涉及一種用于這種串行通信總線的數(shù)據(jù)鏈路層設(shè)備。
背景技術(shù):
很長(zhǎng)時(shí)間以來(lái),隨著多媒體的流行,對(duì)消費(fèi)電子產(chǎn)品一側(cè)(HiFi、視頻、音頻)和個(gè)人計(jì)算機(jī)一側(cè)的產(chǎn)品部分的融合進(jìn)行了大量的宣傳,并且實(shí)際上已被兩個(gè)陣營(yíng)的許多制造商加以推行。兩個(gè)產(chǎn)品部分的融合意味著與不同產(chǎn)品部分的設(shè)備之間或一個(gè)產(chǎn)品部分內(nèi)的設(shè)備之間的數(shù)據(jù)交換的主題相關(guān)的工作變得越來(lái)越重要。從已經(jīng)取得良好進(jìn)展的、針對(duì)與此主題有關(guān)的標(biāo)準(zhǔn)化的成就來(lái)看,這也是顯而易見(jiàn)的。具體地,所謂的IEEE 1394串行總線已經(jīng)提供了用于來(lái)自兩個(gè)產(chǎn)品組的終端之間的數(shù)據(jù)交換的、國(guó)際標(biāo)準(zhǔn)化并被廣泛接受的總線。前述標(biāo)準(zhǔn)的準(zhǔn)確命名為針對(duì)高性能串行總線的IEEE 1394標(biāo)準(zhǔn),(IEEE)STD 1394/1995,IEEE紐約,1996年8月。
這里將進(jìn)行描述的本發(fā)明涉及總線管理。此IEEE 1394總線提供了同步數(shù)據(jù)傳送和異步數(shù)據(jù)傳送服務(wù)。在本文中,同步數(shù)據(jù)傳送表示要傳輸?shù)臄?shù)據(jù)有規(guī)律地到達(dá)數(shù)據(jù)源,每次,該數(shù)據(jù)還以近乎相同的尺寸到達(dá)。這種數(shù)據(jù)源的示例為錄像機(jī)或便攜式錄像機(jī)、DVD播放器、如CD播放器或MP3播放器等的音頻設(shè)備等。異步傳送模式用于所有其他數(shù)據(jù)傳送,包括控制命令和配置消息,其并不如在形成視頻流或音頻流的情況下那么關(guān)鍵。
IEEE 1394串行總線規(guī)范包括一系列的標(biāo)準(zhǔn),對(duì)于來(lái)自消費(fèi)電子產(chǎn)品部分的產(chǎn)品尤為重要
-虛擬自由可選總線拓?fù)?例如,鏈、樹(shù)、…),最多63個(gè)終端;-在具有4個(gè)或6個(gè)導(dǎo)體的電纜上的位串行數(shù)據(jù)傳輸,兩個(gè)設(shè)備間的最大距離為4.5米;-目前最大400兆位/秒的傳輸速率;-終端可以在操作期間連接和斷開(kāi)(使用期限插入)。
為了產(chǎn)生IEEE 1394接口,需要利用硬件來(lái)實(shí)現(xiàn)IEEE 1394標(biāo)準(zhǔn)的兩個(gè)層分別是根據(jù)數(shù)據(jù)通信的OSI/IEC-7層參考模型已知的物理層和數(shù)據(jù)鏈路層。通過(guò)物理層管理到總線的連接,同時(shí)在數(shù)據(jù)鏈路層中實(shí)現(xiàn)總線協(xié)議的本質(zhì)部分。由于在1394標(biāo)準(zhǔn)中提供了物理層和數(shù)據(jù)鏈路層之間的電分離(galvanic separation),通常利用分離的IC來(lái)完成上述實(shí)現(xiàn)。
在1394總線的給定配置中,總線管理確??偩€由同步數(shù)據(jù)分組的傳送和異步數(shù)據(jù)分組的傳送以公平的方式共享,這基本上通過(guò)在網(wǎng)絡(luò)中引入所謂的循環(huán)主機(jī)(cycle master)來(lái)實(shí)現(xiàn)。具有主循環(huán)能力的總線節(jié)點(diǎn)將被分配為循環(huán)主機(jī)。該總線節(jié)點(diǎn)通過(guò)以有規(guī)律的時(shí)間間隔傳輸循環(huán)起始分組,向網(wǎng)絡(luò)中的所有總線節(jié)點(diǎn)提供時(shí)間同步。每個(gè)總線節(jié)點(diǎn)在接收到循環(huán)起始分組之后,必須重新同步其時(shí)鐘。為了確保此同步過(guò)程,在每個(gè)總線節(jié)點(diǎn)中,存在正在運(yùn)行的循環(huán)定時(shí)器,以其自身的時(shí)鐘產(chǎn)生本地循環(huán)同步事件。在本地循環(huán)同步事件之后,總線節(jié)點(diǎn)將在做出自身的傳輸請(qǐng)求之前等待循環(huán)起始分組的接收。在接收到循環(huán)起始分組之后,總線節(jié)點(diǎn)將在產(chǎn)生針對(duì)可能已經(jīng)到期的同步數(shù)據(jù)的傳輸請(qǐng)求之前等待較短的同步間隙。已經(jīng)做出同步傳輸請(qǐng)求的每個(gè)節(jié)點(diǎn)將能夠在標(biāo)稱循環(huán)周期內(nèi)訪問(wèn)總線。這通過(guò)也建立在1394標(biāo)準(zhǔn)中的同步資源管理器來(lái)確保。如果同步管理器未占用1394總線的數(shù)據(jù)傳送容量,已經(jīng)做出異步傳輸請(qǐng)求的所有其他節(jié)點(diǎn)可以在被稱為子動(dòng)作間隙的特定時(shí)間過(guò)去之后訪問(wèn)總線。因此,循環(huán)周期的剩余部分專用于異步傳輸。
其中確保同步數(shù)據(jù)傳送容量而針對(duì)異步傳輸保留剩余數(shù)據(jù)傳送容量的上述總線管理過(guò)程具有以下缺點(diǎn)在將IEEE 1394總線用于不需要傳送同步數(shù)據(jù)的設(shè)備間的串行通信的情況下,具有循環(huán)主機(jī)和專用循環(huán)周期的總線管理并不是最有效的。每個(gè)總線節(jié)點(diǎn)不得不在每個(gè)本地循環(huán)同步事件之后等待循環(huán)起始分組的接收,并且其不得不在能夠請(qǐng)求異步傳輸之前等待子動(dòng)作間隙。這在某種程度上是對(duì)時(shí)間的浪費(fèi),即循環(huán)起始分組的傳輸時(shí)間和子動(dòng)作間隙的等待時(shí)間。在每個(gè)循環(huán)周期的這段時(shí)間內(nèi),任何數(shù)據(jù)傳送都不能發(fā)生。
發(fā)明內(nèi)容
本發(fā)明的目的是克服基于循環(huán)周期中的主循環(huán)的IEEE 1394總線中的總線管理的上述缺點(diǎn)。換句話說(shuō),本發(fā)明的目的是公開(kāi)一種更有效地使用串行總線的數(shù)據(jù)傳送容量的改進(jìn)總線管理。
通過(guò)獨(dú)立權(quán)利要求1和3中所列出的措施來(lái)實(shí)現(xiàn)這些和其他目的。根據(jù)權(quán)利要求1,解決方案在于,在用于串行通信總線的數(shù)據(jù)鏈路層設(shè)備中提供配置裝置,利用該裝置,響應(yīng)預(yù)定條件,禁用接續(xù)在本地循環(huán)同步事件之后的循環(huán)起始分組的產(chǎn)生或提交,以便支持無(wú)主循環(huán)傳送模式。
在權(quán)利要求1所述的情況下,所述數(shù)據(jù)鏈路層設(shè)備本身是網(wǎng)絡(luò)中的循環(huán)主機(jī),但在作為循環(huán)主機(jī)之前,此數(shù)據(jù)鏈路層設(shè)備檢查同步資源管理器是否已經(jīng)分配了用于同步數(shù)據(jù)傳送的帶寬。如果并未分配,根據(jù)本發(fā)明的數(shù)據(jù)鏈路層設(shè)備將切換到無(wú)主循環(huán)狀態(tài),并將不再產(chǎn)生循環(huán)起始分組,以便提高數(shù)據(jù)傳送的效率。
獨(dú)立權(quán)利要求3從將集成在總線節(jié)點(diǎn)中的數(shù)據(jù)鏈路層設(shè)備的觀點(diǎn)出發(fā),公開(kāi)了根據(jù)本發(fā)明的另一種解決方案,所述總線節(jié)點(diǎn)或者不具有主循環(huán)能力或者作為循環(huán)從機(jī),即其并不試圖或成功地成為總線中的循環(huán)主機(jī)。對(duì)于這種數(shù)據(jù)鏈路層設(shè)備,其有利地實(shí)現(xiàn)了用于檢查網(wǎng)絡(luò)中是否存在循環(huán)主機(jī)并在不存在循環(huán)主機(jī)時(shí)激活用于切換到無(wú)循環(huán)主機(jī)模式的配置裝置的裝置。在這種模式下,啟用異步傳輸請(qǐng)求的產(chǎn)生,而無(wú)需等待循環(huán)起始分組,并實(shí)現(xiàn)了更快的異步數(shù)據(jù)傳送。
利用這兩種實(shí)現(xiàn)方式,能夠增加網(wǎng)絡(luò)中的數(shù)據(jù)傳送容量。
借助于從屬權(quán)利要求4和5中的措施,對(duì)如權(quán)利要求3所述的數(shù)據(jù)鏈路層設(shè)備的進(jìn)一步改進(jìn)是可能的。對(duì)于如何檢查網(wǎng)絡(luò)中是否存在循環(huán)主機(jī),存在兩種可能性。一種基于對(duì)存儲(chǔ)在數(shù)據(jù)鏈路層設(shè)備的內(nèi)部存儲(chǔ)器中的、來(lái)自網(wǎng)絡(luò)中的所有節(jié)點(diǎn)的自標(biāo)識(shí)分組的評(píng)估。在總線復(fù)位每個(gè)總線節(jié)點(diǎn)之后,即每個(gè)數(shù)據(jù)鏈路層設(shè)備收集總線節(jié)點(diǎn)在總線復(fù)位階段所傳送的全部自標(biāo)識(shí)分組,并將這些分組存儲(chǔ)在其內(nèi)部存儲(chǔ)器中。根據(jù)IEEE 1394標(biāo)準(zhǔn),自標(biāo)識(shí)分組具有以下格式存在表示相應(yīng)節(jié)點(diǎn)是同步資源管理器的競(jìng)爭(zhēng)者的條目。如果任何自表示分組中都未設(shè)置此條目,則可以清楚網(wǎng)絡(luò)上無(wú)人將要傳送同步數(shù)據(jù)分組,因此,每個(gè)數(shù)據(jù)鏈路層設(shè)備可以切換到無(wú)循環(huán)主機(jī)狀態(tài)。
用于檢查網(wǎng)絡(luò)中是否存在循環(huán)主機(jī)的可選解決方案在于,提供用于對(duì)參考時(shí)鐘的時(shí)鐘脈沖進(jìn)行計(jì)數(shù)的第一計(jì)數(shù)器,每次在預(yù)定的計(jì)數(shù)時(shí)間間隔之后,所述計(jì)數(shù)器產(chǎn)生循環(huán)同步事件;用于每次在循環(huán)同步事件之后未接收到循環(huán)起始分組時(shí)遞增的第二計(jì)數(shù)器,以及如果第二計(jì)數(shù)器達(dá)到預(yù)定值,則進(jìn)行向無(wú)循環(huán)主機(jī)傳送模式的切換。
將在附圖中示出本發(fā)明的典型實(shí)施例,并在以下的描述中對(duì)其進(jìn)行更為詳細(xì)的解釋。
在附圖中圖1示出了具有個(gè)人計(jì)算機(jī)、XDSL調(diào)制解調(diào)器、打印機(jī)和數(shù)字照相機(jī)的IEEE 1394總線配置的示例;圖2示出了IEEE 1394接口的簡(jiǎn)單方框圖;圖3示出了IEEE 1394串行總線協(xié)議棧;圖4示出了根據(jù)IEEE 1394總線協(xié)議的循環(huán)結(jié)構(gòu);圖5示出了用于描述循環(huán)主機(jī)傳送模式的簡(jiǎn)化圖;圖6示出了根據(jù)本發(fā)明的無(wú)循環(huán)主機(jī)傳送模式的結(jié)構(gòu);圖7示出了數(shù)據(jù)鏈路層設(shè)備的方框圖;圖8示出了IEEE 1394自標(biāo)識(shí)分組的格式;圖9示出了被配置為循環(huán)從機(jī)的數(shù)據(jù)鏈路層設(shè)備的第一狀態(tài)圖;以及圖10示出了被配置為循環(huán)從機(jī)的數(shù)據(jù)鏈路層設(shè)備的第二狀態(tài)圖。
具體實(shí)施例方式
在圖1中,參考數(shù)字10表示個(gè)人計(jì)算機(jī)。XDSL調(diào)制解調(diào)器11、打印機(jī)12和數(shù)字照相機(jī)13通過(guò)1394線纜與個(gè)人計(jì)算機(jī)10相連。XDSL調(diào)制解調(diào)器11與電話線相連,并通過(guò)此線路訪問(wèn)因特網(wǎng)。個(gè)人計(jì)算機(jī)10需要至少裝備有3端口1394物理層IC,以便能夠處理到外圍設(shè)備11到13的全部連接。如圖1所示的總線配置的特征在于,外圍設(shè)備11到12中沒(méi)有一個(gè)具有傳輸或接收同步數(shù)據(jù)分組的能力的事實(shí)。根據(jù)本實(shí)施例,不能以打印機(jī)、數(shù)字照相機(jī)或XDSL調(diào)制解調(diào)器形成音頻或視頻流。個(gè)人計(jì)算機(jī)10可以具有接收和發(fā)送同步數(shù)據(jù)分組的能力,但在此配置中,其將不使用這種能力,因?yàn)闆](méi)有外圍設(shè)備能夠管理這些同步數(shù)據(jù)分組。因此,1394總線上的所有業(yè)務(wù)將涉及異步傳輸。
圖2示出了IEEE 1394接口的主要結(jié)構(gòu)。需要通過(guò)硬件來(lái)實(shí)現(xiàn)根據(jù)數(shù)據(jù)通信的OSI/ISO參考模型的通信層中的兩個(gè)。分別是物理層和數(shù)據(jù)鏈路層。根據(jù)IEEE 1394標(biāo)準(zhǔn),可以實(shí)現(xiàn)物理層電路和數(shù)據(jù)鏈路層電路之間的電隔離。因此,在圖2中,針對(duì)數(shù)據(jù)鏈路層和物理層,示出了兩個(gè)分離的IC。參考數(shù)字20表示針對(duì)物理層的IC,而參考數(shù)字30表示針對(duì)數(shù)據(jù)鏈路層的IC。物理層IC與1394總線DTx、StrbTx、DRx和StrbRx相連。還示出了物理層IC 20與數(shù)據(jù)鏈路層IC 30之間的連接線路。存在最多8條專用于數(shù)據(jù)位傳送的線路,兩條線路專用于兩個(gè)IC之間的控制,以及存在從鏈路IC到PHY-IC的鏈路請(qǐng)求線路LReq。盡管還有鏈路IC到外部微控制器的連接,但并未列出這些連接的細(xì)節(jié)。還示出了用于向PHY-IC 20傳遞49.512MHz的石英穩(wěn)定時(shí)鐘的時(shí)鐘發(fā)生器14。還將此時(shí)鐘信號(hào)提供給二分頻電路15,其將時(shí)鐘頻率降低到時(shí)鐘發(fā)生器14的一半。將24.576MHz的降低后的時(shí)鐘信號(hào)傳遞給鏈路IC 30。此時(shí)鐘用于遞增鏈路IC 30中的32位循環(huán)定時(shí)器寄存器,稍后將對(duì)其進(jìn)行進(jìn)一步的詳細(xì)解釋。在本發(fā)明的另一實(shí)施例中,將二分頻電路集成在鏈路IC中。
圖3示出了如IEEE 1394總線標(biāo)準(zhǔn)中所示的總線協(xié)議棧。右側(cè)分別示出了物理層20、數(shù)據(jù)鏈路層30和事務(wù)層50。在IEEE 1394總線標(biāo)準(zhǔn)中未對(duì)所有上層進(jìn)行規(guī)定。在圖3的左側(cè),示出了如總線管理器41、同步資源管理器42和節(jié)點(diǎn)控制器43等串行總線管理軟件工具。這些工具主要通過(guò)運(yùn)行在各個(gè)1394總線節(jié)點(diǎn)的微控制器上的軟件來(lái)實(shí)現(xiàn)。將其應(yīng)用于事務(wù)層實(shí)現(xiàn)。只有物理層和數(shù)據(jù)鏈路層通過(guò)硬件來(lái)實(shí)現(xiàn)。物理層20的重要部分是以下組件。仲裁邏輯21、連接器/媒體邏輯22、數(shù)據(jù)重新同步邏輯23、總線初始化邏輯24、用于數(shù)據(jù)選通編碼/解碼的編碼/解碼邏輯25和總線信號(hào)電平產(chǎn)生和解碼邏輯26。對(duì)于不同邏輯的完整細(xì)節(jié)及物理層功能,可以查閱IEEE 1394總線標(biāo)準(zhǔn)本身。
對(duì)于本發(fā)明,更為重要的是數(shù)據(jù)鏈路層協(xié)議30的實(shí)現(xiàn)。圖3示出了三個(gè)分離的組件循環(huán)控制邏輯31、分組接收器23和分組發(fā)射器32。下面,將對(duì)數(shù)據(jù)鏈路層實(shí)現(xiàn)的結(jié)構(gòu)進(jìn)行詳細(xì)解釋。但是,對(duì)于對(duì)本發(fā)明并不重要的鏈路層的所有特征,也可以查閱IEEE 1394總線標(biāo)準(zhǔn)。對(duì)于與其他一個(gè)層交換信息以及如圖3所示的串行總線管理項(xiàng)、多個(gè)請(qǐng)求、配置、指示和寄存器存取消息,這里將不再對(duì)其進(jìn)行詳細(xì)的描述。這些都是標(biāo)準(zhǔn)化消息,也可以查閱1394總線標(biāo)準(zhǔn),以便公開(kāi)這些消息。在1394總線標(biāo)準(zhǔn)中也公開(kāi)了事務(wù)層50的功能性。為了實(shí)現(xiàn)本發(fā)明,不需要對(duì)其進(jìn)行修改。
串行總線協(xié)議還包括串行總線管理,其提供了控制節(jié)點(diǎn)或管理總線資源所需的基本控制功能和標(biāo)準(zhǔn)控制以及狀態(tài)寄存器(CSR)??偩€管理組件只在行使對(duì)整個(gè)總線的管理職責(zé)的單一節(jié)點(diǎn)處有效。在被管理的節(jié)點(diǎn)處(不是總線管理器的所有節(jié)點(diǎn)),串行總線管理僅由節(jié)點(diǎn)控制器組件構(gòu)成。額外的組件,同步資源管理器42,集中分配帶寬和其他同步資源所需的服務(wù)。例如,通過(guò)其中針對(duì)同步資源管理器定義了多個(gè)專用寄存器的軟件裝置來(lái)實(shí)現(xiàn)同步資源管理器42。例如,這些寄存器之一對(duì)應(yīng)于當(dāng)前已經(jīng)為網(wǎng)絡(luò)分配了多少同步帶寬的信息??梢詮臄?shù)據(jù)鏈路層訪問(wèn)這些寄存器。如稍后所述,這將用于實(shí)現(xiàn)本發(fā)明的目的。
如應(yīng)用的組成條款中所述,IEEE 1394總線標(biāo)準(zhǔn)規(guī)定了循環(huán)周期中的數(shù)據(jù)傳送。這種循環(huán)周期如圖4所示?;緜魉湍J奖环Q為受控總線,其中循環(huán)主機(jī)保持網(wǎng)絡(luò)上的公共時(shí)鐘。在線纜環(huán)境中,最高優(yōu)先級(jí)節(jié)點(diǎn)是路由,并且循環(huán)主機(jī)必須是路由。循環(huán)主機(jī)試圖以特定的時(shí)間間隔傳輸循環(huán)起始分組,例如,每隔125μs。如果當(dāng)循環(huán)同步事件發(fā)生時(shí)傳送正在進(jìn)行,則將延遲循環(huán)起始分組,引起了傳送起始定時(shí)的重要抖動(dòng)。由于此抖動(dòng)通常是不被接受的,在分組中將延遲循環(huán)起始分組的時(shí)間量編碼為被廣播到每個(gè)節(jié)點(diǎn)的循環(huán)定時(shí)器寄存器的事務(wù)層四字節(jié)(quadlet)寫(xiě)請(qǐng)求。所有其他節(jié)點(diǎn)可以將其循環(huán)定時(shí)器寄存器條目與此數(shù)值同步。節(jié)點(diǎn)具有32位循環(huán)定時(shí)器寄存器。寄存器的低12位是模余3072計(jì)數(shù),每24.576MHz時(shí)鐘周期遞增一次。接下來(lái)的高13位是8kHz循環(huán)計(jì)數(shù),而最高的7位對(duì)秒進(jìn)行計(jì)數(shù)。當(dāng)循環(huán)定時(shí)器寄存器的低12位從3071繞回到零時(shí),在每個(gè)節(jié)點(diǎn)中產(chǎn)生本地同步事件。這等價(jià)于以125μs為時(shí)間間隔的循環(huán)同步事件。所有不是循環(huán)主機(jī)的節(jié)點(diǎn)響應(yīng)本地循環(huán)同步事件的發(fā)生,在進(jìn)行另一傳輸請(qǐng)求之前等待循環(huán)起始分組。當(dāng)循環(huán)同步事件發(fā)生時(shí),節(jié)點(diǎn)在正在進(jìn)行的數(shù)據(jù)傳輸之后至少等待子動(dòng)作間隙的時(shí)間段。在接收到循環(huán)起始分組之后,其在設(shè)置其自身的同步傳輸請(qǐng)求之前只須等待較短的同步間隙。不具有要傳輸?shù)耐綌?shù)據(jù)的所有節(jié)點(diǎn)在其發(fā)出其自身的同步傳輸請(qǐng)求之前、在最后一個(gè)同步數(shù)據(jù)分組之后等待另一子動(dòng)作間隙。
在圖5中還以簡(jiǎn)化的方式示出了在循環(huán)主機(jī)控制下的數(shù)據(jù)傳送。在圖5的上方,示出了本地循環(huán)同步事件。具有循環(huán)主機(jī)功能的總線節(jié)點(diǎn)等待正在進(jìn)行的數(shù)據(jù)傳送的結(jié)束,然后,在總線上產(chǎn)生并提交循環(huán)起始分組。在從本地循環(huán)同步事件到傳輸循環(huán)起始分組的全部時(shí)間內(nèi),禁止所有的異步傳輸請(qǐng)求和同步傳輸請(qǐng)求。在剛剛接收到循環(huán)起始分組之后的時(shí)間段內(nèi)繼續(xù)禁止異步傳輸請(qǐng)求,以便首先保證同步數(shù)據(jù)傳輸。此時(shí)間段以同步總線業(yè)務(wù)之后、總線上子動(dòng)作間隙的發(fā)生作為結(jié)束。如圖5中的第三和第四線所示。
利用本發(fā)明,將引入新的傳送模式,主要特征在于,在總線上不出現(xiàn)循環(huán)主機(jī)。將在已經(jīng)首先建立了正常傳送模式之后進(jìn)入此傳送模式,在所述正常傳送模式中,已經(jīng)對(duì)定時(shí)器寄存器進(jìn)行了同步。然后,將在已經(jīng)兩次檢測(cè)到在本地循環(huán)同步事件發(fā)生之后未接收到循環(huán)起始分組之后,進(jìn)入無(wú)循環(huán)主機(jī)傳送模式。圖6中的線3示出了在第一循環(huán)周期中,在本地循環(huán)同步事件之后,禁止定制異步傳輸請(qǐng)求。只有在第二個(gè)本地循環(huán)同步事件之后仍未接收到循環(huán)起始分組之后,才啟用異步傳輸請(qǐng)求,并檢測(cè)到無(wú)循環(huán)主機(jī)狀態(tài)。在向無(wú)循環(huán)主機(jī)狀態(tài)切換時(shí),將數(shù)據(jù)鏈路層設(shè)備重新配置為無(wú)循環(huán)主機(jī)傳送模式,其中忽略隨后的本地循環(huán)同步事件,并在整個(gè)循環(huán)周期期間,允許異步傳輸請(qǐng)求。
在圖7中,示出了數(shù)據(jù)鏈路層設(shè)備的主要結(jié)構(gòu)。與前述附圖相同的參考數(shù)字表示相同的組件。此數(shù)據(jù)鏈路層設(shè)備的結(jié)構(gòu)基于來(lái)自Texas Instruments的TSB12LV01A數(shù)據(jù)鏈路層IC的結(jié)構(gòu)。為了公開(kāi)本發(fā)明的目的,可以參照此IC的數(shù)據(jù)表。物理層接口35一方面對(duì)發(fā)射器和接收器32和33進(jìn)行接口,另一方面其還對(duì)物理層芯片進(jìn)行接口,并符合IEEE 1394總線標(biāo)準(zhǔn)的附錄J中所描述的PHY-Link接口規(guī)范。發(fā)射器32獲得來(lái)自內(nèi)部存儲(chǔ)器37的數(shù)據(jù),并創(chuàng)建要通過(guò)PHY接口35傳輸?shù)恼_格式的串行總線分組。
接收器從PHY接口35獲得輸入數(shù)據(jù),并確定輸入數(shù)據(jù)是否尋址于此節(jié)點(diǎn)。如果輸入數(shù)據(jù)尋址于此節(jié)點(diǎn),則在CRC計(jì)算單元34中校驗(yàn)此分組報(bào)頭的CRC。如果報(bào)頭CRC良好,則將報(bào)頭存儲(chǔ)在內(nèi)部存儲(chǔ)器37中。以兩個(gè)傳送FIFO和一個(gè)接收FIFO來(lái)組織內(nèi)部存儲(chǔ)器37。這些FIFO中的每一個(gè)均為四字節(jié)寬。
循環(huán)定時(shí)器31a是32位寄存器。循環(huán)定時(shí)器寄存器由三個(gè)字段構(gòu)成循環(huán)偏移量、循環(huán)計(jì)數(shù)和秒計(jì)數(shù)。如前所述,定時(shí)器的低12位是模余3072計(jì)數(shù)器,每24.576MHz時(shí)鐘周期遞增一次,從而在精確的125μs之后繞回。接下來(lái)的高13位是8,000Hz或125μs周期的計(jì)數(shù),而最高的7位對(duì)秒進(jìn)行計(jì)數(shù)。
循環(huán)監(jiān)視器31b不僅產(chǎn)生本地循環(huán)同步事件,其還監(jiān)控循環(huán)起始分組的接收或傳輸。因此,其利用接收到的循環(huán)起始分組的條目重新同步循環(huán)定時(shí)器。循環(huán)監(jiān)視器檢測(cè)并計(jì)數(shù)本地循環(huán)同步事件之后丟失的循環(huán)起始分組,并如上所述地向無(wú)循環(huán)主機(jī)狀態(tài)切換。
配置寄存器38按照CSR(控制和狀態(tài)寄存器)體系結(jié)構(gòu)的公知方式,控制數(shù)據(jù)鏈路層設(shè)備的操作。主機(jī)總線接口36允許對(duì)主機(jī)處理器的容易連接。
結(jié)合圖6,已經(jīng)對(duì)如何可以將數(shù)據(jù)鏈路層設(shè)備切換到無(wú)循環(huán)主機(jī)傳送模式的第一實(shí)施例進(jìn)行了解釋。能夠按照替代的方式進(jìn)行此切換過(guò)程。此替代的解決方案基于數(shù)據(jù)鏈路層設(shè)備中對(duì)在總線復(fù)位后從所有總線節(jié)點(diǎn)收集到并存儲(chǔ)在其內(nèi)部存儲(chǔ)器中的所有自標(biāo)識(shí)分組的分析。自標(biāo)識(shí)分組的結(jié)構(gòu)如圖8所示。前兩位對(duì)應(yīng)于自標(biāo)識(shí)分組標(biāo)識(shí)符。接下來(lái)的6位涉及此分組的發(fā)送方的物理節(jié)點(diǎn)標(biāo)識(shí)符。如果在此分組的發(fā)送方中出現(xiàn)有效鏈路或事務(wù)層,則置位L位。接下來(lái)的6位對(duì)應(yīng)于間隙計(jì)數(shù)值。2位sp通知了發(fā)送此分組的總線節(jié)點(diǎn)的速度容量。兩位dil通知了最壞情況中繼器數(shù)據(jù)延遲。如果發(fā)送節(jié)點(diǎn)是總線或同步資源管理器的競(jìng)爭(zhēng)者,則置位c位。需要分析的就是這個(gè)位,以便確定能否進(jìn)入無(wú)循環(huán)主機(jī)模式。pwr位通知了節(jié)點(diǎn)的功率消耗和源特性。字段p0、p1、p2的位通知了發(fā)送節(jié)點(diǎn)的端口狀態(tài)。如果發(fā)送節(jié)點(diǎn)已經(jīng)發(fā)起當(dāng)前總線復(fù)位,則置位i位。m位表示另一自標(biāo)識(shí)分組是否將跟隨此節(jié)點(diǎn)。自標(biāo)識(shí)分組#0中的第二個(gè)四字節(jié)是第一個(gè)四字節(jié)的邏輯非,用于誤碼校驗(yàn)的目的。通過(guò)在任一所收集到的自標(biāo)識(shí)分組中評(píng)估c位是否被置位,數(shù)據(jù)鏈路層循環(huán)監(jiān)視器31b能夠發(fā)現(xiàn)是否將發(fā)生同步業(yè)務(wù)。在沒(méi)有自標(biāo)識(shí)分組已經(jīng)置位c位的情況下,其立即清楚網(wǎng)絡(luò)中不存在同步資源管理器,并因而不會(huì)提供同步服務(wù)。結(jié)果,可以進(jìn)行向無(wú)循環(huán)主機(jī)狀態(tài)的立即切換。利用此解決方案,與先前根據(jù)圖6所解釋的解決方案相比,能夠更快地進(jìn)行向無(wú)循環(huán)主機(jī)狀態(tài)的切換。
在隨后的圖9和圖10中還公開(kāi)了兩種替代的解決方案。圖9示出了第一公開(kāi)解決方案的狀態(tài)圖。在數(shù)據(jù)鏈路層設(shè)備的循環(huán)主機(jī)狀態(tài)下,由循環(huán)起始分組檢測(cè)的每個(gè)本地循環(huán)同步事件將計(jì)數(shù)器復(fù)位為數(shù)值零。在檢測(cè)到本地循環(huán)同步事件之后而未接收到循環(huán)起始分組,則將遞增計(jì)數(shù)器。如果計(jì)數(shù)器值已經(jīng)達(dá)到預(yù)定值n,則數(shù)據(jù)鏈路層設(shè)備切換到無(wú)循環(huán)主機(jī)狀態(tài)。如果已經(jīng)檢測(cè)到循環(huán)起始分組,則將離開(kāi)無(wú)循環(huán)主機(jī)狀態(tài),數(shù)據(jù)鏈路層設(shè)備返回循環(huán)主機(jī)狀態(tài)。
在根據(jù)圖10的替代解決方案的狀態(tài)圖中,如結(jié)合圖8所述,如果對(duì)所有自標(biāo)識(shí)分組的評(píng)估已經(jīng)公開(kāi)沒(méi)有已連接總線節(jié)點(diǎn)競(jìng)爭(zhēng)同步資源管理器,其將向無(wú)循環(huán)主機(jī)狀態(tài)切換。同樣,當(dāng)檢測(cè)到循環(huán)起始分組時(shí),將離開(kāi)無(wú)循環(huán)主機(jī)狀態(tài),然后返回循環(huán)主機(jī)狀態(tài)。
所公開(kāi)的兩個(gè)替代解決方案適用于不能用作循環(huán)主機(jī)的總線節(jié)點(diǎn)。對(duì)于如圖1所示的情況,將針對(duì)所有外圍設(shè)備11、12和13。但是,個(gè)人計(jì)算機(jī)10具有循環(huán)主機(jī)能力和同步資源能力。但是,如果在自配置階段之后,其被配置為根、同步資源管理器和循環(huán)主機(jī),則位于個(gè)人計(jì)算機(jī)10中的數(shù)據(jù)鏈路層設(shè)備可以直接進(jìn)入無(wú)循環(huán)主機(jī)狀態(tài)。其僅需要向同步資源管理器發(fā)出請(qǐng)求,請(qǐng)求與同步帶寬分配有關(guān)的信息。這可以由循環(huán)監(jiān)視器31b通過(guò)主機(jī)接口36按照公知的方式進(jìn)行。主機(jī)處理器具有針對(duì)與已分配同步帶寬有關(guān)的信息的軟件寄存器。其將通過(guò)主機(jī)接口36讀取出,以及如果未分配同步帶寬,循環(huán)監(jiān)視器31b可以切換到無(wú)循環(huán)主機(jī)狀態(tài)。
權(quán)利要求
1.一種用于串行通信總線、尤其是IEEE 1394總線的數(shù)據(jù)鏈路層設(shè)備,包括對(duì)物理層單元(20)的接口(35)和對(duì)支持OSI/ISO數(shù)據(jù)通信參考模型的更高層的至少一個(gè)主機(jī)處理器的接口(36),還包括對(duì)參考時(shí)鐘的時(shí)鐘脈沖進(jìn)行計(jì)數(shù)的計(jì)數(shù)器(31a),每次在預(yù)定的計(jì)數(shù)時(shí)間間隔之后,所述計(jì)數(shù)器(31a)產(chǎn)生循環(huán)同步事件,所述循環(huán)同步事件觸發(fā)分組發(fā)射器(32)對(duì)循環(huán)起始分組的產(chǎn)生和提交,以便進(jìn)行總線站點(diǎn)的時(shí)間同步,其特征在于,所述數(shù)據(jù)鏈路層單元還包括配置裝置(31b、38),利用所述配置裝置(31b、38),響應(yīng)預(yù)定條件,禁用接續(xù)在本地循環(huán)同步事件之后的循環(huán)起始分組的產(chǎn)生和提交,以便支持無(wú)循環(huán)主機(jī)傳送模式。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)鏈路層設(shè)備,其特征在于所述配置裝置(31b、38)包括用于從同步資源管理器(42)請(qǐng)求是否已經(jīng)為同步數(shù)據(jù)傳送分配了帶寬的裝置,并且如果未進(jìn)行對(duì)同步數(shù)據(jù)傳送的帶寬分配,則所述配置裝置(31b、38)禁用循環(huán)起始分組的所述產(chǎn)生和提交。
3.一種用于串行通信總線、尤其是IEEE 1394總線的數(shù)據(jù)鏈路層設(shè)備,包括對(duì)物理層單元(20)的接口(35)和對(duì)支持OSI/ISO數(shù)據(jù)通信參考模型的更高層的至少一個(gè)主機(jī)處理器的接口,其特征在于,所述數(shù)據(jù)鏈路設(shè)備還包括裝置(31b),用于檢查網(wǎng)絡(luò)中是否存在循環(huán)主機(jī),并在不存在循環(huán)主機(jī)時(shí)激活配置裝置(38),啟用異步傳輸請(qǐng)求的產(chǎn)生,而無(wú)需等待循環(huán)起始分組和同步數(shù)據(jù)傳送,以便支持無(wú)循環(huán)主機(jī)傳送模式。
4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)鏈路層設(shè)備,其特征在于用于檢查網(wǎng)絡(luò)中是否存在循環(huán)主機(jī)的所述裝置包括存儲(chǔ)器(37),用于存儲(chǔ)來(lái)自網(wǎng)絡(luò)中的所有節(jié)點(diǎn)的自標(biāo)識(shí)分組;以及評(píng)估裝置,用于檢查在所述自標(biāo)識(shí)分組之一中是否找到表示相應(yīng)節(jié)點(diǎn)是同步資源管理器(42)的競(jìng)爭(zhēng)者的條目。
5.根據(jù)權(quán)利要求3所述的數(shù)據(jù)鏈路層設(shè)備,其特征在于用于檢查網(wǎng)絡(luò)中是否存在循環(huán)主機(jī)的所述裝置包括第一計(jì)數(shù)器(31a),用于對(duì)參考時(shí)鐘的時(shí)鐘脈沖進(jìn)行計(jì)數(shù),每次在預(yù)定的計(jì)數(shù)時(shí)間間隔之后,所述計(jì)數(shù)器產(chǎn)生循環(huán)同步事件;以及包括第二計(jì)數(shù)器,每次接續(xù)在循環(huán)同步事件之后未接收到循環(huán)起始分組時(shí),遞增所述第二計(jì)數(shù)器,從而如果所述第二計(jì)數(shù)器達(dá)到預(yù)定值,則激活所述配置裝置。
全文摘要
根據(jù)IEEE 1394總線協(xié)議,將優(yōu)先級(jí)賦予同步數(shù)據(jù)分組。在傳送循環(huán)中,在循環(huán)主機(jī)的控制下,完成數(shù)據(jù)傳送。其依賴于針對(duì)同步數(shù)據(jù)的已分配帶寬,傳送周期中多少傳送容量可用。為了在一個(gè)循環(huán)中管理混合的數(shù)據(jù)傳送,規(guī)定沒(méi)有要傳送的同步數(shù)據(jù)的總線節(jié)點(diǎn)需要與其傳輸請(qǐng)求一起等待,直到以子動(dòng)作間隙表示的、循環(huán)中同步數(shù)據(jù)傳送的結(jié)束為止。本發(fā)明的目的在于提高針對(duì)沒(méi)有總線節(jié)點(diǎn)需要傳送同步數(shù)據(jù)的情況的數(shù)據(jù)傳送效率。根據(jù)本發(fā)明的數(shù)據(jù)鏈路層設(shè)備包括用于檢查是否要傳送同步數(shù)據(jù)并且如果不傳送則切換到無(wú)循環(huán)主機(jī)狀態(tài)的裝置,在所述無(wú)循環(huán)主機(jī)狀態(tài)下,忽略本地循環(huán)同步事件。節(jié)點(diǎn)在發(fā)出異步傳輸請(qǐng)求之前,無(wú)須等待本地循環(huán)事件之后的子動(dòng)作間隙。
文檔編號(hào)H04L29/06GK1663202SQ03814636
公開(kāi)日2005年8月31日 申請(qǐng)日期2003年6月17日 優(yōu)先權(quán)日2002年6月29日
發(fā)明者蒂莫西·海威, 克勞斯·格德克, 西格弗里德·施魏德勒 申請(qǐng)人:湯姆森許可貿(mào)易公司