專利名稱:總線連接設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及總線連接設(shè)備,以及更具體地說,涉及能與總線通信系統(tǒng)中的電子設(shè)備一起使用的設(shè)備,以允許該裝置充當(dāng)該系統(tǒng)中的主機(jī)。
背景技術(shù):
通用串行總線(USB)通信系統(tǒng)正變得非常普遍。在USB系統(tǒng)中,可以互連許多項(xiàng)(item)的電子裝置,諸如個(gè)人計(jì)算機(jī)、掃描儀、移動(dòng)電話、打印機(jī)等等。在任一系統(tǒng)中,總是將其中一項(xiàng)裝置指定為USB主機(jī),控制與指定為USB設(shè)備或外圍設(shè)備的所有其他項(xiàng)的連接。個(gè)人計(jì)算機(jī)通常具有允許它們充當(dāng)USB主機(jī)所需的硬件和軟件,但其他項(xiàng)通常不具有所需硬件和軟件,從而僅能充當(dāng)USB設(shè)備。
然而,存在不要求裝置大的改變的情況下,一項(xiàng)裝置能充當(dāng)USB主機(jī)將是有用的。文獻(xiàn)WO2004/029817描述了一種硬件加密狗(dongle)的形式的設(shè)備,能連接到設(shè)備的USB端口,使得它能充當(dāng)USB系統(tǒng)中的主機(jī)。結(jié)合USB設(shè)備中的適當(dāng)軟件,硬件加密狗檢索和存儲(chǔ)例如從加密狗所連接并充當(dāng)該系統(tǒng)中的主機(jī)設(shè)備傳送到另一設(shè)備的數(shù)據(jù)。
這表示硬件加密狗必須能存儲(chǔ)相對(duì)大量的數(shù)據(jù),例如諸如在一毫秒中傳送的數(shù)據(jù)量,因此,加密狗必須包含相對(duì)大量的部件。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的第一方面,提供一種總線連接設(shè)備,具有第一和第二連接端口,能被控制以便將令牌發(fā)送到連接到第一和第二端口的各個(gè)設(shè)備,以及在接收從所述設(shè)備之一傳送的數(shù)據(jù)后,用來將所述數(shù)據(jù)傳遞到其他所述設(shè)備。
這具有設(shè)備不要求大的緩沖存儲(chǔ)器的優(yōu)點(diǎn)。
為更好理解本發(fā)明,以及表示如何實(shí)施,將通過實(shí)例的方式參考附圖,其中
圖1是表示利用根據(jù)本發(fā)明的第一方面的設(shè)備的總線通信系統(tǒng)的示意框圖。
圖2-9表示在圖1的總線通信系統(tǒng)的部件間傳遞的信號(hào)的時(shí)間關(guān)系曲線圖。
具體實(shí)施例方式
圖1表示包括根據(jù)本發(fā)明的第一方面的設(shè)備的系統(tǒng)。設(shè)備10采用硬件加密狗的形式,能連接到USB設(shè)備14中的USB端口12。
在通過USB總線連接所連接的系統(tǒng)中,將一個(gè)裝置指定為主機(jī),而其他裝置指定為外圍設(shè)備。必須使一個(gè)裝置能夠充當(dāng)主機(jī),以便控制與其他設(shè)備的通信。裝置充當(dāng)USB主機(jī),或充當(dāng)USB外圍設(shè)備的能力由其具有適當(dāng)?shù)墓δ苄远ā?br>
在這種情況下,裝置14是USB設(shè)備,即,它不具有允許它充當(dāng)USB主機(jī)的功能性。然而,硬件加密狗10的目的是允許設(shè)備14充當(dāng)主機(jī),從而在此將設(shè)備14描述為偽主機(jī)。
通過傳統(tǒng)的USB D+/D-線路18,設(shè)備10,在此也稱為主橋(hostbridge),通過端口16連接到偽主機(jī)14的USB端口12。
主橋設(shè)備10包括控制器20和存儲(chǔ)器22,它們的功能將在下文中更詳細(xì)地描述。主橋設(shè)備10還具有傳統(tǒng)的小型AB插口形式的USB端口24,所述小型AB插口能容納傳統(tǒng)的USB插頭。
主橋設(shè)備10能由插入插口24的插頭的類型,確定何種設(shè)備連接到它上。
即,如果小型B插頭插入插口24中,主橋設(shè)備10能確定插入它中的設(shè)備是能操作為USB主機(jī)的裝置。例如,這可以是個(gè)人計(jì)算機(jī)(PC)或類似的裝置。
另一方面,在本發(fā)明的該示例性實(shí)施例中,插入插口24中的插頭26是小型A插頭,向主橋設(shè)備10表示該設(shè)備28是USB外圍設(shè)備,即,不能充當(dāng)USB主機(jī)。如前所述,插頭26和USB外圍設(shè)備28間的連接是通過本領(lǐng)域的技術(shù)人員非常公知的傳統(tǒng)的USB D+/D-線路30,以及在此不再描述。
在插入插口24中的設(shè)備是USB主機(jī)的情況下,主橋10充當(dāng)透明集線器。即,將數(shù)據(jù)從插口24直接傳送到端口16,允許外圍設(shè)備14以就象直接連接USB主機(jī)和設(shè)備14一樣的方式起作用。
這與具有設(shè)備引擎、意指所連USB主機(jī)不能直接與USB設(shè)備中的設(shè)備控制器直接相互作用,而僅與主橋設(shè)備中的設(shè)備控制器相互作用的其他公知主橋設(shè)備形成對(duì)比。
在插入插口24中的設(shè)備28是USB外圍設(shè)備的情況下,主橋10用來允許偽主機(jī)設(shè)備14就象它是傳統(tǒng)的USB主機(jī)設(shè)備一樣起作用?,F(xiàn)在,參考剩余的圖,將更詳細(xì)地描述該操作。
在該操作模式中,主橋10在其控制器20的控制下起作用,但也在D+/D-線路18上,從偽主機(jī)設(shè)備14接收控制信息。特別地,定義調(diào)度方法。作為時(shí)間表的一部分,為偽主機(jī)14預(yù)留D+/D-線路18上的定期(regular)時(shí)隙,以便將控制信息發(fā)送到主橋10的控制器20。另外,在不同的連接設(shè)備間定義循環(huán)調(diào)度形式。即,盡管圖1僅示出連接到主橋10的單一USB外圍設(shè)備28,但將意識(shí)到如在傳統(tǒng)的USB總線系統(tǒng)中,能將多個(gè)外圍設(shè)備連接到主機(jī)。
在傳統(tǒng)的USB總線系統(tǒng)中,響應(yīng)于令牌傳送數(shù)據(jù),且通常從主機(jī)傳送到所連設(shè)備。
在本發(fā)明的這個(gè)實(shí)施例中,主橋10將令牌發(fā)送到偽主機(jī)14和外圍設(shè)備28。因此,現(xiàn)在將更詳細(xì)地描述根據(jù)本發(fā)明的系統(tǒng)的操作。
眾所周知,USB事務(wù)采用四種形式。在傳送所有數(shù)據(jù)重要的情況下,批處理(Bulk)和中斷事務(wù)用于傳送數(shù)據(jù),因此,通過接收設(shè)備應(yīng)答每一傳送數(shù)據(jù)包。
當(dāng)快速傳送數(shù)據(jù)更重要時(shí),使用同步事務(wù),在這種情況下沒有應(yīng)答發(fā)送。
使用控制事務(wù)以便根據(jù)需要設(shè)置系統(tǒng)。
圖2表示當(dāng)將執(zhí)行批處理事務(wù)時(shí)執(zhí)行的過程,以便將數(shù)據(jù)從偽主機(jī)14通過主橋10傳送到所連外圍設(shè)備28。
如上所述,定義時(shí)間表,意指每隔一定時(shí)間,主橋10發(fā)送IN令牌到偽主機(jī)14。
響應(yīng)一個(gè)這種令牌201,偽主機(jī)14返回第一數(shù)據(jù)包202。該第一數(shù)據(jù)包存儲(chǔ)在先入先出存儲(chǔ)器(FIFO)32中,所述先入先出存儲(chǔ)器32構(gòu)成主橋10的存儲(chǔ)器22的一部分。
然后,主橋10將應(yīng)答(ACK)203發(fā)送到偽主機(jī)14,同時(shí),將OUT令牌204發(fā)送到所連外圍設(shè)備28,以便表示那一數(shù)據(jù)將繼之而來。然后,從FIFO 32檢索緩存的第一數(shù)據(jù)包,在205,發(fā)送到所連外圍設(shè)備28。
在所示的情況下,所連外圍設(shè)備28未準(zhǔn)備好接收所傳送的數(shù)據(jù)205,因此,將無應(yīng)答(NAK)206發(fā)送回主橋10。
主橋10通過發(fā)送另一OUT令牌207,響應(yīng)NAK206,以及在208重傳第一數(shù)據(jù)包。
在所示的情況下,由所連外圍設(shè)備28正確地接收第一數(shù)據(jù)包208,因此,發(fā)送ACK 209。
當(dāng)主橋10接收已經(jīng)由所連外圍設(shè)備28正確地接收第一數(shù)據(jù)包的應(yīng)答時(shí),將另一IN令牌210發(fā)送到偽主機(jī)14。在所示的情況下,偽主機(jī)14未準(zhǔn)備好發(fā)送數(shù)據(jù),因此,發(fā)送NAK消息211作為應(yīng)答。主橋10通過重新發(fā)送IN令牌212來響應(yīng)。
在所示的情況下,然后,偽主機(jī)14準(zhǔn)備發(fā)送數(shù)據(jù),因此,它通過發(fā)送第二數(shù)據(jù)包213來響應(yīng)。
如前所述,該第二數(shù)據(jù)包213存儲(chǔ)在FIFO 32中,以及主橋10將ACK消息214發(fā)送到偽主機(jī)14。同時(shí),將OUT令牌215發(fā)送到所連外圍設(shè)備28,表示另一數(shù)據(jù)包將繼之而來。然后,將該數(shù)據(jù)包216發(fā)送到所連外圍設(shè)備28,它在這種情況下能正確地接收數(shù)據(jù)包,以及發(fā)送ACK消息217。
同樣地,如前所述,主橋通過將另一IN令牌218發(fā)送到偽主機(jī)14,要求其發(fā)送另一數(shù)據(jù)來響應(yīng)。偽主機(jī)14通過發(fā)送第三數(shù)據(jù)包219來響應(yīng)。因此,如前所述,第三數(shù)據(jù)包219存儲(chǔ)在FIFO 32中,而將ACK消息220發(fā)送到偽主機(jī)14,同時(shí),將OUT令牌221發(fā)送到所連外圍設(shè)備28,在此之后,將第三數(shù)據(jù)包222發(fā)送到所連外圍設(shè)備。
在所示的情況下,將停止(sta11)響應(yīng)223從所連外圍設(shè)備28發(fā)送到主橋10,盡管STALL響應(yīng)也能從偽主機(jī)14發(fā)送。在任一情況下,那個(gè)傳送的另外的調(diào)度將停止,直到重新啟動(dòng)為止。
因此,如從該描述所能看出的,僅要求FIFO 32每次緩沖一個(gè)數(shù)據(jù)包,盡管也能作為選擇地使用雙緩沖或環(huán)形FIFO,這可以在某些方面提高系統(tǒng)性能。然而,在任一情況下,大大地降低對(duì)主橋10存儲(chǔ)數(shù)據(jù)的需求。
圖3表示在批處理事務(wù)的情況下執(zhí)行的過程,其中,通過主橋10,將數(shù)據(jù)從所連外圍設(shè)備28傳送到偽主機(jī)14。
該過程從主橋10發(fā)送到外圍設(shè)備28的定期調(diào)度的IN令牌301的一個(gè)開始。由于外圍設(shè)備28有數(shù)據(jù)要發(fā)送,其發(fā)送第一數(shù)據(jù)包302,所述第一數(shù)據(jù)包302存儲(chǔ)在同樣形成主橋10的存儲(chǔ)器22的一部分的FIFO 34中。FIFO 34,以及在此提及的其他FIFO,可以是與圖2所示的FIFO 32相同的物理設(shè)備的一部分,或可以是單獨(dú)的。
然后,主橋10將應(yīng)答ACK 303發(fā)送到所連外圍設(shè)備28,同時(shí),將OUT令牌304發(fā)送到偽主機(jī)14,表示它有數(shù)據(jù)要發(fā)送。
然后,主橋10將第一數(shù)據(jù)包305發(fā)送到偽主機(jī)14。在所示的情況下,偽主機(jī)14未準(zhǔn)備好接收第一數(shù)據(jù)包305,因此,其將無應(yīng)答(NAK)306發(fā)送到主橋10。主橋10通過重新發(fā)送OUT令牌307來響應(yīng),此后,重新發(fā)送第一數(shù)據(jù)包308。
在這種情況下,正確地接收第一數(shù)據(jù)包308,因此,偽主機(jī)14將ACK309發(fā)送到主橋10。然后,主橋10將另一IN令牌310發(fā)送到所連外圍設(shè)備28,要求它發(fā)送另一數(shù)據(jù)。在這種情況下,所連外圍設(shè)備28未準(zhǔn)備好接收數(shù)據(jù),因此,發(fā)送NAK 311。主橋10通過重新發(fā)送IN令牌312來響應(yīng),在這種情況下,所連外圍設(shè)備28準(zhǔn)備接收數(shù)據(jù),因此,它通過第二數(shù)據(jù)包313來響應(yīng)。
同樣地,該數(shù)據(jù)包存儲(chǔ)在FIFO 34中,以及主橋10將ACK 314發(fā)送到所連外圍設(shè)備28,同時(shí),將OUT令牌315發(fā)送到偽主機(jī)14。這之后為已經(jīng)從FIFO 34檢索出的第二數(shù)據(jù)包316。由偽主機(jī)14正確地接收第二數(shù)據(jù)包316,向主橋10發(fā)送ACK 317。
然后,主橋10將另一IN令牌318發(fā)送到所連外圍設(shè)備28。
在這種情況下,所連外圍設(shè)備28發(fā)送STALL響應(yīng)319,如上參考圖2所述起作用,而且沒有另外的數(shù)據(jù)傳送。
同樣,因此大大地降低對(duì)主橋10緩存?zhèn)魉蛿?shù)據(jù)的需求。
圖2和3表示用于批處理事務(wù)的過程。在本發(fā)明的所示實(shí)施例中,中斷事務(wù)遵循相同的協(xié)議,差別在于不同地調(diào)度由主橋10發(fā)送到偽主機(jī)14和所連外圍設(shè)備28的IN令牌。
圖4表示用于執(zhí)行同步事務(wù)的過程。在第一所示同步事務(wù)中,將數(shù)據(jù)從所連外圍設(shè)備傳送到偽主機(jī)14。
通過表示它是用于批處理還是同步事務(wù)的“類型”,在USB系統(tǒng)中局部定義所連外圍設(shè)備27中的每一端點(diǎn)。因此,一些類型的設(shè)備非常適合于數(shù)據(jù)傳送,其中實(shí)際上傳送所有數(shù)據(jù),以及其他類型的設(shè)備非常適合于快速傳送數(shù)據(jù)的傳送。
因此,當(dāng)主橋10將IN令牌401發(fā)送到所連外圍設(shè)備28時(shí),圖4所示的過程開始。由于已知所連外圍設(shè)備28是使用同步事務(wù)的類型,主橋10還同時(shí)將OUT令牌402發(fā)送給偽主機(jī)14,以表示它打算接收數(shù)據(jù)。
在所示的情況下,所連外圍設(shè)備28有數(shù)據(jù)要發(fā)送,因此,將第一數(shù)據(jù)包403返回給主橋10。在這種情況下,通過主橋10,直接路由所接收的數(shù)據(jù)包,而沒有任何FIFO緩存,以及作為數(shù)據(jù)包404通過偽主機(jī)14直接傳遞。其結(jié)果是在通過主橋10傳送數(shù)據(jù)中,存在最小延遲,例如,可以是僅幾納秒的門延遲。由于這是同步事務(wù),不存在應(yīng)答消息,以及該過程通過主橋10將另一IN令牌405發(fā)送到所連外圍設(shè)備28,以及將另一OUT令牌406發(fā)送到偽主機(jī)14來繼續(xù)。由于所連外圍設(shè)備28有更多數(shù)據(jù)要發(fā)送,將第二數(shù)據(jù)包407返回給主橋10,其再次直接傳遞它到偽主機(jī)14作為數(shù)據(jù)包408,而沒有緩存。
圖4的下面部分表示逆過程,其中,在同步事務(wù)中,將數(shù)據(jù)從偽主機(jī)14傳送到所連外圍設(shè)備28。
同樣地,該過程以從主橋10發(fā)送到偽主機(jī)14的定期調(diào)度的IN令牌409開始,同時(shí),將OUT令牌410發(fā)送到已知為參與同步事務(wù)的類型的所連外圍設(shè)備28。由于偽主機(jī)14將數(shù)據(jù)發(fā)送到那個(gè)特定所連外圍設(shè)備,其返回第一數(shù)據(jù)包411,通過主橋10,作為數(shù)據(jù)包412直接傳遞到所連外圍設(shè)備28。如上所述,通過主橋10,直接傳遞數(shù)據(jù)包,而沒有FIFO緩存,因此,具有最小延遲。
同樣地,沒有應(yīng)答,以及該過程經(jīng)從主機(jī)10發(fā)送到偽主機(jī)14的另一IN令牌413,以及將另一OUT令牌414從主橋10發(fā)送到所連外圍設(shè)備28繼續(xù)。
偽主機(jī)14具有另一數(shù)據(jù)要發(fā)送,因此,返回第二數(shù)據(jù)包415,同樣地,通過主橋10直接傳遞,而沒有FIFO緩存,并傳遞到所連外圍設(shè)備28作為數(shù)據(jù)包416。
如前所述,該過程能持續(xù),只要偽主機(jī)14具有數(shù)據(jù)要發(fā)送到所連外圍設(shè)備28。
圖5表示執(zhí)行從偽主機(jī)14到所連外圍設(shè)備28的“無數(shù)據(jù)控制”的過程。這等效于無數(shù)據(jù)階段的控制寫入。
該過程從主橋10發(fā)送到偽主機(jī)14的SETUP消息501開始,這之后為用于控制寫入的廠商專用命令(VSC-CW)502。
偽主機(jī)14發(fā)送ACK 503以表示它已經(jīng)正確地接收VSC-CW 502,以及主橋10通過IN令牌504響應(yīng)。
在該所示情況下,偽主機(jī)14發(fā)送STALL響應(yīng),表示它不希望執(zhí)行控制傳送。這會(huì)暫時(shí)終止該過程。此時(shí)的NAK響應(yīng)表示盡管偽主機(jī)希望執(zhí)行控制寫入傳送,但此時(shí)未準(zhǔn)備好(即它忙)。
根據(jù)預(yù)定時(shí)間表,將出現(xiàn)用于控制傳送的另一機(jī)會(huì),以及SETUP、VSC-CW和ACK消息,如上所述,均由傳送506表示。同樣地,該階段之后為從主橋10發(fā)送到偽主機(jī)14的IN令牌507,以及在這種情況下,偽主機(jī)14希望執(zhí)行控制傳送,以及返回設(shè)置數(shù)據(jù)508。在由主橋10接收時(shí),將設(shè)置數(shù)據(jù)包存儲(chǔ)在FIFO 36中。主橋10將ACK消息509發(fā)送到偽主機(jī)14,同時(shí),將SETUP消息510發(fā)送到所連外圍設(shè)備28。主橋10通過從FIFO 36檢索的設(shè)置數(shù)據(jù)包511追隨。
應(yīng)答設(shè)置數(shù)據(jù)508后,主橋10將另一IN令牌512發(fā)送到偽主機(jī)14,請(qǐng)求它傳送另外的數(shù)據(jù)。
在接收設(shè)置數(shù)據(jù)511后,所連外圍設(shè)備28將ACK消息513發(fā)送回主橋10,以及主橋10通過將IN令牌514發(fā)送到所連外圍設(shè)備28來響應(yīng)。
在這種情況下,偽主機(jī)14沒有要發(fā)送的另外的數(shù)據(jù),因此,將零數(shù)據(jù)消息515發(fā)送到主橋10,以及作為回應(yīng),主橋10發(fā)送ACK消息516。另外,在該實(shí)施例中,所連外圍設(shè)備不具有要傳送的數(shù)據(jù),因此,發(fā)送零數(shù)據(jù)消息517。主橋10通過ACK消息518應(yīng)答此,以及還將OUT令牌519發(fā)送到偽主機(jī),以表示它具有用于它的消息。在這種情況下,簡單地傳遞從所連外圍設(shè)備28接收的零數(shù)據(jù)消息520。偽主機(jī)通過發(fā)送ACK消息521響應(yīng)。
因此,可以看出零數(shù)據(jù)響應(yīng)515表示控制傳送結(jié)束,以及主橋10進(jìn)行結(jié)束兩端的控制傳送。
圖6表示用于執(zhí)行從偽主機(jī)14至所連外圍設(shè)備28的控制寫入的過程。
如參考圖5所述,該過程從將SETUP VSC-CW消息從主橋10發(fā)送到偽主機(jī)14,以及將ACK從偽主機(jī)14發(fā)送到主橋10開始。在圖6中將這些消息示為單個(gè)塊601。如前所述,這之后為從主橋10發(fā)送到偽主機(jī)14的IN令牌602。當(dāng)偽主機(jī)希望執(zhí)行控制傳送時(shí),返回設(shè)置數(shù)據(jù)603。如前所述,在由主橋10接收后,將設(shè)置數(shù)據(jù)存儲(chǔ)在設(shè)置數(shù)據(jù)FIFO 36中,以及主橋10將ACK消息604發(fā)送到偽主機(jī)14,同時(shí),將SETUP消息605發(fā)送到所連外圍設(shè)備28。主橋通過從FIFO 36檢索的設(shè)置數(shù)據(jù)來追隨。所連外圍設(shè)備28通過ACK 607響應(yīng)設(shè)置數(shù)據(jù)606。
在應(yīng)答設(shè)置數(shù)據(jù)603后,主橋10將另一IN令牌608發(fā)送到偽主機(jī)14,要求它傳送另外的數(shù)據(jù)。
在這種情況下,與圖5所示的情形不同,偽主機(jī)14不通過零數(shù)據(jù)消息響應(yīng),而是響應(yīng)以表示它希望執(zhí)行與數(shù)據(jù)階段的控制寫入傳送。具體地,偽主機(jī)14通過第一CW數(shù)據(jù)包609響應(yīng)。這由主橋10通過ACK消息610來應(yīng)答,以及將數(shù)據(jù)包存儲(chǔ)在與設(shè)置數(shù)據(jù)FIFO 36分開的數(shù)據(jù)FIFO 38中。
主橋10還將OUT消息611發(fā)送到所連外圍設(shè)備28,表示它打算發(fā)送數(shù)據(jù),然后,從FIFO 38發(fā)送第一CW數(shù)據(jù)包612。所連外圍設(shè)備28通過ACK消息613應(yīng)答接收該數(shù)據(jù)包。
主橋10將另外的IN令牌發(fā)送到偽主機(jī)14,以便允許它發(fā)送另外的數(shù)據(jù),以及在圖6中示出了一個(gè)這種IN令牌614,偽主機(jī)14通過發(fā)送最后一個(gè)CW數(shù)據(jù)包615來響應(yīng)它。如上所述,主橋10發(fā)送ACK消息616來應(yīng)答該數(shù)據(jù),所述數(shù)據(jù)也存儲(chǔ)在FIFO 38中。主橋10還將OUT令牌617發(fā)送到所連外圍設(shè)備28,然后,將最后一個(gè)CW數(shù)據(jù)包618發(fā)送到所連外圍設(shè)備28。所連外圍設(shè)備28通過ACK消息619對(duì)此進(jìn)行響應(yīng)。
然后,主橋10將另外的IN令牌620發(fā)送到偽主機(jī)14,其通過零數(shù)據(jù)消息621響應(yīng),以及主橋10通過ACK消息622應(yīng)答。主橋10還將IN令牌623發(fā)送到所連外圍設(shè)備28,以便給它提供發(fā)送數(shù)據(jù)的機(jī)會(huì),但所連外圍設(shè)備28沒有要傳送的數(shù)據(jù),因此,它發(fā)送零數(shù)據(jù)消息624。主橋10通過ACK消息625應(yīng)答,以及還將OUT令牌626發(fā)送到偽主機(jī)14,以表示它具有用于它的消息。在這種情況下,它簡單地傳遞從所連外圍設(shè)備28接收的零數(shù)據(jù)消息627。偽主機(jī)14通過發(fā)送ACK消息628來響應(yīng)。
圖7表示用于執(zhí)行從所連外圍設(shè)備28到偽主機(jī)14的“控制讀取”的過程。首先,執(zhí)行設(shè)置過程,如前所述,除所發(fā)送的消息是用于控制讀取的廠商專用命令(VSC-CR)外,如塊701所示。存在兩種形式的VSC-CR消息,即,在設(shè)置階段期間使用的VSC-CR1消息,以及在數(shù)據(jù)階段期間發(fā)送的VSC-CR2消息。
接著,主橋10將IN令牌702發(fā)送到偽主機(jī)14,其通過設(shè)置數(shù)據(jù)703響應(yīng)。如前所述,這通過ACK消息704應(yīng)答,該設(shè)置數(shù)據(jù)存儲(chǔ)在FIFO 36中,以及主橋10將SETUP消息705發(fā)送到所連外圍設(shè)備28,其之后為設(shè)置數(shù)據(jù)706。所連外圍設(shè)備28通過ACK消息707來應(yīng)答。
主橋10然后將OUT/0-數(shù)據(jù)消息708發(fā)送到偽主機(jī)14,以及執(zhí)行數(shù)據(jù)設(shè)置階段709。然后,主橋10將IN令牌710發(fā)送到所連外圍設(shè)備28,其通過第一控制數(shù)據(jù)包711應(yīng)答。這通過ACK消息712來應(yīng)答,以及在主橋10中將該數(shù)據(jù)存儲(chǔ)在適當(dāng)?shù)腇IFO 40中。
然后,主橋10將OUT令牌713發(fā)送到偽主機(jī)14,以及緊隨之后為所檢索的第一控制數(shù)據(jù)包714。偽主機(jī)14通過ACK消息715來應(yīng)答,以及主橋10將另外的IN令牌716發(fā)送到所連外圍設(shè)備28。在這種情況下,所連外圍設(shè)備28通過最后一個(gè)控制數(shù)據(jù)包717響應(yīng)該IN令牌716。這由主橋10通過ACK消息718來應(yīng)答,以及該數(shù)據(jù)存儲(chǔ)在FIFO 40中。主橋10還將OUT令牌719發(fā)送到偽主機(jī)14,然后,發(fā)送最后一個(gè)控制數(shù)據(jù)包720。偽主機(jī)14通過ACK消息721應(yīng)答,以及主橋10將另外的IN令牌722發(fā)送到所連外圍設(shè)備28。即,主橋10不需要知道將接收的控制數(shù)據(jù)包的數(shù)量,或應(yīng)當(dāng)發(fā)出的IN令牌的數(shù)量,相反,它繼續(xù)發(fā)出IN令牌,直到如在此所述,所連外圍設(shè)備28通過STALL消息723響應(yīng)為止。該過程通過來自所連外圍設(shè)備28的零數(shù)據(jù)響應(yīng)類似地終止。
響應(yīng)于STALL消息723,主橋10和偽主機(jī)14執(zhí)行狀態(tài)階段724。圖7還表示在主橋10和所連外圍設(shè)備28間執(zhí)行的狀態(tài)階段725,盡管僅當(dāng)在前事務(wù)為IN/0-數(shù)據(jù)時(shí)要求。
因此,如上所述,偽主機(jī)14能與所連外圍設(shè)備28執(zhí)行控制事務(wù)。另外,偽主機(jī)14能與主橋10執(zhí)行控制事務(wù),現(xiàn)在,將更詳細(xì)地描述。
因此,圖8表示用于執(zhí)行到主橋的控制寄存器寫入過程的進(jìn)程。塊801表示設(shè)置進(jìn)程,包括用于寄存器寫入的廠商專用命令(CSC-RegW),其使用與參考圖5所述的相同的協(xié)議。在這種情況下,主橋10將IN令牌802發(fā)送到偽主機(jī)14,以及在這種情況下,偽主機(jī)14不希望執(zhí)行寄存器寫入控制傳送,因此,通過STALL消息803響應(yīng)。此時(shí)的NAK響應(yīng)表示盡管偽主機(jī)14希望執(zhí)行寄存器寫入控制傳送,但此時(shí)未準(zhǔn)備好(即它忙)。
因此,在稍后時(shí)間,重復(fù)804該設(shè)置進(jìn)程,以及主橋10發(fā)送另外的IN令牌805。此時(shí),偽主機(jī)希望執(zhí)行該傳送,以及它通過第一數(shù)據(jù)包806響應(yīng)。這由主橋10,通過ACK消息807來響應(yīng),然后,發(fā)送另外的IN令牌808,偽主機(jī)14通過第二數(shù)據(jù)包809來響應(yīng)。同樣地,這通過ACK消息810應(yīng)答,以及該過程繼續(xù),直到當(dāng)沒有待傳送的另外的數(shù)據(jù)時(shí)執(zhí)行的階段811、812為止。
圖9表示用于執(zhí)行從偽主機(jī)14到主橋10的控制寄存器讀取的過程。同樣地,使用類似的設(shè)置過程901,包含廠商專用命令寄存器讀取(VSC-RegR)。在這種情況下,主橋10將OUT令牌902發(fā)送到偽主機(jī)14,通過發(fā)送第一數(shù)據(jù)包903來緊跟此。偽主機(jī)14通過ACK消息904來應(yīng)答。然后將另外的OUT令牌905和第二數(shù)據(jù)包906從主橋10發(fā)送到偽主機(jī)14,通過ACK消息907來應(yīng)答這些。同樣地,該過程繼續(xù),直到表示沒有待傳送的另外的數(shù)據(jù)的階段908為止。
因此,公開了這樣一種設(shè)備,它能連接到USB設(shè)備,當(dāng)將另外的USB外圍設(shè)備連接到它上時(shí),它允許USB設(shè)備充當(dāng)USB主機(jī)。
權(quán)利要求
1.一種總線連接設(shè)備,用于連接到第一電子設(shè)備,以及具有這樣的裝置,通過該裝置,能連接第二電子設(shè)備,其特征在于,該總線連接設(shè)備適用來確定該第二所連設(shè)備是主機(jī)設(shè)備還是外圍設(shè)備,如果該第二電子設(shè)備是主機(jī)設(shè)備,將其直接連接到該第一電子設(shè)備,而如果該第二電子設(shè)備是外圍設(shè)備,該總線連接設(shè)備操作以允許該第一電子設(shè)備操作為主機(jī)設(shè)備,其中,當(dāng)該總線連接設(shè)備正操作來允許第一電子設(shè)備充當(dāng)主機(jī)設(shè)備時(shí),所述總線連接設(shè)備定期發(fā)送令牌到該第一電子設(shè)備和第二電子設(shè)備,第一電子設(shè)備可以通過傳送預(yù)定用于該第二電子設(shè)備的數(shù)據(jù)來響應(yīng),以及該第二電子設(shè)備可以通過傳送預(yù)定用于該第一電子設(shè)備的數(shù)據(jù)來響應(yīng)。
2.如權(quán)利要求1所述的總線連接設(shè)備,其中,該總線連接設(shè)備適用來確定該第二所連設(shè)備是USB主機(jī)設(shè)備還是USB外圍設(shè)備,如果該第二電子設(shè)備是USB主機(jī)設(shè)備,將其直接連接到該第一電子設(shè)備,而如果該第二電子設(shè)備是USB外圍設(shè)備,該總線連接設(shè)備操作以允許該第一電子設(shè)備操作為USB主機(jī)設(shè)備。
3.如權(quán)利要求2所述的總線連接設(shè)備,其中,可以通過它來連接該第二電子設(shè)備的裝置包括USB小型AB插口,其中,該總線連接設(shè)備適用來基于插入迷你AB插口中的插頭的類型,確定該第二所連設(shè)備是USB主機(jī)設(shè)備還是USB外圍設(shè)備。
4.如權(quán)利要求2所述的總線連接設(shè)備,其中,如果該第二電子設(shè)備是USB外圍設(shè)備,該總線連接設(shè)備適用來確定該第二電子設(shè)備中的端點(diǎn)用于批處理還是同步事務(wù)。
5.如權(quán)利要求4所述的總線連接設(shè)備,其中,如果該第二電子設(shè)備是USB外圍設(shè)備,以及該第二電子設(shè)備中的端點(diǎn)用于同步事務(wù),那么,當(dāng)所述總線連接設(shè)備發(fā)送令牌到該第一電子設(shè)備或第二電子設(shè)備時(shí),所述第一電子設(shè)備或所述第二電子設(shè)備能通過傳送數(shù)據(jù)來響應(yīng),所述總線連接設(shè)備還發(fā)送令牌到該第二電子設(shè)備或第一電子設(shè)備,以向所述第二電子設(shè)備或所述第一電子設(shè)備表示它可以接收所傳送的數(shù)據(jù)。
6.如權(quán)利要求4所述的總線連接設(shè)備,其中,如果確定所述第二電子設(shè)備是USB外圍設(shè)備以及所述第二電子設(shè)備中的端點(diǎn)用于同步事務(wù),所述總線連接設(shè)備適用來將從所述第一電子設(shè)備接收的任何數(shù)據(jù)直接傳遞到所述第二電子設(shè)備,而不緩沖,以及將從所述第二電子設(shè)備接收的任何數(shù)據(jù)直接傳遞到所述第一電子設(shè)備而不緩沖。
7.如權(quán)利要求4所述的總線連接設(shè)備,其中,如果確定所述第二電子設(shè)備是USB外圍設(shè)備以及所述第二電子設(shè)備中的端點(diǎn)用于批處理事務(wù),所述總線連接設(shè)備適用來將從所述第一電子設(shè)備接收的每一數(shù)據(jù)包存儲(chǔ)在FIFO中,以及在接收另外的數(shù)據(jù)包前,將所述數(shù)據(jù)包傳遞到所述第二電子設(shè)備,以及將從所述第二電子設(shè)備接收的每一數(shù)據(jù)包存儲(chǔ)在FIFO中,以及在接收另外的數(shù)據(jù)包前,將所述數(shù)據(jù)包傳遞到所述第一電子設(shè)備。
8.如在前任何一個(gè)權(quán)利要求所述的總線連接設(shè)備,其中,當(dāng)該總線連接設(shè)備操作來允許該第一電子設(shè)備充當(dāng)主機(jī)設(shè)備時(shí),根據(jù)預(yù)定時(shí)間表,所述總線連接設(shè)備發(fā)送令牌到該第一電子設(shè)備,該第一電子設(shè)備能通過傳送預(yù)定用于該第二電子設(shè)備的數(shù)據(jù)來響應(yīng),以及發(fā)送令牌到該第二電子設(shè)備,該第二電子設(shè)備能通過傳送預(yù)定用于該第一電子設(shè)備的數(shù)據(jù)來響應(yīng)。
9.如在前任何一個(gè)權(quán)利要求所述的總線連接設(shè)備,其中,該總線連接設(shè)備適用來通過USB D+/D-線路連接到第一電子設(shè)備,以及其中,該總線連接設(shè)備適用來在所述USB D+/D-線路上接收數(shù)據(jù)和控制信息。
10.如權(quán)利要求9所述的總線連接設(shè)備,其中,該總線連接設(shè)備適用來根據(jù)預(yù)定時(shí)間表,發(fā)送令牌到第一電子設(shè)備和第二電子設(shè)備,以及從該第一電子設(shè)備接收控制信息。
11.如權(quán)利要求1所述的總線連接設(shè)備,其中,當(dāng)該第一電子設(shè)備或該第二電子設(shè)備通過傳送數(shù)據(jù)響應(yīng)所述令牌中的一個(gè)時(shí),總線連接設(shè)備適用來在逐個(gè)包的基礎(chǔ)上,將所述數(shù)據(jù)傳遞到該第二電子設(shè)備或該第一電子設(shè)備。
12.如權(quán)利要求1所述的總線連接設(shè)備,其中,該總線連接設(shè)備適用來從該第一電子設(shè)備接收第一控制信息,用于該總線連接設(shè)備本身,以及進(jìn)一步適用來從該第一電子設(shè)備接收第二控制信息,用于該第二電子設(shè)備,以及適用來將所述第二控制信息傳遞到該第二電子設(shè)備。
13.如權(quán)利要求12所述的總線連接設(shè)備,其中,該總線連接設(shè)備適用來將與該第二電子設(shè)備有關(guān)的廠商專用命令發(fā)送到該第一電子設(shè)備,以及適用來基于所述廠商專用命令,從該第一電子設(shè)備接收該第二控制信息,用于該第二電子設(shè)備。
14.一種總線連接設(shè)備的操作方法,該總線連接設(shè)備連接到第一電子設(shè)備,以及具有與之相連的第二電子設(shè)備,其特征在于,該總線連接設(shè)備確定該第二電子設(shè)備是主機(jī)設(shè)備還是外圍設(shè)備,如果該第二電子設(shè)備是主機(jī)設(shè)備,將其直接連接到該第一電子設(shè)備,而如果該第二電子設(shè)備是外圍設(shè)備,該總線連接設(shè)備操作以允許該第一電子設(shè)備操作為主機(jī)設(shè)備,其中,當(dāng)該總線連接設(shè)備正操作來允許第一電子設(shè)備充當(dāng)主機(jī)設(shè)備時(shí),所述總線連接設(shè)備定期發(fā)送令牌到該第一電子設(shè)備和第二電子設(shè)備,第一電子設(shè)備可以通過傳送預(yù)定用于該第二電子設(shè)備的數(shù)據(jù)來響應(yīng),以及該第二電子設(shè)備可以通過傳送預(yù)定用于該第一電子設(shè)備的數(shù)據(jù)來響應(yīng)。
15.如權(quán)利要求14所述的方法,其中,該總線連接設(shè)備確定該第二所連設(shè)備是USB主機(jī)設(shè)備還是USB外圍設(shè)備,如果該第二電子設(shè)備是USB主機(jī)設(shè)備,將其直接連接到該第一電子設(shè)備,而如果該第二電子設(shè)備是USB外圍設(shè)備,該總線連接設(shè)備操作以允許該第一電子設(shè)備操作為USB主機(jī)設(shè)備。
16.如權(quán)利要求15所述的方法,其中,該總線連接設(shè)備包括USB小型AB插口,且其中該總線連接設(shè)備基于插入迷你AB插口中的插頭的類型,確定該第二所連設(shè)備是USB主機(jī)設(shè)備還是USB外圍設(shè)備。
17.如權(quán)利要求15所述的方法,其中,如果該第二電子設(shè)備是USB外圍設(shè)備,該總線連接設(shè)備確定該第二電子設(shè)備中的端點(diǎn)用于批處理還是同步事務(wù)。
18.如權(quán)利要求17所述的方法,其中,如果該第二電子設(shè)備是USB外圍設(shè)備,以及該第二電子設(shè)備中的端點(diǎn)用于同步事務(wù),那么,當(dāng)所述總線連接設(shè)備發(fā)送令牌到該第一電子設(shè)備或第二電子設(shè)備時(shí),所述第一電子設(shè)備或所述第二電子設(shè)備能通過傳送數(shù)據(jù)來響應(yīng),所述總線連接設(shè)備還發(fā)送令牌到該第二電子設(shè)備或第一電子設(shè)備,以向所述第二電子設(shè)備或所述第一電子設(shè)備表示它可以接收所傳送的數(shù)據(jù)。
19.如權(quán)利要求17所述的方法,其中,如果確定所述第二電子設(shè)備是USB外圍設(shè)備以及所述第二電子設(shè)備中的端點(diǎn)用于同步事務(wù),所述總線連接設(shè)備將從所述第一電子設(shè)備接收的任何數(shù)據(jù)直接傳遞到所述第二電子設(shè)備,而不緩沖,以及將從所述第二電子設(shè)備接收的任何數(shù)據(jù)直接傳遞到所述第一電子設(shè)備而不緩沖。
20.如權(quán)利要求17所述的方法,其中,如果確定所述第二電子設(shè)備是USB外圍設(shè)備以及所述第二電子設(shè)備中的端點(diǎn)用于批處理事務(wù),所述總線連接設(shè)備將從所述第一電子設(shè)備接收的每一數(shù)據(jù)包存儲(chǔ)在FIFO中,以及在接收另外的數(shù)據(jù)包前,將所述數(shù)據(jù)包傳遞到所述第二電子設(shè)備,以及將從所述第二電子設(shè)備接收的每一數(shù)據(jù)包存儲(chǔ)在FIFO中,以及在接收另外的數(shù)據(jù)包前,將所述數(shù)據(jù)包傳遞到所述第一電子設(shè)備。
21.如權(quán)利要求14-20的任何一個(gè)所述的方法,其中,當(dāng)該總線連接設(shè)備操作來允許該第一電子設(shè)備充當(dāng)主機(jī)設(shè)備時(shí),根據(jù)預(yù)定時(shí)間表,所述總線連接設(shè)備發(fā)送令牌到該第一電子設(shè)備,該第一電子設(shè)備能通過傳送預(yù)定用于該第二電子設(shè)備的數(shù)據(jù)來響應(yīng),以及發(fā)送令牌到該第二電子設(shè)備,該第二電子設(shè)備能通過傳送預(yù)定用于該第一電子設(shè)備的數(shù)據(jù)來響應(yīng)。
22.如權(quán)利要求14-21的任何一個(gè)所述的方法,其中,該總線連接設(shè)備適用來通過USB D+/D-線路連接到第一電子設(shè)備,以及其中,該總線連接設(shè)備在所述USB D+/D-線路上接收數(shù)據(jù)和控制信息。
23.如權(quán)利要求22所述的方法,其中,該總線連接設(shè)備根據(jù)預(yù)定時(shí)間表,將令牌發(fā)送到第一電子設(shè)備和第二電子設(shè)備,以及從該第一電子設(shè)備接收控制信息。
24.如權(quán)利要求14所述的方法,其中,當(dāng)該第一電子設(shè)備或該第二電子設(shè)備通過傳送數(shù)據(jù),響應(yīng)所述令牌中的一個(gè)時(shí),總線連接設(shè)備在逐個(gè)包的基礎(chǔ)上,將所述數(shù)據(jù)傳遞到該第二電子設(shè)備或該第一電子設(shè)備。
25.如權(quán)利要求14所述的方法,其中,該總線連接設(shè)備從該第一電子設(shè)備接收第一控制信息,用于該總線連接設(shè)備本身,以及從該第一電子設(shè)備接收第二控制信息,用于該第二電子設(shè)備,以及將所述第二控制信息傳遞到該第二電子設(shè)備。
26.如權(quán)利要求25所述的方法,其中,該總線連接設(shè)備將與該第二電子設(shè)備有關(guān)的廠商專用命令發(fā)送到該第一電子設(shè)備,以及基于所述廠商專用命令從該第一電子設(shè)備接收該第二控制信息,用于該第二電子設(shè)備。
全文摘要
以硬件加密狗形式的總線連接設(shè)備能連接到以USB外圍設(shè)備的形式的第一電子設(shè)備,以及第二電子設(shè)備能連接到其上。加密狗能確定該第二所連設(shè)備是USB主機(jī)設(shè)備還是USB外圍設(shè)備,如果該第二電子設(shè)備是USB主機(jī)設(shè)備,直接連接到第一電子設(shè)備。如果該第二電子設(shè)備是USB外圍設(shè)備,總線連接設(shè)備操作以允許該第一電子設(shè)備操作為主機(jī)設(shè)備。當(dāng)總線連接設(shè)備正操作來允許該設(shè)備時(shí),所述總線連接設(shè)備將令牌定期發(fā)送到該第一電子設(shè)備和第二電子設(shè)備,第一電子設(shè)備能通過傳送用于第二電子設(shè)備的數(shù)據(jù)來響應(yīng),以及該第二電子設(shè)備能通過傳送用于該第一電子設(shè)備的數(shù)據(jù)來響應(yīng)。
文檔編號(hào)G06F13/40GK1961303SQ200580017260
公開日2007年5月9日 申請(qǐng)日期2005年5月24日 優(yōu)先權(quán)日2004年5月28日
發(fā)明者J·蒂亞 申請(qǐng)人:皇家飛利浦電子股份有限公司