本發明專利技術公開了通用序列匯流排指令的傳輸方法及相關的電子裝置。該方法包含:(A)在一存儲器配置一暫存區;(B)接收一USB指令;(C)載入該USB指令的一控制傳輸信息;(D)將該控制傳輸信息儲存至該暫存區;(E)再次執行步驟(B)至步驟(D)直到滿足一結束控制聚合的條件;(F)根據該暫存區的內容產生一已聚合的USB指令;以及(G)傳送該已聚合的USB指令。(G)傳送該已聚合的USB指令。(G)傳送該已聚合的USB指令。
【技術實現步驟摘要】
通用序列匯流排指令的傳輸方法及相關的電子裝置
[0001]本專利技術是關于通用序列匯流排(universal serial bus,USB),尤其是關于傳輸USB指令的方法及相關的電子裝置。
技術介紹
[0002]在現有技術中,主機端的USB控制器借由發送USB指令來對USB裝置進行操作。請參閱圖1,圖1顯示主機端發送USB指令及接收確認信息(acknowledge,簡寫為「ACK」)的示意圖。如圖1所示,主機端的應用層(application layer)每發送一個USB指令(例如控制傳輸指令(control transfer command))(CMD_A、CMD_B、CMD_C及CMD_D)給硬件層(hardware layer),就必須等待硬件層所回傳的確認信息ACK(例如,ACK_A、ACK_B、ACK_C及ACK_D,分別對應于USB指令CMD_A、CMD_B、CMD_C及CMD_D)。每個確認信息ACK代表一次交握(handshake)程序。因此,當USB控制器對USB裝置連續進行多次操作時,就會耗費時間在接收及處理這些確認信息,造成電子裝置的效能變差。尤其當USB裝置在某些狀態(例如初始化、從睡眠狀態中喚醒(resume from sleep)等)下需要頻繁的讀寫操作時,就需要更有效率的方法來降低匯流排的輸入/輸出請求(bus I/O request)次數。
技術實現思路
[0003]鑒于現有技術的不足,本專利技術的一目的在于提供一種USB指令的傳輸方法及相關的電子裝置,以改善現有技術的不足。
[0004]本專利技術的一實施例提供一種電子裝置,用來傳輸USB指令,包含:一USB控制器、一存儲器以及一計算電路。存儲器儲存多個程序代碼或程序指令。計算電路用來執行該些程序代碼或程序指令以執行下步驟:(A)在該存儲器配置一暫存區;(B)接收一USB指令;(C)載入該USB指令的一控制傳輸信息;(D)將該控制傳輸信息儲存至該暫存區;(E)再次執行步驟(B)至步驟(D)直到滿足一結束控制聚合的條件;(F)根據該暫存區的內容產生一已聚合的USB指令;以及(G)將該已聚合的USB指令傳送給該USB控制器。
[0005]本專利技術的另一實施例提供一種USB指令的傳輸方法,包含:(A)在一存儲器配置一暫存區;(B)接收一USB指令;(C)載入該USB指令的一控制傳輸信息;(D)將該控制傳輸信息儲存至該暫存區;(E)再次執行步驟(B)至步驟(D)直到滿足一結束控制聚合的條件;(F)根據該暫存區的內容產生一已聚合的USB指令;以及(G)傳送該已聚合的USB指令。
[0006]本專利技術的USB指令的傳輸方法及相關的電子裝置能夠聚集多個USB指令以減少確認信息的交握次數。相較于現有技術,本專利技術的USB指令的傳輸方法及相關的電子裝置不會耗費大量時間在信息的交握上,因此可以提升效能。
[0007]有關本專利技術的特征、實際操作與功效,配合附圖作實施例詳細說明如下。
附圖說明
[0008]圖1顯示主機端發送USB指令及接收確認信息的示意圖;
[0009]圖2是本專利技術電子裝置的一實施例的功能方框圖;
[0010]圖3為本專利技術控制聚合的一實施例的示意圖;
[0011]圖4為本專利技術USB指令的傳輸方法的一實施例的流程圖;
[0012]圖5顯示暫存區的儲存內容的一個例子;
[0013]圖6顯示步驟S250的子步驟S255;以及
[0014]圖7為本專利技術控制聚合的另一實施例的示意圖。
具體實施方式
[0015]以下說明內容的技術用語是參照本
的習慣用語,如本說明書對部分用語有加以說明或定義,該部分用語的解釋是以本說明書的說明或定義為準。
[0016]本專利技術的公開內容包含USB指令的傳輸方法及相關的電子裝置。由于本專利技術的電子裝置所包含的部分元件單獨而言可能為已知元件,因此在不影響該裝置專利技術的充分公開及可實施性的前提下,以下說明對于已知元件的細節將予以節略。此外,本專利技術的USB指令的傳輸方法的部分或全部流程可以是軟件及/或固件的形式,并且可借由本專利技術的電子裝置或其等效裝置來執行,在不影響該方法專利技術的充分公開及可實施性的前提下,以下方法專利技術的說明將著重于步驟內容而非硬件。
[0017]圖2是本專利技術電子裝置的一實施例的功能方框圖。電子裝置100包含計算電路120、存儲器140及USB控制器160。計算電路120、存儲器140及USB控制器160互相耦接。存儲器140包含暫存區145。在一些實施例中,電子裝置100作為主機端,并利用USB控制器160與USB裝置(圖未示)溝通或協作。舉例來說,計算電路120可以是電腦、平板、手機的處理器、微處理單元、數字信號處理器、特殊應用集成電路(Application Specific Integrated Circuit,ASIC),或其等效電路,并且計算電路120通過USB控制器160與USB接口的網路接口卡(network interface card,NIC)(即,一種USB裝置)溝通,以傳送或接收網路封包。
[0018]存儲器140儲存程序代碼或程序指令,計算電路120借由執行該些程序代碼或程序指令來實現電子裝置100的部分或全部功能。儲存于存儲器140程序代碼或程序指令包含USB控制器160的固件,計算電路120還借由執行該固件來控制USB控制器160。舉例來說,當計算電路120所執行的應用層發出USB指令時,USB控制器160的固件根據USB指令控制USB控制器160進行相對應的操作(例如,讀、寫、傳送、接收等操作)。
[0019]圖3為本專利技術控制聚合(control aggregation)的一實施例的示意圖。圖4為本專利技術USB指令的傳輸方法的一實施例的流程圖,包含以下的步驟。以下的說明請同時參閱圖2至圖4。
[0020]步驟S210:計算電路120(更明確地說,計算電路120所執行的USB控制器160的固件)收到控制聚合請求(control aggregation request)。在一些實施例中,控制聚合請求是由計算電路120所執行的應用程序(應用層)發出。
[0021]步驟S220:計算電路120(更明確地說,計算電路120所執行的USB控制器160的固件)進行控制聚合的初始化。在一些實施例中,步驟S220包含子步驟S225:計算電路120(更明確地說,計算電路120所執行的USB控制器160的固件)在存儲器140配置暫存區145、設定逾時(time
?
out)長度(或稱為逾時值)及/或設定指令數閾值。暫存區145用來暫存USB指令;也就是說,當USB控制器160的固件收到USB指令后可以先將該USB指令暫存到暫存區145,而
非立即控制USB控制器160處理該USB指令。如圖3的例子所示,當USB控制器160的固件分別在時間點T1、時間點T2及時間點T3收到USB指令CMD_1、USB指令CMD_2及USB指令CMD_3時,USB控制器160本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.一種電子裝置,用來傳輸通用序列匯流排指令,包含:一通用序列匯流排控制器;一存儲器,耦接該通用序列匯流排控制器,儲存多個程序代碼或程序指令;以及一計算電路,耦接該通用序列匯流排控制器及該存儲器,用來執行該些程序代碼或程序指令以執行以下步驟:(A)在該存儲器配置一暫存區;(B)接收一通用序列匯流排指令;(C)載入該通用序列匯流排指令的一控制傳輸信息;(D)將該控制傳輸信息儲存至該暫存區;(E)再次執行步驟(B)至步驟(D)直到滿足一結束控制聚合的條件;(F)根據該暫存區的內容產生一已聚合的通用序列匯流排指令;以及(G)將該已聚合的通用序列匯流排指令傳送給該通用序列匯流排控制器。2.如權利要求1所述的電子裝置,其中,該結束控制聚合的條件是該暫存區的一可用空間不足。3.如權利要求1所述的電子裝置,還包含:(H)當步驟(D)完成時,以一控制信號通知該通用序列匯流排控制器該通用序列匯流排指令的該控制傳輸信息已儲存至該暫存區。4.如權利要求3所述的電子裝置,其中,該通用序列匯流排控制器回應該...
【專利技術屬性】
技術研發人員:黃致遠,黃振庭,林群皓,翁而咨,朱世強,
申請(專利權)人:瑞昱半導體股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。