專利名稱:數(shù)據(jù)傳輸控制裝置及電子設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)傳輸控制裝置及包含該裝置的電子設(shè)備[背景技術(shù)]近年來,一種被稱作IEEE 1394接口標(biāo)準(zhǔn)日益引人注目。該IEEE1394,是將即使對下一代多媒體也能適應(yīng)的高速串行總線接口規(guī)范化后制定的標(biāo)準(zhǔn)。按照該IEEE 1394,即使是動圖象等要求實時性的數(shù)據(jù)也能處理。此外,在IEEE 1394的總線上,不僅可以連接打印機、掃描器、CD-R驅(qū)動器、硬盤驅(qū)動器等計算機的外圍設(shè)備,而且還能連接電視攝像機、VTR、TV等家電產(chǎn)品。因此,期望能夠飛躍地促進電子設(shè)備的數(shù)字化。
在例如“IEEE 1394高性能串行總線概要”(In-terface Apr.1996的1-10頁)、“PC外圍設(shè)備用總線系列標(biāo)準(zhǔn)總覽”(Interface Jam.1997的106~116頁)、“IEEE 1394-1995(Fire Wire)的實時傳輸模式與多媒體對應(yīng)協(xié)議”(Interface Jan.1997的136~140頁)中,公開了上述IEEE 1394概要。此外,作為遵循IEEE 1394的數(shù)據(jù)傳輸控制裝置,已知有得克薩斯儀器公司生產(chǎn)的TSB 12LV31等。
但是,遵循該IEEE 1394數(shù)據(jù)傳輸控制裝置,已判明存在如下課題。
即,按照當(dāng)前的IEEE 1394標(biāo)準(zhǔn),可以實現(xiàn)的最大傳輸速度為400Mbps。但是,在實現(xiàn)中,由于處理開銷的存在,將使整個系統(tǒng)的實際傳輸速度遠低于上述可實現(xiàn)的傳輸速度。就是說,在CPU上運行的固件或應(yīng)用軟件,在準(zhǔn)備發(fā)送數(shù)據(jù)或取入接收數(shù)據(jù)等的處理上需要花費很多時間,因此,即使加快了總線上的傳輸速度,但結(jié)果仍是不能實現(xiàn)高速的數(shù)據(jù)傳輸。
特別是,組裝外圍設(shè)備中的CPU與組裝整個人計算機等主機系統(tǒng)內(nèi)的CPU相比,處理能力低。因此,固件或應(yīng)用軟件的處理開銷問題就更為嚴(yán)重。所以希望有能夠有效地解決上述開銷問題的技術(shù)。
本發(fā)明是鑒于上述技術(shù)課題而開發(fā)的,其目的在于,提供一種可以減少固件或應(yīng)用軟件等的處理開銷并能以小規(guī)模硬件實現(xiàn)高速數(shù)據(jù)傳輸?shù)臄?shù)據(jù)傳輸控制裝置及采用該裝置的電子設(shè)備。
為解決上述課題,本發(fā)明的數(shù)據(jù)傳輸控制袋,用于與總線連接的多個節(jié)點之間的數(shù)據(jù)傳輸,該數(shù)據(jù)傳輸控制裝置的特征在于,包括信息包結(jié)合裝置,在將能隨機存取的存儲裝置分離為用上層寫入信息包的控制信息的控制信息區(qū)和用上層寫入信息包的數(shù)據(jù)的數(shù)據(jù)區(qū)時,從上述存儲裝置的上述控制信息區(qū)讀出信息包的控制信息,從上述存儲裝置的數(shù)據(jù)區(qū)讀出與該控制信息成對的信息包的數(shù)據(jù);提供用以將讀出的信息包傳送到各節(jié)點的服務(wù)的鏈路裝置。
按照本發(fā)明,能隨機存取的存儲裝置分離為控制信息區(qū)和數(shù)據(jù)區(qū)。而且,在控制信息區(qū),借助例如固件等的上層寫入控制信息,在數(shù)據(jù)區(qū),借助例如應(yīng)用軟件或固件等的上層寫入(取入)數(shù)據(jù)。在本發(fā)明中,信息包結(jié)合裝置從控制信息區(qū)讀出控制信息,同時從數(shù)據(jù)區(qū)讀出與該控制信息成對的數(shù)據(jù)并進行結(jié)合。然后,由控制信息和數(shù)據(jù)構(gòu)成幀的信息包通過鏈路裝置傳輸給各節(jié)點。
按照本發(fā)明,上層將控制信息和數(shù)據(jù)寫入存儲裝置,而與發(fā)送信息包的順序無關(guān)。上層能將應(yīng)發(fā)送的信息包的數(shù)據(jù)連續(xù)地寫入數(shù)據(jù)區(qū)。對于使控制信息區(qū)的控制信息與數(shù)據(jù)區(qū)的數(shù)據(jù)結(jié)合構(gòu)成信息包的處理,不必與上層有關(guān)。由上述可知,如按照本發(fā)明,能大大減輕上層的處理負(fù)擔(dān)。
本發(fā)明的特征在于,上述信息包結(jié)合裝置由從上述控制信息區(qū)讀出的控制信息取得用以指示從上述數(shù)據(jù)區(qū)讀出的數(shù)據(jù)地址的數(shù)據(jù)指示字,并利用所取得的數(shù)據(jù)指示字從上述數(shù)據(jù)區(qū)讀出數(shù)據(jù)。如果這樣進行,能在從數(shù)據(jù)區(qū)適當(dāng)?shù)刈x出與控制信息成對的數(shù)據(jù)的同時,可望簡化使控制信息與數(shù)據(jù)結(jié)合構(gòu)成信息包的處理。
本發(fā)明的特征在于,上述信息包結(jié)合裝置利用上述鏈路裝置生成信息包控制信息的差錯檢測信息的期間,從控制信息取得數(shù)據(jù)指示字。按照這樣的處理,能防止在處理時間上產(chǎn)生浪費,可達到處理的高速化。
本發(fā)明的特征在于,上述信息包結(jié)合裝置,在讀出信息包的控制信息后,根據(jù)信息包控制信息中包括的信息包格式識別信息進行判斷時,更新用以指示從上述控制信息區(qū)讀出的控制信息的地址的控制信息指示字,在讀出信息包的數(shù)據(jù)后根據(jù)上述信息包格式識別信息進行判斷時,更新用以指示從上述數(shù)據(jù)區(qū)讀出的數(shù)據(jù)地址的數(shù)據(jù)指示字。如這樣進行處理,則能利用信息包格式識別信息切換控制信息指示字的更新處理和數(shù)據(jù)指示字的更新處理,并使信息包的控制信息與數(shù)據(jù)結(jié)合。因此,能簡化控制信息與數(shù)據(jù)的結(jié)合處理。
本發(fā)明的特征在于包括在對上述數(shù)據(jù)區(qū)進行數(shù)據(jù)取入處理期間生成控制信息并將該控制信息寫入上述控制信息區(qū)的控制信息生成裝置,以及以數(shù)據(jù)的取入和控制信息的寫入處理兩者都完成為條件,命令開始發(fā)送信息包的發(fā)送開始裝置。如這樣進行處理,可使數(shù)據(jù)的取入處理和控制信息的生成及寫入處理同時進行,能謀求處理的高效率。
本發(fā)明是用以在與總線連接的多個節(jié)點間進行數(shù)據(jù)傳輸?shù)臄?shù)據(jù)傳輸控制裝置,其特征在于包括在將可隨機存取的存儲裝置的發(fā)送信息包區(qū)域分離為多個信道的情況下,在存儲在上述多個信道中的信息包中,命令數(shù)據(jù)的取入處理和信息的寫入處理兩者都完成的信息包開始發(fā)送的發(fā)送開始裝置、將已命令開始發(fā)送的信息包從發(fā)送信息包區(qū)域的對應(yīng)的信道讀出的讀出裝置、提供用以將已讀出的信息包傳輸給各節(jié)點的服務(wù)的鏈路裝置。
按照本發(fā)明,存儲裝置的發(fā)送信息包區(qū)域被分離為多個信道。而且,一旦信息包的準(zhǔn)備(數(shù)據(jù)的取入處理及控制信息的生成和寫入處理)完成,發(fā)送開始裝置命令開始發(fā)送時,從對應(yīng)的信道讀出并發(fā)送信息包。因此,按照本發(fā)明,在命令來自一個信道的信息包開始發(fā)送后,不等待該發(fā)送結(jié)束就能準(zhǔn)備其它信道的信息包。其結(jié)果能不浪費處理時間,提高處理效率。
本發(fā)明的特征在于還包括在從上述多個信道中的一個信息發(fā)送信息包的期間指示對其它信道的信息包的數(shù)據(jù)取入的裝置。如這樣進行處理,能將一個信道中的信息包的發(fā)送處理與其它信道中的數(shù)據(jù)的取入處理同時進行。其結(jié)果,在連續(xù)發(fā)送多個信息包時,能大幅度地提高處理效率。
本發(fā)明的特征在于包括以清除數(shù)據(jù)取入中的標(biāo)志為條件,在指示數(shù)據(jù)的寫入的同時設(shè)置該數(shù)據(jù)取入中標(biāo)志,以數(shù)據(jù)取入結(jié)束為條件,清除該數(shù)據(jù)取入中的標(biāo)志的裝置、和以清除發(fā)信中標(biāo)志為條件,在命令開始發(fā)送信息包的同時設(shè)置該發(fā)送中標(biāo)志,以信息包發(fā)送結(jié)束為條件,清除該發(fā)送中標(biāo)志的裝置。通過像這樣使用數(shù)據(jù)取入中標(biāo)志和數(shù)據(jù)發(fā)送中標(biāo)志,能防止在進行一個信道的數(shù)據(jù)取入處理期間進行其它信道的數(shù)據(jù)取入處理,和在進行一個信道的發(fā)送處理期間進行其它信道的發(fā)送處理的情況。而且,能使用一個程序像多任務(wù)那樣執(zhí)行來自多信道的信息包的發(fā)送處理。
本發(fā)明的特征在于,存儲在各信道中的各信息包包括用以使上述信息包相互連結(jié)的連結(jié)指示字,在用上述發(fā)送開始裝置命令1個信道的信息包開始發(fā)送時,上述讀出裝置使用上述連結(jié)指示字,依次連續(xù)讀出其它信道的信息包。如這樣進行處理,由于只命令一個信道的信息包開始發(fā)送,其它信道的信息包連續(xù)依次讀出后發(fā)送,所以能大大減輕固件等的上層的處理負(fù)擔(dān)。
本發(fā)明的特征在于還包括將從信息包傳輸端返回的確認(rèn)信息寫回發(fā)送信息包區(qū)域的多個信道中該信息包發(fā)送單元的信道中的寫回裝置。如這樣處理,能使發(fā)送信息包與從該傳輸端返回的確認(rèn)信息一一對應(yīng)。因此,固件等的上層能容易地識別哪個確認(rèn)信息與哪個信息包對應(yīng)。
本發(fā)明是用以在與總線連接的多個節(jié)點之間進行數(shù)據(jù)傳輸?shù)臄?shù)據(jù)傳輸控制裝置,其特征在于包括讀出在存儲裝置寫入的信息包的讀出裝置、提供用以將所讀出的信息包傳輸?shù)礁鞴?jié)點的服務(wù)的鏈路裝置、只存儲能連續(xù)傳輸從信息包的傳輸端返回的確認(rèn)信息的信息包數(shù)以上的個數(shù)而無須確已返回的確認(rèn)信息的裝置。如這樣處理,則固件等的上層無須確認(rèn)返回的確認(rèn)信息就能命令源源不斷地開始發(fā)送信息包。其結(jié)果能提高處理效率。
本發(fā)明是用以在與總線連接的多個節(jié)點之間進行數(shù)據(jù)傳輸?shù)臄?shù)據(jù)傳輸控制裝置,其特征在于包括設(shè)定反復(fù)發(fā)送次數(shù)信息的裝置、生成基本控制信息的控制信息生成裝置、命令開始發(fā)送信息包的發(fā)送開始裝置、在命令開始發(fā)送信息包時,通過改寫上述基本控制信息,依次生成與連續(xù)傳輸?shù)男畔臄?shù)據(jù)成對的控制信息的控制信息改寫裝置、連續(xù)傳輸由數(shù)據(jù)和依次生成的控制信息構(gòu)成幀的信息包、直到反復(fù)發(fā)送次數(shù)信息達到所規(guī)定的值為止的裝置。
按照本發(fā)明,一旦設(shè)定反復(fù)發(fā)送次數(shù)信息同時生成基本控制信息并命令開始發(fā)送時,就自動地從基本控制信息生成控制信息,連續(xù)傳輸信息包直到反復(fù)發(fā)送次數(shù)信息成為規(guī)定值(例如0)為止。因此,不增加固件的處理負(fù)擔(dān),就能連續(xù)傳輸多個信息包并將所要求的尺寸數(shù)據(jù)傳輸?shù)狡渌?jié)點。
在本發(fā)明中,上述基本控制信息包括上述反復(fù)發(fā)送次數(shù)信息、用以指示從可隨機存取的存儲裝置的數(shù)據(jù)區(qū)讀出的數(shù)據(jù)地址的數(shù)據(jù)指示字、事務(wù)處理識別信息,上述控制信息改寫裝置改寫上述反復(fù)發(fā)送次數(shù)信息、上述數(shù)據(jù)指示字、和上述事務(wù)處理識別信息,這是所希望的。
本發(fā)明的特征在于包括與后級的應(yīng)用連接的第1總線、控制該數(shù)據(jù)傳輸控制裝置的第2總線、與物理層的設(shè)備電連接的第3總線、與上述存儲裝置電連接的第4總線、在上述第1、第2、第3總線中任一個與第4總線之間進行用以確立數(shù)據(jù)路徑的協(xié)調(diào)的協(xié)調(diào)裝置。
按照本發(fā)明,設(shè)置彼此分離的第1、第2、第3總線。然后通過協(xié)調(diào)裝置的協(xié)調(diào),在上述第1、第2、第3總線的任一條與能隨機存取的存儲裝置的第4總線之間確立數(shù)據(jù)路徑。通過這樣的處理,能將從其它節(jié)點經(jīng)物理層設(shè)備接收的信息包用所希望的配置存儲到存儲裝置。信息包控制信息的讀出和寫入用第2總線進行,信息包數(shù)據(jù)的讀出和寫入可用第1總線進行。因此,能減輕事務(wù)處理層和應(yīng)用層等上層的處理負(fù)擔(dān)。采用低速總線作為第1、第2總線,采用低速廉價的設(shè)備作為控制數(shù)據(jù)傳輸控制裝置的設(shè)備。其結(jié)果,能謀求數(shù)據(jù)傳輸控制裝置的小規(guī)模化和低成本化。
第1、第2、第3、第4總線可以至少與用以控制各應(yīng)用裝置、數(shù)據(jù)傳輸控制裝置的設(shè)備、物理層設(shè)備、RAM電連接,在這些總線上也可以插有其它設(shè)備。
在本發(fā)明中希望進行依據(jù)IEEE 1394標(biāo)準(zhǔn)的數(shù)據(jù)傳輸。
本發(fā)明的電子設(shè)備的特征在于包括上述任一種數(shù)據(jù)傳輸控制裝置、通過上述數(shù)據(jù)傳輸控制裝置和總線,對從其它節(jié)點接收的數(shù)據(jù)進行規(guī)定的處理的裝置、用以輸出和存儲進行了處理的數(shù)據(jù)的裝置。本發(fā)明的電子設(shè)備還包括上述任一種數(shù)據(jù)傳輸控制裝置、對通過上述數(shù)據(jù)傳輸控制裝置和總線向其它節(jié)點發(fā)送的數(shù)據(jù)進行規(guī)定處理的裝置、用以取入進行了處理的數(shù)據(jù)的裝置。
按照本發(fā)明,能使在電子設(shè)備中輸出并存儲從其它節(jié)點傳輸來的數(shù)據(jù)的處理、在電子設(shè)備中將取入的數(shù)據(jù)傳輸給其它節(jié)點的處理高速化。此外,按照本發(fā)明,由于在使數(shù)據(jù)傳輸控制裝置小規(guī)模化的同時,能減輕用以控制數(shù)據(jù)傳輸?shù)墓碳鹊奶幚碡?fù)擔(dān),從而能謀求電子設(shè)備的低成本化、小規(guī)模化等。
圖1A、圖1B、圖1C是用以說明非同步傳輸和同步傳輸?shù)膱D。
圖2A、圖2B是用以說明樹識別的圖。
圖3是用以說明自識別的圖。
圖4A、圖4B、圖4C、圖4D是表示自ID信息包等的物理層的信息包的格式的圖。
圖5是表示IEEE 1394的協(xié)議結(jié)構(gòu)的圖。
圖6是表示本實施形態(tài)的數(shù)據(jù)傳輸控制裝置的結(jié)構(gòu)例的圖。
圖7是用以說明首部(控制信息)區(qū)與數(shù)據(jù)區(qū)分離的圖。
圖8是表示本實施形態(tài)的比較例的結(jié)構(gòu)例的圖。
圖9是用以說明圖8的結(jié)構(gòu)的數(shù)據(jù)傳輸方法的圖。
圖10是用以說明數(shù)據(jù)傳輸方法的其它例的圖。
圖11是用以說明本實施例的數(shù)據(jù)傳輸方法的圖。
圖12是用以說明使存儲在首部區(qū)的首部與存儲在數(shù)據(jù)區(qū)的數(shù)據(jù)相結(jié)合建立發(fā)送信息包的方法的圖。
圖13是用以說明從由RAM讀出的首部取得數(shù)據(jù)指示字,使用所取得的數(shù)據(jù)指示字,將信息包的首部與數(shù)據(jù)結(jié)合的方法的圖。
圖14是用以說明在存儲在首部區(qū)的首部中包括數(shù)據(jù)指示字的方法的圖。
圖15A、圖15B是說明在數(shù)據(jù)的取入處理期間進行首部的生成和寫入處理的方法的圖。
圖16A、圖16B是說明圖15A圖15B情況下的固件處理的流程圖。
圖17是說明可變地控制RAM各區(qū)的尺寸的方法的圖。
圖18A、圖18B是說明將發(fā)送信息包區(qū)域分離為多個信道的方法的圖。
圖19是說明將發(fā)送信息包區(qū)域分離為多個信道時的固件處理的圖。
圖20A、圖20B是說明將發(fā)送信息包區(qū)域分離為多個信道時的固件處理的流程圖。
圖21A、圖21B也是說明將發(fā)送信息包區(qū)域分離為多個信道時的固件處理的流程圖。
圖22A、圖22B、圖22C、圖22D是說明使用連結(jié)指示字的方法的圖。
圖23A、圖23B、圖23C是說明將ACK碼寫回信息包發(fā)送單元的信道的方法的圖。
圖24A、圖24B是說明改寫基本首部并連續(xù)傳輸信息包的方法的圖。
圖25A、圖25B是說明改寫基本首部并連續(xù)傳輸信息包的方法的優(yōu)點的圖。
圖26是說明改寫基本首部并連續(xù)傳輸信息包時的固件處理的流程圖。
圖27是表示發(fā)送側(cè)的結(jié)構(gòu)一例的圖。
圖28是說明發(fā)送側(cè)的工作的定時波形圖。
圖29A是IEEE 1394標(biāo)準(zhǔn)的非同步信息包的格式、圖29B是存儲在RAM的首部區(qū)域的非同步發(fā)送信息包的首部部分的格式。
圖30A、圖30B是說明首部指示字與數(shù)據(jù)指示字的更新的圖。
圖31A、圖31B、圖31C是各種電子設(shè)備的內(nèi)部框圖的例子。
圖32A、圖32B、圖32C是各種電子設(shè)備的外觀圖。下面用附圖詳細說明本發(fā)明的最佳實施形態(tài)。1.IEEE 1394首先對IEEE 1394的概要進行簡單說明。1.1.?dāng)?shù)據(jù)傳輸速度,連接拓?fù)浣Y(jié)構(gòu)在IEEE 1394(IEEE 1394-1995、P1394.a(chǎn))中能進行100~400MbPs的高速數(shù)據(jù)傳輸(在P1394.b中是800~3200MbPs)。此外也允許將傳輸速度不同的節(jié)點與總線連接。
各節(jié)點連接成樹形,在一個總線上最多可連接63個接點。如利用總線橋,則連接64000個節(jié)點也是可能的。
當(dāng)接通電源或帶電插撥設(shè)備時將發(fā)生總線復(fù)位,并將與連接拓?fù)浣Y(jié)構(gòu)有關(guān)的信息全部刪除。并且在總線復(fù)位后進行樹識別(決定根節(jié)點)、自識別。然后,決定同步資源管理器、循環(huán)主控裝置、總線管理器等管理節(jié)點。而且開始通常的信息包傳輸。1.2傳輸方式在IEEE 1394中作為信息包的傳輸方式,準(zhǔn)備適于要求可靠性的數(shù)據(jù)傳輸?shù)姆峭絺鬏敿斑m用要求實時性的動圖象和聲音等數(shù)據(jù)傳輸?shù)耐捷敗?br>
在圖1A中,示出非同步子動作的例,一個子動作,由協(xié)調(diào)、信息包傳輸、確認(rèn)構(gòu)成,即在傳輸數(shù)據(jù)之前,首先進行與總線使用權(quán)有關(guān)的協(xié)調(diào)處理。然后,從源(傳輸源)節(jié)點向目標(biāo)(傳輸目標(biāo))節(jié)點傳輸信息包。在該信息包的首部中,包括源ID及目標(biāo)ID。目標(biāo)節(jié)點通過讀該目標(biāo)ID,判斷是否是向自身節(jié)點傳輸?shù)男畔?。目?biāo)接點,在接收信息包后,向源節(jié)點返送一個確認(rèn)(ACK)信息包。
在信息包傳輸與ACK之間存在著確認(rèn)間隔。此外,在一個子動作與下一個子動作之間存在著子動作間隔。并且,如尚未經(jīng)過與子動作間隔相當(dāng)?shù)囊欢ǖ目偩€空閑時間,則不能開始下一個子動作的協(xié)調(diào)處理。因此,可以避免子動作的相互沖突。
在圖1B中,示出同步子動作的例。由于同步傳輸在廣播(對連接于總線的所有節(jié)點傳輸)中執(zhí)行,所以在接收信息包時不必返送ACK。此外,在同步傳輸中,不是使用節(jié)點ID而是信道編號進行信息包傳輸。在子動作之間存在著同步間隔。
在圖1C中,示出傳輸數(shù)據(jù)時的總線狀態(tài)。同步傳輸,通過由循環(huán)主控裝置按一定周期生成周期起始信息包開始。因此,每一個信道至少可以在每125μS內(nèi)傳輸一個信息包。其結(jié)果是,可以進行動圖象和聲音等要求實時性的數(shù)據(jù)傳輸。
非同步傳輸,在同步傳輸?shù)拈g隔中進行,即,同步傳輸?shù)膬?yōu)先級高于非同步傳輸。如圖1C所示,其實現(xiàn)方式為,使同步間隔的時間比非同步傳輸?shù)淖觿幼鏖g隔的時間短。1.3樹識別樹識別在總線復(fù)位后進行。通過樹識別決定節(jié)點間的母子關(guān)系及根節(jié)點。
首先,葉節(jié)點(只與一個節(jié)點連接的節(jié)點),將母代通知發(fā)送到鄰接的節(jié)點。例如,如圖2A所示,當(dāng)連接著節(jié)點A、B、C、D、E時,從節(jié)點A向節(jié)點B、從節(jié)點D和E向節(jié)點C發(fā)送母代通知(PN)。
收到母代通知的節(jié)點,將發(fā)送源的節(jié)點認(rèn)作自己的子節(jié)點。然后,其子節(jié)點發(fā)送子代通知。例如,在圖2A中,從節(jié)點B向節(jié)點A、從節(jié)點C向節(jié)點D和E發(fā)送子代通知(CN),按這種方式,決定節(jié)點B、A之間、節(jié)點C、D之間、節(jié)點C、E之間的母子關(guān)系。
節(jié)點B、C之間的母子關(guān)系,由哪一個先發(fā)送母代通知決定。例如,如圖2B所示,節(jié)點C一方先發(fā)送母代通知,所以,節(jié)點B為母節(jié)點,而節(jié)點C為子節(jié)點。
端口連接目標(biāo)的所有節(jié)點都是自己的子節(jié)點的節(jié)點,是根節(jié)點。在圖2B中,節(jié)點B為根。在IEEE 1394中,所有節(jié)點都有可能成為根。1.4自識別在樹識別后,進行自識別。在自識別中,在連接拓?fù)浣Y(jié)構(gòu)上從離根節(jié)點遠的節(jié)點起按順序傳輸自ID信息包。
更具體地說,例如,如圖3所示,首先,由連接于根節(jié)點B的端口1(編號小的端口)的節(jié)點A向所有節(jié)點播送自ID信息包(自識別信息包)。
然后,選擇與節(jié)點B的端口2(編號大的端口)連接的節(jié)點C,并由連接于該節(jié)點C的端口1(編號小的端口)的節(jié)點D播送自ID信息包。接著,由連接于該節(jié)點C的端口2(編號大的端口)的節(jié)點E播送自ID信息包,在這之后,由節(jié)點C進行播送。最后,由作為根的節(jié)點B播送自ID信息包,并完成自識別。
在自ID信息包內(nèi)包含著各節(jié)點的ID。在進行廣播的時刻從其他節(jié)點接收的自ID信息包的個數(shù),用作該各節(jié)點的ID。例如,在圖3中,在節(jié)點A進行廣播的時刻,哪一個節(jié)點都沒有發(fā)出自ID信息包,所以節(jié)點A的ID為0。節(jié)點A,在自ID信息包內(nèi)包含該ID=0而進行播送。在節(jié)點D進行廣播的時刻,只有節(jié)點A發(fā)出自ID信息包。因此,節(jié)點D的ID為1。同樣,節(jié)點E、C、B的ID,分別為2、3、4。
在圖4A中,示出自ID信息包的格式。如該圖所示,在自ID信息包內(nèi)包含各節(jié)點的基本信息。具體地說,包含著與各節(jié)點的ID(PHY_ID)、鏈路層是否變?yōu)榧せ顮顟B(tài)(L)、間隔計數(shù)(gap_cnt)、傳輸速度(sp)、是否具有成為同步資源管理器的能力(C)、電力狀態(tài)(pwr)、端口狀態(tài)(p0、p1、p2)等有關(guān)的信息。
在圖4B中,示出當(dāng)節(jié)點的端口數(shù)為4個以上時使用的自ID信息包#1、#2、#3的格式。當(dāng)端口數(shù)為4~11個時,可使用自ID信息包#0(圖4A)和#1,12~19個時可使用自ID信息包#0、#1、#2,20-27個時可使用自ID信息包#0、#1、#2和#3。
另外,在圖4C、圖4D中,與自ID信息包一樣,示出作為物理層信息包(PHY信息包)的鏈路接通信息包、PHY結(jié)構(gòu)信息包的格式。1.5同步資源管理器同步資源管理器(IRM)具有以下的功能。
第1,提供同步傳輸所需要的各種資源。例如,提供信道編號寄存器或帶寬寄存器。第2,提供指示總線管理器的ID的寄存器。第3,當(dāng)沒有總線管理器時,具有用作簡易的總線管理器的作用。
在具有成為IRM的能力(具有管理同步資源的能力)、且進入動作狀態(tài)(鏈路層變?yōu)榧せ顮顟B(tài))的節(jié)點中(在具有成為IRM的資格的節(jié)點中),使最靠近根的(ID最大的)節(jié)點成為IRM。更具體地說,在圖4A的自ID信息包中,在指示是否具有成為IRMR能力的C(CONTENDER)位及指示鏈路層是否激活的L(LINK_ACTIVE)位都是1的節(jié)點中,使最靠近根的節(jié)點(PHY_ID最大的節(jié)點)成為IRM。例如,當(dāng)根節(jié)點的自ID信息包的C位及L位為1時,根節(jié)點成為IRM。1.6循環(huán)主控裝置、總線管理器循環(huán)主控裝置,具有發(fā)送圖1C中示出的周期起始信息包的作用,并使根節(jié)點為循環(huán)主控裝置。
總線管理器,進行拓?fù)鋱D(各節(jié)點的連接狀態(tài))的生成、速度圖的生成、總線的電力管理、循環(huán)主控裝置的決定、間隔計數(shù)的最佳化等工作。1.7協(xié)議結(jié)構(gòu)用圖5說明IEEE 1394的協(xié)議結(jié)構(gòu)(層結(jié)構(gòu))。
IEEE 1394的協(xié)議,由物理層、鏈路層、事務(wù)處理層構(gòu)成。另外,串行總線管理,對物理層、鏈路層、事務(wù)處理層進行監(jiān)視或控制,并提供用于節(jié)點控制和總線資源管理的各種功能。
物理層、定義將由鏈路層使用的邏輯符號變換為電信號或進行總線協(xié)調(diào)的總線物理接口。
鏈路層,提供尋址、數(shù)據(jù)檢驗、數(shù)據(jù)成幀、循環(huán)控制等。
事務(wù)處理層,定義用于進行讀、寫、鎖定等事務(wù)處理的協(xié)議。
物理層和鏈路層,通常由數(shù)據(jù)傳輸控制裝置(接口芯片)等硬件實現(xiàn)。而事務(wù)處理層,則由在CPU上運行的固件或硬件實現(xiàn)。2.總體結(jié)構(gòu)以下,用圖6說明本實施形態(tài)的總體結(jié)構(gòu)。
在圖6中,PHY接口10,是與實現(xiàn)物理層協(xié)議的PHY芯片進行接口的電路。
鏈路核心20(鏈接裝置),是實現(xiàn)鏈路層協(xié)議及事務(wù)處理層協(xié)議的一部分的電路,提供用于各節(jié)點間的信息包傳輸?shù)母鞣N服務(wù)。寄存器22,是用于控制實現(xiàn)這些協(xié)議的鏈路核心20的寄存器。
FIFO(ATF)30、FIFO(ITF)32、FIFO(RF)34,分別為非同步發(fā)送用、同步發(fā)送用、接收用的FIFO,例如,由寄存器或半導(dǎo)體存儲器等硬件構(gòu)成。在本實施形態(tài)中,這些FIFO30、32、34的級數(shù)非常少。例如,一個FIFO的級數(shù),最好為3級以下,而2級以下更為理想。
DMAC40、42、44,分別為ATF、ITF、RF用的DMA控制器。通過使用這些DMAC40、42、44,可以在RAM80與鏈路核心20之間進行數(shù)據(jù)傳輸,而無需使CPU66介入。寄存器46,是控制DMAC40、42、44等的寄存器。
端口接口50,是與應(yīng)用層設(shè)備(例如進行打印機的打印處理的設(shè)備)進行接口的電路。在本實施形態(tài)中,通過使用該端口接口50,可以進行例如8位的數(shù)據(jù)傳輸。
FIFO(RF)52,是用于進行與應(yīng)用層設(shè)備之間的數(shù)據(jù)傳輸?shù)腇IFO,DMAC54,是RF用的DMA控制器。寄存器56,是控制端口接口50及DMAC54的寄存器。
CPU接口60,是與控制數(shù)據(jù)傳輸控制裝置的CPU66進行接口的電路。CPU接口60,包括地址譯碼器62、數(shù)據(jù)同步化電路63、中斷控制器64。時鐘控制電路68,用于控制本實施形態(tài)中使用的時鐘,輸入從PHY芯片發(fā)送來的SCLK及作為主時鐘的HCLK。
緩沖管理器70,是管理與RAM80的接口的電路。緩沖管理器70,包括用于控制緩沖管理器的寄存器72、協(xié)調(diào)與RAM80的總線連接的協(xié)調(diào)電路74、生成各種控制信號的定序器76。
RAM80,具有作為可隨機存取的存儲裝置的功能,其功能例如由SRAM、DRAM等實現(xiàn)。而且,在本實施形態(tài)中,如圖7所示,該RAM80被分離為首部區(qū)域(廣義地說,為控制信息區(qū)域)及數(shù)據(jù)區(qū)域。因此,可將信息包的首部(廣義地說,為控制信息)存儲在圖7的首部區(qū)域內(nèi),并將信息包的數(shù)據(jù)存儲在數(shù)據(jù)區(qū)域內(nèi)。
另外,RAM80,如安裝在本實施形態(tài)的數(shù)據(jù)傳輸控制裝置內(nèi),則尤為理想,但也可以將其一部分或全部安裝在外部。
總線90(或總線92、94),是與應(yīng)用系統(tǒng)連接的總線(第1總線)。而總線96(或總線98),用于控制數(shù)據(jù)傳輸控制裝置,是與控制數(shù)據(jù)傳輸控制裝置的設(shè)備(例如CPU)電氣連接的總線(第2總線);此外,總線100(或總線102、104、105、106、107、108、109),是與物理層設(shè)備(例如PHY芯片)電氣連接的總線(第3總線)。另外,總線110,是與作為可隨機存取的存儲裝置的RAM電氣連接的總線(第4總線)。
緩沖管理器70的協(xié)調(diào)電路74,用于對來自DMAC40、DMAC42、DMAC44、CPU接口60、DMAC54的總線訪問請求進行協(xié)調(diào)。然后,根據(jù)其協(xié)調(diào)結(jié)果,分別在總線105、107、109、98、94中的任何一個與RAM180的總線110之間確立數(shù)據(jù)路徑(在第1、第2、第3總線的任一條與第4總線之間確立數(shù)據(jù)路徑)。
本實施形態(tài)的一個特征在于,設(shè)有存儲信息包的可隨機存取的RAM80,同時設(shè)有彼此分離的總線90、96、100及用于將這些總線與RAM80的總線110連接的協(xié)調(diào)電路74。
例如,如圖8中示出結(jié)構(gòu)與本實施形態(tài)不同的數(shù)據(jù)傳輸控制裝置的例。在該數(shù)據(jù)傳輸控制裝置中,鏈路核心902,通過PHY接口900、總線922與PHY芯片連接。此外,鏈路核心902,還通過FIF0904、906、908、CPU接口910、總線920與CPU912連接。而CPU912,則通過總線924與作為CPU內(nèi)的本機存儲器的RAM914連接。
FIFO904、906、908,與圖6的FIF030、32、34不同,其級數(shù)非常多(例如一個FIFO為16級左右)。
用圖9說明采用結(jié)構(gòu)如圖8所示的數(shù)據(jù)傳輸控制裝置時的數(shù)據(jù)傳輸方法。從其他節(jié)點通過PHY芯片930傳送到的接收信息包,由CPU912通過總線922、數(shù)據(jù)傳輸控制裝置932、總線920接收。接著,CPU912,將所收到的接受信息包通過總線924寫入RAM914。然后,CPU912,對接收信息包進行加工,以便使應(yīng)用層可以使用,并通過總線926傳輸?shù)綉?yīng)用層的設(shè)備934。
另一方面,當(dāng)傳輸來自應(yīng)用層設(shè)備934的數(shù)據(jù)時,CPU912,將該數(shù)據(jù)寫入RAM914。接著,通過將首部附加于RAM914的數(shù)據(jù)而生成遵循了IEEE 1394的信息包。然后,將所生成的信息包通過數(shù)據(jù)傳輸控制裝置932、PHY芯片930等發(fā)送到其他節(jié)點。
但是,如按照這種數(shù)據(jù)傳方法,則CPU912的處理負(fù)荷將非常繁重。因此,即使提高在節(jié)點間進行連接的串行總線的傳輸速度,也將由于CPU912的處理開銷等而使整個系統(tǒng)的實際傳輸速度降低,其結(jié)果是不能實現(xiàn)高速的數(shù)據(jù)傳輸。
作為解決上述問題的一種方法,如圖10所示,也可以考慮利用硬件DMA實現(xiàn)數(shù)據(jù)傳輸控制裝置932與RAM914之間的數(shù)據(jù)傳輸、及RAM914與應(yīng)用層設(shè)備934之間的數(shù)據(jù)傳輸?shù)姆椒ā?br>
但是,在這種方法中,在數(shù)據(jù)傳輸控制裝置932與RAM914之間的數(shù)據(jù)傳輸、RAM914與CPU912之間的數(shù)據(jù)傳輸、RAM914與應(yīng)用層設(shè)備934之間的數(shù)據(jù)傳輸中都要使用CPU總線928。因此,假如要實現(xiàn)整個系統(tǒng)的數(shù)據(jù)傳輸?shù)母咚倩?,那么,作為CPU總線928就必須使用像PCI總線那樣的高速總線,因此這將導(dǎo)致使用數(shù)據(jù)傳輸控制裝置的電子設(shè)備的成本提高。
與此不同,在本實施形態(tài)中,如圖11所示,使數(shù)據(jù)傳輸控制裝置120與應(yīng)用層設(shè)備124之間的總線90、CPU總線96、數(shù)據(jù)傳輸控制裝置120與RAM80之間的總線110彼此分離。因此,可以將CPU總線96只使用于數(shù)據(jù)傳輸?shù)目刂?。此外,可以通過占有總線90在數(shù)據(jù)傳輸控制裝置120與應(yīng)用層設(shè)備124之間進行數(shù)據(jù)傳輸。例如,當(dāng)裝有數(shù)據(jù)傳輸控制裝置120的電子設(shè)備是打印機時,可以占有總線90而傳輸打印數(shù)據(jù),其結(jié)果是,可以減輕CPU66的處理負(fù)荷,并能提高整個系統(tǒng)的實際傳輸速度,另外,作為CPU66可以采用廉價的型式,同時,作為CPU總線96也沒有必要使用高速的總線。因此,可以降低電子設(shè)備的成本,并能實現(xiàn)小型化。3.發(fā)送信息包格式3.1本實施形態(tài)的特征在本實施形態(tài)中,如圖7所示,將RAM80的存儲區(qū)域分離為存儲信息包首部(廣義地說,為控制信息)的首部區(qū)域(廣義地說,為控制信息區(qū)域)及存儲信息包數(shù)據(jù)的數(shù)據(jù)區(qū)域。
例如在圖8的比較例中,CPU12必須按發(fā)送的順序向FIFO904、906輸入發(fā)送信息包。例如當(dāng)發(fā)送信息包1(首部1,數(shù)據(jù)1)、信息包2(首部2、數(shù)據(jù)2)、信息包3(首部3、數(shù)據(jù)3)時,必須按首部1、數(shù)據(jù)1、首部2、數(shù)據(jù)2、首部3、數(shù)據(jù)3這樣的順序?qū)l(fā)送信息包輸入到FIFO904、906。因此,必須由CPU912進行重新排列處理,所以CPU的處理負(fù)荷變得非常重。其結(jié)果導(dǎo)致系統(tǒng)總體的實際傳輸速度降低的情況。
與此不同,在圖6的本實施形態(tài)中,RAM80的存儲區(qū)被分離為首部區(qū)和數(shù)據(jù)區(qū)。更具體地說,如圖12所示,用硬件使存儲在首部區(qū)的首部和存儲在數(shù)據(jù)區(qū)的數(shù)據(jù)結(jié)合,建立應(yīng)向各節(jié)點傳輸?shù)陌l(fā)送信息包。因而與圖8相比CPU66的處理負(fù)荷變得非常輕,提高了系統(tǒng)總體的實際傳輸速度。此外,由于采用廉價的CPU66,同時與CPU66連接的總線也能用低速的,從而可謀求數(shù)據(jù)傳輸控制裝置和電子設(shè)備的小規(guī)模化,降低成本。
另外,按照本實施形態(tài),將首部集中地存儲在首部區(qū)域內(nèi),并將數(shù)據(jù)也集中地存儲在數(shù)據(jù)區(qū)域內(nèi)。因此,可以簡化首部或數(shù)據(jù)的讀出處理或?qū)懭胩幚?,因而能減少處理開銷。例如,當(dāng)以圖11的方法進行數(shù)據(jù)傳輸時,CPU66,只需通過CPU總線96訪問首部區(qū)域并讀出或?qū)懭胧撞?,即可控制?shù)據(jù)傳輸。此外,應(yīng)用層設(shè)備124,可以通過總線90連續(xù)地讀出數(shù)據(jù)區(qū)域的數(shù)據(jù)或?qū)?shù)據(jù)連續(xù)地寫入數(shù)據(jù)區(qū)域。
而本實施形態(tài)的信息包的首部與數(shù)據(jù)的結(jié)合處理,更具體地說,例如按如下方式實現(xiàn)。
即,如圖13所示,在本實施形態(tài)中,DMAC40(廣義上是讀出裝置)內(nèi)的信息包結(jié)合電路80指定讀出地址RADR。而且,從可隨機存取的RAM80的首部區(qū)(廣義上是控制信息區(qū))讀出信息包的首部(廣義上是控制信息),并從RAM80的數(shù)據(jù)區(qū)讀出與該首部成對的數(shù)據(jù)。這樣以來,使首部與數(shù)據(jù)結(jié)合建立發(fā)送信息包。而且,該發(fā)送信息包通過FIF030、提供用以傳輸信息包的各種服務(wù)的鏈路核心、和PHY芯片傳輸?shù)礁鞴?jié)點。
這里,首部的生成及向首部區(qū)的寫入由CPU60的首部生成部300進行。而對數(shù)據(jù)區(qū)的數(shù)據(jù)取入例如由應(yīng)用層設(shè)備按照來自數(shù)據(jù)取入指示部302的指示進行。信息包的發(fā)送開始命令由發(fā)送開始部304發(fā)布。圖13的首部生成部300、數(shù)據(jù)取入指示部302、發(fā)送開始部304、反復(fù)次數(shù)設(shè)定部306的功能由CPU66的硬件和固件來實現(xiàn)。
如圖14所示,指示來自數(shù)據(jù)區(qū)的數(shù)據(jù)的讀出地址的數(shù)據(jù)指示字,用首部生成部300附加到首部區(qū)的各首部上。如圖13所示,信息包結(jié)合電路380從首部區(qū)由作為RDATA讀出的首部取得該數(shù)據(jù)指示字,使用所取得的數(shù)據(jù)指示字從數(shù)據(jù)區(qū)讀出數(shù)據(jù)。通過這樣處理,能簡化信息包結(jié)合電路280的讀出處理。
在圖8的結(jié)構(gòu)中,必須按發(fā)送的順序即首部、數(shù)據(jù)的順序?qū)l(fā)送信息包輸入到FIFO。因而,如圖15A所示,只按首先固件進行首部的生成和寫入。然后取入來自應(yīng)用層設(shè)備的數(shù)據(jù),最后命令開始發(fā)送這樣的結(jié)構(gòu)發(fā)送信息包。因此不能實現(xiàn)處理的高速化。
另一方面,在本實施形態(tài)中,如圖15B所示,在將來自應(yīng)用層設(shè)備的數(shù)據(jù)取入數(shù)據(jù)區(qū)的期間,固件(首部生成部300)能進行首部的生成處理和向首部區(qū)的寫入處理。然后固件(發(fā)送開始部304)在數(shù)據(jù)取入處理和首部寫入處理兩者都結(jié)束的條件下,發(fā)布信息包開始發(fā)送的命令。像這樣按照本實施形態(tài),能大大減輕固件的處理負(fù)擔(dān),同時能實現(xiàn)處理的高速化。
圖16A示出比較例中的固件處理的流程圖的例子,圖16B示出本實施形態(tài)中的固件處理的流程圖的例子。
在圖16A中,固件在進行首部的生成及寫入后(步驟S1),指示數(shù)據(jù)取入(步驟S2),最后發(fā)布開始發(fā)送命令(步驟S3)。
另一方面,在圖16B中,固件首先只進行數(shù)據(jù)的取入指示(步驟S11),然后,進行首部的生成及寫入(步驟S12)。而且,判斷數(shù)據(jù)的取入是否結(jié)束(步驟S13),如結(jié)束時發(fā)布開始發(fā)送命令(步驟14)。這樣處理后,能并列進行數(shù)據(jù)的取入處理和首部的生成與寫入處理。
在本實施例中如圖17所示,希望將RAM80的首部區(qū)分離為接收用區(qū)域和發(fā)送用區(qū)域。還將數(shù)據(jù)區(qū)分離為接收用和發(fā)送用區(qū)域,還可以分離成同步傳輸用和非同步傳輸用區(qū)域。此外,除首部區(qū)和數(shù)據(jù)區(qū)外,希望設(shè)置與這些區(qū)域分離的CPU66的工作區(qū)。
進而在RAM80的存儲區(qū)被分離為多個區(qū)的情況下,希望可變地控制各區(qū)的大小。更具體地說,如圖17所示,可變地控制指示各區(qū)邊界地址的指示字P1~P6。如果這樣處理,則能實現(xiàn)與應(yīng)用對應(yīng)的最佳區(qū)域分割。這時,RAM80的各區(qū)的大小,希望在接通電源后,定時地進行可變控制。如果這樣處理,能在接收處理時擴大接收用區(qū)域,在發(fā)送處理時擴大發(fā)送用區(qū)域,從而能有效地利用有限的資源。
在圖18A中,設(shè)置在RAM中的發(fā)送信息包區(qū)只有一個信道。因而在圖18A中,首先將信息包1寫入該一個信道(首部的生成及寫入、數(shù)據(jù)的取入),寫入完成后,命令信息包1的發(fā)送開始。然后在相同信道寫入信息包2,寫入完成后,命令信息包2的發(fā)送開始。
與此不同,在圖18B中,RAM的發(fā)送信息包區(qū)域分離成多個信道。因而在圖18B中,首先在信道CH1寫入信息包1,寫入結(jié)束后,命令信息包1的發(fā)送開始。然后在從CH1發(fā)送信息包1的期間,在信道CH2寫入信息包2,寫入結(jié)束后命令信息包2的發(fā)送開始。同樣,在從CH2發(fā)送信息包2期間,在CH3寫入信息包3,在從CH3發(fā)送信息包期間,在CH4寫入信息包4。
在圖18A中,由于按時序進行信息包的寫入處理與發(fā)信處理,在處理時間上產(chǎn)生浪費,與此不同,在圖18B中,并列進行來自一個信道的信息包的發(fā)送處理(讀出處理)和來自另一信道的信息包的寫入處理。因而能節(jié)省處理時間上的浪費并能使處理高速化。
下面用圖19、圖20A、圖20B、圖21A、圖21B對使用多信道的信息包發(fā)送進行詳細說明。
圖19所示的SUB1、SUB2、SUB3、SUB4分別表示圖20A、圖20B、圖21A、圖21B所示的子程序1,2,3,4。而且這些SUB1~SUB4都是從一個主程序分出來的。
首先,如圖19的E1所示,在信道CH1中進行SUB1的處理,在SUB1的處理中,如圖20A所示,判斷是否設(shè)置了數(shù)據(jù)取入中標(biāo)志(步驟T11),未設(shè)置時檢查數(shù)據(jù)區(qū)是否存在填充位(步驟T12)。存在填充位時,指示數(shù)據(jù)取入(步驟T13)。因此,數(shù)據(jù)從應(yīng)用層設(shè)備取入到RAM。指示數(shù)據(jù)取入后,設(shè)置數(shù)據(jù)取入中標(biāo)志(步驟T14)。
在SUB2的處理中,如圖20B所示,首先判斷是否設(shè)置取入中標(biāo)志(步驟21)。然后在圖19的E2中,在E1的SUB1的步驟T14(圖20A)設(shè)置數(shù)據(jù)取入中標(biāo)志。因而轉(zhuǎn)移到下一步驟,判斷數(shù)據(jù)取入是否結(jié)束(步驟T22)。在圖19的E2中,由于數(shù)據(jù)取入結(jié)束,轉(zhuǎn)移到下一步驟,設(shè)置信道CH1可發(fā)送的標(biāo)志(步驟T23)。此可發(fā)送標(biāo)志與上述的數(shù)據(jù)取入中標(biāo)志和下述的發(fā)送中標(biāo)志不同,設(shè)置在每個信道。設(shè)置了可發(fā)送標(biāo)志后,清除數(shù)據(jù)取入中標(biāo)志(步驟T24)。
在SUB3的處理中,如圖21A所示,首先判斷是否設(shè)置了發(fā)送中標(biāo)志(步驟31),如未設(shè)置時,判斷是否設(shè)置了可發(fā)送標(biāo)志(步驟T32)。然后在圖19的E3中,在E2的SUB2的步驟T23(圖20B)設(shè)置可發(fā)送標(biāo)志。因而轉(zhuǎn)移到下一步驟,命令開始發(fā)送(步驟T33)。在開始發(fā)送的命令之后,設(shè)置發(fā)送中標(biāo)志(步驟T34)。
在SUB4的處理中,如圖21B所示,首先判斷是否設(shè)置了發(fā)送中標(biāo)志(步驟T41)。然后在圖19的E4中,在E3的SUB3的步驟T34(圖21A)設(shè)置發(fā)送中標(biāo)志。然后轉(zhuǎn)移到下一步驟,判斷發(fā)送是否結(jié)束(步驟T42)。而且在圖19的E4中,由于發(fā)送已經(jīng)結(jié)束,所以轉(zhuǎn)移到下一步驟,清除可發(fā)送標(biāo)志和發(fā)送中標(biāo)志(步驟T43、T44)。
在圖19的E2的SUB2中,如圖20B的步驟T22、T23所示,以數(shù)據(jù)取入結(jié)束為條件,建立該信道可發(fā)送標(biāo)志。然后在E3的SUB3中,如圖21A的步驟T32、T33所示,以已建立了可發(fā)送標(biāo)志為條件,開始從該信道的發(fā)送。也就是說,通過在每個信道設(shè)置這樣的可發(fā)送標(biāo)志,以該信道的數(shù)據(jù)取入已結(jié)束為條件,能開始該信道的發(fā)送。
圖19的E2的SUB2如圖20B的步驟T22、T24所示,以數(shù)據(jù)取入已結(jié)束為條件,清除數(shù)據(jù)取入中標(biāo)志。然后,像這樣一旦清除數(shù)據(jù)取入中標(biāo)志(一旦未被設(shè)置),則E5的SUB1就指示數(shù)據(jù)取入(圖20A的步驟T11、T13)。即,通過使用這樣的數(shù)據(jù)取入中標(biāo)志,能防止在進行1個信道的數(shù)據(jù)取入處理期間進行其它信道的數(shù)據(jù)取入處理這樣的事態(tài)的發(fā)生。
此外,圖19的E6的SUB4如圖21的步驟T42、T44所示,以發(fā)送結(jié)束為條件,清除發(fā)送中標(biāo)志。而在像這樣清除1發(fā)送中標(biāo)志后(未設(shè)置)、E7的SUB3命令開始發(fā)送(圖21A的步驟T31、T33)。亦即,通過使用這樣的發(fā)送中標(biāo)志,能防止在進行1個信道的發(fā)送處理期間進行其它信道的發(fā)送處理這樣的事態(tài)的發(fā)生。
通過以上處理,使用由主程序和子程序SUB1~SUB4構(gòu)成的1個程序(固件)、像多任務(wù)那樣執(zhí)行來自多信道的信息包的發(fā)送處理。
在使用多信道的信息包傳輸中,希望各信息包有用以使信息包之間連結(jié)的連結(jié)指示字。例如,在圖22A中,用連結(jié)指示字1、2、3分別連結(jié)信息包1與3、2與4、3與2。而且命令開始發(fā)送信息包1后,借助連結(jié)指示字1讀出信息包3,如圖22B所示,發(fā)送信息包3。而在發(fā)送信息包3后,借助連結(jié)指示字3讀出信息包2并且如圖22C所示,發(fā)送信息包2。發(fā)送信息包2后,借助連結(jié)指示字2讀出信息包4,并且如圖22D所示,發(fā)送信息包4。
如果這樣處理,固件只命令1個信道的信息包開始發(fā)送,其它信道的信息包連續(xù)地依次讀出并發(fā)送。因此,固件不必命令其它信道的信息包開始發(fā)送。結(jié)果,能大大地減輕固件的處理負(fù)擔(dān)。
在IEEE 1394中,如在圖1A中說明的那樣,源節(jié)點傳輸信息包后,目標(biāo)節(jié)點使ACK碼返回源節(jié)點。這時,希望將該ACK碼的內(nèi)容存儲到任意存儲裝置,使源節(jié)點的固件能確認(rèn)。而且,在圖23A中,將對信息包1的發(fā)送而能返回的4位的ACK碼存儲到4位寄存器940中。在ACK碼對信息包2的發(fā)送返回的情況下,將該信息包2的ACK碼寫到寄存器940上。即,寄存器940的ACK碼經(jīng)常更新為最新的。
然而在圖23A的方法中,當(dāng)連續(xù)發(fā)送多個信息包時,不知道哪個信息包的ACK碼存儲在寄存器940中。在寄存器940中只存儲1個ACK碼。
作為避免此問題的一種方法,考慮到有在固件從寄存器940讀出并確認(rèn)相對于信息包1的發(fā)送而能返回的ACK碼后,命令信息包2開始發(fā)送的方法。然而在該方法中,固件必須等待信息包2開始發(fā)送命令的發(fā)布,直到信息包1的ACK碼返回為止。因此,妨礙處理的高速化。特別是,如圖18B所示,在使用多信道發(fā)送信息包時,不能有效地利用具有多信道的優(yōu)點。
因此,在圖23B中,將從信息包傳輸端(目標(biāo)節(jié)點)返回的ACK碼(確認(rèn)信息)寫回到發(fā)送信息包區(qū)的多個信道中的該信息包的發(fā)送方的信道中。即,如圖23B所示,對信道CH1的信息包1的發(fā)送能返回的ACK碼寫回CH1,對信道CH2的信息包的發(fā)送能返回的ACK碼退回CH2。
這樣以來,各信息包與能返回的ACK碼一一對應(yīng),固件能簡單而可靠地確認(rèn)哪個ACK碼對哪個信息包是否返回。
此外,如圖23C所示,固件命令信息包2開始發(fā)送,無須確認(rèn)對信息包1的發(fā)送而返回的ACK碼,然后確認(rèn)返回的ACK碼。即,在發(fā)送準(zhǔn)備(首部的生成及寫入、數(shù)據(jù)的取入)完成的階段立即命令開始發(fā)送,估計空的時間,然后確認(rèn)ACK碼。通過這樣處理,能謀求更新的處理高速化。
如圖23B、圖23C所示,從簡化硬件、減輕固件的處理負(fù)擔(dān)、使處理高速化的觀點來看,特別希望采用將信息包的ACK碼寫回發(fā)送方的信道的方法。但本實施例不限于圖23B、圖23C的方法。即,也可以有只存儲連續(xù)傳輸?shù)男畔鼣?shù)以上個數(shù)的從信息包的傳輸端返回的ACK碼而不必確認(rèn)返回的ACK碼的裝置。例如,在不確認(rèn)ACK碼連續(xù)傳輸?shù)男畔鼣?shù)為4個時,準(zhǔn)備4個以上的存儲ACK碼的寄存器(16位以上的寄存器)。而且最好確認(rèn)ACK碼按哪種順序返回。如果這樣處理,即使在連續(xù)傳輸信息包時,也能維持信息包與ACK碼的對應(yīng)關(guān)系。
在圖24A中,將信息包1(首部1、數(shù)據(jù)1)寫入RAM,命令該發(fā)送開始,寫入信息包2(首部2、數(shù)據(jù)2),命令該開始發(fā)送,寫入信息包3(首部3,數(shù)據(jù)3),命令該發(fā)送開始,這樣來發(fā)送信息包1、2、3。
但是,在信息包1、2、3是同種信息包,首部1、2、3是相同的首部的情況(例如將大尺寸的數(shù)據(jù)分割為多個有效負(fù)載并發(fā)送時)下,用圖24A的方法,固件首部的生成處理是無效的、同時RAM的存儲區(qū)也對使用是無效的。為了發(fā)頭信息包1、2、3,固件必須發(fā)布三次發(fā)送開始命令。因而在圖24A中,固件的處理負(fù)擔(dān)加重,同時不能有效地利用有限的資源。
與此不同,在圖24B中,圖13的首部生成部300(固件)生成一個作為基本的首部。該基本首部如圖24B所示,包括數(shù)據(jù)指示字、RPN、t1等。
在這里數(shù)據(jù)指示字是指示從數(shù)據(jù)區(qū)讀出的數(shù)據(jù)地址。而RPN是用圖13的反復(fù)次數(shù)設(shè)定部306設(shè)定的發(fā)送反復(fù)次數(shù)信息。而t1(處理標(biāo)號)作為用以識別來自各節(jié)點的事務(wù)處理的信息是按IEEE 1394標(biāo)準(zhǔn)化后的信息。應(yīng)答側(cè)在應(yīng)答側(cè)的信息包中包括與在來自請求側(cè)的信息包中包括的處理標(biāo)號相同的標(biāo)號,并要返回請求側(cè)。因此,t1的改寫處理對各事務(wù)處理就成為必要的。
圖13的發(fā)送開始部304命令開始發(fā)送后,首部改寫電路310像圖24B所示那樣依次改寫基本首部。即,一邊減少或增加(廣義上為更新)基本首部的RPN,一邊改寫基本首部的數(shù)據(jù)指示字和t1。此種改寫一直進行到例如RPN為0(提供的值)為止。通過這樣改寫基本首部,每次發(fā)送信息包時,都依次生成與連續(xù)傳輸?shù)男畔臄?shù)據(jù)成對的首部。通過樣處理,與圖24A相比,能大大減輕固件的處理負(fù)擔(dān),同時也能減少首部占有的存儲區(qū)的大小。
在圖24A的方法中,例如,如圖25A所示,每次發(fā)送信息包,固件都必須進行首部的生成和寫入以及命令開始發(fā)送。與此不同,在圖24B的方法中,如圖25B、圖26所示,固件首先進行RPN的設(shè)定(步驟U1)和基本首部的生成與寫入(步驟U2),如命令開始發(fā)送(步驟U3)則其后,自動地改寫基本首部,反復(fù)進行數(shù)據(jù)的取入、發(fā)送。因此,與圖25A相比,能減輕固件的處理負(fù)擔(dān)。
在基本首部中不包括反復(fù)發(fā)送次數(shù)信息RPN,可以存儲在所提供的寄存器等中。3.2結(jié)構(gòu)下面對發(fā)送側(cè)的結(jié)構(gòu)進行說明。圖27示出FIFO30、DMAC40的詳細結(jié)構(gòu)的一側(cè)。
有相位調(diào)整用的緩沖器功能的FIFO30包括FIFO狀態(tài)判斷電路31。FIFO狀態(tài)判斷電路31、在FIFO成為騰空時激活EMPTY,在FIFO充滿時激活FULL。
DMAC40包括信息包結(jié)合電路280、存儲請求執(zhí)行電路290、存取請求發(fā)生電路292、ACK寫入請求發(fā)生電路294、ACK寫入數(shù)據(jù)和地址發(fā)生電路296。
信息包結(jié)合電路280是從RAM80的首部區(qū)讀出首部,從數(shù)據(jù)區(qū)讀出數(shù)據(jù),建立由這些首部和數(shù)據(jù)構(gòu)成幀的發(fā)送信息包的電路(參照圖12)。信息包結(jié)合電路280包括指示字更新電路284和地址發(fā)生電路288。
指示字更新電路284是用以從RAM80讀出首部和數(shù)據(jù)的并用以更新首部指示字(廣義上是控制信息指示字)和數(shù)據(jù)指示字的電路,包括數(shù)據(jù)指示字取得電路285。數(shù)據(jù)字取得電路285是從由RAM80讀出的RDATA取得數(shù)據(jù)指示字的電路,包括tcode判斷電路286。Tcode判斷電路286是判別tcode(交易碼。廣義上是信息包格式識別信息)的電路,通過判斷該tcode,能判斷是否讀出了信息包的首部和數(shù)據(jù)的任何一個。
存取請求執(zhí)行電路290在來自FIFO狀態(tài)判斷電路31的EMPTY成為激活時,使FIFOIN激活。鏈路核心20以未激活FIFOIN為條件,使作為TD(TxData)的選通信號的TDS激活。
TFAIL是鏈路核心20用以使存取請求執(zhí)行電路290得知發(fā)送失敗的信號。
存取請求發(fā)生電路292接收來自緩沖管理器70的作為讀出確認(rèn)的RACK和來自FIFO狀態(tài)判斷電路31的FULL,將作為讀出請求的RREQ輸出到緩沖管理器70。
ACK寫入請求發(fā)生電路294接收來自鏈路核心20的TCMP和來自緩沖管理器70的WACK,將WREQ輸出到緩沖管理器70。ACK寫入數(shù)據(jù)和地址發(fā)生電路296接收來自鏈路核心20的TACK,將寫回發(fā)送信息包的信道的ACK碼作為WDATA輸出,將回寫ACK的地址作為WADR輸出。3.3發(fā)送側(cè)的工作下面使用圖28的定時波形圖對發(fā)送側(cè)的工作進行詳細說明。
首先說明鏈路核心20的工作。
已知使發(fā)送開始的TSTART激活后,則如圖28的B1所示,鏈路核心20使用作為選通信號的TDS從FIFO30取入TD。這時在鏈路核心20按首部(H0~H3)、數(shù)據(jù)(D0~Dn)的順序取入TD。
圖29A示出在串行總線上傳輸?shù)姆峭叫畔母袷?IEEE 1394標(biāo)準(zhǔn))。另一方面,圖29B示出存儲在RAM80的首部區(qū)的非同步發(fā)送信息包的首部部分的格式。如該圖所示,首部的第4字段成為數(shù)據(jù)指示字。
鏈路核心20在圖28的B2所示的位置上不使TDS激活。因而如圖3B所示,作為首部的第4字段的H4未被鏈路20取入。如圖29B所示,第4字段的H4是數(shù)據(jù)指示字,鏈路核心20無須該數(shù)據(jù)指示字。在B3所示的期間,鏈路核心20生成首部CRC(參照圖29A)并進行附加到首部的處理。
一個信息包的發(fā)送處理結(jié)束后,如B4所示,鏈路核心20使TCMP激活。而且,將從發(fā)送的目標(biāo)節(jié)點通過PHY芯片返回的ACK碼(參照圖1A、圖23B、圖23C),如B5所示,輸出到DMAC40作為TACK。此ACK碼,借助ACK寫入請求發(fā)生電路294、ACK寫入數(shù)據(jù)和地址發(fā)生電路296,寫回到RAM80的首部區(qū)的首部(圖29B的第7字段)。
下面說明FIFO30的動作。
FIFO30接收來自緩沖管理器70的RDATA,作為TD輸出到鏈路核心20。
FIFO30內(nèi)的FIFO狀態(tài)判斷電路31用內(nèi)裝的計數(shù)器對FIFO30的數(shù)據(jù)數(shù)(FIFO計數(shù))進行計數(shù)。而且在FIFO30成為騰空(數(shù)據(jù)數(shù)=0)的情況時,如圖28的B6所示,使EMPTY激活。而在FIFO30成為充滿(數(shù)據(jù)數(shù)=2)時,如B7所示,使FULL激活(H電平)。FIFO30成為騰空,就是借助EMPT、FIFOIN被傳輸?shù)紻MAC40內(nèi)的存取請求執(zhí)行電路290、鏈路核心20。而FIFO30成為充滿,借助FULL被傳輸?shù)紻MAC40中的存取請求發(fā)生電路292。
下面說明DMAC40的工作。
存取請求發(fā)生電路292,如B8所示,以FULL為非激活(L電平)(FIFO30未充滿)為條件使RREQ激活。而且,從緩沖管理器70接收RACK后,使RREQ非激活。
在本實施形態(tài)中,在發(fā)送時總線協(xié)調(diào)中,使來自DMAC40(或DMAC42)的存取請求的優(yōu)先順序最高。因此,在來自DMAC40的RREQ和來自CPU接口60或通路用的DMAC54的存取請求(另一個RREQ)進行競爭時,RREQ方優(yōu)先。另一方面,當(dāng)在RREQ更前面有來自CPU接口60或通路用的DMAC54的存取請求時,如B9所示,只在賦予的期間等待DMAC40的存取請求。因而來自緩沖管理器70的RDATA與到鏈路核心20的TD不同步?;谠摾碛?,在本實施例中設(shè)置用以調(diào)整RDATA和TD的相位的FIF030。這時,F(xiàn)IFO30可以配備相位調(diào)整所必須的最低限度級數(shù)(3級以下較好,最好是2級以下)。
發(fā)送開始后,指示字更新電路284如圖30A所示進行首部指示字HP的增加(在廣義上是更新)。而且,地址發(fā)生電路288,如圖28的B10所示,產(chǎn)生與增加的首部指示字對對應(yīng)的RADR。似這樣,RDATA首部部分依次從RAM80讀出。
讀出H4作為RDATA后,在信息包結(jié)合電路280中包括的數(shù)據(jù)指示字取得電路285取得該H4作為數(shù)據(jù)指示字DP。更具體地說,讀出H0作為RDATA后,數(shù)據(jù)指示字取得電路285內(nèi)的tcode判斷電路286判斷在H0中包含的tcode(參照圖29B)。而且,在根據(jù)tcode(廣義上是信息包格式識別信息)判斷為在首部的例如第4字段上存在數(shù)據(jù)指示字的情況下,在讀出H4作為RDATA時,數(shù)據(jù)指示字取得電路285取得該H4。即,如圖28的B11所示,取得RDATA的H4作為數(shù)據(jù)指示字,并作為RADR輸出。
在本實施形態(tài)中,如B3、B11所示,利用鏈路核心20生成首部CRC期間,從RDATA取得作為數(shù)據(jù)指示字的H4。即,在本實施形態(tài)中,首部CRC的生成由鏈路核心20進行,DMAC40與其無關(guān)。另一方面,數(shù)據(jù)指示字的取得由DMAC40進行,鏈路核心20與其無關(guān)。在本實施形態(tài)中,著眼于此,在圖29A中在配置首部CRC的第4字段上,如圖29B所示,配置著數(shù)據(jù)指示字。而且,利用生成首部CRC的期間從RDATA取得作為數(shù)據(jù)指示字的H4。通過這樣處理,在處理期間能防止產(chǎn)生浪費。
取得數(shù)據(jù)字后,指示字更新電路284如圖30B所示,進行作為所取得的數(shù)據(jù)指示字的H4的增加。而且,地址發(fā)生電路288,如圖28的B12所示,產(chǎn)生與增加的數(shù)據(jù)指示字對應(yīng)的RADR。這樣以來,能從RAM80依次讀出RDATA的數(shù)據(jù)部分。
1個信息包的發(fā)送處理結(jié)束,如B4所示,使TCMP激活后,ACK寫入請求發(fā)生電路294如B13所示,使WREQ激活。而且,使用TACK從鏈路核心20對ACK寫入數(shù)據(jù)及地址發(fā)生電路296發(fā)送的ACK碼,如B14所示,作為WDATA輸出。這時,輸出ACK碼的寫入地址即HP+7,作為WADR。通過這樣處理,如在圖23B,圖23C中所述,可以對信息包的發(fā)送源的信道寫回來自目標(biāo)節(jié)點的ACK碼。
如圖29B所示,WADR變?yōu)镠P+7,ACK碼寫回到首部的第7字段。
如上述那樣,能使來自首部區(qū)的首部如來自數(shù)據(jù)區(qū)的數(shù)據(jù)結(jié)合建立發(fā)送信息包。
特別是,在本實施形態(tài)中,首部與數(shù)據(jù)的結(jié)合由DMAC40進行,而鏈路核心20與其無關(guān)。因而能簡化鏈路核心20的結(jié)構(gòu)和處理。
在本實施形態(tài)中,數(shù)據(jù)指示字取得電路285從RDATA取得數(shù)據(jù)指示字(H4),根據(jù)所取得的該數(shù)據(jù)指示字產(chǎn)生RADR并讀出數(shù)據(jù)。通過這樣處理,能使首部和與該首部對應(yīng)的數(shù)據(jù)適當(dāng)?shù)亟Y(jié)合。能簡化首部與數(shù)據(jù)的結(jié)處理所需的電路結(jié)構(gòu)。
首部區(qū)與數(shù)據(jù)區(qū)的邊境等的,分離RAM80的區(qū)域的邊界(圖17的P1~P6)的設(shè)定可以這樣來實現(xiàn),即;CPU66(固件等)通過CPU接口60,對圖6的寄存器46中包含的指示字設(shè)定寄存器,設(shè)定指示邊界地址的指示字。4.電子設(shè)備以下,說明包含本實施形態(tài)的數(shù)據(jù)傳輸控制裝置的電子設(shè)備的例子。
例如,在圖31A中示出作為電子設(shè)備之一的打印機的內(nèi)部框圖。在圖32A中示出其外觀圖。CPU(微型計算機)510,進行系統(tǒng)的總體控制等。操作部511,用于由用戶操作打印機在ROM516內(nèi)存儲著控制程序、字形等,RAM518,具有作為CPU510的工作區(qū)的功能,顯示板519,用于使用戶觀察打印機的動作狀態(tài)。
通過PHY芯片502、數(shù)據(jù)傳輸控制裝置500從個人計算機等其他節(jié)點傳送到的打印數(shù)據(jù),通過總線504直接傳送到打印處理部512。然后,打印數(shù)據(jù),由打印處理部512進行所賦予的處理,并由包括打印頭等的打印部(用于輸出數(shù)據(jù)的裝置)514在紙上進行打印并輸出。
在圖31B中示出作為電子設(shè)備之一的掃描器的內(nèi)部框圖。在圖32B中示出其外觀圖。CPU520,進行系統(tǒng)的總體控制等。操作部521,用于由用戶操作掃描器。在ROM526內(nèi)存儲著控制程序等,RAM528,具有作為CPU520的工作區(qū)的功能。
利用由光源、光電變換器等構(gòu)成的圖象讀取部(用于取入數(shù)據(jù)的裝置)522讀取原稿的圖象,并由圖象處理部524對所讀取的圖象數(shù)據(jù)進行處理。然后,通過總線505將處理后的圖象數(shù)據(jù)直接傳送到數(shù)據(jù)傳輸控制裝置500。數(shù)據(jù)傳輸控制裝置500,通過將首部等附加于該圖象數(shù)據(jù)而生成信息包,并通過PHY芯片502發(fā)送到個人計算機等其他節(jié)點。
在圖31C中示出作為電子設(shè)備之一的CD-R驅(qū)動器的內(nèi)部框圖。在圖32C中示出其外觀圖。CPU530,進行系統(tǒng)的總體控制等。操作部530,用于由用戶操作CD-R。在ROM536內(nèi)存儲著控制程序等,RAM538具有作為CPU530的工作區(qū)的功能。
利用由激光器、電動機、光學(xué)系統(tǒng)等構(gòu)成的讀取和寫入部(用于取入數(shù)據(jù)的裝置或用于存儲數(shù)據(jù)的裝置)533從CD-R532讀取的數(shù)據(jù),輸入到信號處理部534,進行糾錯處理等所賦予的信號處理。然后,通過總線506將進行了信號處理的數(shù)據(jù)直接傳送到數(shù)據(jù)傳輸控制裝置500。數(shù)據(jù)傳輸控制裝置500,通過將首部等附加于該圖象數(shù)據(jù)而生成信息包,并通過PHY芯片502發(fā)送到個人計算機等其他節(jié)點。
另一方面,通過PHY芯片502、數(shù)據(jù)傳輸控制裝置500從其他節(jié)點傳送到的數(shù)據(jù),通過總線506直接傳送到信號處理部534。然后,由信號處理部534對該數(shù)據(jù)進行所賦予的信號處理,并由讀取和寫入部533存儲在CD-R532內(nèi)。
另外,在圖31A、圖31B、圖31C中,除PCU510、520、530外,也可以另外設(shè)置用于進行數(shù)據(jù)傳輸控制裝置500中的數(shù)據(jù)傳輸控制的CPU。
通過將本實施形態(tài)的數(shù)據(jù)傳輸控制裝置應(yīng)用于電子設(shè)備,可以進行高速的數(shù)據(jù)傳輸。因此,當(dāng)用戶由個人計算機等進行了打印輸出指示時,將以很小的延時完成打印。此外,在對掃描器發(fā)出取入圖象數(shù)據(jù)的指示后,用戶可以看到以很小的延時讀取圖象。另外,能以高速進行從CD-R的數(shù)據(jù)讀取或?qū)D-R的數(shù)據(jù)寫入。進一步,也可以很容易地將多個電子設(shè)備與一個主系統(tǒng)連接使用,或?qū)⒍鄠€電子設(shè)備與多個主系統(tǒng)連接使用。
另外,通過將本實施形態(tài)的數(shù)據(jù)傳輸控制裝置應(yīng)用于電子設(shè)備,可以減輕在CPU上運行的固件的處理負(fù)荷,并能采用廉價的CPU和低速的總線。進一步,由于能夠降低數(shù)據(jù)傳輸控制裝置的成本和實現(xiàn)小型化,所以也能降低電子設(shè)備的成本并實現(xiàn)小型化。
作為可以應(yīng)用本實施形態(tài)的數(shù)據(jù)傳輸控制裝置的電子設(shè)備,除上述以外,例如也可以考慮各種光盤驅(qū)動器(CDROM、DVD)、磁性光盤驅(qū)動器(MO)、硬盤驅(qū)動器、TV、VTR、電視攝像機、音響設(shè)備、電話機、投影機、個人計算機、電子記事薄、字處理器等各種設(shè)備。
本發(fā)明不限于本實施形態(tài),在本發(fā)明的主旨范圍內(nèi)可以實現(xiàn)各種變形。
例如,本發(fā)明的數(shù)據(jù)傳輸控制裝置的結(jié)構(gòu),以圖6的結(jié)構(gòu)最為理想,但并不限定于此。例如,在將發(fā)送信息包區(qū)域分離為多個信道的發(fā)明中,也可以不將存儲裝置分離為控制信息區(qū)和首部區(qū)。此外,在無須確認(rèn)信息而只存儲能連續(xù)傳輸?shù)男畔鼣?shù)以上個數(shù)的確認(rèn)信息的發(fā)明中,不但采用圖6的結(jié)構(gòu),而且采用圖8等各種結(jié)構(gòu)。
另外,本發(fā)明,最好是應(yīng)用于按IEEE 1394標(biāo)準(zhǔn)進行的數(shù)據(jù)傳輸,但并不限定于此。例如,本發(fā)明也可以應(yīng)用于與IEEE 1394基于同一思路的標(biāo)準(zhǔn)或?qū)EEE 1394有所發(fā)展的標(biāo)準(zhǔn)的數(shù)據(jù)傳輸。
權(quán)利要求
1.一種用以在與總線連接的多個節(jié)點之間傳輸數(shù)據(jù)的數(shù)據(jù)傳輸控制裝置,其特征在于它包括信息包結(jié)合裝置,在可隨機存取的存儲裝置被分離為用上層寫入控制信息的控制信息區(qū)和用上層寫入數(shù)據(jù)的數(shù)據(jù)區(qū)的情況下,從上述存儲裝置的上述控制信息區(qū)讀出信息包的控制信息,從上述存儲裝置的上述數(shù)據(jù)區(qū)讀出與該控制信息成對的信息包的數(shù)據(jù)。鏈路裝置,提供用以將所讀出的信息包傳輸?shù)礁鞴?jié)點的服務(wù)。
2.如權(quán)利要求1所述的數(shù)據(jù)傳輸控制裝置,其特征在于,上述信息包結(jié)合裝置從由上述控制信息區(qū)讀出的控制信息取得用以指示由上述數(shù)據(jù)區(qū)讀出的數(shù)據(jù)的地址的數(shù)據(jù)指示字,用所取得的數(shù)據(jù)指示字從上述數(shù)據(jù)區(qū)讀出數(shù)據(jù)。
3.如權(quán)利要求2所述的數(shù)據(jù)傳輸控制裝置,其特征在于,上述信息包結(jié)合裝置利用上述鏈路裝置生成信息包的控制信息的差錯檢測信息的期間,從控制信息取得數(shù)據(jù)指示字。
4.如權(quán)利要求1的數(shù)據(jù)傳輸控制裝置,其特征在于,上述信息包結(jié)合裝置,在讀出信息包的控制信息后,根據(jù)信息包控制信息中包含的信息包格式識別信息進行判斷時,更新用以指示從上述控制信息區(qū)讀出的控制信息的地址的控制信息指示字,讀出信息包的數(shù)據(jù)后,根據(jù)上述信息包格式識別信息進行判斷時,更新用以指示從上述數(shù)據(jù)區(qū)讀出的數(shù)據(jù)地址的數(shù)據(jù)指示字。
5.如權(quán)利要求2的數(shù)據(jù)傳輸控制裝置,其特征在于,上述信息包結(jié)合裝置在讀出信息包控制信息后,根據(jù)信息包控制信息中所包含的信息包格式識別信息進行判斷時,更新用以指示從上述控制信息區(qū)讀出的控制信息的地址的控制信息指示字,在讀出信息包的數(shù)據(jù)后,根據(jù)上述信息包的格式識別信息進行判斷時,更新用以指示從上述數(shù)據(jù)區(qū)讀出的數(shù)據(jù)的地址的數(shù)據(jù)指示字。
6.如權(quán)利要求3的數(shù)據(jù)傳輸控制裝置,其特征在于,上述信息包結(jié)合裝置在讀出信息包控制信息后,根據(jù)信息包控制信息中包含的信息包格式識別信息進行判斷時,更新用以指示從上述控制信息區(qū)讀出的控制信息的地址的控制信息指示字,在讀出信息包的數(shù)據(jù)后,根據(jù)上述信息包格式識別信息進行判斷時,更新用以指示從上述數(shù)據(jù)區(qū)讀出的數(shù)據(jù)的地址的數(shù)據(jù)指示字。
7.如權(quán)利要求1的數(shù)據(jù)傳輸控制裝置,其特征在于包括控制信息生成裝置,在對上述數(shù)據(jù)區(qū)進行數(shù)據(jù)取入處理期間,生成控制信息,并將該控制信息寫入上述控制信息區(qū);發(fā)送開始裝置,以數(shù)據(jù)的取入處理和控制信息的寫入處理這兩者都完成為條件,命令信息包的發(fā)送開始。
8.如權(quán)利要求2的數(shù)據(jù)傳輸控制裝置,其特征在于包括控制信息生成裝置,在對上述數(shù)據(jù)區(qū)進行數(shù)據(jù)取入處理期間,生成控制信息,并將該控制信息寫入上述控制信息區(qū);發(fā)送開始裝置,以數(shù)據(jù)的取入處理和控制信息的寫入處理這兩者都完成為條件,命令信息包的發(fā)送開始。
9.如權(quán)利要求3的數(shù)據(jù)傳輸控制裝置,其特征在于包括控制信息生成裝置,在對上述數(shù)據(jù)區(qū)進行數(shù)據(jù)取入處理期間,生成控制信息,并將該控制信息寫入上述控制信息區(qū);發(fā)送開始裝置,以數(shù)據(jù)的取入處理和控制信息的寫入處理這兩者都完成為條件,命令信息包的發(fā)送開始。
10.如權(quán)利要求4的數(shù)據(jù)傳輸控制裝置,其特征在于包括控制信息生成裝置,在對上述數(shù)據(jù)區(qū)進行數(shù)據(jù)取入處理期間,生成控制信息,并將該控制信息寫入上述控制信息區(qū);發(fā)送開始裝置,以數(shù)據(jù)的取入處理和控制信息的寫入處理這兩者都完成為條件,命令信息包的發(fā)送開始。
11.一種用以在與總線連接的多個節(jié)點之間進行數(shù)據(jù)傳輸?shù)臄?shù)據(jù)傳輸控制裝置,其特征在于包括發(fā)送開始裝置,在可隨機存取的存儲裝置的發(fā)送信息包區(qū)域被分離為多個信道的情況下,在存儲在上述多個信道中的信息包中,命令數(shù)據(jù)取入處理和控制信息的寫入處理兩者都已完成的信息包的發(fā)送開始;讀出裝置,從發(fā)送信息包區(qū)的對應(yīng)的信道讀出已命令發(fā)送開始的信息包;鏈路裝置,提供用以將讀出的信息包傳輸?shù)礁鞴?jié)點的服務(wù)。
12.如權(quán)利要求11的數(shù)據(jù)傳輸控制裝置,其特征在于包括在從上述多個信道中的一個信道發(fā)送信息包的期間用以指示對其它信道的信息包的數(shù)據(jù)取入的裝置。
13.如權(quán)利要求11的數(shù)據(jù)傳輸控制裝置,其特征在于包括以清除數(shù)據(jù)取入中標(biāo)志為條件,指示數(shù)據(jù)的取入同時設(shè)置該數(shù)據(jù)取入中標(biāo)志,以數(shù)據(jù)的取入結(jié)束為條件,清除該數(shù)據(jù)取入中標(biāo)志的裝置;和以清除發(fā)送中標(biāo)志為條件,在命令信息包的發(fā)送開始的同時,設(shè)置該發(fā)送中標(biāo)志,以信息包的發(fā)送結(jié)束為條件,清除該發(fā)送中標(biāo)志的裝置。
14.如權(quán)利要求12的數(shù)據(jù)傳輸控制裝置,其特征在于包括以清除數(shù)據(jù)取入中標(biāo)志為條件,在指示數(shù)據(jù)的取入的同時設(shè)置該數(shù)據(jù)取入中標(biāo)志,以數(shù)據(jù)的取入結(jié)束為條件,清除該數(shù)據(jù)取入中標(biāo)志的裝置;和以清除發(fā)送中標(biāo)志為條件,在命令數(shù)據(jù)包的發(fā)送開始的同時設(shè)置該發(fā)送中標(biāo)志,以信息包的發(fā)送結(jié)束為條件,清除發(fā)送中標(biāo)志的裝置。
15.如權(quán)利要求11的數(shù)據(jù)傳輸控制裝置,其特征在于,存儲在各信道中的各信息包包括用以使信息包之間連結(jié)的連結(jié)指示字,上述讀出裝置在由上述發(fā)送開始裝置命令一個信道的信息包的發(fā)送開始時,使用上述連結(jié)指示字,依次連續(xù)讀出其它信道的信息包。
16.如權(quán)利要求12的數(shù)據(jù)傳輸控制裝置,其特征在于存儲在各信道中的各信息包包括用以使信息包相互連結(jié)的連結(jié)指示字,上述讀出裝置在由上述發(fā)送開始裝置命令一個信道的信息包的發(fā)送開始時,使用上述連結(jié)指示字依次連續(xù)讀出其它信道的信息包。
17.如權(quán)利要求13的數(shù)據(jù)傳輸控制裝置,其特征在于,存儲在各信道中的各信息包包括用以使信息包互相連結(jié)的連結(jié)指示字,上述讀出裝置在由上述發(fā)送開始裝置命令一個信道的信息包的發(fā)送開始時,使用上述連結(jié)指示字,依次連續(xù)讀出其它信道的信息包。
18.如權(quán)利要求11的數(shù)據(jù)傳輸控制裝置,其特征在于包括將從信息包傳輸端返送回的確認(rèn)信息寫回到發(fā)送信息包區(qū)的多個信道中的該信息包發(fā)送源的信道的寫回裝置。
19.如權(quán)利要求12的數(shù)據(jù)傳輸控制裝置,其特征在于包括將從信息包傳輸端返送回的確認(rèn)信息寫回到發(fā)送信息包區(qū)的多個信道中的該信息包的發(fā)送源的信道的寫回裝置。
20.如權(quán)利要求13的數(shù)據(jù)傳輸控制裝置,其特征在于包括將從信息包傳輸端返送回的確認(rèn)信息寫回到發(fā)送信息包區(qū)的多個信道中的該信息包的發(fā)送源的信道的寫回裝置。
21.如權(quán)利要求15的數(shù)據(jù)傳輸控制裝置,其特征在于包括將從信息包傳輸端返送回的確認(rèn)信息寫回到發(fā)送信息包區(qū)的多個信道中的該信息包的發(fā)送源的信道的寫回裝置。
22.一種用以在與總線連接的多個節(jié)點之間進行數(shù)據(jù)傳輸?shù)臄?shù)據(jù)傳輸控制裝置,其特征在于包括讀出在存儲裝置中寫入的信息包的讀出裝置;提供用以將讀出的信息包傳輸?shù)礁鞴?jié)點的服務(wù)的鏈路裝置;只存儲能連續(xù)傳輸?shù)男畔鼣?shù)以上的個數(shù)的從信息包傳輸端返送回來的確認(rèn)信息而無須確認(rèn)已被返送回的確認(rèn)信息的裝置。
23.一種用以在與總線連接的多個節(jié)點之間進行數(shù)據(jù)傳輸?shù)臄?shù)據(jù)傳輸控制裝置,其特征在于包括設(shè)定反復(fù)發(fā)送次數(shù)信息的裝置;生成基本控制信息的控制信息生成裝置;命令信息包的發(fā)送開始的發(fā)送開始裝置;在命令信息包開始發(fā)送時,通過回寫上述基本控制信息,依次生成與連續(xù)傳輸?shù)男畔臄?shù)據(jù)成對的控制信息的控制信息改寫裝置;連續(xù)傳輸由數(shù)據(jù)和依次生成的控制信息構(gòu)成幀的信息包直到反復(fù)發(fā)送次數(shù)信息成為規(guī)定的值為止的裝置。
24.如權(quán)利要求23的數(shù)據(jù)傳輸控制裝置,其特征在于,上述基本控制信息包括上述反復(fù)發(fā)送次數(shù)信息、用以指示從可隨機存取的存儲裝置的數(shù)據(jù)區(qū)讀出的數(shù)據(jù)的地址的數(shù)據(jù)指示字、事務(wù)識別信息;上述控制信息改寫裝置改寫上述反復(fù)發(fā)送次數(shù)信息、上述數(shù)據(jù)指示字以及上述事務(wù)識別信息。
25.如權(quán)利要求1的數(shù)據(jù)傳輸控制裝置,其特征在于包括與后級的應(yīng)用連接的第1總線;控制該數(shù)據(jù)傳輸控制裝置的第2總線;與物理層設(shè)備電連接的第3總線;與上述存儲裝置電連接的第4總線;進行用以在上述第1、第2、第3總線的任一個與上述第4總線之間確立數(shù)據(jù)路徑的協(xié)調(diào)的協(xié)調(diào)裝置。
26.如權(quán)利要求11的數(shù)據(jù)傳輸控制裝置,其特征在于包括與后級的應(yīng)用連接的第1總線;控制該數(shù)據(jù)傳輸控制裝置的第2總線;與物理層設(shè)備電連接的第3總線;與上述存儲裝置電連接的第4總線;進行用以在上述第1、第2、第3總線的任一個與上述第4總線之間確立數(shù)據(jù)路徑的協(xié)調(diào)的協(xié)調(diào)裝置。
27.如權(quán)利要求22的數(shù)據(jù)傳輸控制裝置,其特征在于包括與后級的應(yīng)用連接的第1總線;控制該數(shù)據(jù)傳輸控制裝置的第2總線;與物理層設(shè)備電連接的第3總線;與上述存儲裝置電連接的第4總線;進行用以在上述第1、第2、第3總線的任一個與上述第4總線之間確立數(shù)據(jù)路徑的協(xié)調(diào)的協(xié)調(diào)裝置。
28.如權(quán)利要求23的數(shù)據(jù)傳輸控制裝置,其特征在于包括與后級的應(yīng)用連接的第1總線;控制該數(shù)據(jù)傳輸控制裝置的第2總線;與物理層設(shè)備電連接的第3總線;與上述存儲裝置電連接的第4總線;進行用以在上述第1、第2、第3總線的任一個與上述第4總線之間確立數(shù)據(jù)路徑的協(xié)調(diào)的協(xié)調(diào)裝置。
29.如權(quán)利要求1的數(shù)據(jù)傳輸控制裝置,其特征在于,進行按照IEEE 1394標(biāo)準(zhǔn)的數(shù)據(jù)傳輸。
30.如權(quán)利要求11的數(shù)據(jù)傳輸控制裝置,其特征在于,進行按照IEEE 1394標(biāo)準(zhǔn)的數(shù)據(jù)傳輸。
31.如權(quán)利要求22的數(shù)據(jù)傳輸控制裝置,其特征在于,進行按照IEEE 1394標(biāo)準(zhǔn)的數(shù)據(jù)傳輸。
32.如權(quán)利要求23的數(shù)據(jù)傳輸控制裝置,其特征在于,進行按照IEEE 1394標(biāo)準(zhǔn)的數(shù)據(jù)傳輸。
33.一種電子設(shè)備,其特征在于包括權(quán)利要求1~32中任一項的數(shù)據(jù)傳輸控制裝置;通過上述數(shù)據(jù)傳輸控制裝置及總線,對從其它節(jié)點接收的數(shù)據(jù)進行規(guī)定處理的裝置;用以輸出或存儲進行了處理的數(shù)據(jù)的裝置。
34.一種電子設(shè)備,其特征在于包括權(quán)利要求1~32中任一項的數(shù)據(jù)傳輸控制裝置;通過上述數(shù)據(jù)傳輸控制裝置及總線,對向其它節(jié)點發(fā)送的數(shù)據(jù)進行規(guī)定處理的裝置;用以取入進行了處理的數(shù)據(jù)的裝置。
全文摘要
目的在于提供一種減輕處理操作,用小規(guī)模的硬件就能實現(xiàn)高速的數(shù)據(jù)傳輸?shù)臄?shù)據(jù)傳輸控制裝置和電子設(shè)備。在IEEE 1394的數(shù)據(jù)傳輸中,信息包結(jié)合電路(280)從RAM(80)的首部、數(shù)據(jù)區(qū)讀出信息包的首部、數(shù)據(jù)并使之結(jié)合。利用首部CRC的生成期間取得數(shù)據(jù)指示字。判斷是否用tcode讀出首部、數(shù)據(jù)的任一個,遞增首部指示字或數(shù)據(jù)指示字。在對數(shù)據(jù)區(qū)的數(shù)據(jù)取入期間生成首部。在發(fā)送信息包期間從分離發(fā)送信息包區(qū)的一個信道取入對其它信道的數(shù)據(jù)。使用連結(jié)指示字連續(xù)讀出其它信道的信息包。將來自傳輸端口ACK碼回寫到發(fā)送源的信道。改寫基本首部,依次生成首部,連續(xù)傳輸信息包直到反復(fù)次數(shù)為0。
文檔編號H04L29/06GK1292120SQ99803357
公開日2001年4月18日 申請日期1999年10月26日 優(yōu)先權(quán)日1998年10月27日
發(fā)明者石田卓也, 神原義幸, 和田文利 申請人:精工愛普生株式會社