欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

數(shù)據(jù)傳送控制裝置、電子機(jī)器及數(shù)據(jù)傳送控制方法

文檔序號(hào):6579009閱讀:294來源:國(guó)知局
專利名稱:數(shù)據(jù)傳送控制裝置、電子機(jī)器及數(shù)據(jù)傳送控制方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)傳送控制裝置、電子機(jī)器及數(shù)據(jù)傳送控制方法。
背景技術(shù)
近年來,USB(Universal Serial Bus)作為用于連接個(gè)人計(jì)算機(jī)和外圍機(jī)器(廣義為電子機(jī)器)的接口規(guī)范引人矚目。USB具有能將以往以各種規(guī)范的連接器連接的鼠標(biāo)、鍵盤和打印機(jī)等外圍機(jī)器,用相同規(guī)范的連接器進(jìn)行連接,并具有能實(shí)現(xiàn)所謂的即插即用和熱插的優(yōu)點(diǎn)。
另一方面,與同為串行總線接口規(guī)范的正顯露頭角的IEEE1394相比,USB存在傳送速度慢的問題。
因此,正在制定可與現(xiàn)有的USB1.1規(guī)范互換的、能以比USB1.1高得多得高速480Mbps(HS模式)的傳送速度的USB2.0規(guī)范,引人矚目。
USB2.0在HS(High Speed)模式時(shí)以480Mbps的速度進(jìn)行數(shù)據(jù)傳送。因此,具有能作為要求高速傳送速度的硬盤驅(qū)動(dòng)器和光盤驅(qū)動(dòng)器等存儲(chǔ)機(jī)器的接口來使用的優(yōu)點(diǎn)。
但是,另一方面,連接到USB總線的數(shù)據(jù)傳送控制裝置必須處理以480Mbps的高速傳送來的數(shù)據(jù)。因此,如果數(shù)據(jù)傳送控制裝置的處理速度、控制數(shù)據(jù)傳送控制裝置的固件(CPU)的處理速度慢的話,則存在不能確保實(shí)際的傳送速度,導(dǎo)致總線帶寬損失的問題。

發(fā)明內(nèi)容
鑒于上述的問題,本發(fā)明的目的是提供能提高實(shí)際的總線傳送速度的數(shù)據(jù)傳送控制裝置、電子機(jī)器及數(shù)據(jù)傳送控制方法。
為了解決上述的問題,本發(fā)明為用于通過總線的傳送數(shù)據(jù)的數(shù)據(jù)傳送控制裝置,與本發(fā)明相關(guān)的數(shù)據(jù)傳送控制裝置包含緩沖器,該緩沖器在分配包含第一、第二信息的多種信息作為通過一個(gè)終點(diǎn)(end point)傳送的信息時(shí),對(duì)應(yīng)于一個(gè)終點(diǎn),準(zhǔn)備有第一信息用的第一存儲(chǔ)區(qū)域和第二信息用的第二存儲(chǔ)區(qū)域;緩沖器管理電路,該電路在通過總線傳送第一信息的第一階段,從第一信息用的第一存儲(chǔ)區(qū)域讀出從終點(diǎn)向主機(jī)傳送的信息,在通過總線傳送第二信息的第二階段,從第二信息用的第二存儲(chǔ)區(qū)域讀出從終點(diǎn)向主機(jī)傳送的信息。
根據(jù)本發(fā)明,在緩沖器中設(shè)有分配到相應(yīng)終點(diǎn)的第一信息用的第一存儲(chǔ)區(qū)域和分配到相同終點(diǎn)的第二信息用的第二存儲(chǔ)區(qū)域。在第一階段(第一傳輸)中,從第一存儲(chǔ)區(qū)域中讀出從終點(diǎn)向主機(jī)傳送的信息,在第二階段(第二傳輸)中,從第二存儲(chǔ)區(qū)域中讀出從終點(diǎn)向主機(jī)傳送的信息。
這樣,即使在多種信息分配到一個(gè)終點(diǎn)的情況下,在進(jìn)行從第一存儲(chǔ)區(qū)域讀出第一信息的期間,可對(duì)第二存儲(chǔ)區(qū)域的第二信息進(jìn)行處理。因此,從第一階段移到第二階段時(shí),可使在第二階段對(duì)第二信息的處理提前結(jié)束,可提高實(shí)際的總線傳送速度。
此外,本發(fā)明也可以將為第一信息準(zhǔn)備的上述第一存儲(chǔ)區(qū)域設(shè)定為先輸入的信息先輸出的區(qū)域,將為第二信息準(zhǔn)備的上述第二存儲(chǔ)區(qū)域設(shè)定為可隨機(jī)存取的區(qū)域。
這樣,可提高對(duì)寫入第二存儲(chǔ)區(qū)域的第二信息進(jìn)行處理的效率,可提高實(shí)際的總線傳送速度。
此外,本發(fā)明也可以為上述第一信息是數(shù)據(jù)分組,上述第二信息是狀態(tài)塊分組。
但是,本發(fā)明中,可任意設(shè)定第一、第二存儲(chǔ)區(qū)域中所存儲(chǔ)的第一、第二信息的種類。
此外,本發(fā)明也可以設(shè)為在從上述第一存儲(chǔ)區(qū)域讀出數(shù)據(jù)分組的期間,準(zhǔn)備上述第二存儲(chǔ)區(qū)域的狀態(tài)塊分組。
這樣,從第一階段轉(zhuǎn)移到第二階段時(shí),可使從第二存儲(chǔ)區(qū)域讀出第二信息的處理等提前結(jié)束,可提高實(shí)際的總線傳送速度。
此外,本發(fā)明也可以設(shè)為上述第二存儲(chǔ)區(qū)域包含寫入成功狀態(tài)用的第一狀態(tài)塊分組的第三存儲(chǔ)區(qū)域;和寫入不成功狀態(tài)用的第二狀態(tài)塊分組的第四存儲(chǔ)區(qū)域。在成功狀態(tài)時(shí),從上述第三存儲(chǔ)區(qū)域讀出成功狀態(tài)用的上述第一狀態(tài)塊分組,在不成功狀態(tài)時(shí),從上述第四存儲(chǔ)區(qū)域讀出不成功狀態(tài)用的上述第二狀態(tài)塊分組。
這樣,只要不產(chǎn)生不成功狀態(tài),就可將信息的讀出區(qū)域固定在第三存儲(chǔ)區(qū)域,因此可減輕區(qū)域的切換處理等的負(fù)荷。
此外,本發(fā)明也可以設(shè)為在上述第三存儲(chǔ)區(qū)域中預(yù)先寫入設(shè)定了成功狀態(tài)用的默認(rèn)信息的狀態(tài)塊分組。
這樣,可省略對(duì)默認(rèn)信息部分的更新處理,因此可減輕對(duì)第二信息的處理負(fù)荷。
此外,本發(fā)明也可以設(shè)為對(duì)設(shè)定了默認(rèn)信息的狀態(tài)塊分組的信息中用于關(guān)聯(lián)狀態(tài)塊分組和命令塊分組的標(biāo)記信息進(jìn)行更新,從上述第三存儲(chǔ)區(qū)域中讀出更新后的狀態(tài)塊分組作為上述第一狀態(tài)塊分組。
這樣,只要進(jìn)行標(biāo)記信息等的更新(置換,覆蓋)即可,因此可進(jìn)一步減輕對(duì)第二信息的處理負(fù)荷。
此外,本發(fā)明也可以設(shè)為在判斷為從第一階段切換到第二階段時(shí),將從終點(diǎn)向主機(jī)傳送的信息的讀出區(qū)域從上述第一存儲(chǔ)區(qū)域切換到上述第二存儲(chǔ)區(qū)域。
這樣,只要判斷階段的切換,就可切換信息的讀出區(qū)域,因此可減輕數(shù)據(jù)傳送控制裝置的處理負(fù)荷。
此外,本發(fā)明也可以設(shè)為在以通過第二總線傳送第一信息并寫入上述第一存儲(chǔ)區(qū)域的傳送處理結(jié)束并且上述第一存儲(chǔ)區(qū)域已變空為條件,判斷為已從第一階段切換到第二階段。
這樣,可用簡(jiǎn)單的電路控制和電路構(gòu)成來判斷階段切換,能提高數(shù)據(jù)傳送控制裝置的緊湊化和低成本化。
此外,本發(fā)明為用于通過總線傳送數(shù)據(jù)的數(shù)據(jù)傳送控制裝置,與本發(fā)明相關(guān)的數(shù)據(jù)傳送控制裝置包含緩沖器,該緩沖器在分配數(shù)據(jù)分組和狀態(tài)塊分組作為通過一個(gè)終點(diǎn)傳送的信息時(shí),對(duì)應(yīng)于一個(gè)終點(diǎn),準(zhǔn)備有數(shù)據(jù)用的數(shù)據(jù)存儲(chǔ)區(qū)域和狀態(tài)塊用的狀態(tài)存儲(chǔ)區(qū)域;緩沖器管理電路,該電路在從通過總線傳送數(shù)據(jù)分組的數(shù)據(jù)階段切換到在通過總線傳送狀態(tài)塊分組的狀態(tài)階段時(shí),將信息的讀出區(qū)域從數(shù)據(jù)用的上述數(shù)據(jù)存儲(chǔ)區(qū)域切換到狀態(tài)塊用的上述狀態(tài)存儲(chǔ)區(qū)域,從上述狀態(tài)存儲(chǔ)區(qū)域讀出從終點(diǎn)向主機(jī)傳送的狀態(tài)塊分組。
根據(jù)本發(fā)明,在緩沖器中準(zhǔn)備有分配到相應(yīng)終點(diǎn)的數(shù)據(jù)分組用的數(shù)據(jù)存儲(chǔ)區(qū)域和分配到相同終點(diǎn)的狀態(tài)塊分組用的狀態(tài)存儲(chǔ)區(qū)域。因此,在從數(shù)據(jù)階段(數(shù)據(jù)傳輸)切換到狀態(tài)階段(狀態(tài)傳輸)時(shí),將從終點(diǎn)向主機(jī)傳送的信息的區(qū)域從數(shù)據(jù)存儲(chǔ)區(qū)域切換到狀態(tài)存儲(chǔ)區(qū)域。
這樣,即使在數(shù)據(jù)分組和狀態(tài)塊分組分配到一個(gè)終點(diǎn)的情況下,在進(jìn)行從數(shù)據(jù)存儲(chǔ)區(qū)域讀出數(shù)據(jù)分組的同時(shí),可對(duì)狀態(tài)塊分組進(jìn)行處理。因此,可提高數(shù)據(jù)傳送控制裝置的處理速度,減輕處理狀態(tài)塊分組的裝置的負(fù)荷,提高實(shí)際的總線傳送速度。
此外,本發(fā)明也可以進(jìn)行遵循USB(Universal Serial Bus)規(guī)范的數(shù)據(jù)傳送。
但是,本發(fā)明也可以應(yīng)用于遵循USB以外的規(guī)范(繼承USB思想的規(guī)范)的數(shù)據(jù)傳送。
此外,本發(fā)明的電子機(jī)器也可以包括上述的任何一種數(shù)據(jù)傳送控制裝置;和對(duì)通過上述數(shù)據(jù)傳送控制裝置和總線傳送的數(shù)據(jù),進(jìn)行輸出處理或取入處理或存儲(chǔ)處理的裝置。
根據(jù)本發(fā)明,能減輕控制數(shù)據(jù)傳送控制裝置的數(shù)據(jù)傳送的處理裝置(固件等)的處理負(fù)荷,因此,可提高電子機(jī)器的低成本化和小規(guī)?;?。此外,根據(jù)本發(fā)明,能以高速傳送模式傳送數(shù)據(jù),因此可提高電子機(jī)器的處理速度。


