專利名稱:主控制器設(shè)備和數(shù)據(jù)傳送控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及利用USB (通用串行總線)設(shè)備實(shí)現(xiàn)數(shù)據(jù)傳送的主控 制器。
背景技術(shù):
盡管USB協(xié)議的技術(shù)規(guī)范是在假定在有線環(huán)境中使用USB(通用 串行總線)的基礎(chǔ)上被建立起來,近年來已發(fā)展出能夠使USB不用連 接線的無線USB技術(shù)。例如,通過為主設(shè)備裝配用于控制與有線USB 設(shè)備的數(shù)據(jù)傳送的驅(qū)動器,以及用于無線通信的主控制器設(shè)備,已經(jīng) 實(shí)現(xiàn)通過無線通信使用無線USB設(shè)備的數(shù)據(jù)傳送。在USB中,數(shù)據(jù)傳 送是基于端點(diǎn)信息(endpoint information)來執(zhí)行的。在這樣的情形下, 端點(diǎn)信息位于主設(shè)備的系統(tǒng)存儲器中。因此,主控制器設(shè)備必須成功 地讀取并分析位于系統(tǒng)存儲器內(nèi)的端點(diǎn)信息。
此外,端點(diǎn)信息保持將引用的下一個端點(diǎn)在系統(tǒng)存儲器中的地址, 以便它能夠指定將要引用的下一個端點(diǎn)。配置最后一個端點(diǎn)信息以使 得引用第一個端點(diǎn)信息,從而多個端點(diǎn)信息形成循環(huán)結(jié)構(gòu)。因此,通 過依次引用每個端點(diǎn)信息,主控制器設(shè)備以循環(huán)方式引用所有端點(diǎn)信 息??商娲兀詈笠粋€端點(diǎn)信息可以有終止信息,從而多個端點(diǎn)信 息形成線性結(jié)構(gòu)。即使在這樣的情形下,仍依次引用多個端點(diǎn)信息, 直至具有終止信息的端點(diǎn)信息被引用。然后,繼具有終止信息的端點(diǎn) 信息之后,再從第一端點(diǎn)信息開始引用這些端點(diǎn)信息,從而它們?nèi)砸?循環(huán)方式被引用。端點(diǎn)信息包括請求數(shù)據(jù)傳送的端點(diǎn)信息和不促成數(shù) 據(jù)傳送的端點(diǎn)信息,并且在它們間不加區(qū)別地將它們構(gòu)成一個循環(huán)。 因此,當(dāng)實(shí)現(xiàn)數(shù)據(jù)傳送時(shí),主控制器必須通過從系統(tǒng)存儲器中逐一讀 取端點(diǎn)信息來選擇請求數(shù)據(jù)傳送的端點(diǎn)信息。公開號為No.2001-127767的日本尚未審査的專利申請公開了通過 在無線LAN (局域網(wǎng))的信息分組傳送過程中的隊(duì)列控制期間降低對 共享存儲器的訪問時(shí)間來提高傳送效率的技術(shù)。然而,該技術(shù)很難應(yīng)
用于無線USB的數(shù)據(jù)傳送。
如上所述,由于端點(diǎn)信息包括不促成數(shù)據(jù)傳送的端點(diǎn)信息,在讀 出促成數(shù)據(jù)傳送的端點(diǎn)信息之前,主控制器設(shè)備不能執(zhí)行數(shù)據(jù)傳送。 而且,在將由多于一個端點(diǎn)信息請求數(shù)據(jù)傳送的情形下,為了獲得繼 用于每個傳送請求的端點(diǎn)信息之后所引用的端點(diǎn)信息,主控制器設(shè)備 不僅需要讀出促成數(shù)據(jù)傳送的端點(diǎn)信息,還需要讀出不促成數(shù)據(jù)傳送 的端點(diǎn)信息。
其結(jié)果是,在用于USB的主控制器設(shè)備中存在一個問題,由于必 須相繼讀出端點(diǎn)信息的一個循環(huán),而該端點(diǎn)信息包括了不促成數(shù)據(jù)傳 送的端點(diǎn)信息,故而會不令人滿意地降低數(shù)據(jù)傳送效率。
發(fā)明內(nèi)容
依照本發(fā)明的一個實(shí)施例,安裝在具有系統(tǒng)存儲器的與USB設(shè)備 通信的主設(shè)備中的主控制器設(shè)備包括信息選擇部,通過分析保存在 系統(tǒng)存儲器中的多個端點(diǎn)信息,選擇請求數(shù)據(jù)傳送的端點(diǎn)信息;存儲 區(qū),存儲系統(tǒng)存儲器中的至少一個地址,該至少一個地址識別由信息 選擇部所選擇的端點(diǎn)信息;以及數(shù)據(jù)傳送部,基于由存儲在存儲區(qū)中 的系統(tǒng)存儲器中的至少一個地址所識別的端點(diǎn)信息,執(zhí)行所請求的數(shù) 據(jù)傳送。
以這種方式,能夠無需依次訪問保存在系統(tǒng)存儲器中的端點(diǎn)信息 而執(zhí)行數(shù)據(jù)傳送。從而,這可以降低對系統(tǒng)存儲器的訪問次數(shù),從而 提高數(shù)據(jù)傳送效率。此外,依照本發(fā)明的另一個實(shí)施例, 一種主控制器設(shè)備的數(shù)據(jù)傳 送控制方法包括,其中所述主控制設(shè)備安裝在具有系統(tǒng)存儲器的與 USB設(shè)備通信的主設(shè)備中逐一讀出在系統(tǒng)存儲器中保存的多個端點(diǎn) 信息;通過分析讀出的端點(diǎn)信息,選擇請求數(shù)據(jù)傳送的端點(diǎn)信息;在 存儲區(qū)中存儲識別所選擇的端點(diǎn)信息的系統(tǒng)存儲器中的地址;對于保 存在系統(tǒng)存儲器中的多個端點(diǎn)信息的每一個,重復(fù)存儲步驟;并且基 于存儲在存儲區(qū)中的系統(tǒng)存儲器中的至少一個地址執(zhí)行數(shù)據(jù)傳送。
本發(fā)明能夠消除在用于USB的主控制器設(shè)備中依次讀取包括不促 成數(shù)據(jù)傳送的端點(diǎn)信息的循環(huán)。其結(jié)果是,這將提高數(shù)據(jù)傳送效率。
結(jié)合附圖,從下面對特定優(yōu)選實(shí)施例的描述中,本發(fā)明的上述及 其它目的、優(yōu)勢和特征將更加明顯。在附圖中
圖1示出了依照本發(fā)明一個方面的實(shí)現(xiàn)無線USB通信的系統(tǒng)結(jié)構(gòu) 的示例;
圖2是示出依照本發(fā)明一個實(shí)施例的主控制器設(shè)備的結(jié)構(gòu)示例的
框圖3A是用于示出讀取過程圖,其中以循環(huán)方式連續(xù)讀出在系統(tǒng)存
儲器中保存的端點(diǎn)信息;
圖3B示出了讀出端點(diǎn)信息的順序;
圖3C示出了其中只讀出有效端點(diǎn)信息的狀態(tài);
圖4是示出發(fā)送/接收控制部的操作示例的流程圖5示出其中在存儲區(qū)中存儲作為傳送請求信息的系統(tǒng)存儲器中
地址的示例-,
圖6是示出依照本發(fā)明第一實(shí)施例的數(shù)據(jù)傳送部的操作示例的流
程圖7示出在其中存儲區(qū)中存儲作為傳送請求信息的系統(tǒng)存儲器中 地址和有效端點(diǎn)信息的示例;以及
圖8是示出依照本發(fā)明第二實(shí)施例的數(shù)據(jù)傳送部的操作示例的流程圖。
具體實(shí)施例方式
這里將參照示例性實(shí)施例描述本發(fā)明。精通本領(lǐng)域技術(shù)的人員將 認(rèn)識到,利用本發(fā)明的啟示,能夠?qū)崿F(xiàn)許多替代性的實(shí)施例,并且本 發(fā)明并不局限于用于說明性目的示出的實(shí)施例。
下文將參照
本發(fā)明的實(shí)施例。在下面的描述和附圖中, 為了清楚地說明,適當(dāng)時(shí)會略去或簡化一些非必須的部分。在附圖中, 為同樣或等同的部件和具有同樣或等同功能的部件指定了相同的符 號,并且適當(dāng)時(shí)略去了對它們的說明。而且,本說明書中有幾個同樣 的部件。因此,當(dāng)需要相互區(qū)分這些部件時(shí),在最初的符號上添加符
號"-n(n是大于0的整數(shù))"以使一個部件與其它部件相區(qū)別。例如, 圖1示出多個無線USB設(shè)備8-1、 8-2、 ...、 8-j。例如,當(dāng)參照圖l進(jìn) 行說明時(shí),術(shù)語"無線USB設(shè)備8"意指無線USB設(shè)備8-1、 8-2、... 中的任意一個或多個,而術(shù)語"無線USB設(shè)備8-1 (或者無線USB設(shè) 備8-2或諸如此類)"被用于將無線USB設(shè)備8-1 (或者無線USB設(shè) 備8-2或諸如此類)與其它無線USB設(shè)備相區(qū)別。
此外,在下面的描述中說明實(shí)現(xiàn)無線USB通信的系統(tǒng)的一個示例。 然而,本發(fā)明也適用于有線USB系統(tǒng)。
圖1示出了依照本發(fā)明一個方面的實(shí)現(xiàn)無線USB通信的系統(tǒng)結(jié)構(gòu) 的示例。在主機(jī)側(cè),作為示例示出了主設(shè)備7,它包括主控制器設(shè)備1、 系統(tǒng)存儲器2、 CPU (中央處理單元)3和存儲器4,所有這些被連接 到PCI (外圍組件互連)總線5,并由PCT總線控制器6控制。在圖1 中,對于主設(shè)備7,只示出了對本發(fā)明而言必須的部件,而略去了其它 非必須的部件。此外,在設(shè)備側(cè),作為從屬設(shè)備9的示例,示出了無 線USB設(shè)備8。附帶地,對從屬設(shè)備9僅有的要求是,該從屬設(shè)備9 中應(yīng)有至少一個無線USB設(shè)備8。此外,從屬設(shè)備9并不局限于無線USB設(shè)備8。作為替代,它可以是中繼設(shè)備,傳送在執(zhí)行無線通信的主 控制器設(shè)備1和有線USB設(shè)備之間傳送的數(shù)據(jù)。
在下面的描述中,對主控制器設(shè)備1進(jìn)行說明時(shí)假定主控制器設(shè) 備1是安裝于主設(shè)備7中的微處理器。將主控制器設(shè)備1連接到PCI 總線5,并由安裝于主設(shè)備7中的驅(qū)動器功能進(jìn)行控制。該驅(qū)動器功能 例如可以由軟件程序?qū)崿F(xiàn),并且CPU 3可以執(zhí)行對應(yīng)的指令以實(shí)現(xiàn)裝 載于存儲器4中的驅(qū)動器功能。存儲器4例如可以是RAM (隨機(jī)存取 存儲器)。
在與從屬設(shè)備9相連接時(shí),主設(shè)備7經(jīng)主控制器設(shè)備1從那些從 屬設(shè)備9的每個都得到識別該每個從屬設(shè)備9(例如,無線USB設(shè)備8) 的端點(diǎn)信息,并將它們存儲在系統(tǒng)存儲器2中。
當(dāng)將在主設(shè)備7和從屬設(shè)備9之間請求數(shù)據(jù)傳送時(shí),在系統(tǒng)存儲 器2中創(chuàng)建端點(diǎn)信息,并且主控制器設(shè)備1基于該端點(diǎn)信息傳送數(shù)據(jù)。 端點(diǎn)信息包括請求數(shù)據(jù)傳送的端點(diǎn)信息(適當(dāng)時(shí)被稱為"有效端點(diǎn)信 息")和不促成數(shù)據(jù)傳送的端點(diǎn)信息(適當(dāng)時(shí)被稱為"無效端點(diǎn)信息")。
在以下每個實(shí)施例中,說明使得主控制器設(shè)備1有效地引用有效 端點(diǎn)信息的技術(shù)。
第一實(shí)施例
作為第一個實(shí)施例,下文將描述一種情形,其中將保存有效端點(diǎn) 信息的系統(tǒng)存儲器2中的地址存儲在主控制器內(nèi)的存儲區(qū)中。
圖2是示出依照本發(fā)明一個實(shí)施例的主控制器設(shè)備的結(jié)構(gòu)示例的 框圖。而且,圖2也示出了系統(tǒng)存儲器2的示例。主控制器設(shè)備1包 括主機(jī)側(cè)接口 (下文中被稱為"主機(jī)側(cè)I/F" ) 11、設(shè)備側(cè)接口 (下文 中被稱為"設(shè)備側(cè)I/F")、發(fā)送/接收控制部16和緩沖器17。主機(jī)側(cè)I/F 11通過PCI總線5將數(shù)據(jù)發(fā)送到系統(tǒng)存儲器2和主設(shè) 備7中的其它部件,并從系統(tǒng)存儲器2和主設(shè)備7中的其它部件接收 數(shù)據(jù)。設(shè)備側(cè)I/F12通過無線通信將數(shù)據(jù)發(fā)送到從屬設(shè)備9,并從從屬 設(shè)備9接收數(shù)據(jù)。
發(fā)送/接收控制部16控制在主設(shè)備7和從屬設(shè)備9之間的數(shù)據(jù)傳 送。更具體地,圖2是示出了通過將其分為三個功能,即信息選擇部 13、存儲區(qū)14和數(shù)據(jù)傳送部15,來實(shí)現(xiàn)發(fā)送/接收控制部16的示例。 通過分析保存在系統(tǒng)存儲器2中的多個端點(diǎn)信息,信息選擇部13選擇 多個請求數(shù)據(jù)傳送的端點(diǎn)信息。
存儲區(qū)14存儲由信息選擇部13選擇的系統(tǒng)存儲器中的地址。該 存儲區(qū)14為地址指定順序號(例如,以記錄號的順序),并存儲它們。 存儲地址的順序與重復(fù)執(zhí)行若干次數(shù)據(jù)傳送的順序相同。作為示例, 以如下方式使用存儲區(qū)14。由于存儲區(qū)14由存儲器構(gòu)成,可以在存儲 區(qū)14中例如以地址值的升序方式存儲地址。此外,在重復(fù)執(zhí)行若干 次數(shù)據(jù)傳送的情形下,用于指示當(dāng)前引用的存儲區(qū)14的地址的計(jì)數(shù)器 被重置為零,并且系統(tǒng)存儲器2中當(dāng)前由計(jì)數(shù)器所指示的地址首先被 處理。然后,在結(jié)束該過程之后,遞增計(jì)數(shù)器并獲得系統(tǒng)存儲器中的 下一個地址。使用標(biāo)記以確定由端點(diǎn)信息所請求的數(shù)據(jù)傳送是否完成, 其中該端點(diǎn)信息是位于保存在存儲區(qū)14中的系統(tǒng)存儲器2的地址處的 端點(diǎn)信息。該標(biāo)記與在系統(tǒng)存儲器2中的地址結(jié)合被存儲在存儲區(qū)14 中。例如,在最初被存儲時(shí)將該標(biāo)記設(shè)置為"1"。此外,用單個端點(diǎn) 信息傳送的數(shù)據(jù)量不必局限為固定的量。例如,當(dāng)將被拷貝的文件大 小彼此不同時(shí),被傳送的數(shù)據(jù)量也不相同。當(dāng)過程依序進(jìn)行時(shí),需要 從將要處理的目標(biāo)地址的集合中排除掉系統(tǒng)存儲器2中指示整個數(shù)據(jù) 傳送已完成的端點(diǎn)信息的地址,并因而與該地址結(jié)合存儲的標(biāo)記被設(shè) 置為"0"。連續(xù)遞增計(jì)數(shù)器,并隨后當(dāng)計(jì)數(shù)器達(dá)到終值時(shí)將其重置為 零。相應(yīng)標(biāo)記已被設(shè)置為"0"的系統(tǒng)存儲器2中的地址將不被作為數(shù)據(jù)傳送的目標(biāo)地址而進(jìn)行處理,并因而僅僅遞增計(jì)數(shù)器且過程行進(jìn)到 下一地址。
數(shù)據(jù)傳送部15基于存儲在存儲區(qū)14中的系統(tǒng)存儲器2的至少一 個地址執(zhí)行數(shù)據(jù)傳送。數(shù)據(jù)傳送部15通過使用系統(tǒng)存儲器2中的多個 地址引用端點(diǎn)信息,并基于該多個端點(diǎn)信息以重復(fù)方式執(zhí)行被請求的 數(shù)據(jù)傳送。數(shù)據(jù)傳送部15基于通過使用系統(tǒng)存儲器2中的一個地址而 引用的端點(diǎn)信息執(zhí)行至少一個數(shù)據(jù)傳送,并重復(fù)數(shù)據(jù)傳送,直至所傳 送數(shù)據(jù)量達(dá)到由對應(yīng)于系統(tǒng)存儲器2中的每個地址的端點(diǎn)信息所請求 的數(shù)據(jù)傳送的數(shù)據(jù)量。數(shù)據(jù)傳送部15在為其自身的主控制器設(shè)備1的 數(shù)據(jù)傳送分配的特定時(shí)間期間內(nèi)(在其自身的傳送時(shí)間期間內(nèi))執(zhí)行 單個數(shù)據(jù)傳送傳送。特別地,數(shù)據(jù)傳送部15將要傳送的數(shù)據(jù)分配給信 息分組,并在所分配的時(shí)間期間內(nèi)重復(fù)傳送信息分組。此外,數(shù)據(jù)傳 送部15使用緩沖器17臨時(shí)存儲將要傳送的數(shù)據(jù)。
緩沖器17是臨時(shí)存儲在主設(shè)備7和從屬設(shè)備9之間傳送的數(shù)據(jù)的 存儲區(qū)。
圖2示出了在系統(tǒng)存儲器2中保存五個端點(diǎn)信息的狀態(tài)。左邊的 數(shù)字值是地址,在地址的右邊示出端點(diǎn)信息。作為端點(diǎn)信息,從從屬 設(shè)備9通知的端點(diǎn)信息(M-l、 M-2、 ...、 H-l-H-3)與繼當(dāng)前的端點(diǎn) 信息之后被讀取的端點(diǎn)信息所在區(qū)域的地址(下文中被稱為"下一地 址")結(jié)合在一起,被保存在系統(tǒng)存儲器2中。此外,促成數(shù)據(jù)傳送 的端點(diǎn)信息也包括在其中保存將被傳送的數(shù)據(jù)的系統(tǒng)存儲器2中的地 址。在圖2中假定從無線USB設(shè)備8-1通知了端點(diǎn)信息M-l和M-2, 且從無線USB設(shè)備8-2通知了端點(diǎn)信息H-1- H-3。盡管在圖2中作為 示例示出了循環(huán)結(jié)構(gòu)的端點(diǎn)信息,本發(fā)明也適用于線性結(jié)構(gòu)的端點(diǎn)信 息。在這樣的情形下,最后一個端點(diǎn)信息具有終止信息,從而它能夠 確定該端點(diǎn)信息是最后的端點(diǎn)信息。接下來,下面說明主控制器設(shè)備1訪問保存在系統(tǒng)存儲器2中的
端點(diǎn)信息的順序。圖3A-3C是示出了以循環(huán)方式相繼讀出端點(diǎn)信息的 讀取過程。特別地,圖3A示出保存在系統(tǒng)存儲器中的端點(diǎn)信息的一個 示例,圖3B示出讀出端點(diǎn)信息的順序,且圖3C示出僅讀出有效端點(diǎn) 信息的狀態(tài)。在USB中,在列表地址中保存將首先被讀出的端點(diǎn)信息 的地址。為了開始數(shù)據(jù)傳送,主控制器設(shè)備1首先讀出位于保存在列 表地址中的地址上的端點(diǎn)信息,并隨后讀出位于與該已讀出端點(diǎn)信息 一起被保存的地址上的端點(diǎn)信息。在下面的說明中假定在列表地址中 保存地址"100"。
特別地,主控制器設(shè)備1以在圖3A中示出的順序(1) - (5)讀 出端點(diǎn)信息。從而,主控制器設(shè)備l以M-1、 M-2、 H-l、 H-3、 H-2的 順序分析端點(diǎn)信息,如在圖3B中所示。在下面的說明中,也假定只有 M-2和H-2是有效端點(diǎn)信息,并且其它端點(diǎn)信息是無效端點(diǎn)信息。在 這樣的情形下, 一旦主控制器設(shè)備l對所有的有效端點(diǎn)信息作了分析, 主控制器設(shè)備1以在圖3C中所示的循環(huán)方式讀出端點(diǎn)信息將是所期望 的。
因此,在分析存儲在系統(tǒng)存儲器2中的端點(diǎn)信息之后,依照本實(shí) 施例的發(fā)送/接收控制部16存儲在系統(tǒng)存儲器2中的地址,該地址指示 了請求在主控制器設(shè)備1內(nèi)的存儲區(qū)14中的數(shù)據(jù)傳送的有效端點(diǎn)信 息。隨后,該發(fā)送/控制部16基于該所存儲的系統(tǒng)存儲器2中的地址訪 問系統(tǒng)存儲器2。因此,不再需要針對每次數(shù)據(jù)傳送讀出無效端點(diǎn)信息。 以這種方式,能夠降低主控制器設(shè)備1對系統(tǒng)存儲器2的訪問次數(shù), 特別是對無效端點(diǎn)信息的讀取次數(shù)。不管是否存在存儲于存儲區(qū)14中 的系統(tǒng)存儲器2中的地址,都將產(chǎn)生這種效果。在存儲區(qū)14中缺少系 統(tǒng)存儲器2中的地址指示主控制器設(shè)備1不必執(zhí)行任何數(shù)據(jù)傳送。此 外,當(dāng)在存儲器14中存儲了系統(tǒng)存儲器2中的至少一個地址時(shí),主控 制器設(shè)備1能夠執(zhí)行數(shù)據(jù)傳送而無需訪問不促成數(shù)據(jù)傳送的端點(diǎn)信息。接下來,下面說明發(fā)送/接收控制部16的操作。主控制器設(shè)備1 的發(fā)送Z接收控制部16通常以如下方式操作。(1)存儲識別存儲區(qū)14 中的有效端點(diǎn)信息的系統(tǒng)存儲器2中的地址,(2)數(shù)據(jù)傳送,(3) 握手接收,和(4)更新存儲在系統(tǒng)存儲器2中的端點(diǎn)信息。發(fā)送/接收 控制部16重復(fù)步驟(2) - (4),直到所有有效端點(diǎn)信息都不存在了為 止。基于具體流程圖來說明操作的示例。在該示例中,說明由信息選 擇部13執(zhí)行項(xiàng)目(1),并由數(shù)據(jù)傳送部15執(zhí)行項(xiàng)目(2) - (4)的情 形。圖4是示出信息選擇部的操作示例的流程圖。在主控制器設(shè)備1 上電(S11)時(shí),信息選擇部13從系統(tǒng)存儲器2中讀出端點(diǎn)信息(S12)。 當(dāng)信息選擇部13第一次讀出端點(diǎn)信息時(shí),它讀出位于保存在列表地址 中的地址上的端點(diǎn)信息。然后,信息選擇部13分析該讀出的端點(diǎn)信息, 以確定該端點(diǎn)信息是否請求數(shù)據(jù)傳送(S13)。如果端點(diǎn)信息是有效端 點(diǎn)信息(S14為是),信息選擇部13在存儲區(qū)14中存儲系統(tǒng)存儲器2 中的地址(S15)。如果它不是有效端點(diǎn)信息(S14為否),信息選擇 部13不執(zhí)行步驟S15的過程。然后,如果與該讀出的端點(diǎn)信息一起被保存的下一地址與在列表 地址中保存的地址不匹配,則信息選擇部13確定還具有下一端點(diǎn)信息 (S16為是)并重復(fù)執(zhí)行從步驟S12起的過程。在這一點(diǎn)上,信息選擇 部13從系統(tǒng)存儲器2讀出位于下一地址上的端點(diǎn)信息(S12)。以與 上述過程相似的方式執(zhí)行后面的過程。在另一方面,如果下一地址與 在列表地址中保存的地址相匹配,則信息選擇部13確定它已分析過所 有端點(diǎn)信息(S16為否)并迸入等待狀態(tài)(S17)。當(dāng)更新保存在系統(tǒng) 存儲器2中的端點(diǎn)信息時(shí),信息選擇部13接收更新通知(S17中的通 知)并重復(fù)執(zhí)行從步驟S12起的過程。特別地,信息選擇部13從運(yùn)行 于主設(shè)備7上的驅(qū)動器軟件接收更新通知(PCI寄存器寫)。而且,信 息選擇部13在主控制器設(shè)備1斷電、通知發(fā)生了異常操作、或者發(fā)生 了類似情形(S17中的斷電'異常)時(shí)終止操作。hn于壬tfa卡:^、J女玄幼方/;扭祖,cb 6h+4ti1/1 rhMil 士n ^^ ^'l I /J >A4 , 'I、J xj、^U'l丁 IW"RtT "」 U.J "HD""iL'l丁 I^H T_LTT |頃l£i 11 丁o >H ,圖5示出根據(jù)在圖3中所示的端點(diǎn)信息由信息選擇部13分析和存儲端 點(diǎn)信息的結(jié)果的示例。信息選擇部13存儲與請求數(shù)據(jù)傳送的端點(diǎn)信息 數(shù)相同的地址數(shù),例如,以在存儲區(qū)14a中所示的方式。數(shù)據(jù)傳送部 15基于存儲在存儲區(qū)14中的系統(tǒng)存儲器2中的地址來執(zhí)行數(shù)據(jù)傳送。接下來,下面說明數(shù)據(jù)傳送部15的操作。圖6是示出數(shù)據(jù)傳送部 的操作示例的流程圖。在接收到信息選擇部13請求數(shù)據(jù)傳送的通知時(shí), 數(shù)據(jù)傳送部15啟動初始化過程(S21)。例如,該初始化過程可以包 括計(jì)數(shù)器的初始化。隨后,數(shù)據(jù)傳送部15依次讀出存儲在存儲區(qū)14 中的地址(S22)。數(shù)據(jù)傳送部15根據(jù)讀出的地址從系統(tǒng)存儲器2中 讀出位于系統(tǒng)存儲器2中的端點(diǎn)信息(S23)。讀出端點(diǎn)信息的順序例 如通過由計(jì)數(shù)器或類似物指定系統(tǒng)存儲器2中地址的序號來確定。然 后,數(shù)據(jù)傳送部15執(zhí)行由端點(diǎn)信息請求的數(shù)據(jù)傳送(S24)。在這一 點(diǎn)上,數(shù)據(jù)傳送部15例如在預(yù)先確定的時(shí)間期間(其自身的傳送時(shí)間 期間)內(nèi)執(zhí)行與系統(tǒng)存儲器2中的一個地址相對應(yīng)的數(shù)據(jù)傳送。隨后, 如果由端點(diǎn)信息請求的數(shù)據(jù)傳送在該時(shí)間期間內(nèi)未完成,則數(shù)據(jù)傳送 部15在下一次數(shù)據(jù)傳送中傳送剩下的數(shù)據(jù)。數(shù)據(jù)傳送部15接收用于數(shù)據(jù)傳送的握手(S25),并根據(jù)接收到 的握手的結(jié)果確定由該端點(diǎn)信息請求的數(shù)據(jù)傳送是否已完成(S26)。 如果數(shù)據(jù)傳送己完成(S26為是),則數(shù)據(jù)傳送部15從存儲區(qū)14中移 除該端點(diǎn)信息的地址(S27)。另一方面,如果數(shù)據(jù)傳送未完成(S26 為否),則數(shù)據(jù)傳送部15不執(zhí)行步驟S27中的過程。然后,數(shù)據(jù)傳送 部15將當(dāng)前的數(shù)據(jù)傳送反映到在系統(tǒng)存儲器2中所存儲的端點(diǎn)信息 (S28)。數(shù)據(jù)傳送部15確定地址是否被存儲在存儲區(qū)14中。然后, 如果地址存儲在存儲區(qū)14中(S29為是),則數(shù)據(jù)傳送部15重復(fù)從步 驟S31開始的過程。如果在存儲區(qū)14中沒有存儲地址(S29為否), 則數(shù)據(jù)傳送部15終止該過程。如果數(shù)據(jù)傳送未完成,作為一個中間的步驟,系統(tǒng)存儲器2被更新。當(dāng)計(jì)數(shù)器增加且再次指定了相同的地址口卄吉fr荒4P:ff/;^流inr的新抵/^;單 h j ,/jyii i& /jyi 乂 i ,n々'j i n j j/口 ■ ~c o例如,假定在圖6所示的操作示例中具有與在圖3C中示出的端點(diǎn) 信息相類似的有效端點(diǎn)信息,存儲區(qū)14存儲與M-2和H-2端點(diǎn)信息相 對應(yīng)的系統(tǒng)存儲器2中的地址。在步驟S23中,數(shù)據(jù)傳送部15從系統(tǒng) 存儲器2中依次重復(fù)讀出M-2和H-2端點(diǎn)信息。此外,無論完成了與 M-2或H-2端點(diǎn)信息相對應(yīng)的數(shù)據(jù)傳送中的哪一個,就重復(fù)讀出另一 個端點(diǎn)信息。在下面的說明中研究對系統(tǒng)存儲器2的訪問次數(shù)。首先,是以這 樣的方式執(zhí)行對系統(tǒng)存儲器2的訪問,即執(zhí)行從系統(tǒng)存儲器2讀出端 點(diǎn)信息的讀出操作的次數(shù)與所有端點(diǎn)信息的數(shù)目相同,以便信息選擇 部13能夠選擇有效端點(diǎn)信息。然而,在這些操作之后,只需訪問那些 有效端點(diǎn)信息。因此, 一旦主控制器設(shè)備1選擇了有效端點(diǎn)信息,它 不再需要依次讀出保存在系統(tǒng)存儲器2中的所有端點(diǎn)信息,并從而降 低了對系統(tǒng)存儲器2的訪問次數(shù)。正如到現(xiàn)在為止已說明的,通過選擇有效端點(diǎn)信息并在存儲區(qū)14 中存儲系統(tǒng)存儲器2中的地址,根據(jù)本發(fā)明的實(shí)施例能夠降低讀出無 效端點(diǎn)信息的次數(shù),其中系統(tǒng)存儲器2存儲了有效端點(diǎn)信息。結(jié)果, 提高了數(shù)據(jù)傳送效率。此外,由于與存儲端點(diǎn)信息自身的情形相比, 本實(shí)施例需要更少量的存儲空間來存儲系統(tǒng)存儲器2中的地址,它甚 至可應(yīng)用于分配給主控制器設(shè)備的存儲量受限的場合。因此,期望將 本發(fā)明應(yīng)用于更廣泛的應(yīng)用范圍內(nèi)。此外,本發(fā)明甚至能夠很容易地 應(yīng)用到從從屬設(shè)備9的數(shù)據(jù)傳送量或數(shù)據(jù)傳送次數(shù)很大的場合,或者 應(yīng)用到從屬設(shè)備9數(shù)目很大的場合。附帶地,在上述實(shí)施例中,盡管在存儲區(qū)14中存儲系統(tǒng)存儲器2 中的地址,也可以在存儲區(qū)14中臨時(shí)存儲端點(diǎn)信息自身。以這種方式,能夠在主控制器設(shè)備1中完成由有效端點(diǎn)信息請求的數(shù)據(jù)傳送,并從 而降低從系統(tǒng)存儲器2讀出有效端點(diǎn)信息的操作的次數(shù)。此外,通過只存儲與存儲區(qū)14中的數(shù)據(jù)傳送相關(guān)的有效端點(diǎn)信息部分,也能夠降 低對系統(tǒng)存儲器2的訪問次數(shù)。通過只存儲有效端點(diǎn)信息部分,與存 儲整個有效端點(diǎn)信息的情形相比,還能夠進(jìn)一步減少所需要的存儲量。第二實(shí)施例作為第二個實(shí)施例,下文將描述一種情形,其中從位于系統(tǒng)存儲 器中的多個端點(diǎn)信息中選擇促成數(shù)據(jù)傳送的端點(diǎn)信息,并在主控制器 設(shè)備1內(nèi)的存儲區(qū)14中存儲所選擇的端點(diǎn)信息作為有效端點(diǎn)信息。主 控制器設(shè)備1具有與在圖2中所示設(shè)備相似的結(jié)構(gòu)。在下面的描述中, 主要說明發(fā)送/接收控制部16與第一實(shí)施例中的操作差異。信息選擇部13—般地按照圖4所示的流程圖進(jìn)行操作,除了在歩 驟S15中它在系統(tǒng)存儲器2中除了存儲與有效端點(diǎn)信息對應(yīng)的地址之 外還存儲有效端點(diǎn)信息本身。其它操作與第一實(shí)施例的操作相同。例 如,圖7示出了由信息選擇部13分析和存儲在圖3中所示的端點(diǎn)信息 的結(jié)果的示例。與圖5相對照,存儲區(qū)的示例被示為存儲區(qū)14b,該存 儲區(qū)存儲系統(tǒng)存儲器2中的地址,其中相應(yīng)的端點(diǎn)信息與該端點(diǎn)信息 本身一起位于該地址上。接下來,下面說明數(shù)據(jù)傳送部15的操作。圖 8是示出依照本發(fā)明第二實(shí)施例的數(shù)據(jù)傳送的操作示例的流程圖。在圖 8中,與在圖6中的步驟具有相同步驟號的操作與在圖6中的步驟的操 作相同。首先,數(shù)據(jù)傳送部15執(zhí)行初始化過程(S21)。然后,數(shù)據(jù) 傳送部15依次讀出存儲在存儲區(qū)14中的端點(diǎn)信息(S31)。讀出端點(diǎn) 信息的順序例如通過由計(jì)數(shù)器或類似物指定端點(diǎn)信息的序號來確定。 然后,數(shù)據(jù)傳送部15執(zhí)行由端點(diǎn)信息請求的數(shù)據(jù)傳送(S24)。在單 個傳送中的傳送量與第一實(shí)施例的傳送量相同。在握手(S25)之后,數(shù)據(jù)傳送部15更新存儲在存儲區(qū)14中的端 點(diǎn)信息(S32)。例如,可以執(zhí)行這樣的或類似的過程從端點(diǎn)信息中移除與已傳送并握手的數(shù)據(jù)相關(guān)的信息,而不移除與需要被重復(fù)傳送 的數(shù)據(jù)相關(guān)的信息。此外,如果已完成由端點(diǎn)信息請求的數(shù)據(jù)傳送, 則從存儲區(qū)14移除該端點(diǎn)信息。此外,如果已完成由端點(diǎn)信息請求的數(shù)據(jù)傳送(S26為是),則數(shù)據(jù)傳送部15更新位于系統(tǒng)存儲器2中的 端點(diǎn)信息(S33)。數(shù)據(jù)傳送部15通過使用存儲在存儲區(qū)14中的系統(tǒng) 存儲器中的地址更新端點(diǎn)信息。如果未完成數(shù)據(jù)傳送(S26為否),則 數(shù)據(jù)傳送部15不執(zhí)行步驟S33的過程。接下來,如果在存儲區(qū)14中 存儲了端點(diǎn)信息(S34為是),則數(shù)據(jù)傳送部15重復(fù)從步驟S31起的 過程。如果在存儲區(qū)14中沒有存儲端點(diǎn)信息(S34為否),則數(shù)據(jù)傳 送部15終止過程。正如到現(xiàn)在為止已說明的,通過選擇有效端點(diǎn)信息并在存儲區(qū)14 中存儲它們,根據(jù)本發(fā)明的實(shí)施例能夠降低讀出無效端點(diǎn)信息的次數(shù)。 而且,由于在存儲區(qū)14中存儲了有效端點(diǎn)信息,因此能夠在主控制器 設(shè)備1中完成由該有效端點(diǎn)信息請求的數(shù)據(jù)傳送,并從而降低了從系 統(tǒng)存儲器2讀出有效端點(diǎn)信息的操作的次數(shù)。通過這種方式,提高了 數(shù)據(jù)傳送效率。正如到現(xiàn)在為止已說明的,通過在主控制器設(shè)備1內(nèi)的存儲區(qū)14 中存儲系統(tǒng)存儲器2中的地址,其中該地址從存儲在系統(tǒng)存儲器2中 的端點(diǎn)信息中識別請求數(shù)據(jù)傳送的有效端點(diǎn)信息,根據(jù)本發(fā)明的至少 一個優(yōu)選實(shí)施例能夠減少對不促成數(shù)據(jù)傳送的無效端點(diǎn)信息的訪問次 數(shù)。通過在主控制器設(shè)備1內(nèi)的存儲區(qū)中存儲有效端點(diǎn)信息,能夠進(jìn) 一步減少對位于系統(tǒng)存儲器2中的有效端點(diǎn)信息的訪問次數(shù)。借助這 些特征,提高數(shù)據(jù)傳送效率是可以期待的。附帶地,應(yīng)將上述在存儲區(qū)中存儲傳送請求信息的每個實(shí)施例中 的示例僅僅看作一個示例,而本發(fā)明并不局限于這些示例。此外,作 為傳送請求信息的存儲在存儲區(qū)14中的識別有效端點(diǎn)信息的信息的具 體示例,也應(yīng)僅被作為示例看待??商娲?,代替上述信息或者除上述信息之外,減少對位于系統(tǒng)存儲器2中的端點(diǎn)信息的訪問次數(shù)的任 何信息都能使用。而且,可以將這樣的信息彼此結(jié)合起來使用。顯然,本發(fā)明并不局限于上述實(shí)施例,而可以在不脫離發(fā)明的范 圍和精神的前提下進(jìn)行修改和改變。
權(quán)利要求
1.一種安裝在具有系統(tǒng)存儲器的與USB設(shè)備通信的主設(shè)備中的主控制器設(shè)備,包括信息選擇部,通過分析保存在所述系統(tǒng)存儲器中的多個端點(diǎn)信息,選擇請求數(shù)據(jù)傳送的端點(diǎn)信息;存儲區(qū),存儲系統(tǒng)存儲器中的至少一個地址,該至少一個地址識別由所述信息選擇部選擇的端點(diǎn)信息;以及數(shù)據(jù)傳送部,根據(jù)由存儲在所述存儲區(qū)中的系統(tǒng)存儲器中的至少一個地址所識別的所述端點(diǎn)信息,執(zhí)行所請求的數(shù)據(jù)傳送。
2. 依據(jù)權(quán)利要求1的主控制器設(shè)備,其中,所述數(shù)據(jù)傳送部持續(xù) 進(jìn)行數(shù)據(jù)傳送,直至所傳送數(shù)據(jù)的量達(dá)到所請求數(shù)據(jù)傳送的數(shù)據(jù)量, 或者傳送時(shí)間達(dá)到其自身分配的傳送時(shí)間期間,并重復(fù)數(shù)據(jù)傳送,直 至完成由端點(diǎn)信息請求的數(shù)據(jù)傳送,所述端點(diǎn)信息由存儲在所述存儲 區(qū)中的系統(tǒng)存儲器中的地址所識別。
3. 依據(jù)權(quán)利要求2的主控制器設(shè)備,其中,所述存儲區(qū)在系統(tǒng)存 儲器中存儲多個地址;以及所述數(shù)據(jù)傳送部引用由系統(tǒng)存儲器中的所述多個地址識別的多個 端點(diǎn)信息,并重復(fù)數(shù)據(jù)傳送,直到所傳送數(shù)據(jù)的量基于所述多個端點(diǎn) 信息達(dá)到所述多個端點(diǎn)信息所請求的數(shù)據(jù)傳送的數(shù)據(jù)量。
4. 依據(jù)權(quán)利要求1的主控制器設(shè)備,其中,所述信息選擇部得到 保存在所述系統(tǒng)存儲器中的端點(diǎn)信息發(fā)生改變的通知,根據(jù)所述通知 按序分析保存在所述系統(tǒng)存儲器中的端點(diǎn)信息,并更新在所述存儲區(qū) 中存儲的系統(tǒng)存儲器中的地址。
5. 依據(jù)權(quán)利要求2的主控制器設(shè)備,其中,所述信息選擇部得到 保存在所述系統(tǒng)存儲器中的端點(diǎn)信息發(fā)生改變的通知,根據(jù)所述通知按序分析保存在所述系統(tǒng)存儲器中的端點(diǎn)信息,并更新在所述存儲區(qū) 中存儲的系統(tǒng)存儲器中的地址。
6. 依據(jù)權(quán)利要求3的主控制器設(shè)備,其中,所述信息選擇部得到 保存在所述系統(tǒng)存儲器中的端點(diǎn)信息發(fā)生改變的通知,根據(jù)所述通知 按序分析保存在所述系統(tǒng)存儲器中的端點(diǎn)信息,并更新在所述存儲區(qū) 中存儲的系統(tǒng)存儲器中的地址。
7. 依據(jù)權(quán)利要求1的主控制器設(shè)備,其中,在其自身分配的傳送 時(shí)間期間內(nèi)數(shù)據(jù)傳送終止時(shí),數(shù)據(jù)傳送部更新保存在所述系統(tǒng)存儲器 中的端點(diǎn)信息。
8. 依據(jù)權(quán)利要求2的主控制器設(shè)備,其中,在其自身分配的傳送 時(shí)間期間內(nèi)數(shù)據(jù)傳送終止時(shí),數(shù)據(jù)傳送部更新保存在所述系統(tǒng)存儲器 中的端點(diǎn)信息。
9. 依據(jù)權(quán)利要求3的主控制器設(shè)備,其中,在其自身分配的傳送 時(shí)間期間內(nèi)數(shù)據(jù)傳送終止時(shí),數(shù)據(jù)傳送部更新保存在所述系統(tǒng)存儲器 中的端點(diǎn)信息。
10. 依據(jù)權(quán)利要求4的主控制器設(shè)備,其中,在其自身分配的傳 送時(shí)間期間內(nèi)數(shù)據(jù)傳送終止時(shí),數(shù)據(jù)傳送部更新保存在所述系統(tǒng)存儲 器中的端點(diǎn)信息。
11. 依據(jù)權(quán)利要求1的主控制器設(shè)備,其中,所述存儲區(qū)除了存 儲所述系統(tǒng)存儲器中的地址之外,還存儲所選擇的端點(diǎn)信息。
12. 依據(jù)權(quán)利要求2的主控制器設(shè)備,其中,所述存儲區(qū)除了存 儲所述系統(tǒng)存儲器中的地址之外,還存儲所選擇的端點(diǎn)信息。
13. 依據(jù)權(quán)利要求3的主控制器設(shè)備,其中,所述存儲區(qū)除了存 儲所述系統(tǒng)存儲器中的地址之外,還存儲所選擇的端點(diǎn)信息。
14. 依據(jù)權(quán)利要求4的主控制器設(shè)備,其中,所述存儲區(qū)除了存 儲所述系統(tǒng)存儲器中的地址之外,還存儲所選擇的端點(diǎn)信息。
15. 依據(jù)權(quán)利要求1的主控制器設(shè)備,其中,數(shù)據(jù)傳送部從所述 存儲區(qū)移除系統(tǒng)存儲器中的地址,所述地址對應(yīng)于已為其完成數(shù)據(jù)傳 送的端點(diǎn)信息。
16. 依據(jù)權(quán)利要求2的主控制器設(shè)備,其中,數(shù)據(jù)傳送部從所述 存儲區(qū)移除系統(tǒng)存儲器中的地址,所述地址對應(yīng)于已為其完成數(shù)據(jù)傳 送的端點(diǎn)信息。
17. 依據(jù)權(quán)利要求3的主控制器設(shè)備,其中,數(shù)據(jù)傳送部從所述 存儲區(qū)移除系統(tǒng)存儲器中的地址,所述地址對應(yīng)于己為其完成數(shù)據(jù)傳 送的端點(diǎn)信息。
18. 依據(jù)權(quán)利要求1的主控制器設(shè)備,其中,所述USB設(shè)備是無 線USB設(shè)備。
19. 一種主控制器設(shè)備的數(shù)據(jù)傳送控制方法,其中所述主控制設(shè) 備安裝在具有系統(tǒng)存儲器的與USB設(shè)備通信的主設(shè)備中傳送,所述方 法包括逐一讀出保存在所述系統(tǒng)存儲器中的多個端點(diǎn)信息; 通過分析所讀出的端點(diǎn)信息,選擇請求數(shù)據(jù)傳送的端點(diǎn)信息; 在存儲區(qū)中存儲識別所選擇端點(diǎn)信息的系統(tǒng)存儲器中的地址; 對于保存在所述系統(tǒng)存儲器中的所述多個端點(diǎn)信息的每一個,重復(fù)所述存儲步驟;并且根據(jù)存儲在所述存儲區(qū)中的系統(tǒng)存儲器中的至少一個地址執(zhí)行數(shù)據(jù)傳送。
全文摘要
在用于USB的主控制器設(shè)備中,由于必須相繼讀出端點(diǎn)信息的一個循環(huán),而該端點(diǎn)信息包括不促成數(shù)據(jù)傳送的端點(diǎn)信息,因而會不令人滿意地降低數(shù)據(jù)傳送效率。依照本發(fā)明的一個實(shí)施例,一種安裝在具有系統(tǒng)存儲器2的與USB設(shè)備通信的主設(shè)備中的主控制器設(shè)備包括信息選擇部13,通過分析保存在系統(tǒng)存儲器2中的多個端點(diǎn)信息,選擇請求數(shù)據(jù)傳送的端點(diǎn)信息;存儲區(qū)14,存儲在系統(tǒng)存儲器2中的至少一個地址,該至少一個地址識別所選擇的端點(diǎn)信息;以及數(shù)據(jù)傳送部15,基于由存儲在存儲區(qū)14中的系統(tǒng)存儲器2中的至少一個地址所識別的端點(diǎn)信息,執(zhí)行所請求的數(shù)據(jù)傳送。
文檔編號H04L12/40GK101409711SQ200810169918
公開日2009年4月15日 申請日期2008年10月9日 優(yōu)先權(quán)日2007年10月9日
發(fā)明者狩谷廣士 申請人:恩益禧電子股份有限公司