專利名稱:數(shù)據(jù)傳輸控制裝置和電子設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)傳輸控制裝置和包含該裝置的電子設(shè)備,特別是在與總線連接的多個節(jié)點間依照IEEE1394等標準進行數(shù)據(jù)傳輸?shù)臄?shù)據(jù)傳輸控制裝置和包含該裝置的電子設(shè)備。
背景技術(shù):
近年來,稱為IEEE1394的接口標準已面世。該IEEE1394是使可以與下一代的多媒體對應(yīng)的高速串行總線接口規(guī)格化的標準。按照該IEEE1394,可以處理活動圖像等請求實時性的數(shù)據(jù)。另外,不僅打印機、掃描器、CD-RW驅(qū)動器、硬盤驅(qū)動器等電腦的外圍設(shè)備而且錄像機、VTR、TV等家用電器也可以與IEEE1394的總線連接。因此,可以迅速地促進電子設(shè)備的數(shù)字化。
但是,現(xiàn)在知道依照該IEEE1394的數(shù)據(jù)傳輸控制裝置存在以下的問題。
即,按照現(xiàn)在的IEEE1394標準,最大可以實現(xiàn)400Mbps的傳輸速度。但是,在現(xiàn)實中,由于存在處理的額外操作,系統(tǒng)全體的實際傳輸速度將遠遠低于該傳輸速度。即,在CPU上動作的固件或應(yīng)用程序軟件對準備發(fā)送數(shù)據(jù)或讀取接收數(shù)據(jù)等處理需要較多的時間,即使在總線上的傳輸速度快,結(jié)果也不能實現(xiàn)高速的數(shù)據(jù)傳輸。
特別是組裝到外圍設(shè)備中的CPU的處理能力比組裝在電腦等主機系統(tǒng)中的CPU低。因此,固件等的處理的額外操作的問題,就成為非常重要的問題。于是,迫切期望能夠有效地解決該額外操作的問題。
發(fā)明的公開本發(fā)明就是鑒于以上的技術(shù)問題而提案的,目的旨在提供可以減輕固件等的處理的額外操作從而可以用小規(guī)模的硬件實現(xiàn)高速的數(shù)據(jù)傳輸?shù)臄?shù)據(jù)傳輸控制裝置和使用該裝置的電子設(shè)備。
為了解決上述問題,本發(fā)明是用于在與總線連接的多個節(jié)點間進行數(shù)據(jù)傳輸?shù)臄?shù)據(jù)傳輸控制裝置,其特征在于包括提供節(jié)點間的數(shù)據(jù)包傳輸用的服務(wù)的鏈接單元;將通過上述鏈接單元接收的數(shù)據(jù)包寫入可以隨機訪問的數(shù)據(jù)包存儲單元的寫入單元;和將數(shù)據(jù)包的控制信息寫入上述數(shù)據(jù)包存儲單元的控制信息區(qū)域、將數(shù)據(jù)包的第1層(例如事務(wù)處理層)用的第1數(shù)據(jù)寫入上述數(shù)據(jù)包存儲單元的第1數(shù)據(jù)區(qū)域而將數(shù)據(jù)包的作為上述第1層的上層的第2層(例如應(yīng)用程序?qū)?用的第2數(shù)據(jù)寫入上述數(shù)據(jù)包存儲單元的第2數(shù)據(jù)區(qū)域的數(shù)據(jù)包分離單元。
按照本發(fā)明,數(shù)據(jù)包的控制信息(例如標題、結(jié)尾)寫入控制信息區(qū)域,數(shù)據(jù)包的第1數(shù)據(jù)(例如事務(wù)處理層用的數(shù)據(jù))寫入第1數(shù)據(jù)區(qū)域,數(shù)據(jù)包的第2數(shù)據(jù)(例如應(yīng)用程序?qū)佑玫臄?shù)據(jù))寫入第2數(shù)據(jù)區(qū)域。只要這樣,就可以從第2數(shù)據(jù)區(qū)域連續(xù)地讀出第2數(shù)據(jù)并向第2層傳輸。這樣,便可使數(shù)據(jù)傳輸迅速地實現(xiàn)高速化。
在本發(fā)明中,上述第1數(shù)據(jù)最好是在上述第1層的協(xié)議中使用的指令數(shù)據(jù),上述第2數(shù)據(jù)是在應(yīng)用程序?qū)又惺褂玫臄?shù)據(jù)。
另外,本發(fā)明的特征在于還包括在上述第2數(shù)據(jù)區(qū)域已滿時為了禁止上述寫入單元向上述第2數(shù)據(jù)區(qū)域的上述第2數(shù)據(jù)的寫入動作而激活滿信號、在上述第2數(shù)據(jù)區(qū)域為空區(qū)域時為了禁止上述第2層從上述第2數(shù)據(jù)區(qū)域的上述第2數(shù)據(jù)的讀出動作而激活空信號的區(qū)域管理單元。這樣,僅利用區(qū)域管理單元的管理,就可以控制向第2數(shù)據(jù)區(qū)域的第2數(shù)據(jù)的寫入處理和從第2數(shù)據(jù)區(qū)域的第2數(shù)據(jù)的讀出處理,從而可以實現(xiàn)數(shù)據(jù)傳輸?shù)淖詣踊透咚倩?br>
另外,本發(fā)明的特征在于在向應(yīng)答節(jié)點發(fā)送使事務(wù)處理開始的請求數(shù)據(jù)包時,在包含在上述請求數(shù)據(jù)包中的事務(wù)處理識別信息中,包含用于指示從應(yīng)答節(jié)點接收應(yīng)答數(shù)據(jù)時進行的處理的指示信息,在從應(yīng)答節(jié)點接收應(yīng)答數(shù)據(jù)包時,將應(yīng)答數(shù)據(jù)包的上述控制信息、上述第1、第2數(shù)據(jù)寫入由應(yīng)答數(shù)據(jù)包的事務(wù)處理識別信息包含的上述指示信息指示的區(qū)域中。這樣,在從應(yīng)答節(jié)點返送回應(yīng)答數(shù)據(jù)包時,應(yīng)答數(shù)據(jù)包的控制信息、第1、第2數(shù)據(jù)便可與固件等無關(guān)而自動地寫入由指示信息指示的區(qū)域中。因此,可以大大減輕固件等的處理負擔。
另外,本發(fā)明是用于在與總線連接的多個節(jié)點間進行數(shù)據(jù)傳輸?shù)臄?shù)據(jù)傳輸控制裝置,其特征在于包括在向應(yīng)答節(jié)點發(fā)送使事務(wù)處理開始的請求數(shù)據(jù)包時使在包含在上述請求數(shù)據(jù)包中的事務(wù)處理識別信息中包含用于指示從應(yīng)答節(jié)點接收應(yīng)答數(shù)據(jù)包時進行的處理的指示信息的單元和在從應(yīng)答節(jié)點接收應(yīng)答數(shù)據(jù)包時進行由應(yīng)答數(shù)據(jù)包的事務(wù)處理識別信息包含的上述指示信息指示的處理的單元。
按照本發(fā)明,在從應(yīng)答節(jié)點返送回應(yīng)答數(shù)據(jù)包時,就進行與包含在事務(wù)處理識別信息(例如事務(wù)處理標簽)中的指示信息相應(yīng)的處理。因此,在應(yīng)答數(shù)據(jù)包的返送回時進行的處理可以實現(xiàn)自動化,從而可以減輕固件等的處理負擔,同時可以實現(xiàn)數(shù)據(jù)傳輸?shù)母咚倩?br>
另外,本發(fā)明的特征在于在從應(yīng)答節(jié)點接收應(yīng)答數(shù)據(jù)包時將上述應(yīng)答數(shù)據(jù)包的控制信息和數(shù)據(jù)寫入由應(yīng)答數(shù)據(jù)包的事務(wù)處理識別信息包含的上述指示信息指示的區(qū)域中。應(yīng)答數(shù)據(jù)包返送回來時進行的處理,不限于向這樣指示區(qū)域的寫入處理。
另外,本發(fā)明的特征在于上述事務(wù)處理識別信息的指定的位作為表示上述指示信息的位預(yù)先進行預(yù)約。這樣,便可使在請求數(shù)據(jù)包的事務(wù)處理識別信息中包含指示信息的處理和根據(jù)應(yīng)答數(shù)據(jù)包的事務(wù)處理識別信息判斷指示信息的處理成為簡單而負荷低的處理。
上述事務(wù)處理識別信息最好是IEEE1394的標準中的事務(wù)處理標簽。
另外,本發(fā)明是用于在與總線連接的多個節(jié)點件進行數(shù)據(jù)傳輸?shù)臄?shù)據(jù)傳輸控制裝置,其特征在于包括提供在節(jié)點間的數(shù)據(jù)包傳輸用的服務(wù)的鏈接單元、用于存儲數(shù)據(jù)包的可以隨機訪問的數(shù)據(jù)包存儲單元、將通過上述鏈接單元從各節(jié)點傳輸來的數(shù)據(jù)包寫入到上述數(shù)據(jù)包存儲單元中的寫入單元和讀出寫入到上述數(shù)據(jù)包存儲單元中的數(shù)據(jù)包并向上述鏈接單元傳輸?shù)淖x出單元,上述數(shù)據(jù)包存儲單元分離為存儲數(shù)據(jù)包的控制信息的控制信息區(qū)域和存儲數(shù)據(jù)包的數(shù)據(jù)的數(shù)據(jù)區(qū)域,上述數(shù)據(jù)區(qū)域分離為存儲第1層用的第1數(shù)據(jù)的第1數(shù)據(jù)區(qū)域和存儲作為上述第1層的上層的第2層用的第2數(shù)據(jù)的第2數(shù)據(jù)區(qū)域。
按照本發(fā)明,數(shù)據(jù)包存儲單元分離為控制信息區(qū)域、第1數(shù)據(jù)區(qū)域和第2數(shù)據(jù)區(qū)域,所以,可以從第2數(shù)據(jù)區(qū)域連續(xù)地讀出第2數(shù)據(jù),或?qū)⒌?數(shù)據(jù)連續(xù)地寫入第2數(shù)據(jù)區(qū)域。這樣,便可使數(shù)據(jù)傳輸迅速地實現(xiàn)高速化。
另外,本發(fā)明的特征在于包括存儲用于在上述第2數(shù)據(jù)區(qū)域中確保發(fā)送區(qū)域的發(fā)送區(qū)域開始地址的第1地址存儲單元、存儲用于在上述第2數(shù)據(jù)區(qū)域中確保發(fā)送區(qū)域的發(fā)送區(qū)域結(jié)束地址的第2地址存儲單元、存儲用于在上述第2數(shù)據(jù)區(qū)域中確保接收區(qū)域的接收區(qū)域開始地址的第3地址存儲單元和存儲用于在上述第2數(shù)據(jù)區(qū)域中確保接收區(qū)域的接收區(qū)域結(jié)束地址的第4地址存儲單元。這樣,便可根據(jù)第2層(例如應(yīng)用程序?qū)?的設(shè)備的特性而將第2數(shù)據(jù)區(qū)域作為例如發(fā)送專用區(qū)域利用或作為接收專用區(qū)域利用或者作為發(fā)送和接收的共用區(qū)域來利用。
另外,本發(fā)明的特征在于上述發(fā)送區(qū)域開始地址和上述接收區(qū)域開始地址設(shè)定為上述第2數(shù)據(jù)區(qū)域的開始地址,上述發(fā)送區(qū)域結(jié)束地址和上述接收區(qū)域結(jié)束地址設(shè)定為上述第2數(shù)據(jù)區(qū)域的結(jié)束地址。這樣,便可將第2數(shù)據(jù)區(qū)域作為發(fā)送和接收的共用區(qū)域來利用。因此,便可向以從其他節(jié)點向本節(jié)點的方向和從本節(jié)點向其他節(jié)點的方向這樣的雙向傳輸數(shù)據(jù)的第2層的設(shè)備提供最佳的數(shù)據(jù)傳輸控制裝置。而且,不論在發(fā)送時還是接收時都可以最大限度地利用第2數(shù)據(jù)區(qū)域的存儲容量,從而可以將更多的數(shù)據(jù)存儲到第2數(shù)據(jù)區(qū)域中。
另外,本發(fā)明的特征在于上述發(fā)送區(qū)域開始地址和上述發(fā)送區(qū)域結(jié)束地址都設(shè)定為上述第2數(shù)據(jù)區(qū)域的開始地址或結(jié)束地址的某一方,上述接收區(qū)域開始地址設(shè)定為上述第2數(shù)據(jù)區(qū)域的開始地址,上述接收區(qū)域結(jié)束地址設(shè)定為上述第2數(shù)據(jù)區(qū)域的結(jié)束地址。這樣,便可將第2數(shù)據(jù)區(qū)域作為接收專用區(qū)域來利用。從而,便可向大的數(shù)據(jù)只能從其他節(jié)點向本節(jié)點的方向流動的第2層的設(shè)備提供最佳的數(shù)據(jù)傳輸控制裝置。
另外,本發(fā)明的特征在于上述接收區(qū)域開始地址和上述接收區(qū)域結(jié)束地址都設(shè)定為上述第2數(shù)據(jù)區(qū)域的開始地址或結(jié)束地址的某一方,上述發(fā)送區(qū)域開始地址設(shè)定為上述第2數(shù)據(jù)區(qū)域的開始地址,上述發(fā)送區(qū)域結(jié)束地址設(shè)定為上述第2數(shù)據(jù)區(qū)域的結(jié)束地址。這樣,便可將第2數(shù)據(jù)區(qū)域作為發(fā)送專用區(qū)域來利用。從而,便可向大的數(shù)據(jù)只能從本節(jié)點向其他節(jié)點的方向流動的第2層的設(shè)備提供最佳的數(shù)據(jù)傳輸控制裝置。
另外,在本發(fā)明中,最好依照IEEE1394的標準進行數(shù)據(jù)傳輸。
另外,本發(fā)明的電子設(shè)備的特征在于包括上述某一數(shù)據(jù)傳輸控制裝置、對通過上述數(shù)據(jù)傳輸控制裝置和總線從其他節(jié)點接收的數(shù)據(jù)進行指定的處理的裝置、和將進行了處理的數(shù)據(jù)輸出或存儲的裝置。另外,本發(fā)明的電子設(shè)備的特征在于包括上述某一數(shù)據(jù)傳輸控制裝置、對通過上述數(shù)據(jù)傳輸控制裝置和總線向其他節(jié)點發(fā)送的數(shù)據(jù)進行指定的處理的裝置、和讀入進行了處理的數(shù)據(jù)的裝置。
按照本發(fā)明,可以使在電子設(shè)備中輸出或存儲從其他節(jié)點傳輸來的數(shù)據(jù)的處理以及將在電子設(shè)備讀入的數(shù)據(jù)向其他節(jié)點傳輸?shù)奶幚韺崿F(xiàn)高速化。另外,按照本發(fā)明,可以使數(shù)據(jù)傳輸控制裝置實現(xiàn)小規(guī)?;瑫r,由于可以減輕控制數(shù)據(jù)傳輸?shù)墓碳鹊奶幚碡摀?,所以,可以實現(xiàn)電子設(shè)備的低成本化和小規(guī)?;取?br>
附圖的簡單說明
圖1是表示IEEE1394的層結(jié)構(gòu)的圖。
圖2A、圖2B是用于說明事務(wù)處理層和鏈接層提供的各種服務(wù)的圖。
圖3是用于說明SBP-2的圖。
圖4是表示本實施例的數(shù)據(jù)傳輸控制裝置的結(jié)構(gòu)例的圖。
圖5是用于說明RAM(數(shù)據(jù)包存儲單元)的分離(分割)方法的圖。
圖6是表示比較例的結(jié)構(gòu)的圖。
圖7是用于說明圖6的結(jié)構(gòu)的數(shù)據(jù)傳輸?shù)姆椒ǖ膱D。
圖8是用于說明本實施例的數(shù)據(jù)傳輸?shù)姆椒ǖ膱D。
圖9是用于說明不將數(shù)據(jù)區(qū)域分離為ORB區(qū)域和數(shù)據(jù)流區(qū)域的方法的圖。
圖10是用于說明將數(shù)據(jù)區(qū)域分離為ORB區(qū)域和數(shù)據(jù)流區(qū)域的方法的圖。
圖11是表示在其他節(jié)點與應(yīng)用程序?qū)拥脑O(shè)備之間的數(shù)據(jù)流傳輸?shù)那闆r的圖。
圖12是用于說明使用空信號和滿信號的數(shù)據(jù)流區(qū)域的管理方法的圖。
圖13A、圖13B是用于說明事務(wù)處理標簽的圖。
圖14是用于說明利用事務(wù)處理標簽將數(shù)據(jù)包的標題和數(shù)據(jù)寫入RAM的各區(qū)域的方法的圖。
圖15是用于說明利用事務(wù)處理標簽將數(shù)據(jù)包的標題和數(shù)據(jù)寫入RAM的各區(qū)域的處理的詳細情況的圖。
圖16是用于說明設(shè)置存儲用于確保發(fā)送數(shù)據(jù)流區(qū)域的地址TS、TE和用于確保接收數(shù)據(jù)流區(qū)域的地址RS、RE的寄存器TSR、TER、RSR、RER的方法的圖。
圖17A、圖17B、圖17C、圖17D是用于說明區(qū)域確保的各種模式的圖。
圖18是用于說明比較例的區(qū)域確保的方法的圖。
圖19是表示接收側(cè)的詳細結(jié)構(gòu)的圖。
圖20A是IEEE1394標準的具有塊數(shù)據(jù)的非同步數(shù)據(jù)包的格式,圖20B是RAM存儲的具有塊數(shù)據(jù)的非同步接收的數(shù)據(jù)包的標題部分的格式。
圖21是用于說明TAG的圖。
圖22是表示DMAC、寄存器、RAM區(qū)域管理電路的詳細結(jié)構(gòu)的圖。
圖23是用于說明各種指針寄存器的圖。
圖24A、圖24B、圖24C是各種電子設(shè)備的內(nèi)部結(jié)構(gòu)方框圖的例子。
圖25A、圖25B、圖25C是各種電子設(shè)備的外觀圖的例子。
實施發(fā)明的最佳方式下面,參照附圖詳細說明本發(fā)明的最佳實施例。
1.IEEE1394首先,簡單地說明IEEE1394。
1.1概要在IEEE1394(IEEE1394-1955、P1394.a)中,可以進行100~400Mbps的高速的數(shù)據(jù)傳輸(在P1394.b中為800~3200Mbps)。另外,允許將傳輸速度不同的節(jié)點與總線連接。
各節(jié)點連接為樹形狀,最多可以將63個節(jié)點與1個總線連接。如果利用總線橋路,就可以連接約64000個節(jié)點。
在IEEE1394中,作為數(shù)據(jù)包的傳輸方式,準備了非同步傳輸和同步傳輸。這里,非同步傳輸就是適合于請求可靠性的數(shù)據(jù)的傳輸?shù)膫鬏敺绞?,同步傳輸就是適合于請求實時性的動圖像或聲音等的數(shù)據(jù)的傳輸?shù)膫鬏敺绞健?br>
1.2層結(jié)構(gòu)IEEE1394的層結(jié)構(gòu)(協(xié)議結(jié)構(gòu))示于圖1。
IEEE1394的協(xié)議由事務(wù)處理層、鏈接層和物理層構(gòu)成。另外,串行總線管理監(jiān)視和控制事務(wù)處理層、鏈接層和物理層,提供節(jié)點的控制或總線的資源管理用的各種功能。
事務(wù)處理層向高位層提供事務(wù)處理單位的接口(服務(wù)),通過下層的鏈接層提供的接口進行讀出事務(wù)處理、寫入事務(wù)處理、鎖定事務(wù)處理等的事務(wù)處理。
這里,在讀出事務(wù)處理中,數(shù)據(jù)從應(yīng)答節(jié)點向請求節(jié)點傳輸。另一方面,在寫事務(wù)處理中,數(shù)據(jù)從請求節(jié)點向應(yīng)答節(jié)點傳輸。另外,在鎖定事務(wù)處理中,數(shù)據(jù)從請求節(jié)點向應(yīng)答節(jié)點傳輸,而應(yīng)答節(jié)點對該數(shù)據(jù)進行處理后再返送回請求節(jié)點。
事務(wù)處理層的服務(wù)如圖2A所示,由請求、顯示、應(yīng)答、確認這樣的4個服務(wù)構(gòu)成。
這里,事務(wù)處理層請求是請求側(cè)開始進行事務(wù)處理的服務(wù),事務(wù)處理顯示是將請求已到達的信息通知應(yīng)答側(cè)的服務(wù)。另外,事務(wù)處理應(yīng)答是將應(yīng)答側(cè)的狀態(tài)或數(shù)據(jù)返送回請求側(cè)的服務(wù),事務(wù)處理確認是將應(yīng)答側(cè)的應(yīng)答已到達的信息通知請求側(cè)的服務(wù)。
鏈接層提供尋址、數(shù)據(jù)檢驗、數(shù)據(jù)包收發(fā)用的數(shù)據(jù)成幀、同步傳輸用的循環(huán)控制等。
鏈接層的服務(wù)和事務(wù)處理層一樣,如圖2B所示,由請求、顯示、應(yīng)答、確認這樣4個服務(wù)構(gòu)成。
這里,鏈接請求是將數(shù)據(jù)包向應(yīng)答側(cè)傳輸?shù)姆?wù),鏈接顯示是由應(yīng)答側(cè)進行的數(shù)據(jù)包的接收服務(wù)。另外,鏈接應(yīng)答是由應(yīng)答側(cè)進行的應(yīng)答的傳輸服務(wù),鏈接確認是由請求側(cè)進行的應(yīng)答的接收服務(wù)。
物理層提供由鏈接層使用的邏輯信號向電信號的變換、總線的協(xié)調(diào)、總線的物理的接口。
物理層和鏈接層通常利用數(shù)據(jù)傳輸控制裝置(接口芯片)等硬件實現(xiàn)。另外,事務(wù)處理層利用在CPU上動作的固件(處理單元)或硬件實現(xiàn)。
如圖3所示,作為包含IEEE1394的事務(wù)處理層的一部分的功能的高位的協(xié)議,已提案了稱為SBP-2(串行總線協(xié)議-2)的協(xié)議。
這里,SBP-2是為了可以在IEEE1394的協(xié)議上利用SCSI的指令集而提案的。如果使用該SBP-2,對在現(xiàn)有的SCSI標準的電子設(shè)備中使用的SCSI的指令集加以最小限度的改變,便可使用到IEEE1394標準的電子設(shè)備中。因此,可以使電子設(shè)備的設(shè)計和開發(fā)變得容易。另外,不僅SCSI的指令,而且設(shè)備固有的指令經(jīng)封裝后也可以利用,所以,通用性非常高。
在該SBP-2中,首先,發(fā)送端(電腦等)作成注冊或取出者的初始化用的ORB(操作請求塊),并向目標(打印機、CD-RW驅(qū)動器等)傳輸。其次,發(fā)送端作成包含指令(讀出指令、寫入指令)的ORB(指令塊ORB),并將該作成的ORB的地址通知目標。并且,目標通過取出該地址,取得發(fā)送端作成的ORB。在包含ORB中的指令是讀出指令時,目標就發(fā)布塊寫入事務(wù)處理指令,并將目標的數(shù)據(jù)向發(fā)送端的數(shù)據(jù)緩沖器(存儲器)發(fā)送。另一方面,在包含ORB中的指令是寫入指令時,目標就發(fā)布塊讀出事務(wù)處理指令,并從發(fā)送端的數(shù)據(jù)緩沖器中接收數(shù)據(jù)。
按照該SBP-2,目標在自身的情況良好時發(fā)布事務(wù)處理指令,可以收發(fā)數(shù)據(jù)。因此,發(fā)送端和目標不必同步地動作,所以,可以提高數(shù)據(jù)傳輸效率。
作為IEEE1394的高位協(xié)議,除了SBP-2以外,還提出了稱為FCP(功能控制協(xié)議)的協(xié)議等。
2.全部結(jié)構(gòu)下面,參照圖4說明本實施例的數(shù)據(jù)傳輸控制裝置的全部結(jié)構(gòu)。
在圖4中,PHY接口10是進行與PHY設(shè)備(物理層的設(shè)備)的接口的電路。
鏈接核心20(鏈接單元)是利用硬件實現(xiàn)鏈接層的協(xié)議和事務(wù)處理層的協(xié)議的一部分的電路,提供在節(jié)點間的數(shù)據(jù)包傳輸用的各種服務(wù)。寄存器22是用于控制實現(xiàn)這些協(xié)議的鏈接核心20的寄存器。
FIFO(ATF)30、FIFO(ITF)32、FIFO(RF)34分別是非同步發(fā)送用、同步發(fā)送用、接收用的FIFO,由例如寄存器或半導(dǎo)體存儲器等硬件構(gòu)成。在本實施例中,這些FIFO30、32、34的級數(shù)非常少。例如,1個FIFO的級數(shù)小于3級為好,最好是小于2級。
DMAC40(讀出單元)、DMAC42(讀出單元)、DMAC44(寫入單元)分別是ATF用、ITF用、RF用的DMA控制器。通過使用這些DMAC40、42、44,不必介入CPU66就可以在RAM80與鏈接核心20之間進行數(shù)據(jù)傳輸。寄存器46是控制DMAC40、42、44等的寄存器。
接口50是進行與應(yīng)用程序?qū)拥脑O(shè)備(例如進行打印機的印字處理的設(shè)備)的接口的電路。在本實施例中,使用該通路接口50可以進行例如8位的數(shù)據(jù)傳輸。
FIFO(PF)52是在與應(yīng)用程序?qū)拥脑O(shè)備之間進行數(shù)據(jù)傳輸用的FIFO,DMAC54是PF用的DMA控制器。寄存器56是控制接口50和DMA54的寄存器。
SBP-2芯片84是利用硬件實現(xiàn)SBP-2的協(xié)議的一部分的電路。寄存器88是用于控制SBP-2核心84的寄存器。DMAC(SBP-2用)86是SBP-2核心84用的DMA控制器。
RAM區(qū)域管理電路300是用于管理RAM80的各區(qū)域的電路。RAM區(qū)域管理電路300在RAM80的各區(qū)域已充滿或成為空時,就使用各種滿信號或空信號控制DMAC40、42、44、54、86。
CPU接口60是進行與控制數(shù)據(jù)傳輸控制裝置的CPU66的接口的電路。CPU接口60包括地址譯碼器62、數(shù)據(jù)同步化電路63和中斷控制器64。時鐘控制電路68是控制在本實施例中使用的時鐘的,輸入從PHY設(shè)備(PHY芯片)傳送來的SCLK或作為主時鐘的HCLK。
緩沖器管理電路70是管理與RAM80的接口的電路。緩沖器管理電路70包括緩沖器管理電路的控制用的寄存器72、協(xié)調(diào)向RAM80的總線連接的協(xié)調(diào)電路74和生成各種控制信號的時序發(fā)生器76。
RAM80起可以隨機訪問的數(shù)據(jù)包存儲單元的功能,該功能可以利用例如SRAM、SDRAM、DRAM等來實現(xiàn)。
RAM80最好是內(nèi)裝到本實施例的數(shù)據(jù)傳輸控制裝置中,但是,也可以將其一部分或全部外設(shè)。
圖5表示RAM80的存儲圖的一例。如圖5所示,在本實施例中,RAM80分離為標題區(qū)域(AR2、AR3、AR4、AR6)和數(shù)據(jù)區(qū)域(AR5、AR7、AR8、AR9)。并且,數(shù)據(jù)包的標題(廣義地說,是控制信息)存儲到標題區(qū)域,數(shù)據(jù)包的數(shù)據(jù)(ORB、數(shù)據(jù)流)存儲到數(shù)據(jù)區(qū)域。
另外,在本實施例中,如圖5所示,RAM80的數(shù)據(jù)區(qū)域(AR5、AR7、AR8、AR9)分離為ORB區(qū)域(AR5、AR7)和數(shù)據(jù)流區(qū)域(AR8、AR9)。
此外,在本實施例中,RAM80分離為接收區(qū)域(AR2、AR4、AR5、AR9)和發(fā)送區(qū)域(AR3、AR6、AR7、AR8)。
ORB(第1層用的第1數(shù)據(jù))如上所述是SBP-2用的數(shù)據(jù)(指令)。另一方面,數(shù)據(jù)流(第1層的上層的第2層用的第2數(shù)據(jù))是應(yīng)用程序?qū)佑玫臄?shù)據(jù)(打印機的印字數(shù)據(jù)、CD-RW的讀出寫入數(shù)據(jù)、掃描器的讀入圖像數(shù)據(jù)等)。
另外,AR1、AR2、AR3所示的HW(硬件)用頁表區(qū)域、HW用接收標題區(qū)域、HW用發(fā)送標題區(qū)域是圖4所示的SBP-2核心84(利用硬件實現(xiàn)SBP-2的電路)用于寫入和讀出頁表、接收數(shù)據(jù)和發(fā)送數(shù)據(jù)的區(qū)域。
另外,在圖5中,AR4、AR5、AR8、AR9所示的區(qū)域為所謂的環(huán)形緩沖器結(jié)構(gòu)。
圖4的總線90(或總線92、94)與應(yīng)用程序連接(第1總線)。另外,總線95(或總線96)用于控制數(shù)據(jù)傳輸控制裝置或讀出及寫入數(shù)據(jù),與控制數(shù)據(jù)傳輸控制裝置(例如CPU)的設(shè)備電氣連接(第2總線)。另外,總線100(或總線102、104、105、106、107、108、109)與物理層的設(shè)備(PHY設(shè)備)電氣連接(第3總線)。另外,總線110與作為可以隨機訪問的存儲單元的RAM80電氣連接(第4總線)。另外,總線99用于讀出及寫入該標題信息及頁表信息,SBP-2核心84利用硬件實現(xiàn)SBP-2時使用的標題信息及頁表信息(第5總線)。
緩沖器管理電路70的協(xié)調(diào)電路74進行DMAC40、42、44、CPU接口60、DMAC86、54的總線訪問請求的協(xié)調(diào)。并且,根據(jù)其協(xié)調(diào)結(jié)果分別在總線105、107、109、96、99、94中的任一總線與RAM80的總線110之間確立數(shù)據(jù)的路徑(在第1、第2、第3、第5總線中的任一總線與第4總線之間確立數(shù)據(jù)路徑)。
本實施例的1個特征在于設(shè)置了可以隨機訪問的存儲數(shù)據(jù)包的RAM80,同時設(shè)置了相互分離的總線90、95、99、100和用于將這些總線與RAM80的總線110連接的協(xié)調(diào)電路74。
例如,圖6表示結(jié)構(gòu)與本實施例不同的數(shù)據(jù)傳輸控制裝置的例子。在該數(shù)據(jù)傳輸控制裝置中,鏈接核心902通過PHY接口900、總線922與PHY設(shè)備連接。另外,鏈接核心902通過FIFO904、906、908、CPU接口910、總線920與CPU912連接。并且,CPU912通過總線924與作為CPU的局部存儲器的RAM914連接。
下面,參照圖7說明使用圖6的結(jié)構(gòu)的數(shù)據(jù)傳輸控制裝置時的數(shù)據(jù)傳輸?shù)姆椒āMㄟ^PHY設(shè)備930從其他節(jié)點傳送來的接收數(shù)據(jù)包通過總線922、數(shù)據(jù)傳輸控制裝置932和總線920由CPU912接收。并且,CPU912將所接收的接收數(shù)據(jù)包通過總線924暫時寫入RAM914。并且,CPU912通過總線914將寫入RAM914的接收數(shù)據(jù)包讀出,進行加工以使應(yīng)用程序?qū)涌梢允褂?,通過總線926向應(yīng)用程序?qū)拥脑O(shè)備934傳輸。
另一方面,在從應(yīng)用程序?qū)拥脑O(shè)備934傳輸數(shù)據(jù)時,CPU912將該數(shù)據(jù)寫入RAM914。并且,通過將標題附加到RAM914的數(shù)據(jù)上,生成復(fù)合IEEE1394標準的數(shù)據(jù)包。并且,生成的數(shù)據(jù)包通過數(shù)據(jù)傳輸控制裝置932、PHY設(shè)備930等向其他節(jié)點發(fā)送。
但是,利用該圖7的數(shù)據(jù)傳輸方法時,CPU912的處理負擔非常重。因此,即使連接在節(jié)點間的串行總線的傳輸速度很高,由于CPU912的處理的額外操作等原因,系統(tǒng)全體的實際傳輸速度也較低,結(jié)果,便不能實現(xiàn)高速的數(shù)據(jù)傳輸。
與此相反,在本實施例中,如圖8所示,數(shù)據(jù)傳輸控制裝置120與應(yīng)用程序?qū)拥脑O(shè)備124間的總線90、CPU總線96、數(shù)據(jù)傳輸控制裝置120與RAM80間的總線110是相互分離的。因此,可以僅將CPU總線96用于數(shù)據(jù)傳輸?shù)目刂?。另外,在?shù)據(jù)傳輸控制裝置120與應(yīng)用程序?qū)拥脑O(shè)備124間占用總線90進行數(shù)據(jù)傳輸。例如,在組裝了數(shù)據(jù)傳輸控制裝置120的電子設(shè)備是打印機時,可以占用總線90傳輸印字數(shù)據(jù)。結(jié)果,便可減輕CPU66的處理負擔,從而可以提高系統(tǒng)全體的實際傳輸速度。另外,作為CPU66,可以采用廉價的CPU,同時,作為CPU總線96,則不必使用高速的總線。因此,可以實現(xiàn)電子設(shè)備的低成本化和小規(guī)?;?br>
3.本實施例的特征3.1數(shù)據(jù)區(qū)域的分離(分離為ORB區(qū)域和數(shù)據(jù)流區(qū)域)本實施例的第1特征在于將圖4的RAM80如圖5所示的那樣分離為標題區(qū)域(AR2、AR3、AR4、AR6)和數(shù)據(jù)區(qū)域(AR5、AR7、AR8、AR9),同時將數(shù)據(jù)區(qū)域分離為ORB區(qū)域(AR5、AR7)和數(shù)據(jù)流區(qū)域(AR8、AR9)。
即,通過將RAM分離為標題區(qū)域和數(shù)據(jù)區(qū)域,固件便可從標題區(qū)域連續(xù)地讀出標題,或?qū)祟}連續(xù)地寫入標題區(qū)域。因此,具有可以某種程度地減輕固件的處理負擔的優(yōu)點。但是,從數(shù)據(jù)傳輸?shù)母咚倩挠^點看,知道僅靠標題區(qū)域和數(shù)據(jù)區(qū)域的分離還是不充分的。
例如,在圖9中,接收數(shù)據(jù)包分離為標題和數(shù)據(jù),標題1、2、3寫入標題區(qū)域,數(shù)據(jù)1、2、3寫入數(shù)據(jù)區(qū)域。
這里,對于數(shù)據(jù),如前所述,有SBP-2(第1層)用的ORB(第1數(shù)據(jù))和作為上層的應(yīng)用程序?qū)?第2層)用的數(shù)據(jù)流。因此,僅將RAM分離為標題區(qū)域和數(shù)據(jù)區(qū)域時,如圖9的D1、D2、D3所示的那樣,在數(shù)據(jù)區(qū)域中將混合存在ORB和數(shù)據(jù)流。
因此,在例如從RAM向應(yīng)用程序?qū)拥脑O(shè)備傳輸數(shù)據(jù)流時,就必須進行以下的處理。即,首先將讀出地址(數(shù)據(jù)指針)設(shè)定到D4的位置,讀出數(shù)據(jù)流11、12、13,其次,將讀出地址設(shè)定到D5的位置,讀出數(shù)據(jù)流21、22、23。然后,將讀出地址設(shè)定到D6的位置,讀出數(shù)據(jù)流31、32、33。
這樣,僅單純地將RAM分離為標題區(qū)域和數(shù)據(jù)區(qū)域而向應(yīng)用程序?qū)拥脑O(shè)備傳輸數(shù)據(jù)流時,必須利用固件進行讀出地址的控制等,從而將不能減輕固件該部分的處理負擔。另外,由于不能從數(shù)據(jù)區(qū)域中連續(xù)地讀出數(shù)據(jù)流,所以,就不能提高數(shù)據(jù)傳輸控制裝置的實際傳輸速度。
另一方面,在圖10中,將數(shù)據(jù)區(qū)域分離為ORB區(qū)域和數(shù)據(jù)流區(qū)域。如果這樣做,固件(事務(wù)處理層)就可以從ORB區(qū)域中連續(xù)地讀出ORB1、2、3。另外,不介入固件就可以從RAM的數(shù)據(jù)流區(qū)域中連續(xù)地讀出數(shù)據(jù)流11~33,從而可以向應(yīng)用層的設(shè)備傳輸。即,如圖11所示,在其他節(jié)點123(例如電腦)與應(yīng)用程序?qū)拥脑O(shè)備(例如進行打印機的印字處理的設(shè)備)之間不介入固件(CPU)66就可以高速地傳輸數(shù)據(jù)流(例如印字數(shù)據(jù))。結(jié)果,與圖9相比,可以大大減輕固件的處理負擔,同時,可以使數(shù)據(jù)傳輸飛速地實現(xiàn)高速化。
在圖10中,表示的是本實施例的數(shù)據(jù)傳輸控制裝置120接收數(shù)據(jù)流的情況(如方向DR1所示的那樣,從其他節(jié)點123向應(yīng)用程序?qū)拥脑O(shè)備124傳輸數(shù)據(jù)流的情況)。但是,在數(shù)據(jù)傳輸控制裝置120發(fā)送數(shù)據(jù)流時(如方向DR2所示的那樣,從應(yīng)用程序?qū)拥脑O(shè)備124向其他節(jié)點123傳輸數(shù)據(jù)流時),通過將數(shù)據(jù)區(qū)域分離為發(fā)送ORB區(qū)域(圖5的AR7)和發(fā)送數(shù)據(jù)流區(qū)域(AR8),也可以實現(xiàn)數(shù)據(jù)傳輸?shù)母咚倩?br>
此外,將數(shù)據(jù)區(qū)域分離為ORB區(qū)域和數(shù)據(jù)流區(qū)域時,還可以得到以下的效果。
例如,在圖12中,RAM區(qū)域管理電路300進行數(shù)據(jù)流區(qū)域的管理。更具體而言,就是在很多數(shù)據(jù)流寫入數(shù)據(jù)流區(qū)域而使數(shù)據(jù)流區(qū)域成為滿時,RAM區(qū)域管理電路300就激活信號STRM滿。于是,接收到該STRM滿的DMAC44(寫入單元)就不將向RAM的寫入請求WREQ激活。這樣,就不再向數(shù)據(jù)流區(qū)域?qū)懭霐?shù)據(jù)流。
另一方面,在從數(shù)據(jù)流區(qū)域中讀出很多數(shù)據(jù)流而使數(shù)據(jù)流區(qū)域成為空區(qū)域時,RAM區(qū)域管理電路300就將信號STRM空激活。于是,接收到該STRM空的DMAC54(讀出單元)就不激活從RAM的讀出請求RREQ。這樣,就不再從數(shù)據(jù)流區(qū)域中讀出數(shù)據(jù)流(不再向應(yīng)用程序?qū)拥脑O(shè)備傳輸數(shù)據(jù)流)。
如上所述,只要將數(shù)據(jù)區(qū)域分離為ORB區(qū)域和數(shù)據(jù)流區(qū)域,如果數(shù)據(jù)流區(qū)域已充滿,就禁止向數(shù)據(jù)流區(qū)域?qū)懭?,如果?shù)據(jù)流區(qū)域已空,就禁止從數(shù)據(jù)流區(qū)域讀出,只要進行這樣簡單的控制就行了。因此,不介入固件就可以控制數(shù)據(jù)傳輸。結(jié)果,便可減輕固件的處理負擔。另外,可以與處理能力低的固件無關(guān)地利用硬件控制數(shù)據(jù)傳輸,所以,可以使數(shù)據(jù)傳輸實現(xiàn)高速化。
3.2利用事務(wù)處理標簽切換寫入?yún)^(qū)域在IEEE1394中,作為用于識別各事務(wù)處理的信息,使用稱為事務(wù)處理標簽t1的信息。
即,事務(wù)處理的請求節(jié)點使在請求數(shù)據(jù)包中包含事務(wù)處理標簽而向應(yīng)答節(jié)點發(fā)送。并且,接收到該請求數(shù)據(jù)包的應(yīng)答節(jié)點使在應(yīng)答數(shù)據(jù)包中包含與上述相同的t1而返送回請求節(jié)點。請求節(jié)點通過檢查包含在返送回來的應(yīng)答數(shù)據(jù)包中的t1,便可確認該應(yīng)答數(shù)據(jù)包是與自己請求的事務(wù)處理對應(yīng)的應(yīng)答。
事務(wù)處理標簽t1只要在與應(yīng)答節(jié)點的關(guān)系中是唯一的就行。更具體而言,就是例如請求節(jié)點L向應(yīng)答節(jié)點M發(fā)布了t1=N的事務(wù)處理時,在該事務(wù)處理未完成的期間,請求節(jié)點L不能向應(yīng)答節(jié)點M發(fā)布帶t1=N的其他的事務(wù)處理。即,各事務(wù)處理由事務(wù)處理標簽t1、源ID和識別ID唯一地特定。反過來說,就是只要事務(wù)處理標簽t1遵守上述限制就行,可以使用任何值,而其他的節(jié)點對無論什么樣的t1也必須接收。
在請求節(jié)點發(fā)送請求數(shù)據(jù)包并等待應(yīng)答數(shù)據(jù)包的返回時,有時應(yīng)答數(shù)據(jù)包返送回來時進行的處理已決定了。因此,本實施例著眼于上述事務(wù)處理標簽t1的性質(zhì),采用以下的方法。
即,如圖13A所示,在向應(yīng)答節(jié)點發(fā)送開始進行事務(wù)處理的請求數(shù)據(jù)包時,使包含在請求數(shù)據(jù)包中的事務(wù)處理標簽t1(廣義地說,就是事務(wù)處理識別信息)中包含指示在應(yīng)答數(shù)據(jù)包返送回時應(yīng)進行的處理的指示信息。并且,在從應(yīng)答節(jié)點接收到應(yīng)答數(shù)據(jù)包時進行與包含在t1中的指示信息相應(yīng)的處理。
這樣,在應(yīng)答數(shù)據(jù)包返送回來時,可以與固件無關(guān)地利用硬件進行與包含在t1中的指示信息相應(yīng)的處理。這樣,就可以減輕固件的處理負擔,同時可以實現(xiàn)數(shù)據(jù)傳輸?shù)母咚倩?br>
更具體而言,在本實施例中,從應(yīng)答節(jié)點接收到應(yīng)答數(shù)據(jù)包時,就將該應(yīng)答數(shù)據(jù)包存儲到由包含在t1中的指示信息指示的區(qū)域中。
即,如圖13B所示,將事務(wù)處理標簽t1的位5、4作為表示指示信息的位預(yù)先進行預(yù)約。
并且,在將返送回來的應(yīng)答數(shù)據(jù)包寫入HW(硬件)用區(qū)域時,就將請求數(shù)據(jù)包的t1的位5設(shè)定為1,并向應(yīng)答節(jié)點發(fā)送。另一方面,在將返送回來的應(yīng)答數(shù)據(jù)包寫入FW(固件)用區(qū)域時,就將應(yīng)答數(shù)據(jù)包的t1的位5設(shè)定為0,并向應(yīng)答節(jié)點發(fā)送。
另外,在將返送回來的應(yīng)答數(shù)據(jù)包寫入數(shù)據(jù)流區(qū)域時,就將請求數(shù)據(jù)包的t1的位4設(shè)定為1,并向應(yīng)答節(jié)點發(fā)送。另一方面,在將返送回來的應(yīng)答數(shù)據(jù)包寫入ORB區(qū)域時,就將請求數(shù)據(jù)包的t1的位4設(shè)定為0,并向應(yīng)答節(jié)點發(fā)送。
這樣,在應(yīng)答數(shù)據(jù)包返送回來時,如圖14所示,應(yīng)答數(shù)據(jù)包的標題和數(shù)據(jù)就可以寫入RAM的各區(qū)域。
即,在t1=1×××××(×表示任意的意義)時,應(yīng)答數(shù)據(jù)包的標題就寫入HW用接收標題區(qū)域,在t1=0×××××時,就寫入FW用接收標題區(qū)域。
另外,在t1=11××××時,應(yīng)答數(shù)據(jù)包的標題就寫入HW用接收數(shù)據(jù)流區(qū)域,在t1=10××××時,就寫入HW用接收ORB區(qū)域。另外,在t1=01××××時,應(yīng)答數(shù)據(jù)包的標題就寫入FW用接收數(shù)據(jù)流區(qū)域,在t1=00××××時,就寫入FW用接收ORB區(qū)域。
這樣,不介入固件就可以將應(yīng)答數(shù)據(jù)包的標題和數(shù)據(jù)利用硬件(電路)自動地寫入RAM的各區(qū)域。并且,可以簡化進行將應(yīng)答數(shù)據(jù)包寫入RAM的處理的硬件的結(jié)構(gòu),從而可以實現(xiàn)數(shù)據(jù)傳輸控制裝置的小規(guī)?;?。
另外,如用圖10說明的那樣,可以將數(shù)據(jù)包的標題寫入標題區(qū)域、將ORB寫入ORB區(qū)域和將數(shù)據(jù)流寫入數(shù)據(jù)流區(qū)域,所以,可以減輕固件的處理負擔和實現(xiàn)數(shù)據(jù)傳輸?shù)母咚倩?br>
圖15表示根據(jù)t1將數(shù)據(jù)包的標題和數(shù)據(jù)寫入RAM的各區(qū)域的處理的詳細情況。
首先,判斷包含在接收數(shù)據(jù)包的開始的4位中的目的ID與本節(jié)點的ID是否一致(步驟S1)。并且,在不是送給本節(jié)點的數(shù)據(jù)包時,就廢棄該數(shù)據(jù)包(步驟S2)。
其次,檢查包含在接收數(shù)據(jù)包的開始的4位中的事務(wù)處理代碼tcode,判斷接收數(shù)據(jù)包是否為塊讀出響應(yīng)的數(shù)據(jù)包(步驟S3)。并且,在不是塊讀出響應(yīng)的數(shù)據(jù)包時,就轉(zhuǎn)移到步驟S10。
然后,在步驟S4、S5、S6判斷包含在接收數(shù)據(jù)包的開始的4位中的事務(wù)處理標簽t1的位5和位4,在位5和位4為(1、1)時就轉(zhuǎn)移到步驟S7、在是(1、0)時就轉(zhuǎn)移到步驟S8、在是(0、1)時就轉(zhuǎn)移到步驟S9、在是(0、0)時就轉(zhuǎn)移到步驟S10。
并且,在轉(zhuǎn)移到步驟S7時就將接收數(shù)據(jù)包的數(shù)據(jù)向HW用接收數(shù)據(jù)流區(qū)域傳輸、在轉(zhuǎn)移到步驟S8時就將接收數(shù)據(jù)包的數(shù)據(jù)向HW用接收ORB區(qū)域傳輸、在轉(zhuǎn)移到步驟S9時就將接收數(shù)據(jù)包的數(shù)據(jù)向FW用接收數(shù)據(jù)流區(qū)域傳輸、在轉(zhuǎn)移到步驟S10時就將接收數(shù)據(jù)包的數(shù)據(jù)向FW用接收ORB區(qū)域傳輸。并且,在t1的位5為1時就將接收數(shù)據(jù)包的標題向HW用接收標題區(qū)域傳輸(步驟S11)、在t1的位5為0時就將接收數(shù)據(jù)包的標題向FW用接收標題區(qū)域傳輸(步驟S12)。
在圖15的步驟S3,在接收數(shù)據(jù)包不是塊讀出響應(yīng)的數(shù)據(jù)包時,就轉(zhuǎn)移到步驟S10。這是因為,塊讀出響應(yīng)以外的接收數(shù)據(jù)包的大半可以認為是包含指令的數(shù)據(jù)包,而包含指令的數(shù)據(jù)包存儲到FW用接收ORB區(qū)域和FW用接收標題區(qū)域由固件進行處理是比較妥當?shù)摹?br>
3.3接收數(shù)據(jù)流區(qū)域和發(fā)送數(shù)據(jù)流區(qū)域的區(qū)分在本實施例中,如圖16所示,對數(shù)據(jù)流區(qū)域(第2數(shù)據(jù)區(qū)域)設(shè)置了存儲用于確保發(fā)送數(shù)據(jù)流區(qū)域的發(fā)送區(qū)域開始地址TS、發(fā)送區(qū)域結(jié)束地址TE的寄存器TSR(第1地址存儲單元)和TER(第2地址存儲單元)。另外,對數(shù)據(jù)流區(qū)域還設(shè)置了存儲用于確保接收數(shù)據(jù)流區(qū)域的接收區(qū)域開始地址RS、接收區(qū)域結(jié)束地址RE的寄存器RSR(第3地址存儲單元)和RER(第4地址存儲單元)。
在本實施例中,寄存器TSR、TER、RSR、RER是可以利用固件(CPU)進行改寫的寄存器。但是,在圖16中,對于寄存器TSR、RER的至少一方,固件也可以不進行改寫,而存儲固定值。
另外,在圖16中,是發(fā)送數(shù)據(jù)流區(qū)域位于接收數(shù)據(jù)流區(qū)域之上,但是,也可以使發(fā)送數(shù)據(jù)流區(qū)域位于接收數(shù)據(jù)流區(qū)域之下。并且,這時,固件可以將寄存器RSR、TER的至少一方不改寫,而使其存儲固定值。
通過設(shè)置圖16所示的寄存器TSR、TER、RSR、RER,可以確保圖17A、圖17B、圖17C、圖17D所示的各種模式的區(qū)域。
例如,在圖17A的第1模式中,寄存器TSR存儲的發(fā)送區(qū)域開始地址TS和寄存器RSR存儲的接收區(qū)域開始地址RS設(shè)定為數(shù)據(jù)流區(qū)域的開始地址S。另外,寄存器TER存儲的發(fā)送區(qū)域結(jié)束地址TE和寄存器RER存儲的接收區(qū)域結(jié)束地址RE設(shè)定為數(shù)據(jù)流區(qū)域的結(jié)束地址E。
按照該第1模式,可以使數(shù)據(jù)流區(qū)域的全部區(qū)域由發(fā)送和接收的雙方共用。
另外,在圖17B的第2模式中,發(fā)送區(qū)域開始地址TS、發(fā)送區(qū)域結(jié)束地址TE、接收區(qū)域開始地址RS設(shè)定為數(shù)據(jù)流區(qū)域的開始地址S,接收區(qū)域結(jié)束地址RE設(shè)定為數(shù)據(jù)流區(qū)域的結(jié)束地址E(也可以將TS和TE設(shè)定為E)。
按照該第2模式,可以將數(shù)據(jù)流區(qū)域的全部區(qū)域作為接收數(shù)據(jù)流區(qū)域使用。
另外,在圖17C的第3模式中,發(fā)送區(qū)域開始地址TS設(shè)定為數(shù)據(jù)流區(qū)域的開始地址S,接收區(qū)域開始地址RS、接收區(qū)域結(jié)束地址RE、發(fā)送區(qū)域結(jié)束地址TE設(shè)定為數(shù)據(jù)流區(qū)域的結(jié)束地址E(也可以將RS和RE設(shè)定為S)。
按照該第3模式,可以將數(shù)據(jù)流區(qū)域的全部區(qū)域作為發(fā)送數(shù)據(jù)流區(qū)域使用。
另外,在圖17D的第4模式中,發(fā)送區(qū)域開始地址TS設(shè)定為數(shù)據(jù)流區(qū)域的開始地址S、發(fā)送區(qū)域結(jié)束地址TE和接收區(qū)域開始地址RS設(shè)定為數(shù)據(jù)流區(qū)域的邊界地址B、接收區(qū)域結(jié)束地址RE設(shè)定為數(shù)據(jù)流區(qū)域的結(jié)束地址E。
按照該第4模式,可以將數(shù)據(jù)流區(qū)域的一部分區(qū)域作為發(fā)送數(shù)據(jù)流區(qū)域使用,而將其他的區(qū)域作為接收數(shù)據(jù)流區(qū)域使用。
例如,在CD-RW驅(qū)動器、硬盤驅(qū)動器等電子設(shè)備中,按圖11的DR1、DR2的雙向傳輸數(shù)據(jù)流。并且,通常DR1方向的數(shù)據(jù)流傳輸和DR2方向的數(shù)據(jù)流傳輸不是在相同時間內(nèi)進行的。因此,這時在圖17A所示的第1模式中就希望確保區(qū)域。這樣,在數(shù)據(jù)流區(qū)域的存儲容量為例如4K字節(jié)時,不論在發(fā)送時還是接收時都可以確保4K字節(jié)的存儲容量,從而可以有效地使用RAM。
在圖18的比較例中,對數(shù)據(jù)流區(qū)域為了確保發(fā)送數(shù)據(jù)流區(qū)域和接收數(shù)據(jù)流區(qū)域,設(shè)置了存儲數(shù)據(jù)流區(qū)域的開始地址S的寄存器SR、存儲數(shù)據(jù)流區(qū)域的邊界地址B的寄存器BR和存儲數(shù)據(jù)流區(qū)域的結(jié)束地址E的寄存器ER。
但是,在該圖18的比較例中,可以進行圖17B、圖17C、圖17D所示的第2、第3、第4模式的設(shè)定,但是,不能進行圖17A所示的第1模式的設(shè)定。因此,在將數(shù)據(jù)傳輸控制裝置組裝到CD-RW驅(qū)動器和硬盤驅(qū)動器中時,就必須如圖17D的第4模式那樣確保區(qū)域,與圖17A的第1模式相比,存在不能有效地使用RAM的缺點。
在打印機等電子設(shè)備中,按圖11的單方向DR1傳輸數(shù)據(jù)流(數(shù)據(jù)傳輸控制裝置接收數(shù)據(jù)流)。因此,這時最好用圖17B的第2模式確保區(qū)域,將全部區(qū)域設(shè)定為接收數(shù)據(jù)流區(qū)域。這樣,便可有效地利用數(shù)據(jù)流區(qū)域的全部區(qū)域傳輸數(shù)據(jù)流。
另外,在掃描器或CD-ROM等電子設(shè)備中,按圖11的單方向DR2傳輸數(shù)據(jù)流(數(shù)據(jù)傳輸控制裝置發(fā)送數(shù)據(jù)流)。因此,這時,最好用圖17C的第3模式確保區(qū)域,將全部區(qū)域設(shè)定為發(fā)送數(shù)據(jù)流區(qū)域。這樣,便可有效地利用數(shù)據(jù)流區(qū)域的全部區(qū)域傳輸數(shù)據(jù)流。
在將數(shù)據(jù)流區(qū)域作為高速緩沖存儲器那樣使用的電子設(shè)備中,最好用圖17D所示的第4模式確保區(qū)域。
4.詳細的例子4.1接收側(cè)的詳細結(jié)構(gòu)下面,說明接收側(cè)的詳細結(jié)構(gòu)。圖19表示鏈接核心20(鏈接單元)、FIFO34、DMAC44(寫入單元)的詳細結(jié)構(gòu)的一例。
鏈接核心20包括總線監(jiān)視電路130、串/并變換電路132和數(shù)據(jù)包整形電路160。
這里,總線監(jiān)視電路130是監(jiān)視通過PHY接口10與PHY設(shè)備連接的8位寬的數(shù)據(jù)總線D還2位寬的控制總線CTL的電路。
串/并變換電路132是將數(shù)據(jù)總線D的數(shù)據(jù)變換為32位的數(shù)據(jù)的電路。
數(shù)據(jù)包整形電路160是將從各節(jié)點傳輸來的數(shù)據(jù)包整形為高層可以使用的電路。例如,圖20A表示IEEE1394標準的非同步的具有塊數(shù)據(jù)的數(shù)據(jù)包的格式。另一方面,圖20B表示在RAM80的標題區(qū)域存儲的非同步接收的具有塊數(shù)據(jù)的數(shù)據(jù)包的標題部分的格式。這樣,在本實施例中,就將圖20A所示的格式的數(shù)據(jù)包整形為圖20B所示的格式的數(shù)據(jù)包,以使固件等的高層可以使用。
數(shù)據(jù)包整形電路160包括數(shù)據(jù)包診斷電路142、時序發(fā)生器167、緩沖器168和選擇器170,數(shù)據(jù)包診斷電路142包括TAG發(fā)生電路162、狀態(tài)發(fā)生電路164和錯誤檢驗電路166。
這里,數(shù)據(jù)包診斷電路142是進行數(shù)據(jù)包的診斷的電路。TAG發(fā)生電路162是發(fā)生作為用于區(qū)別寫入數(shù)據(jù)包的標題和數(shù)據(jù)等的區(qū)域的信息的TAG的電路,狀態(tài)發(fā)生電路164是發(fā)生附加到數(shù)據(jù)包上的各種狀態(tài)的電路。另外,錯誤檢驗電路166是檢驗包含在數(shù)據(jù)包中的奇偶性和CRC等錯誤檢驗信息從而檢測錯誤的電路。
時序發(fā)生器167用于發(fā)生各種控制信號。緩沖器168和選擇器170用于根據(jù)數(shù)據(jù)包診斷電路142的信號SEL選擇串/并變換電路132的DI、數(shù)據(jù)包診斷電路142的狀態(tài)和DMAC44的數(shù)據(jù)指針DP中的某一個。
FIFO34起用于調(diào)整鏈接核心20的輸出數(shù)據(jù)RD的相位和向RAM80的寫入數(shù)據(jù)WDATA的相位的緩沖器的功能,包含F(xiàn)IFO狀態(tài)判斷電路35。FIFO狀態(tài)判斷電路35在FOFO34成為空狀態(tài)時就激活信號EMPTY(空),在FIFO34成為滿狀態(tài)時就激活信號FULL(滿)。
DMAC44包括數(shù)據(jù)包分離電路180、訪問請求執(zhí)行電路190和訪問請求發(fā)生電路192。
這里,數(shù)據(jù)包分離電路180根據(jù)TAG(DTAG)將由數(shù)據(jù)包整形電路160整形后的數(shù)據(jù)包分離為數(shù)據(jù)和標題等,并進行寫入RAM的各區(qū)域(參照圖5)的處理。
訪問請求執(zhí)行電路190是用于執(zhí)行鏈接核心20的訪問請求的電路。訪問請求執(zhí)行電路190在FIFO狀態(tài)判斷電路35的FULL成為激活狀態(tài)時就將FFULL激活。數(shù)據(jù)包整形電路160內(nèi)的時序發(fā)生器167以FFULL不是激活狀態(tài)為條件,激活作為RD(RxData)的選通信號的RDS。
RFAIL是用于時序發(fā)生器167將接收失敗通知訪問請求執(zhí)行電路190的信號。
訪問請求發(fā)生電路192是用于發(fā)生向RAM80的訪問請求的信號。訪問請求發(fā)生電路192接收作為緩沖器管理電路70的寫入確認的WACK和FIFO狀態(tài)判斷電路35的EMPTY等,并將作為寫入請求的WREQ向緩沖器管理電路70輸出。
4.2數(shù)據(jù)包的分離和向RAM的各區(qū)域的寫入TAG發(fā)生電路162發(fā)生圖21所示的4比特的TAG。并且,鏈接核心20在將數(shù)據(jù)包(參見圖20B)的開始(開始的1個4位)、標題、數(shù)據(jù)(ORB、數(shù)據(jù)流)作為RD向FIFO34輸出時,該發(fā)生的4比特的TAG也同時向FIFO34輸出。并且,在本實施例中,通過利用該TAG,將數(shù)據(jù)包分離,不寫入RAM的各區(qū)域(參見圖5、圖10)。
更具體而言,就是圖19的TAG判斷電路182判斷從FIFO34輸出的DTAG(=TAG),決定FIFO34的輸出WDATA的寫入?yún)^(qū)域。并且,地址發(fā)生電路188包含的指針更新電路184在該決定的區(qū)域中順序更新(增加、減小)指針(數(shù)據(jù)指針、標題指針)。并且,地址發(fā)生電路188發(fā)生該順序更新的指針所指示的地址,并作為WADR,向緩沖器管理電路70輸出。這樣,數(shù)據(jù)包的標題、ORB、數(shù)據(jù)流就寫入到圖5所示的RAM的各區(qū)域中。
地址發(fā)生電路188將數(shù)據(jù)指針DP(接收ORB區(qū)域的數(shù)據(jù)指針、接收數(shù)據(jù)流區(qū)域的數(shù)據(jù)指針)向數(shù)據(jù)包整形電路160輸出,數(shù)據(jù)包整形電路160將該數(shù)據(jù)指針加入到數(shù)據(jù)包的標題中(參見圖2OB的C30)。這樣,便可使存儲在標題區(qū)域的標題與存儲在數(shù)據(jù)區(qū)域的數(shù)據(jù)對應(yīng)。
TAG發(fā)生電路162使用參照圖13A、圖13B說明的事務(wù)處理標簽t1發(fā)生圖21的TAG,并向FIFO34輸出。例如,在鏈接核心20的輸出RD是標題而事務(wù)處理標簽t1為1×××××(×表示任意的意義)時,TAG發(fā)生電路162就發(fā)生(1001)或(1010)這樣的TAG。這樣,如圖14所示,接收數(shù)據(jù)包的標題就寫入到HW(硬件)用的接收標題區(qū)域中。這里,所謂HW(硬件)用,就是圖4的SBP-2芯片84用的意思。
另外,在鏈接核心20的輸出RD是標題而t1為0×××××時,TAG發(fā)生電路162就發(fā)生(0001)或(0010)這樣的TAG。這樣,如圖14所示,接收數(shù)據(jù)包的標題就寫入到FW用接收標題區(qū)域中。
另外,在RD是數(shù)據(jù)而t1為11××××時,就發(fā)生(1101)這樣的TAG。這樣,接收數(shù)據(jù)包的數(shù)據(jù)(數(shù)據(jù)流)就寫入到HW用接收數(shù)據(jù)流區(qū)域中。
另外,在RD是數(shù)據(jù)而t1為10××××時,就發(fā)生(1100)這樣的TAG。這樣,接收數(shù)據(jù)包的數(shù)據(jù)(ORB)就寫入到HW用接收ORB區(qū)域中。
另外,在RD是數(shù)據(jù)而t1為01××××時,就發(fā)生(0101)這樣的TAG。這樣,接收數(shù)據(jù)包的數(shù)據(jù)(數(shù)據(jù)流)就寫入到FW用接收數(shù)據(jù)流區(qū)域中。
另外,在RD是數(shù)據(jù)而t1為00××××時,就發(fā)生(0100)這樣的TAG。這樣,接收數(shù)據(jù)包的數(shù)據(jù)(ORB)就寫入到FW用接收ORB區(qū)域中。
在本實施例中,如上所述,通過利用事務(wù)處理標簽t1,來實現(xiàn)數(shù)據(jù)包的分離和向RAM的各區(qū)域的寫入。
4.3數(shù)據(jù)流區(qū)域的管理和開始及結(jié)束地址的設(shè)定圖22表示DMAC44及54、寄存器46及56、RAM區(qū)域管理電路300的詳細結(jié)構(gòu)例。
首先,說明圖22所示的各種指針寄存器310、312、314、316、318、320、322、324。在本實施例中,為了管理RAM的各區(qū)域,設(shè)置了圖23所示的各種指針寄存器。固件(CPU)可以通過圖4的CPU接口60隨時讀出這些指針寄存器存儲的指針的地址。
這里,已處理標題指針寄存器UHPR存儲指示已處理(使用過)的標題與未處理的標題的邊界RB21的指針UHP。已接收標題指針寄存器PHPR存儲指示已接收的最新(post)的標題與未接收的標題的邊界RB31的指針PHP。
另外,已處理ORB指針寄存器UOPR存儲指示已處理的ORB與未處理的ORB的邊界RB22的指針UOP。已接收完的ORB指針寄存器POPR存儲指示已接收的最新的ORB與未接收的ORB的邊界RB32的指針POP。
總線復(fù)位標題指針寄存器BHPR是存儲指示在總線復(fù)位發(fā)生前接收的數(shù)據(jù)包的標題與在總線復(fù)位發(fā)生后接收的數(shù)據(jù)包的標題的邊界RB11的指針BHP的寄存器。另外,總線復(fù)位ORB指針寄存器BOPR是存儲指示在總線復(fù)位發(fā)生前接收的數(shù)據(jù)包的ORB與在總線復(fù)位發(fā)生后接收的數(shù)據(jù)包的ORB的邊界RB12的指針BOP的寄存器。通過設(shè)置這些寄存器BHPR、BOPR,固件可以很容易地檢測總線復(fù)位的發(fā)生場所。這樣,便可大幅度地減輕在總線復(fù)位發(fā)生后進行的固件的處理負擔。
下面,再返回到圖22的說明。圖22的寄存器310、314、318分別是存儲已接收標題指針、已接收ORB指針和已接收數(shù)據(jù)流指針的寄存器。這些寄存器310、314、318分別從地址發(fā)生電路188接收WHADR(標題區(qū)域中的地址)、WOADR(ORB區(qū)域中的地址)、WSADR(數(shù)據(jù)流區(qū)域中的地址)。另外,寄存器310、314、318接收鏈接核心20的信號RXCOMP(在完成接收時被激活的信號)。并且,寄存器310、314、318在該RXCOMP被激活的時刻讀入并存儲地址發(fā)生電路188的WHADR、WOADR、WSADR。這樣,便可存儲圖23的邊界RB31、RB32等地址。
另外,寄存器312、316分別是存儲總線復(fù)位標題指針和總線復(fù)位ORB指針的寄存器。這些寄存器312、316接收鏈接核心20的信號BRIP(在總線復(fù)位中激活的信號)。并且,寄存器312、316在該BRIP激活的時刻讀入并存儲寄存器310、314存儲的地址。這樣,便可存儲圖23的邊界RB11、RB12的地址。
另外,寄存器320、322、324分別是存儲已處理標題指針、已處理ORB指針和已處理數(shù)據(jù)流指針的寄存器。
另外,開始及結(jié)束地址寄存器326存儲圖5所示的各區(qū)域的開始地址和結(jié)束地址。更具體而言,由存儲用圖16說明的發(fā)送區(qū)域開始地址TS、發(fā)送區(qū)域結(jié)束地址TE、收信區(qū)域開始地址RS、收信區(qū)域結(jié)束地址RE的寄存器(發(fā)送區(qū)域開始地址寄存器TSR、發(fā)送區(qū)域結(jié)束地址寄存器TER、收信區(qū)域開始地址寄存器RSR和收信區(qū)域結(jié)束地址寄存器RER)構(gòu)成。并且,地址發(fā)生電路188、332根據(jù)寄存器326的開始地址和結(jié)束地址控制地址的發(fā)生。更具體而言,就是將開始地址作為開始點順序更新指針。并且,在指針到達結(jié)束地址時,進行使指針返回到開始地址等的控制(環(huán)形緩沖器結(jié)構(gòu)的情況)。
RAM區(qū)域管理電路300包括接收標題區(qū)域管理電路302、接收ORB區(qū)域管理電路304和接收數(shù)據(jù)流區(qū)域管理電路306。
并且,接收標題區(qū)域管理電路302接收寄存器310的已接收標題指針或寄存器320的已處理標題指針,并將通知接收標題區(qū)域是滿狀態(tài)的信號HDR滿向訪問請求發(fā)生電路192輸出。
另外,接收ORB區(qū)域管理電路304接收寄存器314的已接收ORB指針或寄存器322的已處理ORB指針,并將通知接收ORB區(qū)域是滿狀態(tài)的信號ORB滿向訪問請求發(fā)生電路192輸出。
另外,接收數(shù)據(jù)流區(qū)域管理電路306接收寄存器318的已接收數(shù)據(jù)流指針或寄存器324的已處理數(shù)據(jù)流指針,并將通知接收數(shù)據(jù)流區(qū)域是滿狀態(tài)的信號STRM滿向訪問請求發(fā)生電路192輸出。另外,將通知接收數(shù)據(jù)流區(qū)域是空狀態(tài)的信號STRM空向訪問請求發(fā)生電路334輸出。
訪問請求發(fā)生電路192、334接收這些滿信號和空信號,并決定是否將寫入請求WREQ和讀出請求RREQ向緩沖器管理電路70輸出。
這樣,在本實施例中,接收數(shù)據(jù)流區(qū)域的管理由接收數(shù)據(jù)流區(qū)域管理電路306這樣的硬件進行,與固件無關(guān)。因此,如在圖12中說明的那樣,可以減輕固件的處理負擔,同時可以實現(xiàn)數(shù)據(jù)傳輸?shù)母咚倩?br>
5.電子設(shè)備下面,說明包含本實施例的數(shù)據(jù)傳輸控制裝置的電子設(shè)備的例子。
例如,圖24A表示作為電子設(shè)備之一的打印機的內(nèi)部結(jié)構(gòu)框圖,圖25A表示其外觀圖。CPU(微處理器)510進行系統(tǒng)全體的控制等。操作部511用于用戶操作打印機。ROM516中存儲控制程序和字體等,RAM518起CPU510的工作區(qū)域的功能。顯示板519用于將打印機的工作狀態(tài)通知用戶。
PHY設(shè)備502將通過數(shù)據(jù)傳輸控制裝置500從電腦等其他節(jié)點傳送來的印字數(shù)據(jù)通過總線504直接向印字處理部512傳輸。并且,印字數(shù)據(jù)由印字處理部512進行指定的處理,利用由打印頭等構(gòu)成的印字部(用于輸出數(shù)據(jù)的裝置)514向紙上印字而輸出。
圖24B表示作為電子設(shè)備之一的掃描器的內(nèi)部結(jié)構(gòu)框圖,圖25B表示其外觀圖。CPU520進行系統(tǒng)全體的控制等。操作部521用于用戶操作掃描器。ROM526中存儲控制程序等,RAM528起CPU520的工作區(qū)域的功能。
利用由光源、光電變換器等構(gòu)成的圖像讀取部(用于讀取數(shù)據(jù)的裝置)522讀取原稿圖像,讀取的圖像的數(shù)據(jù)由圖象處理部524進行處理。并且,處理后的圖像數(shù)據(jù)通過總線505直接向數(shù)據(jù)傳輸控制裝置500傳輸。數(shù)據(jù)傳輸控制裝置500通過將標題等附加到該圖像數(shù)據(jù)上而生成數(shù)據(jù)包,并通過PHY設(shè)備502向電腦等其他節(jié)點發(fā)送。
圖24C表示作為電子設(shè)備之一的CD-RW驅(qū)動器的內(nèi)部結(jié)構(gòu)框圖,圖25C表示其外觀圖。CPU530進行系統(tǒng)全體的控制等。操作部531用于用戶操作CD-RW。ROM536中存儲控制程序等,RAM538起CPU530的工作區(qū)域的功能。
利用由激光器、電機、光學(xué)系統(tǒng)等構(gòu)成的讀取和寫入部(用于讀取數(shù)據(jù)的裝置或用于存儲數(shù)據(jù)的裝置)533從CD-RW532中讀取的數(shù)據(jù)輸入信號處理部534,進行糾錯處理等指定的信號處理。并且,進行了信號處理的數(shù)據(jù)通過總線506直接向數(shù)據(jù)傳輸控制裝置500傳輸。數(shù)據(jù)傳輸控制裝置500通過將標題等附加到該數(shù)據(jù)上而生成數(shù)據(jù)包,并通過PHY設(shè)備502向電腦等其他的節(jié)點發(fā)送。
另一方面,通過PHY設(shè)備502和數(shù)據(jù)傳輸控制裝置500從其他節(jié)點傳送來的數(shù)據(jù)通過總線506直接向信號處理部534傳輸。并且,由信號處理部534對該數(shù)據(jù)進行指定的信號處理,并由讀取和寫入部533存儲到CD-RW532中。
在圖24A、圖24B、圖24C中,除了CPU510、520、530外,也可以另外設(shè)置用于數(shù)據(jù)傳輸控制裝置500的數(shù)據(jù)傳輸控制的CPU。
另外,在圖24A、圖24B、圖24C中,RAM501(與圖4的RAM80相當)設(shè)置在數(shù)據(jù)傳輸控制裝置500的外部,但是,也可以將RAM501內(nèi)藏到數(shù)據(jù)傳輸控制裝置500的內(nèi)部。
通過將本實施例的數(shù)據(jù)傳輸控制裝置使用到電子設(shè)備中,可以實現(xiàn)高速的數(shù)據(jù)傳輸。因此,在用戶利用電腦等指示打印輸出時,用很少的時間就可以完成了。另外,在向掃描器指示讀入圖像后,經(jīng)過很短的時間用戶就可以看到讀取的圖像。另外,可以高速地從CD-RW中進行數(shù)據(jù)的讀取和向CD-RW寫入數(shù)據(jù)。此外,可以很容易地將例如多個電子設(shè)備與1個主系統(tǒng)連接或?qū)⒍鄠€電子設(shè)備與多個主系統(tǒng)連接來利用。
另外,通過將本實施例的數(shù)據(jù)傳輸控制裝置使用到電子設(shè)備中,可以減輕在CPU上動作的固件的處理負擔,從而可以使用廉價的CPU和低速的總線。此外,由于可以實現(xiàn)數(shù)據(jù)傳輸控制裝置的低成本化和小規(guī)模化,所以,可以實現(xiàn)電子設(shè)備的低成本化和小規(guī)?;?。
作為可以應(yīng)用本實施例的數(shù)據(jù)傳輸控制裝置的電子設(shè)備,除了上述電子設(shè)備以外,還可以考慮例如各種光盤驅(qū)動器(CD-ROM、DVD)、光磁盤驅(qū)動器(MO)、硬盤驅(qū)動器、TV、VRT、錄像機、音響設(shè)備、電話機、投影儀、電腦、電子記事簿、文字處理器等各種電子設(shè)備。
本發(fā)明不限于本實施例,在本發(fā)明主旨的范圍內(nèi)可以進行各種變形實施。
本發(fā)明的數(shù)據(jù)傳輸控制裝置的結(jié)構(gòu)最好是例如圖4所示的結(jié)構(gòu),但是,并不僅限于此。
另外,數(shù)據(jù)包的分離方法、數(shù)據(jù)包向數(shù)據(jù)包存儲單元的各區(qū)域的寫入方法及讀出方法也不限于用圖5、圖10說明的方法。
另外,第1數(shù)據(jù)最好是事務(wù)處理層用的數(shù)據(jù)、第2數(shù)據(jù)最好是應(yīng)用程序?qū)佑玫臄?shù)據(jù),但是,本發(fā)明的第1、第2數(shù)據(jù)并不僅限于此。
另外,根據(jù)應(yīng)答數(shù)據(jù)包的事務(wù)處理識別信息包含的指示信息所進行的處理最好是用圖14說明的應(yīng)答數(shù)據(jù)包(標題、數(shù)據(jù))向由指示信息指示的區(qū)域的寫入處理,但是,并不僅限于此。
另外,本發(fā)明最好應(yīng)用于IEEE1394標準的數(shù)據(jù)傳輸,但是,并不僅限于此。例如,本發(fā)明也可以應(yīng)用于例如基于和IEEE1394相同的思想的標準或發(fā)展了IEEE1394的標準的數(shù)據(jù)傳輸。
權(quán)利要求
1.一種用于在與總線連接的多個節(jié)點間進行數(shù)據(jù)傳輸?shù)臄?shù)據(jù)傳輸控制裝置,其特征在于包括提供節(jié)點間的數(shù)據(jù)包傳輸用的服務(wù)的鏈接單元;將通過上述鏈接單元接收的數(shù)據(jù)包寫入可以隨機訪問的數(shù)據(jù)包存儲單元的寫入單元;和將數(shù)據(jù)包的控制信息寫入上述數(shù)據(jù)包存儲單元的控制信息區(qū)域、將數(shù)據(jù)包的第1層(例如事務(wù)處理層)用的第1數(shù)據(jù)寫入上述數(shù)據(jù)包存儲單元的第1數(shù)據(jù)區(qū)域而將數(shù)據(jù)包的作為上述第1層的上層的第2層(例如應(yīng)用程序?qū)?用的第2數(shù)據(jù)寫入上述數(shù)據(jù)包存儲單元的第2數(shù)據(jù)區(qū)域的數(shù)據(jù)包分離單元。
2.按權(quán)利請求1所述的數(shù)據(jù)傳輸控制裝置,其特征在于上述第1數(shù)據(jù)是在上述第1層的協(xié)議中使用的指令數(shù)據(jù),上述第2數(shù)據(jù)是在應(yīng)用程序?qū)又惺褂玫臄?shù)據(jù)。
3.按權(quán)利請求1所述的數(shù)據(jù)傳輸控制裝置,其特征在于還包括在上述第2數(shù)據(jù)區(qū)域已滿時為了禁止上述寫入單元向上述第2數(shù)據(jù)區(qū)域的上述第2數(shù)據(jù)的寫入動作而激活滿信號、在上述第2數(shù)據(jù)區(qū)域為空區(qū)域時為了禁止上述第2層從上述第2數(shù)據(jù)區(qū)域的上述第2數(shù)據(jù)的讀出動作而激活空信號的區(qū)域管理單元。
4.按權(quán)利請求1所述的數(shù)據(jù)傳輸控制裝置,其特征在于在向應(yīng)答節(jié)點發(fā)送使事務(wù)處理開始的請求數(shù)據(jù)包時,在包含在上述請求數(shù)據(jù)包中的事務(wù)處理識別信息中,包含用于指示從應(yīng)答節(jié)點接收應(yīng)答數(shù)據(jù)時進行的處理的指示信息,在從應(yīng)答節(jié)點接收應(yīng)答數(shù)據(jù)包時,將應(yīng)答數(shù)據(jù)包的上述控制信息、上述第1、第2數(shù)據(jù)寫入由應(yīng)答數(shù)據(jù)包的事務(wù)處理識別信息包含的上述指示信息指示的區(qū)域中。
5.一種用于在與總線連接的多個節(jié)點間進行數(shù)據(jù)傳輸?shù)臄?shù)據(jù)傳輸控制裝置,其特征在于包括在向應(yīng)答節(jié)點發(fā)送使事務(wù)處理開始的請求數(shù)據(jù)包時使在包含在上述請求數(shù)據(jù)包中的事務(wù)處理識別信息中包含用于指示從應(yīng)答節(jié)點接收應(yīng)答數(shù)據(jù)包時進行的處理的指示信息的單元和在從應(yīng)答節(jié)點接收應(yīng)答數(shù)據(jù)包時進行由應(yīng)答數(shù)據(jù)包的事務(wù)處理識別信息包含的上述指示信息指示的處理的單元。
6.按權(quán)利請求5所述的數(shù)據(jù)傳輸控制裝置,其特征在于在從應(yīng)答節(jié)點接收應(yīng)答數(shù)據(jù)包時將上述應(yīng)答數(shù)據(jù)包的控制信息和數(shù)據(jù)寫入由應(yīng)答數(shù)據(jù)包的事務(wù)處理識別信息包含的上述指示信息指示的區(qū)域中。
7.按權(quán)利請求5所述的數(shù)據(jù)傳輸控制裝置,其特征在于上述事務(wù)處理識別信息的指定的位作為表示上述指示信息的位預(yù)先進行預(yù)約。
8.按權(quán)利請求5所述的數(shù)據(jù)傳輸控制裝置,其特征在于上述事務(wù)處理識別信息最好是IEEE1394的標準中的事務(wù)處理標簽。
9.一種用于在與總線連接的多個節(jié)點件進行數(shù)據(jù)傳輸?shù)臄?shù)據(jù)傳輸控制裝置,其特征在于包括提供在節(jié)點間的數(shù)據(jù)包傳輸用的服務(wù)的鏈接單元、用于存儲數(shù)據(jù)包的可以隨機訪問的數(shù)據(jù)包存儲單元、將通過上述鏈接單元從各節(jié)點傳輸來的數(shù)據(jù)包寫入到上述數(shù)據(jù)包存儲單元中的寫入單元和讀出寫入到上述數(shù)據(jù)包存儲單元中的數(shù)據(jù)包并向上述鏈接單元傳輸?shù)淖x出單元,上述數(shù)據(jù)包存儲單元分離為存儲數(shù)據(jù)包的控制信息的控制信息區(qū)域和存儲數(shù)據(jù)包的數(shù)據(jù)的數(shù)據(jù)區(qū)域,上述數(shù)據(jù)區(qū)域分離為存儲第1層用的第1數(shù)據(jù)的第1數(shù)據(jù)區(qū)域和存儲作為上述第1層的上層的第2層用的第2數(shù)據(jù)的第2數(shù)據(jù)區(qū)域。
10.按權(quán)利請求9所述的數(shù)據(jù)傳輸控制裝置,其特征在于包括存儲用于在上述第2數(shù)據(jù)區(qū)域中確保發(fā)送區(qū)域的發(fā)送區(qū)域開始地址的第1地址存儲單元、存儲用于在上述第2數(shù)據(jù)區(qū)域中確保發(fā)送區(qū)域的發(fā)送區(qū)域結(jié)束地址的第2地址存儲單元、存儲用于在上述第2數(shù)據(jù)區(qū)域中確保接收區(qū)域的接收區(qū)域開始地址的第3地址存儲單元和存儲用于在上述第2數(shù)據(jù)區(qū)域中確保接收區(qū)域的接收區(qū)域結(jié)束地址的第4地址存儲單元。
11.按權(quán)利請求10所述的數(shù)據(jù)傳輸控制裝置,其特征在于上述發(fā)送區(qū)域開始地址和上述接收區(qū)域開始地址設(shè)定為上述第2數(shù)據(jù)區(qū)域的開始地址,上述發(fā)送區(qū)域結(jié)束地址和上述接收區(qū)域結(jié)束地址設(shè)定為上述第2數(shù)據(jù)區(qū)域的結(jié)束地址。
12.按權(quán)利請求10所述的數(shù)據(jù)傳輸控制裝置,其特征在于上述發(fā)送區(qū)域開始地址和上述發(fā)送區(qū)域結(jié)束地址都設(shè)定為上述第2數(shù)據(jù)區(qū)域的開始地址或結(jié)束地址的某一方,上述接收區(qū)域開始地址設(shè)定為上述第2數(shù)據(jù)區(qū)域的開始地址,上述接收區(qū)域結(jié)束地址設(shè)定為上述第2數(shù)據(jù)區(qū)域的結(jié)束地址。
13.按權(quán)利請求10所述的數(shù)據(jù)傳輸控制裝置,其特征在于上述接收區(qū)域開始地址和上述接收區(qū)域結(jié)束地址都設(shè)定為上述第2數(shù)據(jù)區(qū)域的開始地址或結(jié)束地址的某一方,上述發(fā)送區(qū)域開始地址設(shè)定為上述第2數(shù)據(jù)區(qū)域的開始地址,上述發(fā)送區(qū)域結(jié)束地址設(shè)定為上述第2數(shù)據(jù)區(qū)域的結(jié)束地址。
14.按權(quán)利請求1所述的數(shù)據(jù)傳輸控制裝置,其特征在于依照IEEE1394的標準進行數(shù)據(jù)傳輸。
15.按權(quán)利請求5所述的數(shù)據(jù)傳輸控制裝置,其特征在于依照IEEE1394的標準進行數(shù)據(jù)傳輸。
16.按權(quán)利請求9所述的數(shù)據(jù)傳輸控制裝置,其特征在于依照IEEE1394的標準進行數(shù)據(jù)傳輸。
17.一種電子設(shè)備,其特征在于包括權(quán)利請求1~4和14的任一權(quán)項所述的數(shù)據(jù)傳輸控制裝置、對通過上述數(shù)據(jù)傳輸控制裝置和總線從其他節(jié)點接收的數(shù)據(jù)進行指定的處理的裝置和將進行了處理的數(shù)據(jù)輸出或存儲的裝置。
18.一種電子設(shè)備,其特征在于包括權(quán)利請求5~8和15的任一權(quán)項所述的數(shù)據(jù)傳輸控制裝置、對通過上述數(shù)據(jù)傳輸控制裝置和總線從其他節(jié)點接收的數(shù)據(jù)進行指定的處理的裝置和將進行了處理的數(shù)據(jù)輸出或存儲的裝置。
19.一種電子設(shè)備,其特征在于包括權(quán)利請求9~13和16的任一權(quán)項所述的數(shù)據(jù)傳輸控制裝置、對通過上述數(shù)據(jù)傳輸控制裝置和總線從其他節(jié)點接收的數(shù)據(jù)進行指定的處理的裝置和將進行了處理的數(shù)據(jù)輸出或存儲的裝置。
20.一種電子設(shè)備,其特征在于包括權(quán)利請求1~4和14的任一權(quán)項所述的數(shù)據(jù)傳輸控制裝置、對通過上述數(shù)據(jù)傳輸控制裝置和總線從其他節(jié)點接收的數(shù)據(jù)進行指定的處理的裝置和用于讀入進行了處理的數(shù)據(jù)的裝置。
21.一種電子設(shè)備,其特征在于包括權(quán)利請求5~8和15的任一權(quán)項所述的數(shù)據(jù)傳輸控制裝置、對通過上述數(shù)據(jù)傳輸控制裝置和總線從其他節(jié)點接收的數(shù)據(jù)進行指定的處理的裝置和用于讀入進行了處理的數(shù)據(jù)的裝置。
22.一種電子設(shè)備,其特征在于包括權(quán)利請求9~13和16的任一權(quán)項所述的數(shù)據(jù)傳輸控制裝置、對通過上述數(shù)據(jù)傳輸控制裝置和總線從其他節(jié)點接收的數(shù)據(jù)進行指定的處理的裝置和用于讀入進行了處理的數(shù)據(jù)的裝置。
全文摘要
目的旨在提供可以減輕固件的處理的額外操作從而可以實現(xiàn)高速的數(shù)據(jù)傳輸?shù)臄?shù)據(jù)傳輸控制裝置和電子設(shè)備。在IEEE1394標準的數(shù)據(jù)傳輸控制裝置中,將數(shù)據(jù)包的標題寫入標題區(qū)域、將數(shù)據(jù)包的ORB(SBP-2用數(shù)據(jù))寫入ORB區(qū)域、將數(shù)據(jù)包的數(shù)據(jù)流(應(yīng)用程序?qū)佑脭?shù)據(jù))寫入數(shù)據(jù)流區(qū)域。在數(shù)據(jù)流區(qū)域中,由硬件根據(jù)滿信號和空信號進行區(qū)域管理。使指示信息包含在請求數(shù)據(jù)包的事務(wù)處理標簽t1中,在接收應(yīng)答數(shù)據(jù)包時,將數(shù)據(jù)包的標題、ORB、數(shù)據(jù)流寫入到由t1包含的指示信息指示的區(qū)域中。對數(shù)據(jù)流區(qū)域設(shè)置了存儲用于確保發(fā)送區(qū)域的地址TS、TE的寄存器TSR、TER和存儲用于確保收信區(qū)域的地址RS、RE的寄存器RSR、RER。
文檔編號H04L13/08GK1318242SQ00801418
公開日2001年10月17日 申請日期2000年7月12日 優(yōu)先權(quán)日1999年7月15日
發(fā)明者石田卓也, 神原義幸 申請人:精工愛普生株式會社