圖1A、圖1B、圖1C、圖1D是用于說明USB的終點(diǎn)和事務(wù)構(gòu)成的圖;圖2A、圖2B是用于說明CBI規(guī)范和Bulk-Only規(guī)范的圖;圖3是表示CBW的格式的圖;圖4是表示CSW的格式的圖;圖5A、圖5B是用于說明Bulk-Only中的數(shù)據(jù)寫入處理、讀出處理的圖;圖6A、圖6B、圖6C、圖6D是用于說明比較例的方法的圖;圖7A、圖7B、圖7C是用于說明本實(shí)施方式的方法的圖;圖8A、圖8B是用于說明設(shè)置成功狀態(tài)用的CSW0區(qū)域和不成功狀態(tài)用的CSW1區(qū)域的方法的圖;圖9A、圖9B是用于說明預(yù)先寫入CSW0區(qū)域和CSW1區(qū)域的狀態(tài)塊分組的圖;
圖10是用于說明從數(shù)據(jù)階段切換到狀態(tài)階段的判斷方法的圖;圖11是用于說明從數(shù)據(jù)階段切換到狀態(tài)階段的判斷方法的圖;圖12是表示本實(shí)施方式的數(shù)據(jù)傳送控制裝置的構(gòu)成例的圖;圖13是表示事務(wù)管理電路、終點(diǎn)管理電路、緩沖器管理電路、緩沖器的詳細(xì)構(gòu)成的一個(gè)例子的圖;圖14是表示事務(wù)管理電路、終點(diǎn)管理電路、緩沖器管理電路、緩沖器的詳細(xì)構(gòu)成的另一個(gè)例子的圖;圖15是用于說明狀態(tài)階段開始時(shí)本實(shí)施方式的動(dòng)作的時(shí)序波形圖;圖16是用于說明數(shù)據(jù)傳送成功時(shí)本實(shí)施方式的動(dòng)作的時(shí)序波形圖;圖17是用于說明ACK失敗時(shí)本實(shí)施方式的動(dòng)作的時(shí)序波形圖;圖18是用于說明使用EBUS的數(shù)據(jù)傳送為不成功狀態(tài)時(shí)本實(shí)施方式的動(dòng)作的時(shí)序波形圖;圖19是用于說明使用EBUS的數(shù)據(jù)傳送為不成功狀態(tài)時(shí)本實(shí)施方式的動(dòng)作的時(shí)序波形圖;圖20是用于說明使用EBUS的數(shù)據(jù)傳送為不成功狀態(tài)時(shí)本實(shí)施方式的動(dòng)作的時(shí)序波形圖;圖21A、21B是比較例和本實(shí)施方式的時(shí)序波形圖;圖22A、22B是表示比較例和本實(shí)施方式中的固件處理的流程圖;圖23A、圖23B、圖23C是各種電子機(jī)器的內(nèi)部框圖的例子;圖24A、圖24B、圖24C是各種電子機(jī)器的外觀圖的例子;具體實(shí)施方式
下面,參照附圖,對(duì)本實(shí)施方式進(jìn)行詳細(xì)說明。
另外,以下說明的本實(shí)施方式不對(duì)權(quán)利要求的范圍所記述的本發(fā)明的內(nèi)容作任何限制。此外本實(shí)施方式所說明的構(gòu)成的全部不是作為本發(fā)明的解決裝置所必需的。
1.USB1.1數(shù)據(jù)傳送方法首先,對(duì)USB(USB2.0)的數(shù)據(jù)傳送方法進(jìn)行簡(jiǎn)單的說明。
與IEEE1394等不同,USB中主機(jī)具有數(shù)據(jù)傳送的主導(dǎo)權(quán)。即,主機(jī)方啟動(dòng)數(shù)據(jù)傳送的事務(wù),主機(jī)進(jìn)行與數(shù)據(jù)傳送有關(guān)的大部分控制。因此,主機(jī)的處理負(fù)荷變重,但是作為主機(jī)的PC(個(gè)人計(jì)算機(jī))等具有高速高性能的CPU(處理器),因此處理這樣重的負(fù)荷不成問題。
另一方面,在USB中,設(shè)備(目標(biāo))只要響應(yīng)來自主機(jī)的要求即可,因此可簡(jiǎn)化設(shè)備方的處理和構(gòu)成。因此,在設(shè)備方?jīng)]有必要使用高速高性能的CPU,可使用低價(jià)格的CPU(微機(jī)),可謀求低成本化。
USB中為了實(shí)現(xiàn)主機(jī)主導(dǎo)的數(shù)據(jù)傳送,在設(shè)備方準(zhǔn)備如圖1所示的終點(diǎn)(EP0~EP15)。這里,終點(diǎn)相當(dāng)于用于在主機(jī)和設(shè)備之間傳送數(shù)據(jù)的緩沖器(FIFO)的入口,使用USB的數(shù)據(jù)傳送都經(jīng)過該終點(diǎn)來進(jìn)行。
因此,該終點(diǎn)通過設(shè)備地址和終點(diǎn)編號(hào)能唯一地指定地址。即主機(jī)通過指定設(shè)備地址和終點(diǎn)編號(hào),能自由地進(jìn)行向所希望的終點(diǎn)發(fā)送數(shù)據(jù)和從所希望的終點(diǎn)接收數(shù)據(jù)。
此外,設(shè)備方對(duì)終點(diǎn)的設(shè)定是任意的,在計(jì)數(shù)處理時(shí),主機(jī)可知道終點(diǎn)編號(hào)的分配、分配給各終點(diǎn)的存儲(chǔ)區(qū)域的數(shù)據(jù)容量等。
另外,在USB中,準(zhǔn)備有控制傳送、同步傳送、中斷傳送、批量(Bulk)傳送作為數(shù)據(jù)傳送的類型。
這里,控制傳送是在主機(jī)和設(shè)備(目標(biāo))之間通過控制終點(diǎn)進(jìn)行的控制用的傳送模式。通過該控制傳送,傳送用于初始化設(shè)備的配置信息等。
同步傳送是為了傳送諸如圖像數(shù)據(jù)和聲音數(shù)據(jù)等確保帶寬優(yōu)先于確保數(shù)據(jù)正當(dāng)性的數(shù)據(jù),而準(zhǔn)備的傳送模式。同步傳送由于能確保在一定周期內(nèi)傳送一定量的數(shù)據(jù),因此是傳送數(shù)據(jù)的實(shí)時(shí)(realtime)性比較重要的應(yīng)用程序的有效傳送模式。
中斷傳送是為了以比較低的傳送速度傳送少量的數(shù)據(jù)而準(zhǔn)備的傳送模式。
批量傳送是為了傳送不定期產(chǎn)生的大量數(shù)據(jù)而準(zhǔn)備的傳送模式。批量傳送在同步傳送和中斷傳送使用的時(shí)間之外的空閑時(shí)間中進(jìn)行數(shù)據(jù)傳送,并且檢查數(shù)據(jù)的正當(dāng)性。因此,是用于傳送實(shí)時(shí)性不太重要但想確保數(shù)據(jù)的可靠性的有效傳送模式。
1.2事務(wù)構(gòu)成如圖1B所示,USB的批量傳送中的事務(wù)基本上由令牌(token)分組、數(shù)據(jù)分組和握手(handshake)分組三個(gè)分組構(gòu)成。另外,同步傳送時(shí)不需要握手分組。
這里,令牌分組是主機(jī)要求設(shè)備(目標(biāo))的終點(diǎn)的讀和寫時(shí)使用的分組。該令牌分組,例如,具有PID(OUT、IN、SOF、SETUP等分組ID)、ADDR(設(shè)備地址)、ENDP(終點(diǎn)編號(hào))、CRC(Cyclic RedundancyCheck)字段。
數(shù)據(jù)分組是用于發(fā)送數(shù)據(jù)實(shí)體的分組,具有PID(DATA0、DATA1)、DATA(數(shù)據(jù)實(shí)體)、CRC字段。
握手分組是用于從接收方向發(fā)送方傳遞數(shù)據(jù)接收是否成功的分組,具有PID(ACK、NAK、STALL)字段。
OUT事務(wù)(從主機(jī)向設(shè)備輸出信息的事務(wù))中,如圖1C所示,首先主機(jī)向設(shè)備傳送OUT令牌分組。接著,主機(jī)向設(shè)備傳送OUT數(shù)據(jù)分組。然后,如果OUT數(shù)據(jù)分組接收成功,設(shè)備向主機(jī)傳送ACK握手分組。
另一方面,IN事務(wù)(主機(jī)從設(shè)備輸入信息的事務(wù))中,如圖1D所示,首先主機(jī)向設(shè)備傳送IN令牌分組。接著,主機(jī)向設(shè)備傳送IN數(shù)據(jù)分組。然后,如果IN數(shù)據(jù)分組接收成功,主機(jī)向設(shè)備傳送ACK握手分組。
另外,圖1C、圖1D中,“D←H”表示從主機(jī)向設(shè)備傳送信息,“D→H”表示從設(shè)備向主機(jī)傳送信息(以下的說明和圖也同樣)。
1.3Bulk-OnlyUSB設(shè)備可分成各種類型。硬盤驅(qū)動(dòng)器和光盤驅(qū)動(dòng)器等設(shè)備屬于被成為海量存儲(chǔ)器的類型。在海量存儲(chǔ)器有電子機(jī)器的銷售商等作成的CBI(Control/Bulk/Interrupt)和Bulk-Only等規(guī)范。
CBI規(guī)范,如圖2A所示,設(shè)備準(zhǔn)備有控制、批量輸出(bulk out)、批量輸入(bulk in)、中斷的終點(diǎn)EP0、1、2、3。這里,用終點(diǎn)EP0傳送USB層的控制分組和命令分組。用終點(diǎn)EP1傳送OUT數(shù)據(jù)(從主機(jī)向設(shè)備傳送的數(shù)據(jù))分組,用終點(diǎn)EP2傳送IN數(shù)據(jù)(從設(shè)備向主機(jī)傳送的數(shù)據(jù))分組,用終點(diǎn)EP3傳送中斷IN分組。設(shè)備方任意決定將EP1~15中的哪一個(gè),分配為批量輸出、批量輸入、中斷IN的終點(diǎn)。
另一方面,Bulk-Only規(guī)范,如圖2B所示,設(shè)備準(zhǔn)備有控制、批量輸出、批量輸入的終點(diǎn)EP0、1、2。這里,用終點(diǎn)EP0傳送USB層的控制分組。用終點(diǎn)EP1傳送命令(CBW)和OUT數(shù)據(jù)分組,用終點(diǎn)EP2傳送狀態(tài)(CSW)和IN數(shù)據(jù)分組。設(shè)備方任意決定將EP1~15中的哪一個(gè)設(shè)定為批量輸出、批量輸入的終點(diǎn)。
這里,CBW(Command Block Wrapper)是包含命令塊和與其有關(guān)的信息的分組,圖3示出其格式。CSW(Command Status Wrapper)是包含命令塊的狀態(tài)的分組,圖4中示出其格式。
在圖3中,dCBWSignature是用于將該分組作為CBW識(shí)別的信息,dCBWTag是命令塊的標(biāo)記。
dCBWDataTransferLength指定在數(shù)據(jù)階段中傳送的數(shù)據(jù)的長(zhǎng)度。bmCBWFlags是用于指定傳送方向等的標(biāo)志,dCBWLUN是邏輯單元編號(hào),bCBWCBLength是命令長(zhǎng)度,CBWCB是記述被封裝的ATA/ATAPI和SCSI等命令的命令塊。
在圖4中,dCSWSignature是用于將該分組作為CSW識(shí)別的信息,dCSWTag是狀態(tài)塊的標(biāo)記,寫入該CSW對(duì)應(yīng)的CBW的dCBWTag的值。CSWDataResidue是由CBW的dCBWDataTransferLength指定的數(shù)據(jù)長(zhǎng)度和設(shè)備實(shí)際處理的數(shù)據(jù)長(zhǎng)度的差,bCSWStatus是狀態(tài)塊。
下面使用圖5A、圖5B,對(duì)圖2B的Bulk-Only規(guī)范中的數(shù)據(jù)寫入處理、讀出處理,進(jìn)行說明。
主機(jī)向設(shè)備寫入數(shù)據(jù)時(shí),如圖5A所示,首先,主機(jī)進(jìn)行將CBW向設(shè)備傳送的命令階段(命令事務(wù))。具體來說,主機(jī)向設(shè)備傳送指定終點(diǎn)EP1的令牌分組,接著,向設(shè)備的終點(diǎn)EP1傳送CBW(參見圖2B的A1和圖3)。該CBW中包含寫命令。然后,從設(shè)備向主機(jī)返回ACK握手(H.S),命令階段結(jié)束。
命令階段(命令傳輸)結(jié)束后轉(zhuǎn)移到數(shù)據(jù)階段(數(shù)據(jù)傳輸)。在數(shù)據(jù)階段,首先,主機(jī)向設(shè)備傳送指定終點(diǎn)EP1的令牌分組,接著,向設(shè)備的終點(diǎn)EP1傳送OUT數(shù)據(jù)(參見圖2B的A2)。然后,從設(shè)備向主機(jī)返回ACK握手,一個(gè)事務(wù)結(jié)束。然后,重復(fù)這樣的事務(wù),在傳送完CBW的dCBWDataTransferLength(參見圖3)指定的數(shù)據(jù)長(zhǎng)度的數(shù)據(jù)后,數(shù)據(jù)階段結(jié)束。
數(shù)據(jù)階段(數(shù)據(jù)傳輸)結(jié)束后,轉(zhuǎn)移到狀態(tài)階段(狀態(tài)傳輸)。在狀態(tài)階段中,首先,主機(jī)向設(shè)備傳送指定終點(diǎn)EP2的令牌分組。然后,設(shè)備向主機(jī)傳送終點(diǎn)EP2中的CSW(參見圖2B的A3、圖4)。然后,從主機(jī)向設(shè)備返回ACK握手,狀態(tài)階段結(jié)束。
主機(jī)讀出數(shù)據(jù)時(shí),如圖5B所示,首先,主機(jī)向設(shè)備傳送指定終點(diǎn)EP1的令牌分組,接著,向設(shè)備的終點(diǎn)EP1傳送CBW。該CBW包含讀命令。然后,從設(shè)備向主機(jī)返回ACK握手,命令階段結(jié)束。
命令階段結(jié)束后,轉(zhuǎn)移到數(shù)據(jù)階段。在數(shù)據(jù)階段,首先,主機(jī)向設(shè)備傳送指定終點(diǎn)EP2的令牌分組。然后,設(shè)備向主機(jī)傳送終點(diǎn)EP2中的IN數(shù)據(jù)(參見圖2B的A4),從主機(jī)向設(shè)備返回ACK握手后,一個(gè)事務(wù)結(jié)束。然后,重復(fù)這樣的事務(wù),傳送完CBW的dCBWDataTransferLength指定的數(shù)據(jù)長(zhǎng)度的數(shù)據(jù)后,數(shù)據(jù)階段結(jié)束。
數(shù)據(jù)階段結(jié)束后轉(zhuǎn)移到狀態(tài)階段。該狀態(tài)階段的處理與圖5A中的數(shù)據(jù)寫入處理時(shí)的處理相同。
1.本實(shí)施方式的特征2.1區(qū)域的切換圖2A中所示的CBI規(guī)范中主機(jī)每隔一定期間向設(shè)備傳送一次令牌。因此,存在主機(jī)的處理負(fù)荷和接收該令牌的設(shè)備的處理負(fù)荷變重的缺點(diǎn)。
因此,現(xiàn)在圖2B的Bulk-Only規(guī)范成為主流。
但是,Bulk-Only規(guī)范中,分配多種信息作為通過一個(gè)終點(diǎn)傳送的信息。具體來說,圖2B中,分配命令(CBW)和OUT數(shù)據(jù)作為通過批量輸出終點(diǎn)EP1傳送的信息,分配狀態(tài)(CSW)和IN數(shù)據(jù)作為通過批量輸入終點(diǎn)EP2傳送的信息。因此,主機(jī)和設(shè)備有必要判別通過各終點(diǎn)傳送的信息是哪種信息。Bulk-Only規(guī)范中,主機(jī)和設(shè)備判斷現(xiàn)在的階段是哪個(gè)階段之后,再進(jìn)行該信息判別。
例如,圖5A、圖5B的B1、B2中,由于當(dāng)前階段是命令階段,因此判斷為通過終點(diǎn)EP1傳送的信息是CBW(命令)。B3、B4中,由于當(dāng)前階段是數(shù)據(jù)階段,因此判斷為通過終點(diǎn)EP2傳送的信息是IN數(shù)據(jù)。B5、B6中,由于當(dāng)前階段是狀態(tài)階段,因此判斷為通過終點(diǎn)EP2傳送的信息是CSW(狀態(tài))。
因此,Bulk-Only規(guī)范中,由于以總是使主機(jī)和設(shè)備之間的階段一致的方式進(jìn)行數(shù)據(jù)傳送,因此,即使在對(duì)一個(gè)終點(diǎn)分配多個(gè)信息(CBW和OUT數(shù)據(jù)、CSW和IN數(shù)據(jù))時(shí),也能正確地傳送數(shù)據(jù)。
但是,已知Bulk-Only規(guī)范存在以下的問題。
例如,圖6A~圖6B中示出本實(shí)施方式的比較例的方法。在該比較例中,如圖6A所示,在數(shù)據(jù)階段,將來自硬盤驅(qū)動(dòng)器HDD等設(shè)備的數(shù)據(jù)寫入以終點(diǎn)EP2為入口的FIFO(EP2)602。具體來說,從HDD讀出的數(shù)據(jù)通過EBUS(第二總線。參見后述的圖12)DMA傳送到FIFO602。
然后,通過EBUS的DMA傳送結(jié)束后,如圖6B所示,等待FIFO602變空(等待空(empty)信號(hào)變?yōu)榧せ顮顟B(tài))。
接著,F(xiàn)IFO602變空,從數(shù)據(jù)階段轉(zhuǎn)移到狀態(tài)階段后,如圖6C所示,CPU(固件、處理裝置)等從硬盤驅(qū)動(dòng)器HDD(EBUS)方取得通過EBUS數(shù)據(jù)傳送(IDE數(shù)據(jù)的傳送)的狀態(tài)。然后,將根據(jù)取得的狀態(tài)作成的CSW(參見圖4)寫入FIFO602。這種情況下,在該比較例中,在由CPU進(jìn)行的CSW的寫入處理結(jié)束之前,不能針對(duì)來自主機(jī)的IN令牌返回IN數(shù)據(jù)分組,而返回NAK。
接著,如圖6D所示,以先進(jìn)先出的方式從FIFO602讀出被寫入的CSW,并通過USB傳送給主機(jī)。
這樣,在該比較例中,使用共同的FIFO602傳送數(shù)據(jù)(IN數(shù)據(jù))和CSW,因此存在CSW的寫入處理的結(jié)束變遲,導(dǎo)致實(shí)際數(shù)據(jù)傳送速度相應(yīng)變慢的問題。
具體來說,首先第一,在該比較例中,如圖6B所示,在FIFO602變空之前不能開始向FIFO602的CSW寫入處理。例如,在FIFO602中殘留有499字節(jié)的狀態(tài)下,假設(shè)將13字節(jié)的CSW(參見圖4)寫入FIFO602。于是,F(xiàn)IFO602中存在的數(shù)據(jù)量變?yōu)?99+13=512字節(jié)=最大分組容量,導(dǎo)致發(fā)生將狀態(tài)CSW作為數(shù)據(jù)傳送的情況。
因此,在該比較例中,必須在等待FIFO602變空、從數(shù)據(jù)階段轉(zhuǎn)移到狀態(tài)階段之后將CSW寫入FIFO602。因此,CSW的寫入處理的結(jié)束推遲與該等待時(shí)間相應(yīng)的時(shí)間,導(dǎo)致實(shí)際的數(shù)據(jù)傳送速度降低。
此外,在該比較例中,如圖6C所示,在數(shù)據(jù)階段期間不能將CSW寫入FIFO602,而要在轉(zhuǎn)移到狀態(tài)階段之后寫入CSW。因此,在CSW的寫入結(jié)束之前,針對(duì)來自主機(jī)的IN令牌返回NAK,導(dǎo)致實(shí)際的數(shù)據(jù)傳送速度推遲與該期間相應(yīng)的時(shí)間。
這種情況下,由于使用USB1.1時(shí)總線的傳送速度降低,因此,如圖6B、圖6C所示的設(shè)備方的處理慢的情況基本上沒有問題。
但是,在USB2.0的HS模式下以高速的480Mbps傳送數(shù)據(jù)。因此,設(shè)備方處理慢會(huì)妨礙USB2.0的高速傳送,導(dǎo)致系統(tǒng)整體的實(shí)際數(shù)據(jù)傳送速度大幅降低。
特別是,由于低成本化的要求,設(shè)備方大多使用以例如20~50MHz左右時(shí)鐘頻率動(dòng)作的廉價(jià)CPU。因此,圖6B、圖6C的處理非常費(fèi)時(shí),實(shí)際的數(shù)據(jù)傳送速度慢的問題更加嚴(yán)重。
因此,本實(shí)施方式為了解決這樣的問題,采用隨著階段(傳輸)的切換來切換緩沖器的存儲(chǔ)區(qū)域的方法。
更具體來說,如圖7A所示,本實(shí)施方式在作為分組存儲(chǔ)裝置的緩沖器中,除了用于讀出IN數(shù)據(jù)(第一信息)的EP2區(qū)域14(第一存儲(chǔ)區(qū)域。數(shù)據(jù)存儲(chǔ)區(qū)域)之外,還準(zhǔn)備了用于讀出CSW(第二信息。狀態(tài)塊)的CSW區(qū)域16(第二存儲(chǔ)區(qū)域。狀態(tài)存儲(chǔ)區(qū)域)。
這里,EP2區(qū)域14和CSW區(qū)域16都是以批量輸入的終點(diǎn)EP2為入口的存儲(chǔ)區(qū)域。而且,EP2區(qū)域14被設(shè)定為先進(jìn)入的信息先輸出(FIFO),CSW區(qū)域16被設(shè)定為可隨機(jī)存取信息(隨機(jī)存取)。
然后,如圖7A所示,本實(shí)施方式在數(shù)據(jù)階段(第一階段)中開關(guān)SW(切換裝置)切換到EP2區(qū)域14一側(cè),從EP2區(qū)域14讀出向主機(jī)傳送的數(shù)據(jù)(來自硬盤HDD的數(shù)據(jù))。
然后,在使用EBUS(第二總線)的數(shù)據(jù)傳送結(jié)束之后,如圖7B所示,CPU(固件、處理裝置)等從硬盤驅(qū)動(dòng)器HDD取得通過EBUS的數(shù)據(jù)傳送的狀態(tài),根據(jù)該取得的狀態(tài)作成CSW,并將作成的CSW(參見圖4)寫入CSW區(qū)域16。即,本實(shí)施方式在從EP2區(qū)域14(第一存儲(chǔ)區(qū)域)讀出IN數(shù)據(jù)分組的數(shù)據(jù)階段(第一階段)期間,可作成(準(zhǔn)備)CSW和開始CSW的寫入處理。而且,由于CSW區(qū)域16被設(shè)定為可隨機(jī)存取,因此CPU能將信息高速地寫入CSW區(qū)域16的任意地址。
因此,EP2區(qū)域14變空(空信號(hào)變?yōu)榧せ?、從數(shù)據(jù)階段(第一階段)切換到狀態(tài)階段(第二階段)后,如圖7C所示,開關(guān)SW(切換裝置)被從EP2區(qū)域14一側(cè)切換到CSW區(qū)域16一側(cè)。由此,通過USB(第一總線)向主機(jī)傳送寫入CSW區(qū)域16中寫入的CSW(狀態(tài)塊分組)。
例如圖6C、圖6D的比較例中,必須在FIFO602變空、從數(shù)據(jù)階段轉(zhuǎn)移到狀態(tài)階段之后,才能將CSW寫入FIFO602。因此,在CSW的寫入結(jié)束之前,針對(duì)主機(jī)的IN令牌只能返回NAK。
與此相反,如圖7B所示,本實(shí)施方式中,在數(shù)據(jù)階段期間,能準(zhǔn)備CSW并將其寫入CSW區(qū)域16。因此,如圖7C所示,在從數(shù)據(jù)階段轉(zhuǎn)移到狀態(tài)階段之后,可在較早階段,針對(duì)來自主機(jī)的IN令牌返回?cái)?shù)據(jù)分組(CSW),可提高處理的速度。
特別地,使用USB2.0能高速地向主機(jī)傳送數(shù)據(jù)。因此,象圖6C的比較例那樣,針對(duì)來自主機(jī)的IN令牌連續(xù)返回NAK,會(huì)損失總線帶寬,不能發(fā)揮USB2.0的高速數(shù)據(jù)傳送的優(yōu)點(diǎn)。
與此相反,如圖7C所示,本實(shí)施方式可在較早階段針對(duì)來自主機(jī)的IN令牌返回?cái)?shù)據(jù)分組(CSW)。因此,能將總線帶寬的損失抑制到最小限度,能發(fā)揮USB2.0的高速數(shù)據(jù)傳送的優(yōu)點(diǎn),因此,可提高實(shí)際的數(shù)據(jù)傳送速度。
此外,如圖7A~7C所示,本實(shí)施方式中,CSW區(qū)域16被設(shè)定為可隨機(jī)存取的區(qū)域,因此能提前結(jié)束CSW的寫入處理,因此,可在較早階段針對(duì)來自主機(jī)的IN令牌返回?cái)?shù)據(jù)分組(CSW),可提高實(shí)際的數(shù)據(jù)傳送速度。
另一方面,要高效率地DMA傳送來自硬盤驅(qū)動(dòng)器HDD等的數(shù)據(jù),最好將EP2區(qū)域14設(shè)定為信息先進(jìn)先出(FIFO)的區(qū)域。這種情況下,可通過用串聯(lián)的寄存器、存儲(chǔ)器等構(gòu)成EP2區(qū)域14,將其設(shè)定為先進(jìn)先出的區(qū)域,也可以通過后述的方法控制RAM的地址,將其設(shè)定為先進(jìn)先出的區(qū)域。
2.2成功狀態(tài)用的存儲(chǔ)區(qū)域如圖8A所示,本實(shí)施方式中,在緩沖器中作為CSW區(qū)域(第二存儲(chǔ)區(qū)域),準(zhǔn)備有寫入成功狀態(tài)用的CSW0(第一狀態(tài)塊分組)的CSW0區(qū)域18(第三存儲(chǔ)區(qū)域);和寫入不成功狀態(tài)用的CSW1(第二狀態(tài)塊分組)的CSW1區(qū)域19(第四存儲(chǔ)區(qū)域)。
即,在通過EBUS(第二總線。參見圖12)的數(shù)據(jù)傳送的狀態(tài)為成功狀態(tài)時(shí),如圖8A所示SW2(切換裝置)連接到CSW0區(qū)域18一側(cè),從CSW0區(qū)域18讀出成功狀態(tài)用的CSW0,并將其傳送給主機(jī)。
另一方面,在通過EBUS的數(shù)據(jù)傳送的狀態(tài)為不成功狀態(tài)時(shí),如圖8B所示SW2(切換裝置)連接到CSW1區(qū)域19一側(cè),從CSW1區(qū)域19讀出成功狀態(tài)用的CSW1,并將其傳送給主機(jī)。
一般來說,數(shù)據(jù)傳送中發(fā)生錯(cuò)誤的概率非常低。因此,通常SW2連接到CSW0區(qū)域18一側(cè),向主機(jī)傳送成功狀態(tài)用CSW0。
因此,只有在數(shù)據(jù)傳送中發(fā)生錯(cuò)誤時(shí),才把SW2連接到CSW1區(qū)域19一側(cè),向主機(jī)傳送響應(yīng)錯(cuò)誤的不成功狀態(tài)用CSW1。
這樣,只要用EBUS的數(shù)據(jù)傳送中不發(fā)生錯(cuò)誤,就無需切換開關(guān)SW2。因此,由于數(shù)據(jù)傳送中發(fā)生錯(cuò)誤的概率非常低,因此切換SW2的頻度也非常低。因此,能減輕CPU(固件)進(jìn)行切換SW2處理等的處理負(fù)荷。
此外,如圖9A所示,在本實(shí)施方式中,把設(shè)定了成功狀態(tài)用的默認(rèn)信息的狀態(tài)塊分組DEFCSW0預(yù)先寫入CSW0區(qū)域18。因此,在數(shù)據(jù)傳送的狀態(tài)為成功時(shí),從CSW0區(qū)域18讀出使用DEFCSW0得到的CSW0,并把它傳送給主機(jī)。
具體來說,成功狀態(tài)用的DEFCSW0中,把dCSWSignature、dCSWDataResidue和bCSWStatus設(shè)定為默認(rèn)值(例如53425355h、00000000h、00h=goodstatus)。然后,例如在接收CBW時(shí),使用CBW的dCSWTag來更新(覆蓋、置換)dCSWTag(用于關(guān)聯(lián)狀態(tài)塊分組和命令塊分組的標(biāo)記信息)。即,把CBW的dCSWTag的值原樣寫入dCSWTag。
這樣,如果把設(shè)定了成功狀態(tài)用的默認(rèn)信息的狀態(tài)塊分組DEFCSW0預(yù)先寫入CSW0區(qū)域18,則CPU(固件)例如只要進(jìn)行更新dCSWTag的操作即可。因此,能大幅減輕CPU的處理負(fù)擔(dān),提高實(shí)際的傳送速度。
另外,如圖所示9B,在不成功狀態(tài)用的CSW1區(qū)域19中預(yù)先寫入DEFCSW1。然后,在數(shù)據(jù)傳送的狀態(tài)為不成功時(shí),從CSW1區(qū)域19讀出使用DEFCSW1得到的CSW1,并把它傳送給主機(jī)。
具體來說,不成功狀態(tài)用的DEFCSW1中,把dCSWSignature等設(shè)定為默認(rèn)值。然后,例如在接收CBW時(shí),使用CBW的dCSWTag來更新dCSWTag。此外,使用通過EBUS取得的狀態(tài)來更新bCSWStatus。這樣做,可減輕發(fā)生錯(cuò)誤時(shí)CPU的處理負(fù)荷。
2.3階段切換本實(shí)施方式中,以已切換階段為條件,進(jìn)行信息讀出區(qū)域的切換。
具體來說,如圖7B、圖7C所示,在從數(shù)據(jù)階段(第一階段)切換到狀態(tài)階段(第二階段)后,將從終點(diǎn)EP2向主機(jī)傳送的信息(IN數(shù)據(jù)、狀態(tài))的讀出區(qū)域,從EP2區(qū)域14(第一存儲(chǔ)區(qū)域)切換到CSW區(qū)域16(第二存儲(chǔ)區(qū)域。CSW0區(qū)域、CSW1區(qū)域)。
如果象這樣在判斷階段的切換之后切換信息的讀出區(qū)域,則能以少的處理負(fù)荷實(shí)現(xiàn)正確的區(qū)域切換處理。
具體來說,這種情況下的階段切換的判斷如下。
例如在從主機(jī)向設(shè)備傳送OUT數(shù)據(jù)(第一方向的數(shù)據(jù)傳送)時(shí),如圖10所示的那樣做,能判斷階段切換。即,如圖10的G1所示,在通過與硬盤驅(qū)動(dòng)器HDD等連接的EBUS(第二總線。參見圖12)的數(shù)據(jù)傳送(DMA傳送)結(jié)束之后的時(shí)間,判斷為已從數(shù)據(jù)階段切換到狀態(tài)階段。該G1時(shí)間比用USB的數(shù)據(jù)傳送(數(shù)據(jù)階段)結(jié)束的G2時(shí)間遲。此外,該G1時(shí)間與EP1區(qū)域(OUT數(shù)據(jù)的存儲(chǔ)區(qū)域)變空、Empty信號(hào)變?yōu)榧せ顮顟B(tài)的G3時(shí)間一致。因此,通過使用設(shè)置在EBUS一側(cè)的計(jì)數(shù)器(圖12的DMA計(jì)數(shù)器82),計(jì)數(shù)用EBUS傳送的數(shù)據(jù)容量(傳送數(shù)。數(shù)據(jù)長(zhǎng)度)來判斷該G1時(shí)間。
另一方面,從設(shè)備向主機(jī)傳送IN數(shù)據(jù)(第二方向的數(shù)據(jù)傳送)時(shí),如圖11所示的那樣做能判斷階段切換。即,如圖11的G4所示,在判斷為通過EBUS的數(shù)據(jù)傳送(通過第二總線把第一信息寫入第一存儲(chǔ)區(qū)域的傳送處理)結(jié)束之后,如G5所示,在EP2區(qū)域(IN數(shù)據(jù)的存儲(chǔ)區(qū)域。第一存儲(chǔ)區(qū)域)變空、Empty信號(hào)變?yōu)榧せ顮顟B(tài)的時(shí)間,判斷為已從數(shù)據(jù)階段切換到狀態(tài)階段。這種情況下,通過使用設(shè)置在EBUS一側(cè)的計(jì)數(shù)器(DMA計(jì)數(shù)器82),計(jì)數(shù)用EBUS傳送的數(shù)據(jù)容量(傳送數(shù)。數(shù)據(jù)長(zhǎng)度)來判斷該G4時(shí)間。另外,G5時(shí)間與用USB的數(shù)據(jù)傳送結(jié)束的G6時(shí)間一致。
如果用圖10、圖11的方法判斷階段切換,則只要在EBUS(第二總線)一側(cè)設(shè)置計(jì)數(shù)器(DMA計(jì)數(shù)器82)即可,不必在USB(第一總線)一側(cè)設(shè)置計(jì)數(shù)器。因此,電路控制容易化的同時(shí)可簡(jiǎn)化電路構(gòu)成,能提高數(shù)據(jù)傳送控制裝置的緊湊化和低成本化。
因此,在本實(shí)施方式中,在圖11的G5時(shí)間判斷為從數(shù)據(jù)階段切換到狀態(tài)階段,在該時(shí)間,如圖7B、圖7C所示,進(jìn)行從EP2區(qū)域14切換到CSW區(qū)域16的處理。這樣,只要監(jiān)視EBUS一側(cè)的計(jì)數(shù)器(DMA計(jì)數(shù)器82)的計(jì)數(shù)值和Empty信號(hào),就可切換信息的讀出區(qū)域,因此可用少的處理負(fù)荷實(shí)現(xiàn)區(qū)域的切換處理。
2.4構(gòu)成例圖12表示本實(shí)施方式的數(shù)據(jù)傳送控制裝置的構(gòu)成例。
本實(shí)施方式的數(shù)據(jù)傳送控制裝置包括收發(fā)機(jī)宏(transceivermacro)20、SIE30、終點(diǎn)管理電路40、緩沖器管理電路50、緩沖器60、批量傳送管理電路70和DMAC80。本實(shí)施方式的數(shù)據(jù)傳送控制裝置不必包含圖12中所示的全部電路,也可以省略其中一部分。
這里,收發(fā)機(jī)宏20是用于實(shí)現(xiàn)以USB(第一總線)的FS模式和HS模式傳送數(shù)據(jù)的電路。例如可使用遵循對(duì)USB2.0的物理層電路、邏輯層電路的一部分的接口進(jìn)行定義的UTMI(USB2.0Transceiver Macrocell)的宏單元(macrocell)作為該收發(fā)機(jī)宏20。該收發(fā)機(jī)宏20包含收發(fā)機(jī)電路22、時(shí)鐘生成電路24。
收發(fā)機(jī)電路22包含使用差動(dòng)信號(hào)DP、DM接收和發(fā)送USB(第一總線)上的數(shù)據(jù)的模擬前端(front end)電路(接收電路、發(fā)送電路)。此外,包含進(jìn)行位填充(bit stuffing)、位去填充、串行/并行轉(zhuǎn)換、并行/串行轉(zhuǎn)換、NRZI解碼、NRZI編碼、抽樣時(shí)鐘生成等處理的電路。
時(shí)鐘生成電路24是生成數(shù)據(jù)傳送控制裝置使用的動(dòng)作時(shí)鐘、抽樣時(shí)鐘的生成所使用的時(shí)鐘等的電路,包含生成480MHz和60MHz的時(shí)鐘的PLL和振蕩電路等。
SIE(Serial Interface Engine)是進(jìn)行USB的分組傳送等各種處理的電路,包含分組處理器(handler)電路32、暫停&恢復(fù)(suspend&resume)控制電路34、事務(wù)管理電路36。
分組處理器電路32是進(jìn)行由首部(header)和數(shù)據(jù)構(gòu)成的分組的組裝(生成)和分解等的電路,包含進(jìn)行CRC的生成和解讀的CRC處理電路33。
停止&恢復(fù)控制電路34是進(jìn)行暫停和恢復(fù)時(shí)的序列控制的電路。
事務(wù)管理電路36是管理由令牌、數(shù)據(jù)、握手等分組構(gòu)成的事務(wù)的電路。具體來說,在接收到令牌分組時(shí),確認(rèn)是否是送往自己地址的,如果是送往自己地址的,則進(jìn)行與主機(jī)之間的數(shù)據(jù)分組的傳送,之后,進(jìn)行握手分組的傳送處理。
終點(diǎn)管理電路40是管理作為緩沖器60的各存儲(chǔ)區(qū)域的入口的終點(diǎn)的電路,包含存儲(chǔ)終點(diǎn)的屬性信息的寄存器(寄存器組)等。
緩沖器管理電路50是管理例如由RAM等構(gòu)成的緩沖器60的電路。具體來說,它生成寫入地址和讀出地址,并進(jìn)行向緩沖器60寫入數(shù)據(jù)的處理和從緩沖器60讀出數(shù)據(jù)的處理。
緩沖器60(分組存儲(chǔ)裝置)用于暫時(shí)存儲(chǔ)通過USB傳送的數(shù)據(jù)(分組),具有對(duì)使用USB(第一總線)的數(shù)據(jù)傳送的傳送速度和使用EBUS(第二總線)的數(shù)據(jù)傳送的傳送速度的速度差進(jìn)行補(bǔ)償?shù)墓δ堋BUS是連接硬盤驅(qū)動(dòng)器和CD驅(qū)動(dòng)器等設(shè)備(海量存儲(chǔ)器設(shè)備)的外部總線。
因此,本實(shí)施方式,在分配多種信息作為通過一個(gè)終點(diǎn)傳送的信息時(shí),在該緩沖器60中準(zhǔn)備有第一信息(例如數(shù)據(jù))用的第一存儲(chǔ)區(qū)域(例如數(shù)據(jù)存儲(chǔ)區(qū)域)和第二信息(例如狀態(tài)塊)用的第二存儲(chǔ)區(qū)域(例如狀態(tài)存儲(chǔ)區(qū)域)。
批量傳送管理電路70是用于管理USB中的批量傳送的電路。
DMAC80是用于通過EBUS進(jìn)行DMA傳送的DMA控制器,并包含DMA計(jì)數(shù)器82。DMA計(jì)數(shù)器82是對(duì)通過EBUS傳送的數(shù)據(jù)的容量(傳送數(shù))進(jìn)行計(jì)數(shù)的電路。
2.5詳細(xì)構(gòu)成例圖13中示出事務(wù)管理電路36(SIE)、終點(diǎn)管理電路40、緩沖器管理電路50、緩沖器60的詳細(xì)構(gòu)成例。
緩沖器60(RAM)包含存儲(chǔ)分配到終點(diǎn)EP2的信息CSW(狀態(tài)塊)的CSW0區(qū)域61(成功狀態(tài)用)、CSW1區(qū)域62(不成功狀態(tài)用)、存儲(chǔ)分配到終點(diǎn)EP0的控制信息的EP0區(qū)域63、存儲(chǔ)分配到終點(diǎn)EP1的OUT數(shù)據(jù)信息的EP1區(qū)域64、存儲(chǔ)分配到終點(diǎn)EP2的IN數(shù)據(jù)信息的EP0區(qū)域65。
在圖13中,把CSW0區(qū)域61、CSW1區(qū)域62設(shè)定為可由CPU(固件、處理裝置)進(jìn)行隨機(jī)存取。另一方面,把EP0、EP1、EP2區(qū)域63、64、65設(shè)定為先進(jìn)的信息先出(FIFO)的方式。
事務(wù)管理電路36將通過USB傳送的寫入數(shù)據(jù)SIEWrData(寫入分組)輸出到緩沖器60,并從緩沖器60輸入讀出數(shù)據(jù)SIERdData(讀出數(shù)據(jù))。
此外,事務(wù)管理電路36向緩沖器管理電路50輸出寫入要求信號(hào)SIEWrReq、讀出要求信號(hào)SIERdReq,并從緩沖器管理電路50接收寫入確認(rèn)信號(hào)SIEWrAck、讀出確認(rèn)信號(hào)SIERdAck。
此外,事務(wù)管理電路36向終點(diǎn)管理電路40輸出事務(wù)結(jié)束信號(hào)TranEndPluse、事務(wù)狀態(tài)信號(hào)TranStatus、終點(diǎn)編號(hào)指定信號(hào)EPnum和傳送方向指定信號(hào)Direction,并從終點(diǎn)管理電路40接收終點(diǎn)存在信號(hào)EPexist。
終點(diǎn)管理電路40包含用于記述終點(diǎn)的屬性信息(終點(diǎn)編號(hào)、最大分組容量等)的寄存器(寄存器組)42、43、44。根據(jù)來自事務(wù)管理電路36的各種信號(hào)和寄存器的屬性信息,生成終點(diǎn)選擇信號(hào)EPsec,并把它輸出到緩沖器管理電路50。
此外,終點(diǎn)管理電路40向緩沖器管理電路50輸出來自CPU的寫入要求信號(hào)CPUWrReq、讀出要求信號(hào)CPURdReq,并從緩沖器管理電路50接收向CPU寫入確認(rèn)信號(hào)CPUWrAck、讀出確認(rèn)信號(hào)CPURdAck。
終點(diǎn)管理電路40包含的EP0寄存器42用于記述由USB規(guī)范默認(rèn)定義的控制終點(diǎn)的屬性信息。
EP1、EP2寄存器43、44用于記述由Bulk-Only規(guī)范默認(rèn)定義的批量輸出、批量輸入的終點(diǎn)的屬性信息。設(shè)備方可任意設(shè)定將終點(diǎn)EP1~EP15中的哪一個(gè)設(shè)定為批量輸出或批量輸入的終點(diǎn)。
EP1寄存器43,將表示數(shù)據(jù)傳送方向的標(biāo)志DIR設(shè)定為OUT,將EP1設(shè)定為批量輸出的終點(diǎn)。
此外,EP1寄存器43,將標(biāo)志EnCSW設(shè)定為0。該EnCSW是用于將終點(diǎn)和緩沖器60的CSW0區(qū)域61或CSW1區(qū)域62連接的標(biāo)志,將EnCSW設(shè)定為1的批量輸入的終點(diǎn)與CSW0區(qū)域61或CSW1區(qū)域62連接。
此外,EP1寄存器43,將標(biāo)志SelCSW設(shè)定為0。該SelCSW是用于選擇將批量輸入的終點(diǎn)連接到CSW0區(qū)域61和CSW1區(qū)域62中的哪一個(gè)的標(biāo)志,例如,將EnCSW設(shè)定為1、將SelCSW設(shè)定為0的批量輸入的終點(diǎn)與CSW0區(qū)域61連接。另一方面,將EnCSW設(shè)定為1、將SelCSW設(shè)定為1的批量輸入的終點(diǎn)與CSW1區(qū)域62連接。
EP2寄存器44,將表示數(shù)據(jù)的傳送方向的標(biāo)志DIR預(yù)先設(shè)定為IN,設(shè)定EP2為批量輸入的終點(diǎn)。
此外,EP2寄存器44,將EnCSW設(shè)定為1,將SelCSW設(shè)定為0。因此,在該設(shè)定狀態(tài)下,終點(diǎn)EP2與CSW0區(qū)域61連接。這種情況下,例如,如果將SelCSW設(shè)定為1,則終點(diǎn)EP2與CSW1區(qū)域62連接,如果EnCSW設(shè)定為0,則EP2與EP2區(qū)域65連接。
緩沖器管理電路50接收來自事務(wù)管理電路36和終點(diǎn)管理電路40的寫入、讀出要求信號(hào)、來自終點(diǎn)管理電路40的終點(diǎn)選擇信號(hào)EPsel,并將地址Address和寫入脈沖xWR(x表示負(fù)邏輯)輸出到緩沖器60。該緩沖器管理電路50包含CSW0、CSW1、EP0、EP1、EP2的地址生成電路51、52、53、54、55和選擇器56。
這里CSW0地址生成電路51生成關(guān)于CSW0區(qū)域61(開始地址為a0)的SIEWrData、SIERdData的寫入或讀出地址AD0。
CSW1地址生成電路52生成關(guān)于CSW1區(qū)域62(開始地址為a1)的SIEWrData、SIERdData的寫入或讀出地址AD1。
EP0、EP1、EP2的地址生成電路53、54、55分別生成關(guān)于EP0、EP1、EP2的區(qū)域63、64、65(開始地址為a2、a3、a4)的SIEWrData、SIERdData的寫入或讀出地址AD2、AD3、AD4。具體來說,生成以a2、a3、a4為開始地址順序遞增(或遞減)的地址AD2、AD3、AD4。
選擇器56根據(jù)信號(hào)EPsel選擇地址AD0~AD4的其中一個(gè),將其作為Address輸出到緩沖器60,并將寫入脈沖xWR輸出到緩沖器60。具體來說,在由EPsel選擇指示CSW0時(shí)選擇AD0,選擇指示CSW1時(shí)選擇AD1,選擇指示EP0時(shí)選擇AD2,選擇指示EP1時(shí)選擇AD3,選擇指示EP2時(shí)選擇AD4,作為Address輸出到緩沖器60。
CSW0區(qū)域61、CSW1區(qū)域62可由CPU寫入CPUWrData。這種情況下,緩沖器管理電路50根據(jù)來自終點(diǎn)管理電路40的EPsel和CPUWrReq,將用于寫入CPUWrData的地址Address和xWR輸出到緩沖器60。
圖14中示出事務(wù)管理電路36、終點(diǎn)管理電路40、緩沖器管理電路50、緩沖器60的其他詳細(xì)構(gòu)成例。
與圖13不同,圖14中,緩沖器60包含CSW(CSW0、CSW1)、EP0、EP1、EP2用的FIFO66、67、68、69(例如串聯(lián)連接的寄存器、存儲(chǔ)器)。
緩沖器管理電路50包含的選擇器57,根據(jù)來自終點(diǎn)管理電路40的EPsel,將來自事務(wù)管理電路36的SIEWrData作為WrDataCSW、WrDataEP0、WrDataEP1、WrDataEP2中的其中一個(gè)輸出到緩沖器60。
或者,選擇器57,根據(jù)EPsel,選擇來自緩沖器60的RdDataCSW、RdDataEP0、RdDataEP1、RdDataEP2中的其中一個(gè),作為SIERdData輸出到事務(wù)管理電路36。
具體來說,由EPsel選擇指示CSW時(shí)選擇WrDataCSW、RdDataCSW,選擇指示EP0時(shí)選擇WrDataEP0、RdDataEP0,選擇指示EP1時(shí)選擇WrDataEP1、RdDataEP1,選擇指示EP2時(shí)選擇WrDataEP2、RdDataEP2。
向緩沖器60的數(shù)據(jù)寫入是通過來自事務(wù)管理電路36的寫入脈沖SIEWR進(jìn)行的,從緩沖器60讀出數(shù)據(jù)的操作是通過來自事務(wù)管理電路36的讀出脈沖SIERD進(jìn)行的。
另外,在圖14中,也可以將FIFO66(CSW)設(shè)定為可隨機(jī)存取的存儲(chǔ)區(qū)域。
2.6動(dòng)作圖15~圖20示出用于說明本實(shí)施方式的數(shù)據(jù)傳送控制裝置的詳細(xì)動(dòng)作的時(shí)序波形圖的例子。
2.6.1成功狀態(tài)圖15、圖16、圖17是用EBUS(第二總線)的數(shù)據(jù)傳送的狀態(tài)為成功狀態(tài)時(shí)的時(shí)序波形圖。圖15是狀態(tài)階段(傳達(dá)成功狀態(tài)的階段)開始時(shí)的時(shí)序波形圖,圖16、圖17是結(jié)束時(shí)的時(shí)序波形圖。
如圖15的H1、H2所示,事務(wù)管理電路36將EPum設(shè)定為2(終點(diǎn)編號(hào)=2)并將Direction設(shè)定為IN后,由于存在批量輸入終點(diǎn)EP2的寄存器44(參見圖13),因此,終點(diǎn)管理電路40,如H3所示激活EPexist(設(shè)為H電平)。
此時(shí),如H4所示,由于終點(diǎn)EP2的EnCSW設(shè)定為H電平(1),因此,終點(diǎn)管理電路40,如H5所示,將選擇指示CSW0區(qū)域61的地址AD0的EPsel,向緩沖器管理電路50輸出。由此,緩沖器管理電路50的選擇器57選擇由CSW0地址生成電路51生成的地址AD0。
然后,如H6所示,事務(wù)管理電路36激活SIERdReq后,如H7所示,緩沖器管理電路50將來自CSW0地址生成電路51的AD0=a0作為Address輸出到緩沖器60。由此,以緩沖器60的CSW0區(qū)域61的a0為開始地址,如H9所示,讀出CSW0(SIERdData)的0~3字節(jié)。然后,如H10所示,激活SIERdAck,向事務(wù)管理電路36返回確認(rèn)。
接著,如H11所示,事務(wù)管理電路36激活SIERdReq后,如H12所示,緩沖器管理電路50將AD0=a0+4作為Address輸出到緩沖器60。由此,以CSW0區(qū)域61的a0+4為開始地址,如H14所示,讀出CSW0(SIERdData)的4~7字節(jié)。然后,如H15所示,激活SIERdAck,向事務(wù)管理電路36返回確認(rèn)。
通過如上所述重復(fù)讀出處理,如圖16的H16所示,從CSW0區(qū)域61讀出CSW0的全部0~12字節(jié)(共計(jì)13字節(jié)),傳送給主機(jī)。
然后,如H17所示,從主機(jī)返回正確的ACK后,如H18所示,事務(wù)管理電路36在激活TranEndPulse的同時(shí),如H19所示,將TranStatus設(shè)定為Success,并將事務(wù)成功的事實(shí)傳達(dá)給終點(diǎn)管理電路40。
于是,如H20所示,將終點(diǎn)EP2(圖13的寄存器44)的EnCSW設(shè)定為L(zhǎng)電平(0)。由此,如H21所示進(jìn)行區(qū)域切換,在其后的數(shù)據(jù)階段中選擇終點(diǎn)EP2時(shí),緩沖器管理電路50的選擇器56選擇EP2區(qū)域65的地址AD4作為Address。
圖17是在狀態(tài)階段的事務(wù)中產(chǎn)生ACK失敗時(shí)的時(shí)序波形圖。
針對(duì)向主機(jī)傳送的成功狀態(tài),如圖17的I1所示,未從主機(jī)返回ACK時(shí),如I2所示,事務(wù)管理電路36向終點(diǎn)管理電路40輸出表示ACK失敗事實(shí)的TranStatus。于是,這種情況下,與圖16的H20不同,如圖17的I3所示,終點(diǎn)EP2的EnCSW不變成L電平。因此,如I4所示,EPsel也不變化,不能進(jìn)行從CSW0區(qū)域61到CSW1區(qū)域65的區(qū)域切換。
2.6.2不成功狀態(tài)用圖18、圖19、圖20是使用EBUS(第二總線)的數(shù)據(jù)傳送的狀態(tài)為不成功狀態(tài)時(shí)的時(shí)序波形圖。圖18是狀態(tài)階段(傳達(dá)不成功狀態(tài)的階段)開始時(shí)的時(shí)序波形圖,圖19、圖20是結(jié)束時(shí)的時(shí)序波形圖。
與圖15的H0不同,圖18的J0中,區(qū)域的選擇信號(hào)SelCSW(EP2)已變?yōu)镠電平(1)而選擇了CSW1區(qū)域62。因此,與圖15的H5不同,圖18的J5中,終點(diǎn)管理電路40輸出選擇指示CSW1區(qū)域62的地址AD1的EPsel。由此,如J7所示,緩沖器管理電路50將來自CSW1地址生成電路52的AD1=a1作為Address輸出給緩沖器60。
然后,如圖19的J16所示,從CSW1區(qū)域62讀出CSW1的全部0~12字節(jié)(共計(jì)13個(gè)字節(jié)),如J17所示從主機(jī)返回正確的ACK之后,如J18所示TranEndPulse變?yōu)榧せ顮顟B(tài),如J19所示輸出Success的TranStatus。由此,將向主機(jī)傳達(dá)不成功狀態(tài)的事務(wù)已成功的事實(shí)傳達(dá)給終點(diǎn)管理電路40。如J20所示EnCSW(EP2)變?yōu)長(zhǎng)電平,如J21所示進(jìn)行區(qū)域切換。
圖20是在狀態(tài)階段(傳達(dá)不成功狀態(tài)的階段)的事務(wù)中產(chǎn)生ACK失敗時(shí)的時(shí)序波形圖。
針對(duì)向主機(jī)傳送的不成功狀態(tài),如圖20的K1所示未從主機(jī)返回ACK時(shí),如K2所示,輸出表示ACK已失敗的TranStatus。于是,這種情況下,與圖19的J20不同,如圖20的K3所示EnCSW不變?yōu)長(zhǎng)電平。因此,如K4所示EPsel也不變化,不能進(jìn)行從CSW0區(qū)域61到CSW1區(qū)域65的區(qū)域切換。
2.7比較例和本實(shí)施例的比較圖21A中示出比較例(圖6A~圖6D)的時(shí)序波形圖的例子,圖21B中示出本實(shí)施方式的時(shí)序波形圖的例子。
例如在圖21A的比較例中,在數(shù)據(jù)階段,由于終點(diǎn)EP2的FIFO中存在IN數(shù)據(jù),因此不能將CSW寫入FIFO(EP2)。因此,如圖21A的L1所示,在轉(zhuǎn)移到狀態(tài)階段之后,CSW的寫入處理開始。因此,在該寫入處理結(jié)束之前,如L2、L3所示,對(duì)于來自主機(jī)的IN數(shù)據(jù)必須返回NAK。所以,如L4所示向主機(jī)的CSW的傳送變遲,如L5所示向下一個(gè)命令階段的轉(zhuǎn)移也變遲。其結(jié)果,造成總線帶寬損失,實(shí)際的傳送速度降低。
另一方面,在圖21B中的本實(shí)施方式中,由于除了EP2區(qū)域之外還另外設(shè)有CSW區(qū)域(CSW0、CSW1區(qū)域),因此,可在數(shù)據(jù)階段期間開始準(zhǔn)備CSW的處理和將CSW寫入CSW區(qū)域的處理。因此,如L6所示,對(duì)于來自主機(jī)的IN令牌,雖然在開始幾次有可能返回NAK,但如L7所示EnCSW變?yōu)镠電平、進(jìn)行從EP2區(qū)域向CSW區(qū)域的切換后,如L8所示能將CSW區(qū)域的CSW立即傳送給主機(jī)。因此,與圖21A的比較例相比,如L9所示向命令階段的轉(zhuǎn)移也變?cè)?。其結(jié)果,能將總線帶寬損失抑制到最小。與比較例相比,能提高實(shí)際的傳送速度。
圖22A中示出比較例的情況下固件(CPU)的處理流程圖,圖22B中示出本實(shí)施方式的情況下固件的處理流程圖。
圖22A中的比較例中,首先,判斷數(shù)據(jù)階段是否已結(jié)束(步驟S21)。
然后,判斷為數(shù)據(jù)階段已結(jié)束時(shí),固件將CSW寫入EP2用的FIFO(步驟S22。參見圖21A的L1)。然后,由于CSW是13個(gè)字節(jié)并且是比最大分組容量小的短分組,因此將短分組的傳送置為使能(enable)狀態(tài)(步驟23)。
接著,判斷向主機(jī)傳送CSW的IN事務(wù)是否已完了(步驟S24),判斷為已完了時(shí)結(jié)束處理(步驟S25)。另一方面,還未完了時(shí),判斷是否進(jìn)行了IN事務(wù)以外的事務(wù)(OUT事務(wù))(步驟S26)。然后,判斷為IN事務(wù)以外時(shí),由于可認(rèn)為當(dāng)前階段主機(jī)與設(shè)備不一致,因此轉(zhuǎn)移到錯(cuò)誤處理(步驟S27)。另一方面,判斷為未能進(jìn)行事務(wù)時(shí),返回步驟S24。
這種情況下,如圖11所說明的那樣,在使用EBUS的數(shù)據(jù)傳送完了并且EP2區(qū)域變?yōu)榭?Empty為激活狀態(tài))時(shí),判斷為數(shù)據(jù)階段完了并且已切換到狀態(tài)階段。
此外,在本實(shí)施方式中,由于除了EP2區(qū)域之外還另外設(shè)有CSW區(qū)域,因此,與比較例不同,可在數(shù)據(jù)階段期間準(zhǔn)備CSW,可提前結(jié)束CSW的寫入處理。
判斷為數(shù)據(jù)階段已結(jié)束時(shí),固件使用SelCSW進(jìn)行CSW區(qū)域的選擇(選擇CSW0和CSW1區(qū)域中的任意一個(gè))并將EnCSW設(shè)定為1(步驟S32。參見圖21A的L7)。
接著,判斷向主機(jī)傳送CSW的事務(wù)是否已完了(步驟S33),判斷為已完了時(shí)結(jié)束處理(步驟S34)。另一方面,還未完了時(shí),判斷是否進(jìn)行了CSW(IN)事務(wù)以外的事務(wù)(步驟S35)。然后,判斷為未能進(jìn)行事務(wù)時(shí),轉(zhuǎn)移到錯(cuò)誤處理(步驟S36)。判斷為CSW事務(wù)時(shí),返回步驟S33。
3.電子機(jī)器下面,對(duì)包含本實(shí)施方式的數(shù)據(jù)傳送控制裝置的電子機(jī)器的例子進(jìn)行說明。
例如圖23A中示出電子機(jī)器之一的打印機(jī)的內(nèi)部框圖,圖24中示出其外觀圖。CPU(微型計(jì)算機(jī))510進(jìn)行系統(tǒng)整體控制等。操作部511用于用戶操作打印機(jī)。ROM516中存儲(chǔ)控制程序、字體等,RAM517作為CPU510的工作區(qū)域工作。DMAC518是用于不通過CPU510進(jìn)行數(shù)據(jù)傳送的DMA控制器。顯示面板519用于向用戶通知打印機(jī)的動(dòng)作狀態(tài)。
通過USB從個(gè)人計(jì)算機(jī)等其它設(shè)備送來的串行打印數(shù)據(jù),由數(shù)據(jù)傳送控制裝置500轉(zhuǎn)換為并行打印數(shù)據(jù)。然后由CPU510或DMA518將轉(zhuǎn)換后的打印數(shù)據(jù)傳送給打印處理部(打印機(jī)引擎)512。然后,在打印處理部512中對(duì)打印數(shù)據(jù)進(jìn)行相應(yīng)的處理,并由打印頭等構(gòu)成的打印部(進(jìn)行數(shù)據(jù)輸出處理的裝置)514打印輸出到紙上。
圖23B中示出電子機(jī)器之一的掃描儀的內(nèi)部框圖,圖24B中示出其外觀圖。CPU520進(jìn)行系統(tǒng)整體的控制等。操作部521用于用戶操作掃描儀。ROM526中存儲(chǔ)控制程序,RAM527作為CPU520的工作區(qū)域工作。DMAC528是DMA控制器。
由光源、光電轉(zhuǎn)換器等構(gòu)成的圖像讀取部(進(jìn)行數(shù)據(jù)取入處理的裝置)522讀取原稿圖像,讀取的圖像的數(shù)據(jù)由圖像處理部(掃描儀引擎)524處理。然后,處理后的圖像數(shù)據(jù)由CPU520或DMA528發(fā)送給數(shù)據(jù)傳送控制裝置500。數(shù)據(jù)傳送控制裝置500將并行圖像數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),并將其通過USB發(fā)送給個(gè)人計(jì)算機(jī)等其它設(shè)備。
圖23C中示出電子機(jī)器之一的CD-RW驅(qū)動(dòng)器的內(nèi)部框圖,圖24C中示出其外觀圖。CPU530進(jìn)行系統(tǒng)整體的控制等。操作部531用于用戶操作CD-RW驅(qū)動(dòng)器。ROM536中存儲(chǔ)控制程序,RAM537作為CPU530的工作區(qū)域工作。DMAC538是DMA控制器。
由激光、電動(dòng)機(jī),光學(xué)系等構(gòu)成的讀取&寫入部(進(jìn)行數(shù)據(jù)取入處理的裝置或進(jìn)行數(shù)據(jù)存儲(chǔ)處理的裝置)533從CD-RW532讀取的數(shù)據(jù)被輸入到信號(hào)處理部534,進(jìn)行錯(cuò)誤改正等相應(yīng)的信號(hào)處理。然后,信號(hào)處理后的數(shù)據(jù)由CPU530或DMA538發(fā)送給數(shù)據(jù)傳送控制裝置500。數(shù)據(jù)傳送控制裝置500將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù),并將其通過USB發(fā)送給個(gè)人計(jì)算機(jī)等其它設(shè)備。
另一方面,通過USB從其它設(shè)備送來的串行數(shù)據(jù),由數(shù)據(jù)傳送控制裝置500轉(zhuǎn)換為并行數(shù)據(jù)。然后,該并行數(shù)據(jù)由CPU530或DMA538發(fā)送給信號(hào)處理部534。然后,在信號(hào)處理部534中對(duì)該并行數(shù)據(jù)進(jìn)行相應(yīng)的信號(hào)處理,由讀取&寫入部533存儲(chǔ)到CD-RW532中。
此外,在圖23A、圖23B、圖23C中,也可以除了CPU510、520、530之外,另外設(shè)置CPU用于控制使用數(shù)據(jù)傳送控制裝置500的數(shù)據(jù)傳送。
如果在電子機(jī)器中使用本實(shí)施方式的數(shù)據(jù)傳送控制裝置,可正確地進(jìn)行以USB2.0中的HS模式進(jìn)行的數(shù)據(jù)傳送。因此,用戶通過個(gè)人計(jì)算機(jī)等進(jìn)行打印輸出的指示時(shí),能以少的時(shí)間滯后完成打印。此外,在向掃描儀指示圖像取入之后,在少的時(shí)間滯后之后用戶能看到讀取的圖像。此外,能高速地從CD-RW讀取數(shù)據(jù)和向CD-RW寫入數(shù)據(jù)。
而且,如果在電子機(jī)器中使用本實(shí)施方式的數(shù)據(jù)傳送控制裝置,即使用制造成本便宜的通常的半導(dǎo)體加工,也能制造可在HS模式下傳送數(shù)據(jù)的數(shù)據(jù)傳送控制裝置。因此,可提高數(shù)據(jù)傳送控制裝置的低成本化,從而提高電子機(jī)器的低成本化。而且,可提高數(shù)據(jù)傳送的可靠性,從而提高電子機(jī)器的可靠性。
而且,如果在電子機(jī)器中使用本實(shí)施方式的數(shù)據(jù)傳送控制裝置,可減輕在CPU上動(dòng)作的固件的處理負(fù)荷,可使用便宜的CPU。由于可進(jìn)一步提高數(shù)據(jù)傳送控制裝置的低成本化、小規(guī)?;虼丝蛇M(jìn)一步提高電子機(jī)器的低成本化、小規(guī)?;?。
此外,作為可應(yīng)用本實(shí)施方式的數(shù)據(jù)傳送控制裝置的電子機(jī)器,除了上面所述的之外,例如還可以考慮各種光盤驅(qū)動(dòng)器(CD-ROM、DVD)、光磁盤驅(qū)動(dòng)器(MO)、硬盤驅(qū)動(dòng)器、TV、VTR、攝像機(jī)、音響機(jī)器、電話機(jī)、投影儀、個(gè)人計(jì)算機(jī)、電子記事本、字處理器等各種東西。
另外,本發(fā)明不限于本實(shí)施方式,可在本發(fā)明的精神范圍內(nèi)進(jìn)行各種變形實(shí)施。
例如,本發(fā)明的數(shù)據(jù)傳送控制裝置的構(gòu)成,不限于圖12、圖13、圖14所示的構(gòu)成,可進(jìn)行各種變形實(shí)施。
此外,雖然在本實(shí)施方式中對(duì)第一存儲(chǔ)區(qū)域?yàn)镋P2區(qū)域(數(shù)據(jù)存儲(chǔ)區(qū)域)、第二存儲(chǔ)區(qū)域?yàn)镃SW區(qū)域(狀態(tài)存儲(chǔ)區(qū)域)的情況進(jìn)行了說明,但是本發(fā)明并不限于此。即,第一、第二存述區(qū)域中存儲(chǔ)的信息的種類是任意的。另外,設(shè)定到終點(diǎn)的信息的數(shù)量可以是3以上,信息的種類也是任意的。
此外,雖然在本實(shí)施方式中對(duì)USB的Bulk-Only規(guī)范的應(yīng)用例進(jìn)行了說明,但是可應(yīng)用本發(fā)明的規(guī)范并不限于USB的Bulk-Only規(guī)范。
此外,第一、第二存儲(chǔ)區(qū)域的切換方法也不限于用圖7~圖22B詳細(xì)說明的方法,可進(jìn)行各種變形實(shí)施。
另外,本發(fā)明雖然優(yōu)選應(yīng)用于使用USB2.0的數(shù)據(jù)傳送,但是也不限于此。例如本發(fā)明也可應(yīng)用于基于與USB2.0相同的思想的規(guī)范和發(fā)展USB2.0的規(guī)范中的數(shù)據(jù)傳送。
權(quán)利要求
1.一種數(shù)據(jù)傳送控制裝置,用于控制通過總線的數(shù)據(jù)傳送,其特征在于,包含緩沖器,該緩沖器在分配包含第一、第二信息的多種信息作為通過一個(gè)終點(diǎn)傳送的信息時(shí),對(duì)應(yīng)于一個(gè)終點(diǎn),準(zhǔn)備有第一信息用的第一存儲(chǔ)區(qū)域和第二信息用的第二存儲(chǔ)區(qū)域;和緩沖器管理電路,該電路在通過總線傳送第一信息的第一階段,從第一信息用的第一存儲(chǔ)區(qū)域讀出從終點(diǎn)向主機(jī)傳送的信息,在通過總線傳送第二信息的第二階段,從第二信息用的第二存儲(chǔ)區(qū)域讀出從終點(diǎn)向主機(jī)傳送的信息。
2.根據(jù)權(quán)利要求1所述的數(shù)據(jù)傳送控制裝置,其特征在于,將為第一信息準(zhǔn)備的上述第一存儲(chǔ)區(qū)域設(shè)定為先輸入的信息先輸出的區(qū)域,將為第二信息準(zhǔn)備的上述第二存儲(chǔ)區(qū)域設(shè)定為可隨機(jī)存取的區(qū)域。
3.根據(jù)權(quán)利要求1所述的數(shù)據(jù)傳送控制裝置,其特征在于,上述第一信息是數(shù)據(jù)分組,上述第二信息是狀態(tài)塊分組。
4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)傳送控制裝置,其特征在于,在從上述第一存儲(chǔ)區(qū)域讀出數(shù)據(jù)分組的期間,準(zhǔn)備上述第二存儲(chǔ)區(qū)域的狀態(tài)塊分組。
5.根據(jù)權(quán)利要求3所述的數(shù)據(jù)傳送控制裝置,其特征在于,上述第二存儲(chǔ)區(qū)域包含寫入成功狀態(tài)用的第一狀態(tài)塊分組的第三存儲(chǔ)區(qū)域;和寫入不成功狀態(tài)用的第二狀態(tài)塊分組的第四存儲(chǔ)區(qū)域。在成功狀態(tài)時(shí),從上述第三存儲(chǔ)區(qū)域讀出成功狀態(tài)用的上述第一狀態(tài)塊分組,在不成功狀態(tài)時(shí),從上述第四存儲(chǔ)區(qū)域讀出不成功狀態(tài)用的上述第二狀態(tài)塊分組。
6.根據(jù)權(quán)利要求5所述的數(shù)據(jù)傳送控制裝置,其特征在于,在上述第三存儲(chǔ)區(qū)域中預(yù)先寫入設(shè)定了成功狀態(tài)用的默認(rèn)信息的狀態(tài)塊分組。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)傳送控制裝置,其特征在于,對(duì)設(shè)定了默認(rèn)信息的狀態(tài)塊分組的信息中用于關(guān)聯(lián)狀態(tài)塊分組和命令塊分組的標(biāo)記信息進(jìn)行更新,從上述第三存儲(chǔ)區(qū)域讀出更新后的狀態(tài)塊分組作為上述第一狀態(tài)塊分組。
8.根據(jù)權(quán)利要求1所述的數(shù)據(jù)傳送控制裝置,其特征在于,在判斷為從上述第一階段切換到上述第二階段時(shí),將從終點(diǎn)向主機(jī)傳送的信息的讀出區(qū)域從上述第一存儲(chǔ)區(qū)域切換到上述第二存儲(chǔ)區(qū)域。
9.根據(jù)權(quán)利要求8所述的數(shù)據(jù)傳送控制裝置,其特征在于,以通過第二總線傳送上述第一信息并寫入上述第一存儲(chǔ)區(qū)域的傳送處理結(jié)束并且上述第一存儲(chǔ)區(qū)域已變空為條件,判斷為已從上述第一階段切換到上述第二階段。
10.根據(jù)權(quán)利要求1所述的數(shù)據(jù)傳送控制裝置,其特征在于,進(jìn)行遵循USB規(guī)范的數(shù)據(jù)傳送。
11.一種數(shù)據(jù)傳送控制裝置,用于控制通過總線的數(shù)據(jù)傳送,其特征在于,包含緩沖器,該緩沖器在分配數(shù)據(jù)分組和狀態(tài)塊分組作為通過一個(gè)終點(diǎn)傳送的信息時(shí),對(duì)應(yīng)于一個(gè)終點(diǎn),準(zhǔn)備有數(shù)據(jù)用的數(shù)據(jù)存儲(chǔ)區(qū)域和狀態(tài)塊分組用的狀態(tài)存儲(chǔ)區(qū)域;緩沖器管理電路,該電路在從通過總線傳送數(shù)據(jù)分組的數(shù)據(jù)階段切換到通過總線傳送狀態(tài)塊分組的狀態(tài)階段時(shí),將信息的讀出區(qū)域從數(shù)據(jù)用的上述數(shù)據(jù)存儲(chǔ)區(qū)域切換到狀態(tài)塊用的狀態(tài)存儲(chǔ)區(qū)域,從上述狀態(tài)存儲(chǔ)區(qū)域讀出從終點(diǎn)向主機(jī)傳送的狀態(tài)塊分組。
12.根據(jù)權(quán)利要求11所述的數(shù)據(jù)傳送控制裝置,其特征在于,進(jìn)行遵循USB規(guī)范的數(shù)據(jù)傳送。
13.一種電子機(jī)器,其特征在于,包含權(quán)利要求1至10中的任何一個(gè)所述的數(shù)據(jù)傳送控制裝置;和對(duì)通過上述數(shù)據(jù)傳送控制裝置和總線傳送的數(shù)據(jù),進(jìn)行輸出處理或取入處理或存儲(chǔ)處理的裝置。
14.一種電子機(jī)器,其特征在于,包含權(quán)利要求11或12中的任何一個(gè)所述的數(shù)據(jù)傳送控制裝置;和對(duì)通過上述數(shù)據(jù)傳送控制裝置和總線傳送的數(shù)據(jù),進(jìn)行輸出處理或取入處理或存儲(chǔ)處理的裝置。
15.一種數(shù)據(jù)傳送控制方法,用于控制通過總線的數(shù)據(jù)傳送,其特征在于,在分配包含第一、第二信息的多種信息作為通過一個(gè)終點(diǎn)傳送的信息時(shí),在緩沖器中,對(duì)應(yīng)于一個(gè)終點(diǎn),準(zhǔn)備第一信息用的第一存儲(chǔ)區(qū)域和第二信息用的第二存儲(chǔ)區(qū)域;和在通過總線傳送第一信息的第一階段,從第一信息用的上述第一存儲(chǔ)區(qū)域讀出從終點(diǎn)向主機(jī)傳送的信息,在通過總線傳送第二信息的第二階段,從第二信息用的上述第二存儲(chǔ)區(qū)域讀出從終點(diǎn)向主機(jī)傳送的信息。
16.一種數(shù)據(jù)傳送控制方法,用于控制通過總線的數(shù)據(jù)傳送,其特征在于,在分配數(shù)據(jù)分組和狀態(tài)塊分組作為通過一個(gè)終點(diǎn)傳送的信息時(shí),在緩沖器中,對(duì)應(yīng)于一個(gè)終點(diǎn),準(zhǔn)備數(shù)據(jù)用的數(shù)據(jù)存儲(chǔ)區(qū)域和狀態(tài)塊用的狀態(tài)存儲(chǔ)區(qū)域;在從通過總線傳送數(shù)據(jù)分組的數(shù)據(jù)階段切換到通過總線傳送狀態(tài)塊分組的狀態(tài)階段時(shí),將信息的讀出區(qū)域從數(shù)據(jù)用的上述數(shù)據(jù)存儲(chǔ)區(qū)域切換到狀態(tài)塊用的狀態(tài)存儲(chǔ)區(qū)域,從上述狀態(tài)存儲(chǔ)區(qū)域讀出從終點(diǎn)向主機(jī)傳送的狀態(tài)塊分組。
全文摘要
在分配數(shù)據(jù)和CSW作為通過一個(gè)終點(diǎn)傳送的信息時(shí),設(shè)置準(zhǔn)備有EP2區(qū)域14(FIFO設(shè)定的數(shù)據(jù)存儲(chǔ)區(qū)域)和CSW區(qū)域16(可隨機(jī)存取的狀態(tài)存儲(chǔ)區(qū)域)的緩沖器。然后,在從USB的數(shù)據(jù)階段(數(shù)據(jù)傳輸)切換到狀態(tài)階段(狀態(tài)傳輸)時(shí),將信息的讀出區(qū)域從EP2區(qū)域14切換到CSW區(qū)域16,從CSW區(qū)域16讀出從終點(diǎn)EP2向主機(jī)傳送的IN數(shù)據(jù)。設(shè)置成功狀態(tài)用的CSW0區(qū)域和不成功狀態(tài)用的CSW1區(qū)域,并預(yù)先寫入設(shè)定了成功或不成功用的默認(rèn)信息的狀態(tài)塊分組。
文檔編號(hào)G06F5/10GK1385793SQ0211938
公開日2002年12月18日 申請(qǐng)日期2002年5月14日 優(yōu)先權(quán)日2001年5月14日
發(fā)明者石田卓也, 神原義幸 申請(qǐng)人:精工愛普生株式會(huì)社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
邳州市| 丰城市| 大余县| 峡江县| 潞西市| 吉林市| 安新县| 东至县| 施秉县| 师宗县| 武山县| 临朐县| 太湖县| 保靖县| 涞源县| 南充市| 湖州市| 乌兰浩特市| 天镇县| 运城市| 石屏县| 平泉县| 右玉县| 甘洛县| 库尔勒市| 民丰县| 宁都县| 雅江县| 乌拉特前旗| 兴国县| 满洲里市| 务川| 安阳市| 襄汾县| 天柱县| 民乐县| 岑巩县| 永康市| 石柱| 南漳县| 嘉禾县|