專利名稱:用于與總線連接的總線系統(tǒng)和總線接口的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種總線系統(tǒng),它包括總線所連接的用于傳輸消息的第一站和第二站,所說的總線被設(shè)計成根據(jù)該第一站定期將消息按預(yù)定次序發(fā)送給第二站的協(xié)議進行操作。
本發(fā)明還涉及一種總線接口,它包括用于總線的連接,用于從中斷處理器接收多串消息屬性的輸入,以及用于將中斷信號發(fā)送至該處理器的中斷輸出。
這樣一種總線系統(tǒng)在USB規(guī)范中被加以公開。該USB規(guī)定是由一組公司頒布的,包括Compaq Computer Corporation,Hewlett-PackardCompany,Intel Corporation,Lucent Technologies Inc,MicrosoftCorporation,NEC Corporation,and Koninklijke PhilipsElectronics N.V.。下面將對有助于完全理解本發(fā)明的USB的各個方面加以說明。有關(guān)USB的進一步的背景信息可以參照USB規(guī)范的2.0版本。
USB是一種標(biāo)準(zhǔn)的總線,設(shè)計用于支持個人計算機和多種外圍設(shè)備,如Webcam,打印機,掃描儀,話筒以及鍵盤之間的數(shù)據(jù)交換。因此,該USB取代了諸如RS-232C串行端口,并行端口和PS/2接口的現(xiàn)有接口。USB的進一步開發(fā),就如在USB On-The-Go(USB OTG)中那樣,瞄準(zhǔn)用另外的裝置取代這種個人計算機的一種總線系統(tǒng)。
在像USB系統(tǒng)的總線系統(tǒng)中,電子總線站往總線相互連接。通常一個總線站包括用于處理或發(fā)生數(shù)據(jù)以及控制該數(shù)據(jù)流動的處理器或計算系統(tǒng)。USB站定義為主機(如個人計算機)和設(shè)備(外圍設(shè)備)。一般而言,在任何USB系統(tǒng)中只有一臺主機。主機中的USB接口也叫做主機控制器。主機控制器可以用硬件,固件或軟件之組合實現(xiàn)。USB設(shè)備定義為集線器,它提供另外的附著點或功能,因而為系統(tǒng)提供能力。集線器指明一種USB設(shè)備的附著或移去。主機判斷新附著的USB設(shè)備是集線器還是功能,并將一唯一的USB地址賦給該USB設(shè)備。所有的USB設(shè)備都是用一唯一的USB地址訪問。每一設(shè)備還額外支持一個或多個可用以和主機通信的端點。以下的說明將限于定義為功能的USB設(shè)備。
該USB是一種輪詢總線。主機控制器指明所有的數(shù)據(jù)傳輸。多數(shù)總線交易牽涉到高至3個包的傳送。每次交易始于主機控制器按計劃發(fā)送一USB包以說明該交易的類型和方向,該USB設(shè)備的地址以及端點號。這種包叫做“令牌數(shù)據(jù)分組”。被尋址的該USB設(shè)備通過將合適的地址域譯碼選擇其自身。在一給定的交易中,數(shù)據(jù)的傳輸既可以從主機至設(shè)備,也可以從設(shè)備至主機。數(shù)據(jù)傳輸?shù)姆较蚴窃诹钆瓢鼉?nèi)加以規(guī)定的。然后該交易源將一數(shù)據(jù)送出或者指明沒有數(shù)據(jù)要傳輸。一般而言,其終點將以一交換包作為回應(yīng),指明該次傳輸是否成功。
USB結(jié)構(gòu)包括三種基本的數(shù)據(jù)傳輸類型(1)等時傳輸在主機和設(shè)備之間周期性的連續(xù)通信,典型地用于時間關(guān)聯(lián)信息,這種傳輸類型占用具有預(yù)先商定等待時間的USB頻寬的預(yù)先商定量;(2)中斷傳輸?shù)皖l,有界等待時間的通信,典型地用于諸如字符的非同步數(shù)據(jù)或帶有人的感覺回波或反饋響應(yīng)特性的坐標(biāo),和;(3)批量傳輸非周期的,大包突發(fā)性通信,典型地用于可以使用任何可用帶寬和也可以延遲至有帶寬可供使用的數(shù)據(jù)。
通常兩種類型的總線站,主機和設(shè)備,包括處理器或計算系統(tǒng),用于處理或發(fā)生數(shù)據(jù),或控制數(shù)據(jù)的流動,或二者兼有。
如上面所述的USB系統(tǒng)的直接實現(xiàn)可能導(dǎo)致通信中的明顯的定時問題,這一方面發(fā)生在該主機處理器和總線接口之間,另一方面是在主機的總線接口和設(shè)備之間。對于非同步傳輸尤以如此。在這些傳輸中,涉及實時數(shù)據(jù),主機周期性地向USB設(shè)備發(fā)送令牌包,在每一令牌包之后是一個數(shù)據(jù)分組的傳輸,即可以是從主機到USB設(shè)備,也可以是從設(shè)備到主機。由于數(shù)據(jù)的實時性質(zhì),主機處理器和主機的總線接口之間的通信必須同主機總線接口和USB設(shè)備之間的通信一致,否則數(shù)據(jù)將會丟失。
美國專利6145045,盡管是專注于USB設(shè)備非同步傳輸期間的通信定時問題,但對上述問題卻提供了部分解決方案。該專利公共了一種總線站,這種總線站包括一總線接口,1個處理器,1個第一緩沖器,一個第二緩沖器。在第一(微)幀期間,該處理器同第一緩沖器通信(如讀或?qū)憯?shù)據(jù)),而總線和第二緩沖器及第一緩沖器通信以便將數(shù)據(jù)從第二緩沖器發(fā)送至第二站或?qū)碜缘诙镜臄?shù)據(jù)寫入第二緩沖器。在隨第一(微)幀之后的第二(微)幀期間,處理器同第二緩沖器通信(如讀或?qū)憯?shù)據(jù)),而總線和第一緩沖器及第一站通信以便將來自第二緩沖器的數(shù)據(jù)發(fā)送到第二站或?qū)牡诙窘邮盏降臄?shù)據(jù)寫入第一緩沖器。通常,總線接口中斷該處理器以通知處理器它應(yīng)當(dāng)將新的信息寫入緩沖器之一或者從緩沖器之一讀出信息。
通常對于USB系統(tǒng),特別是USB OTG系統(tǒng),總線站中的總線接口,例如主機,最好是能和大多處理器及計算系統(tǒng)兼容。但是,有多種處理器有著相當(dāng)長的中斷響應(yīng)時間而不適合,如果將它們用于總線站,如主機,可能導(dǎo)致數(shù)據(jù)的丟失或不可靠。
本發(fā)明的目標(biāo)之一是增大處理器和包括第一站和第二站的總線系統(tǒng)的第一站內(nèi)的總線接口之間的通信定時靈活性。
為此,本發(fā)明提供一種如本文開頭所規(guī)定的總線系統(tǒng),其特征為所說的第一站包括可中斷處理器,包括緩沖器的存儲器元件,和總線接口。
其中所說的可中斷處理器可以操作從發(fā)生多串消息屬性;其中所說的處理器可以進一步操作以從該多串消息屬性中將第一串消息屬性發(fā)送給所說的緩沖器,并且根據(jù)從所說總線接口收到的中斷信號從該多串消息屬性中發(fā)送第二串消息屬性;其中所說的緩沖器具有該處理器可加以調(diào)整的存儲容量使之適合儲存該消息屬性的第一串和該消息屬性的第二串。
其中所說的總線接口可以操作以從所說的緩沖器提取第一串消息屬性,從該消息屬性發(fā)生該消息屬性的第一串,將該第一串消息送至第二站和將中斷信號送至所說的處理器。
在操作中,第一站內(nèi)的處理器需要按實時基準(zhǔn)向第二站提供信息。為此目的,該處理器需要向所說的總線接口提供該消息屬性。該總線接口從所說的消息屬性發(fā)生一消息,然后將它送至第二站。
在常規(guī)途徑中,該總線接口將第一消息送至該總線接口或送至與該總線接口相關(guān)的緩沖器。然后,如有必要,該總線接口將從該緩沖器提取第一消息屬性,從該第一消息屬性發(fā)生第一消息,并將該第一消息送至所說的第二站。在該總線接口需要第二消息屬性時,它送出一中斷信號至該處理器。此后,該處理器通過將第二消息屬性發(fā)送至緩沖器或總線接口而對其響應(yīng)。最后,如有必要,總線接口將從緩沖器提取該第二消息屬性,從該第二消息屬性發(fā)生第二消息,并將該第二消息送至第二站。
如果在發(fā)送中斷信號至處理器和發(fā)送第二消息屬性之間存在有長的等待時間,換言之,如果該處理器有著長的中斷響應(yīng)時間,則這種等待勢將導(dǎo)致所說的消息屬性過晚到達總線接口,結(jié)果使數(shù)據(jù)丟失或不可靠。這樣一種處理器不可能很適合用于這種總線系統(tǒng)之內(nèi)。因此由于對嚴(yán)格的中斷響應(yīng)時間的要求,常規(guī)途徑限制了對處理器的選擇。
在從總線接口收到中斷信號之后允許處理器提前發(fā)生一串消息屬性而不是單個消息的消息屬性,該處理器有著充分的時間給以響應(yīng),因而具有消除長的中斷響應(yīng)時間的優(yōu)點。通過讓處理器調(diào)節(jié)所說的緩沖器的存儲容量至其自身的需要,該總線接口可以同多種處理器兼容并確保該緩沖器的存儲容量不會無端地選擇過大。其結(jié)果是,只要可能,用于儲存短串消息屬性,或者剛好是該消息之一的消息屬性的是具有小存儲容量的緩沖器,而在需要時,用于儲存較大消息串的是具有大存儲容量的緩沖器。這樣就增大了處理器和總線系統(tǒng)的第一站內(nèi)的總線接口之間的通信定時的靈活性。
作為實例,處理器可能具有關(guān)于到達第二站的數(shù)據(jù)品質(zhì)的信息,例如包括有被探測到的差錯號。如果該品質(zhì)劣于某一水準(zhǔn),該處理器可以決定增大緩沖器的存儲容量。而且,如僅要求小存儲容量的緩沖器,則可以將更多的空間分配給所說的存儲器元件內(nèi)用于其它目的的其它緩沖器。
根據(jù)本發(fā)明的這種總線系統(tǒng)的一種實施分案其特征如下所說的存儲元件包括用于儲存第一串消息屬性的第一緩沖器和用于儲存第二串消息屬性的第二緩沖器;和所說的總線接口可以操作以從該第一緩沖器提取第一串消息屬性,而所說的處理器將該第二串消息屬性發(fā)送至第二緩沖器。
在這種實施方案的運作中,在該處理器,經(jīng)由總線接口,至第二站之間的通信中不存在直接的鏈接。根據(jù)該處理器和第一緩沖器之間的鏈接的定時該第一串消息屬性被送往第一緩沖器。在此之后,根據(jù)該處理器和第二緩沖器之間的鏈接的定時該第二串消息屬性被送往第二緩沖器。同時,所說的緩沖器定期將消息送至第二站,該消息是從儲存在第一緩沖器內(nèi)的第一串消息屬性發(fā)生的。對該處理器和第二緩沖器之間的該鏈接的定時的唯一限制是第二串消息屬性的傳輸應(yīng)當(dāng)是在該總線接口需要從該第二串消息屬性中提取消息屬性時完成。
根據(jù)本發(fā)明的該總線系統(tǒng)的一種進一步實施方案的特征為該消息屬性包括定時信息和有效負載,如合適的話。在這種方式中,該總線接口決定所說消息的正確定時而不要處理器干預(yù)的能力得以增大。而且,在消息屬性中,包括可能包含有實時數(shù)據(jù)的有效負載簡化了處理器和總線接口之間的通信,因為在兩者之間無需另外的通信鏈接用于支持所說的有效負載。也不要求該總線接口將正確的實時數(shù)據(jù)分配給正確的消息的額外的處理。
根據(jù)本發(fā)明的一種進一步實施方案其特征為該總線接口可以操作于周期性地從第二站接收有著數(shù)據(jù)項的消息;該總線接口可以進一步操作以從所接收的消息提取該數(shù)據(jù)項,從所接收的消息提取定時信息,將該定時信息同來自儲存在所說的緩沖器中的第一串消息屬性的該消息屬性的定時信息進行比較,并且當(dāng)所提取的定時信息與儲存在緩沖器中的第一串消息屬性的該消息屬性的定時信息相匹配時,將所提取的數(shù)據(jù)項添加到所說的有效負載。
所說的處理器可以操作以根據(jù)來自總線接口的進一步中斷信號從來自儲存在緩沖器中的第一串消息屬性的消息屬性中提取該有效負載。
這種實施方案在處理器要求來自第二站的定時數(shù)據(jù)時簡化了該處理器和總線接口之間的通信。在這種情況下,該處理器優(yōu)選發(fā)送消息屬性串而無實際的有效負載。但是,在所說的緩沖器之內(nèi),該消息屬性串的儲存就如同該消息屬性包含有效負載一樣。在這種方式中,有預(yù)留的空間以便將有效負載添加到所說的消息屬性。所說的有效負載是通過所說的總線接口添加的。該總線接口從所收到的消息提取定時信息并且將該定時信息同所說的消息屬性中的定時信息加以比較。如果發(fā)現(xiàn)它是相符合的,則總線接口將該提取的數(shù)據(jù)項作為有效負載添加到該消息屬性。然后處理器提取該消息屬性的有效負載。該處理器在從總線接口收到進一步的中斷信號之后優(yōu)選提取有效負載。因此為實現(xiàn)從第二站至處理器的實時傳輸并無額外的要求。
根據(jù)本發(fā)明,在本文第二段說明中所定義的總線接口的特征為該總線接口包括控制器和包括有緩沖器的存儲器元件,其中所說的緩沖器具有的存儲容量可由處理器加以調(diào)節(jié)并適合于儲存來自處理器接收到的多串消息屬性的第一串消息屬性和在已經(jīng)收到經(jīng)由所說的中斷輸出的中斷信號之后從該處理器收到的多串消息屬性的第二串消息屬性;其中所說的控制器可以操作以從所說的緩沖器提取第一串消息屬性,從該第一串消息屬性發(fā)生第一串消息屬性,將該第一串消息屬性送往用于所說總線的連接,并將所說的中斷信號送往處理器。
根據(jù)本發(fā)明的該總線接口的一種實施方案其特征為該總線接口包括進一步的緩沖器;該緩沖器可以操作以從處理器接收存儲容量控制項;和該控制器可以操作以從所說的進一步的緩沖器提取存儲容量控制項,根據(jù)包含在該存儲容量控制項內(nèi)的信息,該控制器可以操作以調(diào)節(jié)所說的存儲容量。
這種實施方案簡化了處理器和總線接口之間的通信。該處理器通知總線接口它所要求的存儲容量。該總線接口對所說的存儲容量做出實際的調(diào)節(jié)。例如,如果該處理器探測出到達第二站的該實時數(shù)據(jù)的品質(zhì)已經(jīng)下降到低于某一水準(zhǔn)時,這樣的調(diào)節(jié)甚至可以在操作期間進行。
本發(fā)明的所有這些和其它方面可以從對下面實施方案所做的說明變得更為清晰。
圖1展示在USB規(guī)范的2.0版本中規(guī)定的等時交易格式;圖2是顯示按本發(fā)明的一種總線系統(tǒng)的方框圖;圖3A是顯示用于數(shù)據(jù)傳輸交易的消息圖;圖3B是顯示用于數(shù)據(jù)傳輸交易的消息圖;圖4是顯示根據(jù)本發(fā)明的一種總線接口的方框圖;圖5是顯示總線系統(tǒng)內(nèi)控制器和處理器之間的通信的方框圖。
在這些圖中對相同的部件用相同的參考號加以識別。
圖1展示在USB規(guī)范的2.0版本中規(guī)定的等時交易格式。在USB內(nèi),所有USB通信都是由主機起始的。所有的USB設(shè)備用唯一的USB地址訪問。每一設(shè)備還額外支持主機可以與之通信的一個或多個端點。
該USB支持功能數(shù)據(jù)和控制該USB主機和USB設(shè)備之間的交換。USB數(shù)據(jù)的傳輸發(fā)生在主機軟件和USB設(shè)備上的一特殊端點之間。該USB結(jié)構(gòu)了解三種基本的傳輸類型等時傳輸?shù)葧r的或流式實時數(shù)據(jù),它有著預(yù)先商定的等待時間占用預(yù)先商定的USB帶寬大??;
中斷傳輸非同步交互式數(shù)據(jù),諸如有著人感覺回波或反饋響應(yīng)特性的字符或坐標(biāo),和;批量傳輸非同步塊傳輸數(shù)據(jù),它以相對大的和突發(fā)性量發(fā)生和使用并具有寬廣的動態(tài)范圍及傳輸約束。
如果沒有交易進行,USB系統(tǒng)處于怠機方式101。包括數(shù)據(jù)傳輸?shù)牡葧r總線交易涉及到二個級,設(shè)置級102和數(shù)據(jù)級103。包括數(shù)據(jù)傳輸?shù)牡葧r總線交易涉及二個不同包的傳輸,例如,令牌包104,105和數(shù)據(jù)分組106,107。等時交易不支持交換包傳輸或重試能力的狀態(tài)相位。
等時交易可以由IN傳輸或OUT傳輸組成。在IN傳輸情形下,USB主機通過發(fā)送一IN令牌104開始其交易。在收到IN令牌104之后,USB設(shè)備將以數(shù)據(jù)分組106的方式將數(shù)據(jù)返回。如果,例如,由于總線差錯,USB設(shè)備沒有收到IN令牌104或者消息不可靠,該USB設(shè)備將不返回數(shù)據(jù)分組106。這種情況用圖中的線108表明。在完成IN傳輸之后,USB系統(tǒng)返回到怠機狀態(tài)101。
在OUT傳輸情形下,USB主機通過發(fā)送OUT令牌105開始其交易。該USB主機隨后用數(shù)據(jù)分組107發(fā)送數(shù)據(jù)。在完成OUT傳輸之后,USB系統(tǒng)返回至怠機狀態(tài)101。
圖2是顯示按本發(fā)明的一種總線系統(tǒng)的方框圖。該總線系統(tǒng)201包括承擔(dān)USB主機角色的第一站202,以及作為USB設(shè)備的第二站203和204。站202,203和204通過總線連接205相連。圖中對第一站202的展示更為詳細。第一站202包括可中斷處理器206和總線接口207。該總線接口包括存儲器元件208和控制器209,而存儲器元件208又包括第一緩沖器和第二緩沖器。沒有必要將存儲器元件208作為該總線接口的部件。在一種替代方案中,可以將存儲器元件208放置在第一站202內(nèi),但是在該總線接口之外。處理器206和控制器209有對存儲器元件208之內(nèi)的第一和第二緩沖器的訪問。該控制器連接到總線連接205。而且,控制器209具有至處理器209的中斷連接210。
在USB主機202和USB設(shè)備203,204之間的等時通信是由第一緩沖器和第二緩沖器的雙緩沖數(shù)據(jù)所支持的。在這種等時通信中,數(shù)據(jù)是定期地-每一(微)幀-從該USB主機發(fā)送至該USB設(shè)備203,204或反方向行之。下面的實例展示了這一點,此處其等時數(shù)據(jù)是從USB主機202傳送到USB設(shè)備203,204。
在N(微)幀的第一時間段,第一串N消息的消息屬性由處理器206寫入第一緩沖器。這些消息屬性包括該消息的USB幀數(shù)和有效負載。在緊隨第一時間段之后的N(微)幀的第二時間段期間,控制器209從第一緩沖器提取該消息屬性并發(fā)送第一串N等時消息。在該同一時間段,處理器206,多控制器209經(jīng)由中斷輸出210發(fā)送的中斷信號的觸發(fā),將用于第二串N消息的消息屬性寫入第二緩沖器。在緊隨第二時間段的第三個N(微)幀的時間段期間,控制器209從第二緩沖器提取該消息屬性并發(fā)送第二串N等時消息。在同一時段,處理器206,受控制器209經(jīng)由中斷輸出210發(fā)送的中斷信號的觸發(fā),將用于第三串N消息的消息屬性寫入第一緩沖器。在下一步的時間段內(nèi),這種過程繼續(xù)進行,每一次控制器209從一個緩沖器內(nèi)提取在前一時間段內(nèi)由處理器206寫入的N消息屬性串,與此同時,該處理器206,受控制器209經(jīng)由中斷輸出210發(fā)送的中斷信號的觸發(fā),將一串新的N消息屬性寫入別的緩沖器。
每個時段的寬度N可以由處理器206調(diào)節(jié)。為此處理器206將包括時寬N的控制項寫入第三數(shù)據(jù)緩沖器。該數(shù)據(jù)緩沖器可以是存儲器元件208的部件,或者也可以是控制器209內(nèi)的一個寄存器。依據(jù)在第三緩沖器內(nèi)的時寬N,該控制器209調(diào)節(jié)第一緩沖器和第二緩沖器的存儲容量使之可以準(zhǔn)確地儲存N消息屬性。在該存儲器元件208中的任何剩余空間可以用于其它目的。
舉例來說,如果寫入控制項中的N的值是4,則該處理器206必須將4消息屬性串,包括幀數(shù)和有效負載,寫入第一緩沖器或第二緩沖器。該處理器206對于控制器209經(jīng)由中斷輸出210發(fā)送的中斷信號具有4微秒時間加以響應(yīng)并寫入4消息屬性串。在同一時間段內(nèi),該控制器從由處理器206寫入的消息屬性的以前的串發(fā)生4等時消息并將它發(fā)送給另的緩沖器。
顯然,在這種方式中控制器209可以和多種處理器206兼容。對于有著相對長的中斷響應(yīng)時間的處理器其N的值將相對大。對于有著短的中斷響應(yīng)時間的處理器,N的值將相對小。N的最小值等于1。
圖3A是顯示用于數(shù)據(jù)傳輸?shù)慕灰椎南D。該消息圖展示對由OUT傳輸組成的等時交易的圖2的系統(tǒng)操作。從上到下時間t增大。處理器206和存儲器元件208內(nèi)的第一緩沖器之間的信息交換用第一根線301和第二根線302之間的箭頭橫線表示。處理器206和存儲器元件208內(nèi)的第二緩沖器之間的信息交換用圖中第一根線301和第三根線303之間的箭頭橫線表示。處理器206和總線接口207之間的信息交換用圖中第一根線301和第4根線304之間的箭頭橫線表示。存儲器元件208的第一緩沖器和總線接口207之間的信息交換用圖中第二根線302和第4根線304之間的箭頭橫線表示。存儲器元件208的第二緩沖器和總線接口207之間的信息交換用圖中第三根線303和第4根線304之間的箭頭橫線表示??偩€接口207和第二站203之間的信息交換用圖中的第4根線304和第5根線305之間的箭頭橫線表示。
在第一時間期306內(nèi),處理器206在第一寫入動作309內(nèi)將第一串消息屬性寫入第一緩沖器。該第一串消息屬性包括對兩次等時USB傳輸?shù)膶傩?。隨后總線接口207發(fā)送一中斷信號310至處理器206。
在第二時間期307內(nèi),總線接口207從儲存在第一緩沖器內(nèi)的第一串消息屬性提取第一等時USB傳輸?shù)膶傩?11。然后,在第一USB(微)幀內(nèi),該總線接口207將一OUT令牌312發(fā)送至第二站203,204。在該OUT令牌之后是數(shù)據(jù)分組313。然后該總線接口207從儲存在第一緩沖器中的第一串消息屬性提取第二等時USB傳輸?shù)膶傩?14。在第二USB(微)幀內(nèi),該總線接口207將第二OUT令牌發(fā)送給第二站203,204。隨后是第二數(shù)據(jù)分組316。與此同時,根據(jù)中斷信號310,處理器206在第二寫入動作317中將第二串消息屬性寫入第二緩沖器。該第二串消息屬性包括對兩次等時USB傳輸?shù)膶傩?。在發(fā)送該第二數(shù)據(jù)分組316之后,總線接口207將第二中斷信號318發(fā)送給處理器206。
在第三時間期308內(nèi),總線接口207從儲存在第二緩沖器中的第二串消息屬性提取第三等時USB傳輸?shù)膶傩?19。然后,在第三USB(微)幀內(nèi),總線接口207將第三OUT令牌320發(fā)送給第二站203,204。緊隨該OUT令牌之后是第三數(shù)據(jù)分組321。此后總線接口207從儲存在第二緩沖器中的第二串消息屬性提取第4等時USB傳輸?shù)膶傩?22。在第4(微)幀內(nèi),總線接口207則向第二站203,204發(fā)送第4OUT令牌323。緊隨此后是第4數(shù)據(jù)分組324。與此同時,根據(jù)第二中斷信號318,處理器206在第三寫動作326內(nèi)將第三串消息屬性寫入第一緩沖器。該第三串消息屬性包括對兩次等時USB傳輸?shù)膶傩?。在發(fā)送該第二數(shù)據(jù)分組316之后,總線接口207將第三中斷信號328送至處理器206。
寫入第一緩沖器和第二緩沖器內(nèi)的消息屬性包括USB(微)幀數(shù)和有效負載形式的定時信息,應(yīng)當(dāng)在該幀內(nèi)由該(微)幀數(shù)表明的實時數(shù)據(jù)部分。因此該總線接口207可以對該傳輸加以處理而不要求處理器206方面為提供該實時數(shù)據(jù)的進一步動作。用這種方式簡化了處理器206和總線接口207之間的通信,因為在二者之間為提供實時數(shù)據(jù)而不要求額外的通信鏈接。而且,為了將正確的實時數(shù)據(jù)賦給正確的等時USB傳輸,也不要該總線接口的額外處理。
顯然,如圖3A中所示和如上所討論的通信只是展示性實例,用于闡明該總線系統(tǒng)的功能,因而該總線系統(tǒng)的功能既不局限于所示的通信,也不局限于所展示的順序。
圖3B是展示對數(shù)據(jù)傳輸?shù)慕灰椎南D。該消息圖展示用于由IN傳輸組成的等時交易的圖2的系統(tǒng)操作。從上往下,時間t增大。處理器206和存儲器元件208內(nèi)的第一緩沖器之間的信息交換用圖中第一根線301和第二根線302之間的箭頭橫線表示。處理器206和存儲器元件208內(nèi)的第二緩沖器之間的信息交換用第一線301和第三線303之間的箭頭橫線表示。處理器206和總線接口207之間的信息交換用第一線301和第4線304之間的箭頭橫線表示。存儲器元件208中的第一緩沖器和總線接口207之間的信息交換用圖中第二線302和第4線304之間的箭頭橫線表示。存儲器元件208中的第二緩沖器和總線接口207之間的信息交換用圖中第三線303和第4根線304之間的箭頭橫線表示??偩€接口207和第二站203,204之間的信息交換用圖中第4根線304和第5線305之間的箭頭橫線表示。
在第一時間期329內(nèi),處理器329在第一寫動作332內(nèi)將第一串消息屬性寫入第一緩沖器。該第一串消息屬性包括對兩次等時USB傳輸?shù)膶傩?。然后總線接口207將中斷信號333發(fā)送給處理器206。
在第二時間期330內(nèi),總線接口207從儲存在第一緩沖器中的第一串消息屬性提取第一等時USB傳輸?shù)膶傩?34。然后,在第一USB(微)幀內(nèi),總線接口207將IN令牌335發(fā)送給第二站203,204。被尋址的USB設(shè)備通過發(fā)送數(shù)據(jù)分組326對該IN令牌335給以響應(yīng)。在總線接口207的第一寫動作337內(nèi),數(shù)據(jù)分組336中的數(shù)據(jù)作為有效負載被加到來自儲存在第一緩沖器中的第一串消息屬性的第一消息屬性。然后,總線接口207從儲存在第一緩沖器的第一串消息屬性提取第二等時USB傳輸?shù)膶傩?38。此后,在第二USB(微)幀內(nèi),總線接口207將IN令牌發(fā)送給第二站203,204。被尋址的USB設(shè)備通過發(fā)送數(shù)據(jù)分組340對該IN令牌339給以響應(yīng)。在總線接口207的第二動作341內(nèi),數(shù)據(jù)分組340內(nèi)的數(shù)據(jù)作為有效負載被加到來自儲存在第一緩沖器內(nèi)的第一串消息屬性的第二消息屬性??偩€接口207將第二中斷信號343發(fā)送給處理器206。與此同時,根據(jù)中斷信號333,處理器206在第二寫動作342中將第二串消息屬性寫入第二緩沖器。該第二串消息屬性包括對兩次等時USB傳輸?shù)膶傩浴?br>
在第三時間期331內(nèi),總線接口207從儲存在第二緩沖器內(nèi)的第二串消息屬性提取第三等時USB傳輸?shù)膶傩?44。然后,在第三USB(微)幀內(nèi),總線接口207將IN令牌345發(fā)送給第二站203,204。該被尋址的USB設(shè)備通過發(fā)送數(shù)據(jù)分組346對IN令牌345給以響應(yīng)。在總線接口207的第三寫動作347內(nèi),數(shù)據(jù)分組346之內(nèi)的數(shù)據(jù)作為有效負載被加到來自儲存在第二緩沖器內(nèi)的第二串消息屬性的第一消息屬性。然后該總線接口207從儲存在第二緩沖器內(nèi)的第二串消息屬性提取第4等時USB傳輸?shù)膶傩?48。此后,在第二USB(微)幀內(nèi),總線接口207將IN令牌349發(fā)送給第二站203,204。該被尋址的USB設(shè)備通過發(fā)送數(shù)據(jù)分組350對IN令牌349給以響應(yīng)。在總線接口207的第4寫動作內(nèi),數(shù)據(jù)分組350內(nèi)的數(shù)據(jù)作為有效負載被加到來自儲存在第一緩沖器內(nèi)的第二串消息屬性的消息屬性??偩€接口207據(jù)此向處理器206發(fā)送第二中斷信號354。與此同時,根據(jù)中斷信號333,處理器206在第一讀動作352內(nèi)讀出儲存在第一緩沖器內(nèi)的第一串消息屬性。這些消息屬性,作為有效負載,包括由被尋址的USB設(shè)備發(fā)送的在數(shù)據(jù)分組336和340中的數(shù)據(jù)。然后處理器206在第三寫動作342內(nèi)將第三串消息屬性寫入第一緩沖器。該第三串消息屬性包括對兩次等時USB傳輸?shù)膶傩浴?br>
顯然,如圖2B所示及上面所討論的通信只是展示性實例,用以理解該總線系統(tǒng)的功能,因而該總線系統(tǒng)的功能并不局限于所示的通信,也不局限于所示的順序。
圖4是展示按本發(fā)明的一種總線接口的方框圖。圖中所示的方框圖是總線接口集成電路的方框圖。該總線接口集成電路401具有雙重作用。它既可以作為USB設(shè)備為總線站的部件,也可以作為USB主機為總線站的部件。這一點在USB的“On-The-Go”(OTG)裝置中是特別有用的。這樣一樣OTG裝置,例如,可以是數(shù)字化相機,個人數(shù)字化輔助設(shè)備,或示波器,在某些操作方式中它經(jīng)USB連接到,例如,海量存儲裝置(例如,硬盤驅(qū)動,光記錄儀,或固態(tài)記錄儀),打印機,或手機。在這種操作方式中,USB OTG應(yīng)當(dāng)作為USB主機。在另一種操作方式中,USB OTG經(jīng)由USB連接到,例如,個人計算機。在這種操作方式中,該USB OTG裝置應(yīng)作為USB設(shè)備。USB OTG裝置的總線接口集成電路工作的模式可以是軟件決定的,并且受該USB OTG裝置內(nèi)的處理器控制。
如果該USB OTG裝置是便攜式的,它易于包括在總線接口集成電路關(guān)閉某些功能塊時可用的低功耗方式,或者在,例如,低總線通信量或完全沒有總線通信量的時間期內(nèi)從較低時鐘速率運行。這樣一種低功率模式可以通過包括所謂的遠距離叫醒特征而得以增強,這種遠距離叫醒特征受該USB OTG裝置的處理器控制使之返回某些或全部功能塊的操作,或增大該總線接口集成電路的時鐘速率。
該遠距離叫醒特征,例如,在該處理器預(yù)期總線通信量增大的情況下可以被激活。
總線接口集成電路401包括主處理器的連接402,在該總線接口集成電路401當(dāng)作USB主機工作時用于連接到USB的連接403,以及在該總線接口集成電路401作為USB設(shè)備工作時用于連接到USB的連接404。注意,在實際實行時,連接403和404可以共享同一I/O終端,而內(nèi)部的多路復(fù)用器負責(zé)總線信號的內(nèi)部路由。如果保證連接403不是同時使用的話,這樣一種實施辦法可能是優(yōu)越的。
該總線接口集成電路401進一步包括主機-設(shè)備多路復(fù)用器405,定時塊406,主機接口407,設(shè)備接口408,主機控制器409,設(shè)備控制器410,主機存儲器元件411,設(shè)備存儲器元件412,主機收發(fā)機413,以及設(shè)備收發(fā)機414。
主機-設(shè)備多路復(fù)用器405經(jīng)連接402與處理器相連。該多路復(fù)用器405決定該有著處理器的總線接口集成電路401,優(yōu)先在該處理器的控制之下,的內(nèi)部路由。如果該總線接口集成電路401作為USB主機工作,則主機-設(shè)備多路復(fù)用器405將主機控制器409經(jīng)主機接口407連接到處理器。如果該總線接口集成電路401作為USB設(shè)備工作,則主機-設(shè)備多路復(fù)用器405將設(shè)備控制器410經(jīng)由設(shè)備接口408連接到處理器。主控制器409經(jīng)主機收發(fā)機413訪問總線連接403。設(shè)備控制器410經(jīng)設(shè)備收發(fā)機414訪問總線連接404。
主機存儲器元件411既可以經(jīng)主機-設(shè)備多路復(fù)用器405被主機控制器409訪問,也可以被處理器訪問。它可以用于,例如,儲存由處理器發(fā)出的請求屬性和用于儲存主機控制器411和USB設(shè)備之間的通信結(jié)果。
設(shè)備存儲器元件412既可以經(jīng)主機-設(shè)備多路復(fù)用器405被設(shè)備控制器410訪問,也可以被處理器訪問。它可以用于,例如,儲存由處理器發(fā)生的緩沖數(shù)據(jù),該數(shù)據(jù)應(yīng)當(dāng)被送往USB主機。
為支持總線接口集成電路和多種處理器之間的兼容,主機存儲器元件411和設(shè)備存儲器元件412最好是既在直接存儲器訪問(DMA)方式又在并行輸入-輸出方式都可對該處理器加以訪問。
能支持處理器和總線接口集成電路401的存儲器元件之間的多種通信方式是有益的。這樣可以對處理器有廣泛的選擇。例如,一種更為精細的計算系統(tǒng)將支持DMA操作。如果該總線接口也支持DMA操作,則處理器上的通信被進一步簡化。另一方面,在一種不夠精細的總線站內(nèi),處理器處理所有的通信而不要DMA控制器的支持。在這種情形下,該總線接口需要支持總線接口同并行輸入-輸出方式中的處理器之間的數(shù)據(jù)交換。
雖然上面所討論的實施方案涉及一種總線接口集成電路,顯然本領(lǐng)域內(nèi)的技術(shù)人員將理解,可以在不同的集成電路和分立組件內(nèi)埋置本圖中的不同功能塊和功能塊組。因此與本方塊圖所描述的總線接口相關(guān)的其它實施方案可以包括執(zhí)行不同塊功能的多個集成電路和分立組件。
同對總線系統(tǒng)的要求有關(guān),用集成電路來實現(xiàn)總線接口是有著優(yōu)越性的。在一個集成電路內(nèi)的功能集成可以降低組件的數(shù)量和實現(xiàn)面積的最小化,因此可以減小包括有總線接口的總線站的物理尺寸。而且,將總線接口用集成電路實現(xiàn)將使功耗降低。
同對總線系統(tǒng)的要求有關(guān),用多個集成電路和分立電子組件,盡可能多地使用標(biāo)準(zhǔn)建造塊,實現(xiàn)總線接口是有優(yōu)越性的。這樣降低了總線接口的成本價格。
圖5是展示總線系統(tǒng)的第一站內(nèi)的控制器和處理器之間通信的方框圖。該方框圖顯示控制器209,處理器206,第一緩沖器501和第二緩沖器502,以及用于儲存控制項的和第三緩沖器503,該控制項決定第一緩沖器501和第二緩沖器502的存儲容量。在處理器206開始將消息屬性串寫入第一緩沖器501和第二緩沖器502之前,該處理器將一值N寫入第三緩沖器503,該值N是每一串將包括的消息屬性數(shù)??刂破?09從第三緩沖器提取該值N,并相應(yīng)地對第一緩沖器501和第二緩沖器502的存儲容量加以調(diào)整。
在第一緩沖器501內(nèi),符號504表示一串中的第一消息屬性的位置,505表示同一串中第二消息屬性的位置,506表示同一串中最后一個,第n個消息屬性的位置。507表示同一串中余下消息屬性的位置。
在第二緩沖器502內(nèi),符號508表示第二串中第一消息屬性的位置,509表示同一串中第二消息屬性的位置,510表示同一串中最后一個,第n個消息屬性的位置。511表示同一串中佘下消息屬性的位置。
該消息屬性分成兩部分,傳輸描述符或頭標(biāo)512和有效負載或數(shù)據(jù)513。在OUT傳輸情況下,該有效負載513是應(yīng)當(dāng)包括數(shù)據(jù)分組內(nèi)從USB主機被送往被尋址的USB設(shè)備的數(shù)據(jù)。在IN傳輸時,該有效負載開始是一無載空間,爾后由所尋址的USB設(shè)備發(fā)送的數(shù)據(jù)分組內(nèi)所包含的數(shù)據(jù)填充。該傳輸描述符亦被控制器209用來儲存交易的結(jié)果。正因為如此,處理器206和控制器209都需要對第一緩沖器501和第二緩沖器502進行讀和寫的訪問。
下面所示為該傳輸描述符的格式。所示格式由8位字節(jié)組成,和字節(jié)0,字節(jié)1,...,字節(jié)7表示。每個字節(jié)由8位(比特)組成。
下面的表用以說明上表中各參數(shù)的含義。
權(quán)利要求
1.包括第一站和第二站,用總線連接的用于傳輸消息的總線系統(tǒng),該總線系統(tǒng)被設(shè)計成按所說的第一站定期按預(yù)定次序向該第二站發(fā)送消息的協(xié)議操作,其特征在于,該第一站包括可中斷處理器,包含緩沖器的存儲器元件,以及總線接口,其中所說的可中斷處理器可以操作以發(fā)生多串消息屬性;其中所說的處理器可進一步操作以從該多串消息屬性中將第一串消息屬性發(fā)送給所說的緩沖器,并且根據(jù)從所說的總線接口收到的中斷信號將來自該多串消息屬性中的第二串消息屬性發(fā)送,其中所說的緩沖器具有由該處理器可調(diào)節(jié)的存儲容量,以適合儲存所說的第一串消息屬性和所說的第二串消息屬性。其中所說的總線接口可以操作,以從該緩沖器提取該第一串消息屬性,從所說的消息屬性產(chǎn)生第一串消息屬性,將該第一串消息屬性發(fā)送給所說的第二站,和將所說的中斷信號發(fā)送給所說的處理器。
2.如權(quán)利要求1中所要求保護的總線系統(tǒng),其特征在于,所說的存儲器元件包括用于儲存第一串消息屬性的第一緩沖器和用于儲存第二串消息屬性的第二緩沖器;和所說的總線接口可以操作以從第一緩沖器提取第一串消息屬性;而處理器將第二串消息屬性發(fā)送給第二緩沖器。
3.如權(quán)利要求1中所要求保護的總線系統(tǒng),其特征在于,所說的消息屬性包括定時信息。
4.如權(quán)利要求3中所要求保護的總線系統(tǒng),其特征在于,所說的定時信息包括幀數(shù)。
5.如權(quán)利要求3中所要求保護的總線系統(tǒng),其特征在于,所說的消息屬性包括有效負載。
6.如權(quán)利要求5中所要求保護的總線系統(tǒng),其特征在于,所說的總線接口可以操作用于定期從第二站接收帶有數(shù)據(jù)項的消息;該總線接口可進一步操作以從所接收的消息提取所說的數(shù)據(jù)項,從所接收的消息提取定時信息,將該定時信息與來自儲存在所說的緩沖器中的第一串消息屬性的所說消息屬性的定時信息進行比較,如果所述被提取的定時信息與來自儲存在所說緩沖器中的第一串消息屬性的所說消息屬性的定時信息相符,則將所提取的數(shù)據(jù)項加到所說的有效負載;和所說的處理器可以操作以根據(jù)從所說的總線接口收到的進一步中斷信號從來自儲存在該緩沖器中的第一串消息屬性的消息屬性提取所說的有效負載。
7.如權(quán)利要求1中所要求保護的總線系統(tǒng),其特征在于,所說的總線系統(tǒng)是USB系統(tǒng)。
8.總線接口,包括用于總線的連接,用于接收來自可中斷處理器的多串消息屬性的輸入,以及用于將中斷信號發(fā)送給所說的處理器的中斷輸出,其特征在于,所說的總線接口包括控制器和包含有緩沖器的存儲器元件,其中該緩沖器具有的存儲容量可由所說的處理器加以調(diào)節(jié)并適合于儲存來自從該處理器接收的多串消息屬性中的第一串消息屬性,和適合儲存在該處理器經(jīng)由該中斷輸出已經(jīng)收到中斷信號之后從所說的處理器收到的多串消息屬性中的第二串消息屬性,其中所說的控制器可以操作以從所說的緩沖器提取第一串消息屬性,從所說的第一串所述消息屬性發(fā)生第一串消息屬性,將該第一串消息屬性發(fā)送給對所說總線的連接,并將所說的中斷信號發(fā)送給所說的處理器。
9.如權(quán)利要求8中所要求保護的總線接口,其特征在于,所說的存儲器元件包括用于儲存第一串消息屬性的第一緩沖器和用于儲存第二串消息屬性的第二緩沖器;和所說的控制器可以操作以從該第一緩沖器提取第一串消息屬性,而該第二緩沖器從所說的處理器接收第二串消息屬性。
10.如權(quán)利要求8中所要求保護的總線接口,其特征在于,該總線接口包括進一步的緩沖器;該進一步的緩沖器可以操作以從處理器接收存儲容量控制項;和該控制器可以操作以從該進一步的緩沖器接收存儲容量控制項,根據(jù)包含在該存儲容量控制項中的信息,該控制器可以操作以調(diào)節(jié)所說的存儲容量。
11.如權(quán)利要求8中所要求的總線接口,其特征在于,所說的消息屬性包括對所說的消息的定時信息。
12.如權(quán)利要求11中所要求保護的總線接口,其特征在于,該定時信息包括幀數(shù)。
13.如權(quán)利要求11中所要求保護的總線接口,其特征在于,該消息屬性進一步包括所說消息的有效負載。
14.如權(quán)利要求13中所要求保護的總線接口,其特征在于所說的控制器可以操作以定期地從第二站接收帶有數(shù)據(jù)項的消息;該控制器可進一步操作以從所接收的消息提取該數(shù)據(jù)項,從所接收的消息提取定時信息,將該定時信息同來自儲存在所說緩沖器中的第一串消息屬性的所述消息屬性的定時信息進行比較,如果所提取的定時信息與來自儲存在該緩沖器中的第一串消息屬性的所述消息屬性的定時信息相符,則將該數(shù)據(jù)項加到所說的有效負載;和將進一步的中斷信號經(jīng)所述中斷輸出發(fā)送至所說的處理器以通知該處理器將所提取的數(shù)據(jù)項添加到所說的有效負載。
15.如權(quán)利要求8中所要求保護的總線接口,其特征在于,該總線接口能作為USB接口操作。
全文摘要
本發(fā)明涉及包括用總線連接用于傳輸消息的第一站(202)和第二站(203),(204)的總線系統(tǒng),該總線被設(shè)計用于按第一站(202)定期將消息以預(yù)定的順序發(fā)送給第二站(203),(204)的協(xié)議操作,其中該第一站(202)包括可中斷處理器(206),包含緩沖器(501,502)的存儲器元件(208),以及總線接口(207),其中所說的可中斷處理器(206)可以操作以發(fā)生多串消息屬性;其中該處理器(206)可進一步操作以將來自多串消息屬性中的第一串消息屬性送給緩沖器(501,502),并根據(jù)從該總線接口收到的中斷信號,從該多串消息屬性中發(fā)出第二串消息屬性;其中該緩沖器(501,502)具有存儲容量,該存儲容量可由處理器(206)加以調(diào)節(jié)從而適合于儲存所說的第一串消息屬性和第二串消息屬性,而其中所說的總線接口(207)可以操作以從所說的緩沖器提取第一串消息屬性,從所說的屬性發(fā)生該第一串消息屬性,將該第一串消息屬性發(fā)送給第二站(203,204),以及將中斷信號送至處理器(206)。
文檔編號G06F13/00GK1561492SQ02819227
公開日2005年1月5日 申請日期2002年9月19日 優(yōu)先權(quán)日2001年9月28日
發(fā)明者Y·K·張, Z·迎 申請人:皇家飛利浦電子股份有限公司