專利名稱::數(shù)據(jù)包預處理方法及其中的總線接口和數(shù)據(jù)處理單元的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及用于在總線接口單元中對經(jīng)由通信總線接收的數(shù)據(jù)包進行預處理的方法,和在這種方法中所用的總線接口單元,以及在這種方法中所用的應用數(shù)據(jù)處理單元。一種高度復雜的通信總線是IEEE1394總線,它是低成比,高性能的串行總線。它具有讀/寫存儲器結(jié)構(gòu)和高度完備的通信協(xié)議。100、200或400M位/秒的數(shù)據(jù)速率能接近于實時地被發(fā)送。同時,數(shù)據(jù)能被雙向發(fā)送。被傳輸?shù)牡刂分档牡谝唤M十位涉及上至1023個可能的IEEE1394總線的群集之一。被發(fā)送的地址值的隨后六位,涉及專用群集內(nèi)上至63個節(jié)點之一,相應的應用或設備被指派到這個節(jié)點。節(jié)點之間的數(shù)據(jù)可以交換而不與控制器交互作用。設備可隨時與網(wǎng)絡連接或斷開,有即插即用的性能。通信協(xié)議有三層物理層,數(shù)據(jù)鏈路層,和事務層。一般地說,事務層利用固件實現(xiàn),這表示通過總線終端的應用數(shù)據(jù)處理單元或控制處理器中的軟件來實現(xiàn),而其他層則在總線接口單元中利用芯片組來實現(xiàn)。物理層包含模擬收發(fā)機和數(shù)字狀態(tài)機。它處理總線自動配置和熱插拔。它重復計時,重復產(chǎn)生和重復所有數(shù)據(jù)包,并將所有數(shù)據(jù)包轉(zhuǎn)送至本地數(shù)據(jù)鏈路層。它執(zhí)行包外成幀,例如速度代碼,前綴和包尾的組合。它對來自本地鏈路層的數(shù)據(jù)包進行判斷和發(fā)送。可買到的IC型號有如得克薩斯儀器(公司)的TSB11C01,TSB11LV01,TSB21LV03和TSB41LV03,富士通(公司)的M86611,和IBM的21S750。數(shù)據(jù)鏈路層完成向它的目的地分配數(shù)據(jù)包的全部步驟。它通過地址識別,來識別編址至節(jié)點的數(shù)據(jù)包,并對包頭解碼。它將數(shù)據(jù)包輸送至更高層,并按更高層產(chǎn)生數(shù)據(jù)包。它的工作方式既可以是用于AV數(shù)據(jù)的同步方式,也可以是用于控制數(shù)據(jù)的異步方式。在同步方式中,所建立的信道具有被保證的帶寬。有確定的執(zhí)行時間。傳輸是以125μs的時段或周期來實現(xiàn)的。這種方式比異步數(shù)據(jù)傳送方式有較高的優(yōu)選級。異步方式在時間上不是苛刻的,但是安全可靠。它的動作是涉及占線和項目協(xié)議的確認服務。用的是固定地址。在總線空閑時進行傳輸。異步方式處理讀請求/響應,寫請求/響應,和鎖定請求/響應。它完成循環(huán)控制,CRC(循環(huán)冗余碼)產(chǎn)生和確認??梢再I到的數(shù)據(jù)鏈路層IC的型號有如得克薩斯儀器TSB12C01A,TSB12LV21,TSB12LV31和TSB12LV41,和飛利浦(公司)的PDI1394L11。事務層實現(xiàn)異步總線事務-讀請求/讀響應-寫請求/寫響應-鎖定請求/鎖定響應。上述這些可通過微控制器上的軟件運行而實現(xiàn),這種微控制器例如SparcLite的i960。另外,也可以是執(zhí)行裝置控制、連接管理、時間壓縮和信息包規(guī)格化的AV(音頻視頻)層。在IEEE1394體系,數(shù)據(jù)鏈路層的作為外部應用設備和IEEE1394總線之間的接口(經(jīng)過物理層)。外部應用設備可以例如是一臺用戶電子裝置,如電視機頂盒或VCR或DVD播放機,它輸送/接收延遲時間苛刻的同步數(shù)據(jù),和無嚴格延遲時間的異步數(shù)據(jù)。這里,異步數(shù)據(jù)包被用于控制操作或寄存器讀/寫/鎖定操作。同步數(shù)據(jù)包包含如視頻/音頻數(shù)據(jù)這樣的信息項。外部應用設備也可以是涉及諸如硬盤驅(qū)動器這樣的個人計算機,它只輸送和接收異步數(shù)據(jù)包。這里,異步數(shù)據(jù)包可以是包括音頻/視頻數(shù)據(jù)在內(nèi)的所有種類的數(shù)據(jù)。在IEEE1394總線總線標準中,規(guī)定數(shù)據(jù)包被安排成四部段的形式(每個四部段由相應于32位的四個字節(jié)組成)。在這個標準中,還規(guī)定總線接口單元本身必須是大端(bigendian)類型的,這就是說,四部段內(nèi)的字節(jié)順序是這樣的,即最高有效字節(jié)被存儲在最低位地址,等等。這種表達的更詳細定義將在說明書的后面表述。在計算機技術(shù)中已知有兩種字節(jié)順序方案。一種是大端類型,另一種是小端類型。在小端類型微處理機中,多字節(jié)數(shù)據(jù)字的字節(jié)從小端開始被存儲,也就是最低有效字節(jié)被存儲在最低位地址,等等。大端類型或小端類型的微控制器或微處理機都可以買到。當用IEEE1394總線接口設計總線終端時,按照目的微控制器的字節(jié)順序安排異步數(shù)據(jù)包極頭的四部段字順序的問題就產(chǎn)生了,因為這個報頭數(shù)據(jù)要在目的微控制器中被估算,這是屬于事務的數(shù)據(jù)估算。一種解決辦法是在從總線接口單元讀出數(shù)據(jù)以后,在目的微控制器中利用軟件對字重新排序。但這種解決辦法的缺點是目的微控制器如果是小端類型,它就得包含字節(jié)重新排序的任務,這在目的的微控制器方面來說,會導致性能的降低。在認識這種缺點以后,本發(fā)明的第一個設想就是根據(jù)用來表明應用數(shù)據(jù)處理單元是大端類型還是小端類型的信息項,在數(shù)據(jù)鏈路層內(nèi)通過硬件,使異步數(shù)據(jù)包的報頭四部段的字節(jié)順序變更。如果數(shù)據(jù)鏈路層有一個帶若干寄存器的寄存器堆,這些寄存器有多字節(jié)數(shù)據(jù)字項目,則這種解決方法的缺點是如果控制處理器與鏈路層單元的類型不同,當在控制處理器中解釋時,在這些寄存器中的項目字節(jié)也還是需要重新排序。所以本發(fā)明的還有第二個設想用有效載荷數(shù)據(jù)字段的字節(jié)順序變更,代替報頭數(shù)據(jù)字段的字節(jié)順序變更。這樣做,用于字節(jié)重新排序的多路復用裝置可以很簡單,因為多路復用器的控制,不必像寄存器堆項目那樣要考慮其它數(shù)據(jù)成分。兩種解決方法都有優(yōu)點,即應用數(shù)據(jù)處理單元的處理能力不需要用在字節(jié)重排上。還有,應用數(shù)據(jù)處理單元的軟件被簡化。從優(yōu)勢方面選擇,發(fā)明方法附加的實施例,被揭示在各項有關(guān)的權(quán)利要求中。例如,這樣是有利的,即在進行有效載荷數(shù)據(jù)字段的字節(jié)重新排序步驟時,伴隨以報頭數(shù)據(jù)字段和有效載荷數(shù)據(jù)字段中字節(jié)的進一步重新排序,如權(quán)利要求2中的要求。這可以用另一個多路復用裝置來完成,或者,很簡單地在將數(shù)據(jù)包從接口單元20傳送至應用數(shù)據(jù)處理單元30的存儲器33的數(shù)據(jù)總線內(nèi),做成固定的電路交叉連接。根據(jù)權(quán)利要求4,在初始化過程中將信息項寫進總線單元,這個信息項表明應用數(shù)據(jù)處理單元是大端類型還是小端類型,這是一個優(yōu)選實施例,因為在初始化過程中總是有大量參數(shù)要在總線接口單元內(nèi)被設計,項目在以后的操作中不需要被改變。根據(jù)權(quán)利要求5,在外部報頭內(nèi)提供字節(jié)順序檢測位,就可能在估算和試驗過程中,容易地在應用數(shù)據(jù)處理單元中修正字節(jié)順序。這是完全自動地將所述信息項傳送至總線接口單元的基礎。這樣的軟件能用在大端和小端機器上。這就使軟件在應用數(shù)據(jù)處理單元中的適應性變得單純。軟件只需要被編譯,隨時可在大端類型或小端類型機器上運行。本發(fā)明也有根據(jù)權(quán)利要求1至6的方法所使用的總線接口單元的優(yōu)選實施例,和根據(jù)權(quán)利要求1至6的方法中使用的應用數(shù)據(jù)處理單元的優(yōu)選實施例。對本發(fā)明的實施例的描述將參考附圖,它們表示圖1是用于說明在大端機器中字節(jié)順序轉(zhuǎn)換的示圖,該大端機器被連接于另一大端機器;圖2是用于說明在小端機器中字節(jié)順序轉(zhuǎn)換的示圖,該小端機器被連接到大端機器;圖3是IEEE1394總線的異步包結(jié)構(gòu);圖4是帶IEEE1394接口的硬盤驅(qū)動方塊圖;圖5是用于說明在IEEE1394總線接口的數(shù)據(jù)鏈路層IC的字節(jié)順序變更過程;圖6是在IEEE1394總線接口的數(shù)據(jù)鏈路層IC內(nèi)進行字節(jié)順序變更的硬件單元方塊圖;圖7是用于說明本發(fā)明的第二實施例。首先,解釋兩個詞大端和小端的意思。大端和小端是兩個術(shù)語,它們描述被存儲在計算機存儲器中的字節(jié)序列的順序。大端是這樣的順序,即其中的“大端”(序列中的最高有效字節(jié)數(shù)值)被首先存儲(最低位存儲地址)。小端是這樣的順序,即其中的“小端”(序列中的最低有效字節(jié)數(shù)值)被首先存儲。例如在大端計算機中,十六進制數(shù)0x4F52,所需求的兩個字節(jié),在存儲器中被存儲為0x4F52(例如0x4F)被存儲于地址1000,0x52則將被存儲為0x524F(0x52在地址1000,0x4F在地址1001)。如上面在前言中已說過的,在電子裝置中經(jīng)常存在多字節(jié)數(shù)據(jù)字。由4字節(jié)或相應的32位組成的四部段數(shù)據(jù)字是一個例子。例如,IEEE1394總線以多個四部段構(gòu)成,這將在下面作更詳細的解釋。計算機的存儲器空間很經(jīng)常地是以8位存儲器字長構(gòu)成,這表明四部段就得被存儲在4個存儲單元/地址。機器的存儲器空間即使以32位字長(四部段)構(gòu)成,這些機器的處理方式/處理機命令,也很經(jīng)常地做成8位存儲器存取。注意,對這里所解釋的實施例來說,假設存儲器以8位字長構(gòu)成。小端和大端方式的原理用圖1和2來說明,以32位字和8位存儲器存取為例。兩個四部段被在表示圖1中。第一個四部段被存儲在大端型源系統(tǒng)的8位組成的存儲器中。第二個四部段被存儲在也是大端型目標系統(tǒng)的8位組成的存儲器中。小端系統(tǒng)的字節(jié)順序被表示在圖2中,也是以32位字長和8位存儲器存取為例。所示的是小端機器從與大端機器相反的側(cè)邊開始,對四部段進行匯編。小端機器假設存儲器中的四部段的最高有效字節(jié),處在四部段被存儲的4個地址中的最低位地址,依此類推。因此,最后判讀的四部段是錯誤的字節(jié)順序,如圖2中所示。在IEEE1394標準中,參考的高性能串行總線IEEE標準即標準IEEE1394-1995,紐約1996年8月30日,確定通信協(xié)議,它越來越多地用在計算機技術(shù)和用戶電子產(chǎn)品中。通信協(xié)議可以用于同步和異步數(shù)據(jù)包的傳送。這個數(shù)據(jù)包的結(jié)構(gòu)在IEEE1394中被規(guī)定。同步數(shù)據(jù)包被提供用于音頻/視頻數(shù)據(jù)的傳送,因為這種數(shù)據(jù)在有規(guī)律的時間間隔內(nèi)出現(xiàn),在源裝置中有相對穩(wěn)定的間隔量。典型的應用是從電視機頂盒向錄象機這樣的記錄設備傳送已編碼的音頻和視頻數(shù)據(jù),或者從衛(wèi)星接收機向小型光盤播放機只傳送音頻數(shù)據(jù),等等。對于用MPEG2(數(shù)字影視壓縮標準-2)編碼的、以同步數(shù)據(jù)包傳送的音頻和視頻數(shù)據(jù),有一個單獨的標準,它被稱作IEC國際標準61883-1,用戶音頻/視頻設備一數(shù)字界面,1998-02第一版。在這里,規(guī)定了同步數(shù)據(jù)包的結(jié)構(gòu)以及如何用報頭數(shù)據(jù)、時間標記等等填充這些包的規(guī)則。這種包內(nèi)的報頭(1394報頭和CIP報頭)是在IEEE1394接口的數(shù)據(jù)鏈路層內(nèi)被估算的。這意味著報頭數(shù)據(jù)不需要被傳送至總線接口外部的微控制器或CPU。同步包的有效載荷數(shù)據(jù)與位流數(shù)據(jù)有關(guān),位流數(shù)據(jù)一般不被解釋為多字節(jié)數(shù)據(jù)形式。數(shù)據(jù)字節(jié)被從數(shù)據(jù)鏈路層IC中的存儲器,以直接存儲器存取的方式,移位至應用數(shù)據(jù)處理單元。相應的DMA(直接存儲器存取)單元被提供在這些裝置中。DMA單元被設計用于讀出數(shù)據(jù),其順序與這些數(shù)據(jù)被寫入接口單元存儲器的順序相同,并以相同的順序把它們寫入應用數(shù)據(jù)處理單元的存儲器。這表明對同步數(shù)據(jù)包來說,在向應用數(shù)據(jù)處理單元傳送數(shù)據(jù)時,不存在字節(jié)排序問題。異步數(shù)據(jù)包的情形則不同。與MPEG2編碼的音頻和視頻數(shù)據(jù)種類不同的每一種數(shù)據(jù),都用異步數(shù)據(jù)包傳送。在與典型的用戶電子設備不同的應用中,可能發(fā)生同樣地被編碼的音頻和視頻數(shù)據(jù),也不得不作為異步數(shù)據(jù)包傳送的情形。下面將舉出一個例子。根據(jù)大多數(shù)IEEE1394接口設計,屬于事務層的異步數(shù)據(jù)包報頭,不是在數(shù)據(jù)鏈路層IC做的。它們是在應用數(shù)據(jù)處理單元被估算的,并由于在一個應用中的微機(μC)是大端類型而另一設備是小端類型,使字節(jié)順序發(fā)生問題。異步包的結(jié)構(gòu)表示在圖3中。參考號碼10和12是不帶有效載荷數(shù)據(jù)的異步包。這些數(shù)據(jù)包包括外部報頭和異步1394報頭。外部報頭是任選的,但它是用于應用設備或數(shù)據(jù)鏈路層內(nèi)的控制目的,在本發(fā)明特定的實施例中攜帶兩個字節(jié)的順序檢測位13。對此將在下面進行解釋。參考號碼12表示數(shù)據(jù)包,它也有一個數(shù)據(jù)字段。異步報頭和外部報頭的組成部分列表如下<tablesid="table1"num="001"><table>名稱說明DESTINATION_ID(目的地_ID)目的地標識TL事務標簽RT重試代碼TCODE事務代碼PRI優(yōu)先級SOURCE_ID(源_ID)源標識PACKETTYPESPECIFICINFORMATION(數(shù)據(jù)包類型專用信息)數(shù)據(jù)包類型專用信息DATA_LENGTH(數(shù)據(jù)_長度)數(shù)據(jù)字段長度EXTENDED_TCODE(擴展的TCODE)事務代碼擴展DATAFIELD(數(shù)據(jù)字段)數(shù)據(jù)字段ZEROPADBYTES(零填空字節(jié))以零填充字節(jié)HSIZE報頭字段的報頭長度RSV保留DATASIZE(數(shù)據(jù)長度)數(shù)據(jù)字段長度</table></tables>異步1394報頭組成部分的含義,在上述IEC61883-1標準中也有充分的描述。要注意的是異步報頭可包括例如三個或四個依賴于異步數(shù)據(jù)包類型的四部段。從圖3容易看出異步報頭中的項目與四部段中的字節(jié)限制是不同步的,所以在估算過程中對字節(jié)順序敏感。不帶數(shù)據(jù)字段的異步包可用于溝通協(xié)議,例如確認消息,也可用于某種專用的控制消息,如封鎖對帶兒童防護性能的電視機的請求等等。圖4中描繪了非用戶應用設備的一個例子。它是帶IEEE1394接口的硬盤驅(qū)動的例子。參考號碼20表示IEEE1394接口。參考號碼30表示應用數(shù)據(jù)處理單元,它用于控制HD(硬盤)驅(qū)動40,例如根據(jù)SCSI(小型計算機接口)協(xié)議進行控制。應用數(shù)據(jù)處理單元30還有根據(jù)事務層服務程序估算異步報頭數(shù)據(jù)的任務。為此目的,在應用數(shù)據(jù)處理單元是小端類型的情況下,就需要對字節(jié)重新排序。這是因為在IEEE1394標準中,IEEE1394數(shù)據(jù)鏈路IC被規(guī)定為大端類型。如果應用數(shù)據(jù)處理單元是大端類型,就不需要對字節(jié)重新排序了。根據(jù)發(fā)明,字節(jié)重新排序是在狀態(tài)寄存器22中的小端標志23的控制下,用相應的多路復用裝置24進行的。這個標志在數(shù)據(jù)鏈路層IC21初始化過程中設置。這個IC的初始化,則是在電源接通以后,用運行于應用數(shù)據(jù)處理單元30的專用程序?qū)崿F(xiàn)的。在這個程序中,假如應用數(shù)據(jù)處理單元是小端類型,必須插入一個步驟,把小端標志設置為“1”。假如應用數(shù)據(jù)處理單元是大端類型,標志則被設置為“0”。圖5說明字節(jié)重新排序的步驟。所表示的是異步1394報頭數(shù)據(jù)的一個四部段25,對它的字節(jié)進行重新排序。在接收到異步1394包以后立即自動地進行這種重新排序。當數(shù)據(jù)處理單元訪問這個數(shù)據(jù)包時,它將收到字節(jié)順序正確的報頭四部段,在估算中可以避免錯誤的結(jié)果。如果小端標志輸入的是“0”,報頭四部段的自動字節(jié)排序?qū)⒈粩嚅_,四部段將不改變字節(jié)順序地被傳送到應用數(shù)據(jù)處理單元。按照這個實施例,數(shù)據(jù)字段的各個四部段不被重新排序,因為有效載荷數(shù)據(jù)字是8位數(shù)據(jù)字,這表示多字節(jié)數(shù)據(jù)字必須被立即解釋。有效載荷數(shù)據(jù)字節(jié),被從最低位地址到較高位進行8位訪問,從存儲器中被讀出。借助于不同數(shù)據(jù)包的外部報頭,可容易地解決用于四個或五個四部段重新排序的多路復用裝置的控制問題。外部報頭的結(jié)構(gòu)在IEEE1394標準中未被規(guī)定。這是一個任選的報頭,它能被用于在應用裝置或數(shù)據(jù)鏈路層單元內(nèi)的控制目的。在數(shù)據(jù)包從IEEE1394總線接收的方式中,外部報頭在1394接口的數(shù)據(jù)鏈路層IC中產(chǎn)生。圖3中表明外部報頭有一個關(guān)于報頭長度的項目,還有一個關(guān)于數(shù)據(jù)字段長度的項目。在字節(jié)重新排序之前。需要對報頭長度和數(shù)據(jù)長度進行估算。這利用兩個觸發(fā)器組很容易實現(xiàn),每當四部段已被重排后,設置這些觸發(fā)器,在四個/五個觸發(fā)器已被設置后,停止重分類。借助于外部報頭中關(guān)于報頭長度的項目,在數(shù)值四和五之間進行選擇。為此目的,只需要幾個邏輯門。多路復用裝置的結(jié)構(gòu)被表示于圖6。它包括多路復用級241,向它饋送的輸入是需要改變的字節(jié)的相應位。這些多路復用級的輸出被饋送至輸出寄存器26的相應位。每個多路復用器241,被以小端標志23控制。圖3中也表示出外部報頭有兩個項目13,它們被稱為字節(jié)順序檢測位。在每個外部報頭,第一字節(jié)順序檢測位被設置為“0”,第二字節(jié)順序檢測位被設置為“1”。在傳送至應用數(shù)據(jù)處理單元以后,利用這兩個位,可容易地檢測包的報頭字節(jié)順序。這是因為當?shù)诙罡哂行ё止?jié)在其最高有效位有“0”項目,和第三最高有效字節(jié)在其最高有效位有“1”項目時,表示正確的字節(jié)順序。利用這些字節(jié)順序檢測位,有可能改善軟件在應用數(shù)據(jù)處理單元中的運行,從而能完全自動地動態(tài)適應應用數(shù)據(jù)處理單元的字節(jié)順序解釋。在第一次初始化時,軟件查我軟件包并估算字節(jié)順序檢測位。根據(jù)結(jié)果,它知道這是大端還是小端機器,并能為以后的初始化設置相應的參數(shù)。用這種更通用的軟件,軟件工程師不必注意大端和小端問題。下面,詳細解釋發(fā)明的加一個實施例。為此目的以圖7作為參考。圖7表示了4個報頭字節(jié)HB0至HB3的傳輸順序和4個有效載荷數(shù)據(jù)字節(jié)DB0至DB3。所接受到的字節(jié)被按次序?qū)懭隝EEE1394接口單元的內(nèi)存儲器,其中$A000至$A001表示由32位構(gòu)成的內(nèi)存儲器的地址。報頭四部段的MSB(最高有效字節(jié))是HB3,LSB(最低有效字節(jié))是HB0。所接收到的數(shù)據(jù)字被傳送至外存儲器33。這一步的實現(xiàn)不借助于應用CPU30,而是利用直接存儲器存取單元32。外存儲器33和接口單元20之間的總線假設是32位。外存儲器32由8位構(gòu)成。因此,所接收到的兩個四部段占用外存儲器33中的地址空間$D000至$D007??梢钥闯?,報頭四部段HB3的MSB被存儲在第一存儲位置$D000,報頭四部段HS0的LSB被存儲在地址SD003。有效載荷數(shù)據(jù)字段的第一數(shù)據(jù)字節(jié)DB0被存儲在地址$D004,最后的數(shù)據(jù)字節(jié)DB3被存儲在地址$D007。這是不進行字節(jié)重新排序時的存儲順序。在圖7a中,假設CPU30是大端類型的。這樣,CPU30將對正確的順序地址$D000至$D003中的報頭四部段進行解釋。它將把存儲位置$D000中的字節(jié)解釋為報頭四部段的MSB,把存儲位置$D003中的字節(jié)解釋為報頭四部段的LSB。為了有效載荷數(shù)據(jù)字段的數(shù)據(jù)字節(jié)的解碼,數(shù)據(jù)字節(jié)將以所示的讀出順序RO從存儲器中讀出。所以在這種情況下,應用μC30中的解碼順序是正確的。在圖7b中,假設μC30是小端類型的。在這種情況下,對報頭四部段的解釋將是錯誤的。小端機器將把報頭字節(jié)HB0解釋為MSB,而把報頭字節(jié)HB3解釋為LSB。存儲器中的有效載荷數(shù)據(jù)字節(jié)的解碼順序則是正確的,與第一種情況沒有什么不同,如在圖7b中所看到的。在圖7c中,假設μC30是小端類型的。為了獲得正確的報頭四部段解釋,進行下述步驟對存儲器33和IEEE1394接口20之間的32位數(shù)據(jù)總線連接中的字節(jié)順序,通過相應的電路交叉簡單地變更。當然,這在所有操作時間內(nèi)是固定的,在操作過程中不能改變。這個固定的字節(jié)順序的變更,在IEEE1394接口單元20和存儲器33之間用交叉符號被表示在圖7c中。當然,這樣做將使來自單元20的內(nèi)存儲器中的所有四部段都受到字節(jié)順序變更。對所接收到的數(shù)據(jù)包的報頭和有效載荷數(shù)據(jù)字段,這種方法是有效的。從圖7b可知,有效載荷數(shù)據(jù)字段的數(shù)據(jù)字節(jié),將在小端機器中以正確的順序被解碼。因此,為避免解碼錯誤,在接口單元20中,對有效載荷數(shù)據(jù)字段四部段進行重新排序。這是在通過圖6所示那樣的多路復用裝置接收到數(shù)據(jù)包以后,立即自動地進行的。這樣,在接口單元20的內(nèi)存儲器中的有效載荷數(shù)據(jù)字段四部段的字節(jié)順序被改變。這在圖7c中有所表示。結(jié)果,在存儲器33中有效載荷數(shù)據(jù)字段的字節(jié)順序,與圖7a和圖7b中所示的情況是相同的,但報頭四部段的字節(jié)順序是不同的。這樣就在小端μC30中產(chǎn)生對報頭四部段的正確解釋,以及對有效載荷數(shù)據(jù)字節(jié)的正確的解碼順序。對于不同的實現(xiàn)裝置,可以有所變化,例如,在IEEE1394接口單元20和外部存儲器33之間的數(shù)據(jù)總線連接的寬度不同,例如16位或8位。但發(fā)明的原理仍然是適用的。權(quán)利要求1.用于在總線接口單元(20)中對經(jīng)由通信總線接收的數(shù)據(jù)包(10,11,12)進行預處理的方法,所述數(shù)據(jù)包(10,11,12)有報頭數(shù)據(jù)字段和可選的有效載荷數(shù)據(jù)字段,其中,至少所述報頭數(shù)據(jù)字段由若干個多字節(jié)數(shù)據(jù)字組成,其特征在于為準備在應用數(shù)據(jù)處理單元(30)中對數(shù)據(jù)包進行處理,根據(jù)一個信息項,該信息項表明數(shù)據(jù)包編址的所述應用數(shù)據(jù)處理單元(30)是大端類型還是小端類型,從而提供所述報頭數(shù)據(jù)字段的所述多字節(jié)數(shù)據(jù)字的字節(jié)重新排序的步驟,或者提供有效載荷數(shù)據(jù)字段的字節(jié)重新排序的步驟。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,其中有效載荷數(shù)據(jù)字段的字節(jié)重新排序的步驟,與報頭數(shù)據(jù)字段和有效載荷數(shù)據(jù)字段中的字節(jié)進一步重新排序相并行。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,其中在將數(shù)據(jù)包從接口單元(20)傳送至應用數(shù)據(jù)處理單元(30)的存儲器(33)的數(shù)據(jù)總線上,進行固定不變的電路交叉連接,實現(xiàn)報頭數(shù)據(jù)字段和有效載荷數(shù)據(jù)字段中的字節(jié)進一步重新排序。4.根據(jù)權(quán)利要求1至3的任一所述的方法,其特征在于,其中所述信息接口單元(20)的初始化過程中被寫入所述接口單元(20)。5.根據(jù)權(quán)利要求1至4的任一所述的方法,其特征在于,其中外部報頭在所述總線接口單元(20)被列到所述數(shù)據(jù)包中,其中兩個字節(jié)順序檢測位(13)被置于所述外部報頭的多字節(jié)數(shù)據(jù)字的兩個字節(jié)中。6.根據(jù)權(quán)利要求1至5的任一所述的方法,其特征在于,其中所述通信總線是IEEE1394總線,受到字節(jié)重新排序的所述數(shù)據(jù)包是異步數(shù)據(jù)包。7.根據(jù)前面的權(quán)利要求之一的方法中所用的總線接口單元(20),包括狀態(tài)寄存器(22),它包含初始化過程中設置的小端或大端標志(23);字節(jié)重新排序電路(24),它在所述小端或大端標志(23)內(nèi)的項目控制之下,對所述數(shù)據(jù)包(10,11,12)的報頭數(shù)據(jù)字段的多字節(jié)數(shù)據(jù)字的字節(jié),或者對有效載荷數(shù)據(jù)字段的字節(jié),進行重新排序。8.根據(jù)權(quán)利要求1至8的任一所述的方法中所用的應用數(shù)據(jù)處理單元(30),有一個存儲器(31),其特征在于,其中用于表明應用數(shù)據(jù)處理單元(30)是小端類型還是大端類型的所述信息項被存儲,并有將所述信息項傳送至所述總線接口單元(20)的裝置,尤其是在初始化過程中。全文摘要IEEE1394總線通信協(xié)議有三層:物理層、鏈路層和事務層。由于IEEE1394異步數(shù)據(jù)包的報頭數(shù)據(jù)包括32位字,它必須在所連接的應用數(shù)據(jù)處理單元(30)中被解釋為32位字,這就存在一個問題。IEEEI394總線接口單元(20)被規(guī)定為大端類型。在小端類型應用數(shù)據(jù)處理器(30)中,數(shù)據(jù)字的順序只能在字節(jié)順序被變更以后,才會被正確地解釋。根據(jù)本發(fā)明,通過針對異步數(shù)據(jù)包的硬件電路系統(tǒng),可在數(shù)據(jù)鏈路層單元(21)中自動實現(xiàn)字節(jié)順序的變更。文檔編號G06F13/12GK1284673SQ0010930公開日2001年2月21日申請日期2000年5月29日優(yōu)先權(quán)日1999年5月31日發(fā)明者托馬斯·布呂內(nèi),拉爾夫·奧斯特曼,延斯·卡恩布里,西格弗里德·施魏德勒申請人:德國湯姆森-布蘭特有限公司