專利名稱:應(yīng)用于usb裝置間數(shù)據(jù)復(fù)制的方法與系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種應(yīng)用于USB裝置間數(shù)據(jù)復(fù)制的方法與系統(tǒng),尤指一種用于USB裝置間,數(shù)字數(shù)據(jù)傳輸?shù)膹?fù)制系統(tǒng)及其復(fù)制方法。
背景技術(shù):
目前應(yīng)用在可攜式電子產(chǎn)品的傳輸接口,應(yīng)屬USB最為普遍。USB的規(guī)格從早期的USB1.0,1.1版本,晉升為目前USB2.0版本,除了傳輸速度的大幅提升外,USB2.0的附屬規(guī)格USB OTG更提供了兩個USB OTG的裝置間,可以直接對傳文件數(shù)據(jù)的機制。由于目前具有USB2.0的裝置并不一定具有OTG的功能,而且USB1.1的裝置亦有大量的產(chǎn)品繼續(xù)使用中,若要對兩個不具有OTG功能的USB裝置進行文件復(fù)制,必須要通過各式的計算機PC才能進行。
USB標(biāo)準(zhǔn)原本在提供計算機PC與接口設(shè)備間統(tǒng)一的傳輸接口,但是在后PC時代隨著消費性電子產(chǎn)品的多樣化發(fā)展,裝置與裝置間直接對傳文件數(shù)據(jù)的需求益增明顯。目前雖然有USB OTG的規(guī)格可以提供兩個具有OTG功能的裝置彼此對傳數(shù)據(jù)的機制,但是對于未具有OTG功能的裝置仍須通過計算機PC才能彼此進行文件的復(fù)制。
請參考圖1,為現(xiàn)有USB裝置通過計算機互傳數(shù)據(jù)的架構(gòu)示意圖。圖1中顯示一個人數(shù)字助理30與一音樂播放機40之間欲進行文件的復(fù)制,兩個裝置需同時通過外接或內(nèi)置的HUB集線器20連接至計算機10,借由計算機10所執(zhí)行的應(yīng)用軟件如文件總管才能將文件由個人數(shù)字助理30復(fù)制至音樂播放機40,或是由音樂播放機40復(fù)制至個人數(shù)字助理30。
請參考圖2,為現(xiàn)有USB裝置通過計算機互傳數(shù)據(jù)的系統(tǒng)方塊示意圖。其中兩部USB裝置30、40連接至計算機10,計算機10中硬件層102的序列接口引擎電路SIE(Serial Interface Engine)負責(zé)與USB裝置進行低階數(shù)據(jù)的傳輸,同時計算機10執(zhí)行相關(guān)應(yīng)用程序106用以通過驅(qū)動程序1042與USB裝置進行高階溝通,并通過操作系統(tǒng)104中的文件系統(tǒng)1044來分析USB裝置內(nèi)的文件內(nèi)容。當(dāng)兩個USB裝置的文件內(nèi)容均已分析,便可進行數(shù)據(jù)復(fù)制。由于消費者通常在戶外使用可攜式電子產(chǎn)品,當(dāng)有文件要和朋友的手持式裝置分享時,若兩個裝置不具有OTG功能,或沒有計算機PC可使用,則將無法進行文件的對傳。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明所要解決的技術(shù)問題在于,提供一種應(yīng)用于USB裝置間數(shù)據(jù)復(fù)制的方法與系統(tǒng),可以提供兩個以上USB裝置互相對傳文件數(shù)據(jù),而且不需要計算機的輔助。
本發(fā)明的數(shù)字數(shù)據(jù)復(fù)制系統(tǒng),作為一來源USB裝置與至少一目標(biāo)USB裝置間數(shù)據(jù)復(fù)制的控制,利用一中央處理器,通過至少一序列接口引擎電路分別連接到該來源USB裝置與該些目標(biāo)USB裝置,用來控制該些序列接口引擎電路,以將該來源USB裝置中的數(shù)字數(shù)據(jù)傳送到該些目標(biāo)USB裝置;及一數(shù)據(jù)緩沖單元,連接于該些序列接口引擎電路與該中央處理器,用以提供數(shù)字數(shù)據(jù)復(fù)制過程中所需的內(nèi)存緩沖空間。
本發(fā)明的數(shù)字數(shù)據(jù)復(fù)制方法,利用至少一存儲區(qū)塊提供一來源USB裝置與至少一目標(biāo)USB裝置間數(shù)據(jù)復(fù)制時所需的空間,先分析該來源USB裝置中數(shù)字數(shù)據(jù)的文件內(nèi)容;然后讀取該來源USB裝置的數(shù)字數(shù)據(jù),并依序存放于該些存儲區(qū)塊中;接下來依序判斷該些存儲區(qū)塊是否已存滿數(shù)字數(shù)據(jù);再依序復(fù)制該些存儲區(qū)塊中的數(shù)字數(shù)據(jù)到該些目標(biāo)USB裝置;接著判斷該來源USB裝置的數(shù)字數(shù)據(jù)是否均已復(fù)制完成;最后顯示復(fù)制完成消息。
本發(fā)明具有下述優(yōu)點1、不需計算機即可提供兩個USB裝置進行文件復(fù)制本發(fā)明提供一種嵌入式裝置在不需借助計算機PC的功能也可提供USB裝置間文件復(fù)制功能。
2、傳統(tǒng)USB裝置即可適用現(xiàn)行USB2.0規(guī)范中有OTG子規(guī)范可提供裝置間數(shù)據(jù)對傳的功能,具有HOST主機功能的裝置亦可將其它USB裝置視為外圍設(shè)備,對其作文件復(fù)制的功能,但是USB的規(guī)范推行已有數(shù)年,大部分使用中的USB裝置均無法進行文件對傳的功能。因此,通過本發(fā)明即可使傳統(tǒng)USB裝置達成文件對傳功能。
3、復(fù)制文件速度快傳統(tǒng)的USB裝置需借助計算機PC的功能以進行文件復(fù)制,然而計算機PC是一個泛用型多功能的裝置,可能有許多功能同時進行,如上網(wǎng)、打印、游戲等,在多執(zhí)行序的操作系統(tǒng)中,大部分的執(zhí)行程序被依序分配固定的時間,因此計算機PC對于復(fù)制大量文件的過程可能會耗時很久。本發(fā)明提供一專門復(fù)制文件的復(fù)制系統(tǒng)及方法,利用循環(huán)隊列同時進行數(shù)據(jù)讀寫的方式,可以專責(zé)處理兩個裝置間文件復(fù)制,而且該記憶容量可以彈性擴充。
為更好地說明本發(fā)明的特征及技術(shù)內(nèi)容,請參閱以下有關(guān)本發(fā)明的詳細說明與附圖,然而該附圖僅提供參考與說明用,并非用來對本發(fā)明加以限制者。
圖1為現(xiàn)有USB裝置通過計算機互傳數(shù)據(jù)的架構(gòu)示意圖;圖2為現(xiàn)有USB裝置通過計算機互傳數(shù)據(jù)的系統(tǒng)方塊示意圖;圖3為本發(fā)明數(shù)字數(shù)據(jù)復(fù)制系統(tǒng)架構(gòu)示意圖;圖4為本發(fā)明數(shù)字數(shù)據(jù)復(fù)制系統(tǒng)方塊示意圖;圖5為本發(fā)明使用的循環(huán)式數(shù)據(jù)存儲示意圖;以及圖6為本發(fā)明數(shù)字數(shù)據(jù)復(fù)制方法流程示意圖。
其中,附圖標(biāo)記30個人數(shù)字助理40音樂播放機20HUB集線器10計算機102硬件層104操作系統(tǒng)1042驅(qū)動程序1044文件系統(tǒng)106應(yīng)用程序50數(shù)字數(shù)據(jù)復(fù)制系統(tǒng)502序列接口引擎電路504中央處理器
506數(shù)據(jù)緩沖單元508系統(tǒng)內(nèi)存509使用者接口60來源USB裝置70目標(biāo)USB裝置具體實施方式
請參考圖3,為本發(fā)明數(shù)字數(shù)據(jù)復(fù)制系統(tǒng)架構(gòu)示意圖。本發(fā)明數(shù)字數(shù)據(jù)復(fù)制系統(tǒng)50連接有一來源USB裝置60與至少一目標(biāo)USB裝置70,可以讓使用者不需借助計算機,即可將文件由來源裝置復(fù)制到目標(biāo)裝置。
請參考圖4,為本發(fā)明數(shù)字數(shù)據(jù)復(fù)制系統(tǒng)方塊示意圖。本發(fā)明數(shù)字數(shù)據(jù)復(fù)制系統(tǒng)50連接于一來源USB裝置60與至少一目標(biāo)USB裝置70之間,用來作為裝置間數(shù)據(jù)復(fù)制的控制。數(shù)字數(shù)據(jù)復(fù)制系統(tǒng)50具有至少一序列接口引擎電路502,分別連接該來源USB裝置60與該些目標(biāo)USB裝置70。一中央處理器504,連接于該些序列接口引擎電路502,用來控制該些序列接口引擎電路502,將該來源USB裝置60中的數(shù)字數(shù)據(jù)傳送到該些目標(biāo)USB裝置70;及一數(shù)據(jù)緩沖單元506,連接于該些序列接口引擎電路502與該中央處理器504,用以提供數(shù)字數(shù)據(jù)復(fù)制過程中所需的內(nèi)存緩沖空間。
再參考圖4,數(shù)字數(shù)據(jù)復(fù)制系統(tǒng)50還進一步包括一系統(tǒng)內(nèi)存508連接于該中央處理器504,用來存儲一固件程序。該中央處理器504執(zhí)行該固件程序,用以控制該來源USB裝置60中的數(shù)據(jù)復(fù)制到該些目標(biāo)USB裝置70。該中央處理器504執(zhí)行該固件程序,用以控制該數(shù)據(jù)緩沖單元506區(qū)分成至少一存儲區(qū)塊,并在數(shù)據(jù)復(fù)制過程中,依序?qū)⒃搧碓碪SB裝置60的數(shù)據(jù)存放于該些存儲區(qū)塊中。該中央處理器504執(zhí)行該固件程序,控制該數(shù)據(jù)緩沖單元506依序?qū)⒁汛鏉M數(shù)據(jù)的存儲區(qū)塊復(fù)制到該目標(biāo)USB裝置70。
再參考圖4,數(shù)字數(shù)據(jù)復(fù)制系統(tǒng)50還進一步包括一使用者接口509,連接到該中央處理器504,使用者可以利用該使用者接口509傳送一工作指令到該中央處理器504,作為USB裝置數(shù)據(jù)復(fù)制的控制。該使用者接口509也可為一指示燈號或一LCD顯示器。
配合圖4,請參考圖5,為本發(fā)明使用的循環(huán)式數(shù)據(jù)存儲示意圖。該中央處理器504控制該數(shù)據(jù)緩沖單元506區(qū)分成至少一存儲區(qū)塊Bank1、Bank2…Bank N,其中第一存儲區(qū)塊Bank1的容量設(shè)計為較小容量,當(dāng)使用者通過使用者接口509開始激活進行裝置間文件復(fù)制后,中央處理器504會控制連接于來源USB裝置60的序列接口引擎電路502,使之驅(qū)動來源USB裝置60動作,并將來源USB裝置60中的數(shù)字數(shù)據(jù)復(fù)制傳送到該數(shù)據(jù)緩沖單元506,并從最小容量的第一存儲區(qū)塊Bank1開始存儲。當(dāng)每一存儲區(qū)塊存滿數(shù)據(jù)后,中央處理器504會控制來源USB裝置60依序往下一個存儲區(qū)塊繼續(xù)存儲,若是存至最后一存儲區(qū)塊Bank N后,中央處理器504會控制來源USB裝置60將數(shù)據(jù)跳至第一存儲區(qū)塊Bank1,并依照上述順序繼續(xù)存儲數(shù)據(jù)。
同時,在上述數(shù)據(jù)存儲過程中,每當(dāng)一存儲區(qū)塊存滿數(shù)據(jù)后,中央處理器504會控制數(shù)據(jù)緩沖單元506,將存儲區(qū)塊中的數(shù)據(jù)復(fù)制到目標(biāo)USB裝置70,等到此存儲區(qū)塊復(fù)制取完數(shù)據(jù)后,中央處理器504會對該存儲區(qū)塊標(biāo)記為一空的存儲區(qū)塊,并判斷下一個存儲區(qū)塊是否存滿,再依序復(fù)制數(shù)據(jù)到目標(biāo)USB裝置70。再者,由于內(nèi)存的特性中讀取的速度遠大于寫入的速度,因此暫存來源文件數(shù)據(jù)時需先判別暫存區(qū)塊是否為空的,以避免數(shù)據(jù)被覆蓋。
再參考圖4,圖中有四個SIE接口的序列接口引擎電路502連接USB裝置(SIE數(shù)量可擴充),其中來源USB裝置60并未固定在哪一個連接端口,而是經(jīng)由使用者接口509來設(shè)定,待設(shè)定后剩余的USB裝置皆為目標(biāo)USB裝置70。中央處理器504為整個系統(tǒng)的控制核心,可提供固件程序的執(zhí)行,數(shù)據(jù)緩沖單元506則提供文件復(fù)制過程中所需要的內(nèi)存緩沖空間。使用者接口509為系統(tǒng)與使用者間的操作接口,如按鍵提供使用者簡易的輸入,燈號或LCD則顯示系統(tǒng)的相關(guān)狀態(tài)與消息。
配合圖4,請參考圖6,為本發(fā)明數(shù)字數(shù)據(jù)復(fù)制方法流程示意圖。本發(fā)明方法利用至少一存儲區(qū)塊提供一來源USB裝置與至少一目標(biāo)USB裝置間數(shù)據(jù)復(fù)制時所需的空間,其流程步驟如下所述首先執(zhí)行數(shù)字數(shù)據(jù)復(fù)制系統(tǒng)自我初始化的過程S100,待來源USB裝置與該些目標(biāo)USB裝置連接后,即進行分析USB裝置中數(shù)字數(shù)據(jù)的文件內(nèi)容S102;分析完成后,當(dāng)使用者下達一工作指令S104(如復(fù)制指令),即進行文件復(fù)制的過程;文件復(fù)制的過程中會先判別是否有空的存儲區(qū)塊S106,如果有,則開始讀取該來源USB裝置的數(shù)字數(shù)據(jù),并依序存放于該些存儲區(qū)塊中S108;然后,同時依序判斷該些存儲區(qū)塊是否已存滿數(shù)字數(shù)據(jù)S110;若是存儲區(qū)塊已存滿數(shù)字數(shù)據(jù)則依序復(fù)制該些存儲區(qū)塊中的數(shù)字數(shù)據(jù)到該些目標(biāo)USB裝置S112,并被標(biāo)記為一空的記憶區(qū)塊;接著,判斷該來源USB裝置的數(shù)字數(shù)據(jù)是否均已復(fù)制完成S116;若已完成復(fù)制則會在使用者接口上顯示復(fù)制完成消息S118。
在上述方法步驟S108中,讀取的過程可以獨立的執(zhí)行序來操作,每一存儲區(qū)塊存滿后會依序往下一個區(qū)塊存儲,當(dāng)存至最后一區(qū)塊后會重新跳至第一個區(qū)塊繼續(xù)存儲。由于讀取的速度遠大于寫入的速度,為了避免暫存數(shù)據(jù)被覆蓋,在開始存入一暫存區(qū)塊時需先判別是否為空的。另一方面,在步驟S110中則判斷是否有存滿的存儲區(qū)塊,若有則開啟獨立的執(zhí)行序?qū)⑵渲械奈募?fù)制至目標(biāo)USB裝置,該存儲區(qū)塊完成復(fù)制后則被標(biāo)示為空的區(qū)塊。
在步驟S116后,若來源USB裝置尚未完成所有文件的復(fù)制,則判斷該些目標(biāo)USB裝置的記憶區(qū)是否已經(jīng)存滿S120,若是,則于使用者接口顯示該些目標(biāo)USB裝置的記憶容量為不足狀態(tài)S122,若否,則進入判斷數(shù)字數(shù)據(jù)復(fù)制裝置是否發(fā)生錯誤的步驟S124。在步驟S124判斷中若發(fā)生錯誤,則會于使用者接口顯示裝置錯誤的信號,若否,則回到文件復(fù)制的過程中的判別是否有空的存儲區(qū)塊S106步驟。
在上述說明中,本發(fā)明方法中流程結(jié)束條件有下述三種1.當(dāng)來源USB裝置所有文件均已復(fù)制,即顯示工作成功的信號。
2.當(dāng)目標(biāo)USB裝置的內(nèi)存用完,即顯示內(nèi)存不足的信號。
3.當(dāng)文件的讀取或?qū)懭胍恢笔?,并已達到臨界值,即顯示裝置錯誤的消息。
綜上所述,本發(fā)明一種應(yīng)用于USB裝置間數(shù)據(jù)復(fù)制的方法與系統(tǒng)可以提供兩個以上USB裝置互相對傳文件數(shù)據(jù),而且不需要計算機的輔助,具有下述優(yōu)點1.不需計算機即可提供兩個USB裝置進行文件復(fù)制;2.傳統(tǒng)USB裝置即可適用;以及3.復(fù)制文件速度快。
以上所述內(nèi)容僅為本發(fā)明的較佳可行實施例,并非用于限制本發(fā)明的專利保護范圍,故舉凡運用本發(fā)明說明書及附圖內(nèi)容所為的等效技術(shù)變化,均同理皆包含于本發(fā)明的保護范圍內(nèi)。
權(quán)利要求
1.一種數(shù)字數(shù)據(jù)復(fù)制系統(tǒng),作為一來源USB裝置與至少一目標(biāo)USB裝置間數(shù)據(jù)復(fù)制的控制,其特征在于,包括至少一序列接口引擎電路,分別連接所述來源USB裝置與所述目標(biāo)USB裝置;一中央處理器,連接于所述序列接口引擎電路,控制所述序列接口引擎電路,利用循環(huán)隊列同時進行數(shù)據(jù)讀寫的方式,將所述來源USB裝置中的數(shù)字數(shù)據(jù)復(fù)制到所述目標(biāo)USB裝置;以及一數(shù)據(jù)緩沖單元,連接于所述序列接口引擎電路與所述中央處理器,用以提供數(shù)字數(shù)據(jù)復(fù)制過程中所需的內(nèi)存緩沖空間。
2.根據(jù)權(quán)利要求1所述的數(shù)字數(shù)據(jù)復(fù)制系統(tǒng),其特征在于,還進一步包括一系統(tǒng)內(nèi)存連接于所述中央處理器,用來存儲一固件程序,所述中央處理器執(zhí)行所述固件程序,用以控制所述來源USB裝置中的數(shù)據(jù)復(fù)制到所述目標(biāo)USB裝置。
3.根據(jù)權(quán)利要求1所述的數(shù)字數(shù)據(jù)復(fù)制系統(tǒng),其特征在于,所述中央處理器控制所述數(shù)據(jù)緩沖單元區(qū)分成至少一存儲區(qū)塊,并在數(shù)據(jù)復(fù)制過程中,依序?qū)⑺鰜碓碪SB裝置的數(shù)據(jù)存放于所述存儲區(qū)塊中。
4.根據(jù)權(quán)利要求3所述的數(shù)字數(shù)據(jù)復(fù)制系統(tǒng),其特征在于,所述中央處理器控制所述數(shù)據(jù)緩沖單元,依序?qū)⒁汛鏉M數(shù)據(jù)的存儲區(qū)塊復(fù)制到所述目標(biāo)USB裝置。
5.根據(jù)權(quán)利要求1所述的數(shù)字數(shù)據(jù)復(fù)制系統(tǒng),其特征在于,還進一步包括一使用者接口,連接到所述中央處理器,用來傳送一工作指令到所述中央處理器,作為數(shù)據(jù)復(fù)制的控制。
6.根據(jù)權(quán)利要求1所述的數(shù)字數(shù)據(jù)復(fù)制系統(tǒng),其特征在于,還進一步包括一使用者接口,連接到所述中央處理器,可為一指示燈號或一LCD顯示器。
7.一種數(shù)字數(shù)據(jù)復(fù)制方法,其特征在于,利用至少一存儲區(qū)塊提供一來源USB裝置與至少一目標(biāo)USB裝置間數(shù)據(jù)復(fù)制時所需的空間,包括分析所述來源USB裝置與所述目標(biāo)USB裝置中數(shù)字數(shù)據(jù)的文件內(nèi)容;判別是否有空的存儲區(qū)塊;讀取所述來源USB裝置的數(shù)字數(shù)據(jù),并依序存放于所述存儲區(qū)塊中;依序判斷所述存儲區(qū)塊是否已存滿數(shù)字數(shù)據(jù);依序復(fù)制所述存儲區(qū)塊中的數(shù)字數(shù)據(jù)到所述目標(biāo)USB裝置;判斷所述來源USB裝置的數(shù)字數(shù)據(jù)是否均已復(fù)制完成;以及顯示復(fù)制完成消息。
8.根據(jù)權(quán)利要求7所述的數(shù)字數(shù)據(jù)復(fù)制方法,其特征在于,在分析所述來源USB裝置中數(shù)字數(shù)據(jù)的文件內(nèi)容步驟后,還進一步包括下達一工作指令,以進行數(shù)字數(shù)據(jù)的復(fù)制。
9.根據(jù)權(quán)利要求7所述的數(shù)字數(shù)據(jù)復(fù)制方法,其特征在于,在依序判斷所述存儲區(qū)塊是否已存滿數(shù)字數(shù)據(jù)步驟后,若是所述存儲區(qū)塊已存滿數(shù)字數(shù)據(jù),則所存儲的數(shù)字數(shù)據(jù)會被復(fù)制到所述目標(biāo)USB裝置,并被標(biāo)記為一空的記憶區(qū)塊。
10.根據(jù)權(quán)利要求7所述的數(shù)字數(shù)據(jù)復(fù)制方法,其特征在于,在所述判斷所述來源USB裝置的數(shù)字數(shù)據(jù)是否均已復(fù)制完成步驟后,若否,則判斷所述目標(biāo)USB裝置的記憶區(qū)是否已經(jīng)存滿。
11.根據(jù)權(quán)利要求10所述的數(shù)字數(shù)據(jù)復(fù)制方法,其特征在于,在判斷所述目標(biāo)USB裝置的記憶區(qū)是否已經(jīng)存滿步驟后,若是,則顯示所述目標(biāo)USB裝置的記憶容量為不足狀態(tài)。
12.根據(jù)權(quán)利要求10所述的數(shù)字數(shù)據(jù)復(fù)制方法,其特征在于,在判斷所述目標(biāo)USB裝置的記憶區(qū)是否已經(jīng)存滿步驟后,若否,則判斷數(shù)字數(shù)據(jù)復(fù)制裝置是否發(fā)生錯誤。
13.根據(jù)權(quán)利要求12所述的數(shù)字數(shù)據(jù)復(fù)制方法,其特征在于,在所述判斷數(shù)字數(shù)據(jù)復(fù)制裝置是否發(fā)生錯誤步驟后,若是,則顯示裝置錯誤的信號。
14.根據(jù)權(quán)利要求12所述的數(shù)字數(shù)據(jù)復(fù)制方法,其特征在于,在所述判斷數(shù)字數(shù)據(jù)復(fù)制裝置是否發(fā)生錯誤步驟后,若否,則回到所述判別是否有空的存儲區(qū)塊的步驟。
全文摘要
本發(fā)明公開了一種應(yīng)用于USB裝置間數(shù)據(jù)復(fù)制的方法與系統(tǒng),作為一來源USB裝置與至少一目標(biāo)USB裝置間數(shù)據(jù)傳輸?shù)目刂疲也恍枰嬎銠C的輔助。本發(fā)明復(fù)制系統(tǒng)利用一中央處理器,通過至少一序列接口引擎電路分別連接到該來源USB裝置與該些目標(biāo)USB裝置,用來控制該些序列接口引擎電路,以將該來源USB裝置中的數(shù)字數(shù)據(jù)傳送到該些目標(biāo)USB裝置;及一數(shù)據(jù)緩沖單元,連接于該些序列接口引擎電路與該中央處理器,用以提供數(shù)字數(shù)據(jù)復(fù)制過程中所需的內(nèi)存緩沖空間。
文檔編號G06F13/38GK1831800SQ200510051359
公開日2006年9月13日 申請日期2005年3月8日 優(yōu)先權(quán)日2005年3月8日
發(fā)明者郭錦誠, 盧福祺 申請人:英濟股份有限公司