两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

通用串行總線復(fù)合裝置及其實(shí)現(xiàn)方法

文檔序號:7959611閱讀:164來源:國知局
專利名稱:通用串行總線復(fù)合裝置及其實(shí)現(xiàn)方法
技術(shù)領(lǐng)域
本發(fā)明有關(guān)于一種通用串行總線(Universal Serial Bus,USB)復(fù)合裝置,特別是有關(guān)于一種低生產(chǎn)成本與擴(kuò)充性不受限制的USB復(fù)合裝置及其實(shí)現(xiàn)方法。
背景技術(shù)
各種類型的通訊連接和通訊協(xié)定被用來串接在各元件間,讓各個元件可以彼此互相通訊,通訊連接利用各種不同方法來控制指令和信息流向,例如,在一通訊連接中元件A可能當(dāng)作一主元件而原件B為從元件,在這系統(tǒng)架構(gòu)下,主元件會發(fā)一命令讓從元件可進(jìn)行通訊,若從元件沒有接到這命令,即沒有權(quán)力進(jìn)行通訊,在這架構(gòu)下,單一主元件控制整個系統(tǒng)指令和信息流向。另一種系統(tǒng)架構(gòu),沒有主從元件之分,彼此均能發(fā)送指令和信息。
最近幾年,制訂一用來做通訊連接的特殊接口系統(tǒng)標(biāo)準(zhǔn)稱為通用串行總線(Universal serial bus,USB),此種串行接口可以很簡單的將各個周邊設(shè)備串接到電腦系統(tǒng),解決以往各種周邊設(shè)備需以不同規(guī)格的接頭來與電腦連接的困擾。一USB系統(tǒng)包括USB主機(jī)(Host)、USB裝置(device)和USB總線互連(interconnect)所構(gòu)成。其中USB主機(jī)部分負(fù)責(zé)指揮總線上數(shù)據(jù)傳送時機(jī)及方向;USB裝置分為兩類,一是集線器裝置(Hub),提供USB總線新連接點(diǎn),一是功能裝置(function),為提供系統(tǒng)服務(wù)的周邊設(shè)備,例如,鼠標(biāo)、鍵盤和打印機(jī)等等;USB總線的實(shí)際連結(jié)為一星狀層次(tieredstar)結(jié)構(gòu),如圖1所示,集線器為每一個星狀連接的中心。
USB裝置(集線器或功能裝置)連上總線時,USB主機(jī)會指定一獨(dú)一無二的地址給該裝置,爾后USB主機(jī)會依此地址與該USB裝置進(jìn)行溝通,換言之每一個USB裝置只會有一個地址。
USB裝置中還包括終端(enddpoint)結(jié)構(gòu),每一個終端為USB裝置里可唯一區(qū)分的部分,為USB主機(jī)和裝置間數(shù)據(jù)傳遞時,于USB裝置方面的數(shù)據(jù)輸出或接收源。每一個USB裝置可擁有一組終端,用于不同數(shù)據(jù)傳輸特性所需,可分為控制(control)、巨量數(shù)據(jù)(bulk)、中斷(interrupt),和即時數(shù)據(jù)(isochronous)終端,除了控制終端為雙向數(shù)據(jù)傳遞外,其余終端可進(jìn)一步區(qū)分為輸入或輸出終端。
USB裝置可擁有一組終端,不超過16個,作為實(shí)現(xiàn)裝置功能之用,并給各個終端一唯一號碼,稱為終端號碼。所以裝置地址,終端號碼和數(shù)據(jù)方向(輸出或輸入)的組合可使得每個終端在USB總線上得到唯一定址。
位于系統(tǒng)主機(jī)的裝置驅(qū)動程序可通過系統(tǒng)提供的USB功能接口程序與USB裝置溝通,執(zhí)行該裝置功能。亦即裝置驅(qū)動程序和功能(function)是一一對應(yīng)。每一個USB裝置都需有一個對應(yīng)功能程序于系統(tǒng)主機(jī)內(nèi),才能真正執(zhí)行該裝置所提供的功能于系統(tǒng)之中。為了提供USB“即插即用”的方便性,一些常用的功能的驅(qū)動軟件已內(nèi)建于操作系統(tǒng)中,當(dāng)裝置連上USB時,系統(tǒng)便可找到該內(nèi)建軟件,執(zhí)行其功能,而無須另行安裝軟件,提高使用便利性。
基于實(shí)用性與成本考慮,常將多個USB功能整合在一起,例如鍵盤與鼠標(biāo)合為一USB裝置,稱為多功能裝置(Multi-function Device)。多功能裝置常區(qū)分為組成裝置(Composite Device)與復(fù)合裝置(CompoundDevice)。
一常規(guī)組成裝置20的內(nèi)部構(gòu)造圖如圖2所示,其內(nèi)部結(jié)構(gòu)基本上與一USB裝置相同,具有一USB邏輯電路201(USB Logic)與一功能塊202(Function Block)。其不同點(diǎn)在于,組成裝置包含多個終端203,分別代表不同的功能。依據(jù)USB規(guī)格,一USB裝置最多可具有16個終端,因此,一組成裝置便可利用其中數(shù)個終端組成一功能,例如,將終端0和1組成一鼠標(biāo)功能204,再利用其它數(shù)個終端構(gòu)成另一功能,例如,終端0、2和3組成一鍵盤功能205。因此,以此設(shè)計(jì)方式,便可使一USB裝置具有多種不同的功能。
然而,其缺點(diǎn)在于,此一組成裝置在一USB系統(tǒng)中,對USB主機(jī)而言乃是屬于一個USB裝置,因此,此組成裝置只會具有一個由USB主機(jī)所指定的地址(Address),亦即,其內(nèi)建的多種功能是共用同一個USB地址與USB主機(jī)溝通。此方式與一般功能裝置皆具有其獨(dú)立的地址,并用以使USB主機(jī)識別其裝置種類,進(jìn)而載入其驅(qū)動程序的方法互異,因此,一組成裝置將可能無法使用系統(tǒng)內(nèi)建的標(biāo)準(zhǔn)驅(qū)動程序,而必須另行安裝專為此項(xiàng)硬件裝置所設(shè)計(jì)的驅(qū)動程序,方能使USB主機(jī)針對此組成裝置的特定終端傳送或接收數(shù)據(jù)。
此外,由于一USB裝置最多只能具有16個終端,因此,一組成裝置所能構(gòu)成的功能數(shù)目,就顯得相當(dāng)有限。
請參見圖3a及3b,圖中所示為一鍵盤復(fù)合裝置30,此種裝置乃是屬于另一種多功能裝置,亦即,一常規(guī)復(fù)合裝置。一復(fù)合裝置代表一包含內(nèi)置式集線器的功能裝置,如圖3a所示,此一常規(guī)復(fù)合裝置從外表上看來是一個鍵盤裝置,但是此一鍵盤復(fù)合裝置30內(nèi)部是由一鍵盤功能裝置310以及一集線器裝置320所構(gòu)成(參見圖3b)。因此,此一鍵盤復(fù)合裝置30仍可提供多個USB連接端口304,305,使多個USB裝置306,307可以通過此鍵盤復(fù)合裝置30連接上USB總線。
在此常規(guī)復(fù)合裝置中,鍵盤功能裝置310與集線器裝置320的電路系統(tǒng),雖可制作于單一晶片上以節(jié)省制作成本,然而此二裝置是分別為一獨(dú)立的USB裝置,各自具有一組USB裝置的基本電路結(jié)構(gòu),亦即,各自具有一組USB邏輯電路311,321和功能塊312,322。由于在復(fù)合裝置中,其每一功能裝置仍是屬于一獨(dú)立的USB裝置,因此,每一功能裝置皆具有其獨(dú)立的USB地址,同時,USB主機(jī)亦可依其裝置種類,載入系統(tǒng)內(nèi)建的標(biāo)準(zhǔn)驅(qū)動程序,省去另行安裝特定驅(qū)動程序的困擾。
然而,每一USB裝置的邏輯電路(USB Logic)對一USB主機(jī)而言,皆代表一相同的USB接口,用以傳輸及接收消息,并進(jìn)行信號格式的轉(zhuǎn)換工作;而每一功能塊則可代表每一裝置內(nèi)建的功能,如鍵盤、鼠標(biāo)或硬盤等等。每一個USB裝置的邏輯電路,基本上皆是相當(dāng)類似的結(jié)構(gòu)。
因此,復(fù)合裝置的內(nèi)建功能雖具有如一USB裝置般可使用標(biāo)準(zhǔn)驅(qū)動程序的優(yōu)點(diǎn),然而,此類裝置卻明顯具有多余電路的缺點(diǎn)。如圖3b所示,此復(fù)合裝置即具有二組USB邏輯電路。若是此一復(fù)合裝置內(nèi)欲再增加一功能裝置,則此復(fù)合裝置就會再增加一組USB邏輯電路。
綜合以上所述,一常規(guī)組成裝置(Composite Device)雖具有電路簡化的優(yōu)點(diǎn),然其內(nèi)建的功能卻可能無法使用標(biāo)準(zhǔn)的驅(qū)動程序;而常規(guī)復(fù)合裝置(Compound Device)的每一項(xiàng)內(nèi)建功能,在使用上雖然皆具有如一般USB裝置的便利性,然而此類裝置卻具有電路重復(fù)性與資源浪費(fèi)的缺點(diǎn)。
發(fā)明概要因此,本發(fā)明的一主要目的是為提供一種復(fù)合裝置,使多個功能裝置得以通過同一組USB邏輯電路以連接至USB總線,其電路將如常規(guī)的組成裝置般簡明,但各個功能卻可如常規(guī)復(fù)合裝置般擁有獨(dú)立性。
本發(fā)明的另一目的是為提供一種可規(guī)劃的設(shè)計(jì),讓使用者依其不同應(yīng)用及功能數(shù)目多寡來完成設(shè)計(jì)。
本發(fā)明的又一目的是為提供一種USB復(fù)合裝置的實(shí)現(xiàn)方法,此裝置不含內(nèi)置式集線器,而以電路或軟件來模擬集線器,使得一組獨(dú)立的USB功能(元件)可通過共同的上行USB端口與主機(jī)相連,因而可在不影響裝置功能、擴(kuò)充性和即插即用的方便性下,達(dá)到降低生產(chǎn)成本的目的。
根據(jù)本發(fā)明,此一USB復(fù)合裝置是包含一USB傳輸/接收器、一串行接口引擎(SIE)以及一電路系統(tǒng),其中,此電路系統(tǒng),其一端是連接至串行接口引擎,而其另一端則通過一微處理器或控制器連接至多個非USB接口,此一本身不具有如USB傳輸接收器及串行接口引擎的功能的電路系統(tǒng),是用以儲存并管理多個由一USB主機(jī)所指定的裝置地址,并用以進(jìn)行數(shù)據(jù)傳輸?shù)墓ぷ鳌?br> 此一電路系統(tǒng)包含一通用終端狀態(tài)機(jī)制、一地址/終端管理機(jī)構(gòu)以及一存儲器模塊,其中,此一地址/終端管理機(jī)構(gòu),是用以儲存多個地址/終端設(shè)定,而本發(fā)明的USB復(fù)合裝置,是通過此電路系統(tǒng)中的通用終端狀態(tài)機(jī)制,依地址/終端管理機(jī)構(gòu)所儲存的各個終端的型式,執(zhí)行USB規(guī)定的通信協(xié)定與USB主機(jī)溝通,而存儲器模塊,則用以緩沖傳輸中的數(shù)據(jù)。
此外,此電路系統(tǒng)中的地址/終端管理機(jī)構(gòu)所儲存的多個地址/終端設(shè)定中,是包含一組虛擬集線器的地址/終端設(shè)定,此組虛擬集線器的地址/終端設(shè)定,是用以作為此電路系統(tǒng)通過USB傳輸接收器、串行接口引擎以及一微處理機(jī)或控制器,執(zhí)行集線器功能時所使用的地址/終端。
同時,本發(fā)明的USB復(fù)合裝置的電路系統(tǒng),還包含一終端變量緩沖器,用以儲存多個終端的狀態(tài),其中,此終端變量緩沖器是由通用終端狀態(tài)機(jī)制存取及更新。
而此電路系統(tǒng)的存儲器模塊則包含一數(shù)據(jù)緩沖區(qū)以及一存儲器管理單元,其中,此一數(shù)據(jù)緩沖區(qū),是用以緩沖傳輸中的數(shù)據(jù);而一存儲器管理單元,則是用以自數(shù)據(jù)緩沖區(qū)存取數(shù)據(jù),此一存儲器管理單元是包含一終端緩沖區(qū)設(shè)定機(jī)構(gòu),用以儲存各個終端在該數(shù)據(jù)緩沖區(qū)中所配置的存儲器數(shù)據(jù),及其最大分組長度;以及一數(shù)據(jù)存取控制單元,此一數(shù)據(jù)存取控制單元是根據(jù)信號的終端號碼,及終端緩沖區(qū)設(shè)定機(jī)構(gòu)所給予的終端緩沖區(qū)配置,在數(shù)據(jù)緩沖區(qū)存取數(shù)據(jù)。
此外,本發(fā)明的USB復(fù)合裝置的電路系統(tǒng)還包含一應(yīng)用接口引擎,用以在該通用終端狀態(tài)機(jī)制、該數(shù)據(jù)存取控制單元與此電路系統(tǒng)所連接的該多個非USB接口之間,傳遞信號及存取數(shù)據(jù)。
根據(jù)本發(fā)明,本發(fā)明亦提供了一種方法,使多個功能裝置得以使用同一組終端號碼連接至一USB主機(jī),且各自具有獨(dú)立的USB地址,此方法是包含下列步驟依序設(shè)定多個功能裝置的物理終端及邏輯終端;儲存此多個功能裝置的物理終端設(shè)定;以一微處理機(jī)或控制器依序啟動各個USB功能裝置的地址/終端設(shè)定與USB主機(jī)溝通,再由USB主機(jī)指定一USB邏輯地址給各個功能裝置;儲存由USB主機(jī)指定的多個USB地址;將來自USB總線的每筆傳輸所指定的地址與所儲存的多個USB邏輯地址進(jìn)行比對,當(dāng)比對正確時,進(jìn)行邏輯/物理終端轉(zhuǎn)換工作;以及再將信號傳遞給此物理終端所代表的功能裝置。
此外,根據(jù)本發(fā)明,本發(fā)明亦提供一種虛擬集線器的方法,是包含下列步驟使用一地址/終端設(shè)定作為虛擬集線器的USB地址儲存及終端設(shè)定;利用一USB傳輸/接收器傳收USB主機(jī)的信號;利用一串行接口引擎進(jìn)行傳遞信號的解碼、編碼及格式轉(zhuǎn)換,同時在傳輸/接收數(shù)據(jù)時,進(jìn)行循環(huán)冗余校驗(yàn)碼的檢查工作;以一微處理機(jī)或控制器通過軟件或軟件以集線器功能與USB主機(jī)溝通,USB主機(jī)會指定一USB地址給一虛擬集線器;當(dāng)USB傳輸?shù)牡刂分赶虼颂摂M集線器時,以此微處理器或控制器依傳輸?shù)膬?nèi)容作回應(yīng);以及利用此微處理機(jī)或控制器通過軟件或軟件管理或回報(bào)其他USB功能裝置給USB主機(jī),以維持USB的層狀結(jié)構(gòu)。


圖1為USB系統(tǒng)的連接方式示意圖;圖2為一常規(guī)USB組成裝置示意圖;圖3a為一常規(guī)鍵盤復(fù)合裝置外部結(jié)構(gòu)示意圖;圖3b為一常規(guī)鍵盤復(fù)合裝置內(nèi)部結(jié)構(gòu)示意圖;圖4為本發(fā)明第1實(shí)施例的USB復(fù)合裝置的內(nèi)部結(jié)構(gòu)示意圖;圖5為本發(fā)明第2實(shí)施例的USB復(fù)合裝置的內(nèi)部結(jié)構(gòu)示意圖;圖6為本發(fā)明第3實(shí)施例的USB復(fù)合裝置的內(nèi)部結(jié)構(gòu)示意圖。
具體實(shí)施例方式
參見圖4,圖中所示為本發(fā)明第1實(shí)施例的USB復(fù)合裝置示意圖。本發(fā)明第1實(shí)施例的復(fù)合裝置40主要包含一USB邏輯電路模塊400以及一應(yīng)用功能模塊500。本發(fā)明的復(fù)合裝置的USB邏輯電路模塊400,利用一“資源統(tǒng)一分配管理”的方式加以設(shè)計(jì),將原本制作于一USB復(fù)合裝置中的復(fù)數(shù)組USB邏輯電路整合為一單一USB邏輯電路模塊,使多個功能塊得以通過同一組USB邏輯電路連接至USB總線,以解決常規(guī)USB復(fù)合裝置會造成硬件資源浪費(fèi),和常規(guī)USB組成裝置不能使用標(biāo)準(zhǔn)化驅(qū)動程序的缺點(diǎn)。
本發(fā)明第1實(shí)施例的復(fù)合裝置40的USB邏輯電路模塊400,就其功能而言,主要可以區(qū)分為USB物理層塊410(USB Physical Layer Block)、USB連接層塊420(USB Link Layer Block)、存儲器管理單元430(MemoryManagement Unit)、數(shù)據(jù)緩沖區(qū)440(Memory Buffer Block)以及應(yīng)用接口引擎450(Application Interface Engine)。
USB物理層塊410是此一復(fù)合裝置40實(shí)際連接上USB總線的連接點(diǎn),包含一USB傳輸/接收器411(Transceiver)和一串行接口引擎412(SerialInterface Engine,SIE)。
USB連接層塊420的主要工作為執(zhí)行USB規(guī)格中的通訊協(xié)定,包含一通用終端狀態(tài)機(jī)制421(Generic Endpoint State Machine)、一終端變量緩沖器422(Endpoint Variable Registers)、一地址/終端設(shè)定機(jī)構(gòu)423(Address/Endpoint Configuration Mechanism)以及一終端設(shè)定機(jī)構(gòu)424(Endpoint Configuration Mechanism)。
記憶管理單元430是依據(jù)來自USB連接層塊420以及應(yīng)用接口引擎450的信號,負(fù)責(zé)將數(shù)據(jù)存入數(shù)據(jù)緩沖區(qū)440,或從數(shù)據(jù)緩沖區(qū)440讀出數(shù)據(jù)。此一存儲器管理單元430包含一終端緩沖區(qū)設(shè)定機(jī)構(gòu)431(MemoryConfiguration Mechanism of Endpoint)以及一數(shù)據(jù)存取控制單元432(Memory Access Control Unit)。
應(yīng)用接口引擎450負(fù)責(zé)與連接層塊420、存儲器管理單元430以及應(yīng)用功能模塊500溝通,將USB總線上的狀態(tài)通過事件或中斷方式通知應(yīng)用功能模塊500,應(yīng)用功能模塊500再依事件的種類與應(yīng)用接口引擎450傳遞數(shù)據(jù),行使功能規(guī)格的工作。此一應(yīng)用接口引擎450包含一事件控制模塊451(Event Control Module)、一控制接口模塊452(Control InterfaceModule)以及一數(shù)據(jù)通道模塊453(Generic Data Path Module)。
而應(yīng)用功能模塊500則包含一微處理器510及一PS/2接口521、一串行端口接口522以及一IDE接口523。在本發(fā)明的復(fù)合裝置中,微處理器的功能亦可以一微控制器加以執(zhí)行。
本實(shí)施例的復(fù)合裝置的內(nèi)部結(jié)構(gòu)已大致說明如前,以下,吾人將就此裝置的操作方法及其內(nèi)部結(jié)構(gòu)的功能,配合圖4作詳細(xì)的說明。
首先,在應(yīng)用功能模塊500方面,若是有一鍵盤裝置連接至PS/2接口521,一鼠標(biāo)裝置連接至串行端口接口522,以及一硬盤裝置連接至IDE接口523,則微處理器510將根據(jù)連接層塊420的地址/終端設(shè)定機(jī)構(gòu)423中,所預(yù)先設(shè)定的復(fù)數(shù)組包含預(yù)設(shè)地址及終端的地址/終端設(shè)定,依序分配給鍵盤裝置、鼠標(biāo)裝置以及硬盤裝置。例如將一組地址/終端設(shè)定“2”,包含預(yù)設(shè)地址2及邏輯終端0、1、2,分配給鍵盤裝置;一組地址/終端設(shè)定“3”,包含預(yù)設(shè)地址3及邏輯終端0、1,分配給鼠標(biāo)裝置;再將一組地址/終端設(shè)定“4”,包含預(yù)設(shè)地址4及邏輯終端0、1、2,分配給硬盤裝置。此外,由于本發(fā)明的復(fù)合裝置40是具有“虛擬集線器(Virtual Hub)”的功能,因此,微處理器510亦將分配一組地址/終端設(shè)定“1”,包含預(yù)設(shè)地址1及邏輯終端0、1供虛擬集線器使用。本發(fā)明的復(fù)合裝置40用以虛擬集線器功能的方法,將會在后續(xù)的文字中加以說明。
之后,微處理器510將通過應(yīng)用接口引擎450中的控制接口模塊452,于數(shù)據(jù)緩沖區(qū)440中規(guī)劃各個終端所屬的緩沖區(qū)塊,以在后續(xù)的傳輸動作當(dāng)中,作為各個終端的數(shù)據(jù)緩沖區(qū);同時,各個終端于數(shù)據(jù)緩沖區(qū)440中的設(shè)定數(shù)據(jù),將會被儲存于終端緩沖區(qū)設(shè)定機(jī)構(gòu)431之中;此外,終端緩沖區(qū)設(shè)定機(jī)構(gòu)431的功能,還包含用以儲存各個終端于其數(shù)據(jù)緩沖區(qū)中的數(shù)據(jù)狀態(tài)。
此外,微處理器510亦將通過控制接口模塊452,連接至連接層塊420中的通用終端狀態(tài)機(jī)制421,將各個終端的設(shè)定,例如終端型式、最大分組長度等等,儲存至連接層塊420中的終端設(shè)定機(jī)構(gòu)424。
當(dāng)此復(fù)合裝置40連接上USB總線時,USB主機(jī)將偵測到有一新的裝置連接上此總線,同時發(fā)出一連串的USB命令,以識別并設(shè)定此裝置。此時,物理層塊410的傳輸/接收器411,會將USB總線上的信號轉(zhuǎn)換為邏輯標(biāo)準(zhǔn)位的數(shù)字信號,之后,再將此筆信號傳遞至串行接口引擎412。此一傳輸/接收器411的功能,亦可將來自串行接口引擎412的數(shù)字信號轉(zhuǎn)換為符合USB規(guī)格的信號,以傳遞至USB總線。
而串行接口引擎412的主要功能則包含,在接收模式時,負(fù)責(zé)將傳遞信號解碼、將USB串行式數(shù)據(jù)改成并列式、做數(shù)據(jù)的循環(huán)冗余校驗(yàn)碼(CyclicRedundancy Check Code)的檢查工作,判定數(shù)據(jù)的正確性,并且將總線上的信號轉(zhuǎn)換成具邏輯意義的分組(packet)傳輸至USB連接層塊420中的通用終端狀態(tài)機(jī)制421;而在傳輸模式時,串行接口引擎412可接受來自連接層塊420的數(shù)據(jù),將USB并列式數(shù)據(jù)轉(zhuǎn)為串行式數(shù)據(jù)流,并將之編碼,同時計(jì)算循環(huán)冗余校驗(yàn)碼,產(chǎn)生同步信號,通過USB傳輸/接收器轉(zhuǎn)成USB信號標(biāo)準(zhǔn)位傳回USB主機(jī)。
當(dāng)連接層塊420中的通用終端狀態(tài)機(jī)制421接收到來自USB主機(jī)的USB命令時,此一通用終端狀態(tài)機(jī)制421會將此一信號傳遞給應(yīng)用接口引擎450中的事件控制模塊451,再由事件控制模塊451將此一消息傳遞給微處理器510。此時,微處理器510是以預(yù)定虛擬集線器的終端及其設(shè)定回傳至USB主機(jī),使USB主機(jī)認(rèn)為此一復(fù)合裝置40為一USB集線器裝置,并指定一USB地址給此虛擬集線器。此時,此一由USB主機(jī)所指定的USB地址將會填入此虛擬集線器的預(yù)設(shè)地址1,并與其對應(yīng)的邏輯終端一起儲存于地址/終端設(shè)定機(jī)構(gòu)423之中。
地址/終端設(shè)定機(jī)構(gòu)423的主要功能,是用以儲存此復(fù)合裝置所連接的每一個功能裝置的地址與其所對應(yīng)的終端,以及一組虛擬集線器的地址及其所屬的終端。根據(jù)USB規(guī)格,每筆傳遞數(shù)據(jù)的最前端的識別信息,是為目標(biāo)裝置的地址和終端號碼,以及用以說明傳輸種類的傳輸標(biāo)記(token)。因此,當(dāng)此復(fù)合裝置40的物理層塊410接收到來自USB總線的消息時,位于連接層塊420中的通用終端狀態(tài)機(jī)制421將會根據(jù)地址/終端設(shè)定機(jī)構(gòu)423中所儲存的地址/終端數(shù)據(jù),與傳遞數(shù)據(jù)的識別信息進(jìn)行比對,用以判別此筆數(shù)據(jù)的目標(biāo)裝置,是否為此復(fù)合裝置40所連接的數(shù)個功能裝置之一。
如前所述,當(dāng)此復(fù)合裝置40連接上一USB總線時,此裝置將先獲得由USB主機(jī)所指定的一虛擬集線器的地址。之后,USB主機(jī)將會以輪詢的方式,定期地探詢此虛擬集線器的狀態(tài)。由于此一虛擬集線器的地址/終端已儲存于地址/終端設(shè)定機(jī)構(gòu)423之中,因此USB主機(jī)所欲傳遞至此虛擬集線器的消息,例如,探詢命令,其前端的地址/終端信息將會由通用終端狀態(tài)機(jī)制421加以識別,并且在確認(rèn)其與地址/終端設(shè)定“1”所包含的地址/終端相同時(亦即,與虛擬集線器的地址/終端相同),將此消息通過事件控制模塊451,以通知微處理器510。而當(dāng)微處理器510接收到屬于地址/終端設(shè)定“1”的事件時,其將可識別出此筆信號乃是屬于虛擬集線器的消息,并且就消息的內(nèi)容做回應(yīng)的動作。在本實(shí)施例的復(fù)合裝置40中,并沒有專為USB集線器所設(shè)計(jì)的電路,而所有與集線器功能相關(guān)的動作,是皆由微處理器510通過軟件或軟件加以模擬及執(zhí)行。
因此,藉由每一次的探詢動作,微處理器510將以集線器的角色通過控制接口模塊452、通用狀態(tài)機(jī)制421,以及串行接口引擎412與USB傳輸接收器411,陸續(xù)地回報(bào)USB主機(jī)有新功能裝置加入,而由USB主機(jī)識別該裝置后指定USB地址,將前述的鍵盤裝置、鼠標(biāo)裝置以及硬盤裝置加入U(xiǎn)SB系統(tǒng);而在USB主機(jī)方面,則會以為這些新加入的裝置是連接在前述的虛擬集線器之下,維持USB連結(jié)所須的集線器與功能裝置的連結(jié)從屬關(guān)系。因此,USB主機(jī)會依據(jù)微處理器510每次回傳的裝置的終端及設(shè)定,依序指定一USB地址給各個裝置,亦即,鍵盤裝置、鼠標(biāo)裝置及硬盤裝置皆會具有各自獨(dú)立的USB地址,同時,每一裝置的地址及其所對應(yīng)的終端都將會被儲存于地址/終端設(shè)定機(jī)構(gòu)423之中。
此外,在連接層塊420中,終端變量緩沖器422是用以儲存各個終端的狀態(tài),并由通用終端狀態(tài)機(jī)制421進(jìn)行存取及更新。因此,當(dāng)USB主機(jī)針對此復(fù)合裝置40的虛擬集線器,發(fā)出各個裝置狀態(tài)的探詢命令時,微處理器510將可通過通用終端狀態(tài)機(jī)制421,自終端變量緩沖器422中讀取各個終端的最新狀態(tài),以回應(yīng)USB主機(jī)。所以,對USB主機(jī)而言,此一復(fù)合裝置40是為一USB集線器裝置與其所連接的一鍵盤裝置、一鼠標(biāo)裝置以及一硬盤裝置,亦即,此一復(fù)合裝置40仍可維持USB規(guī)格的星狀層次結(jié)構(gòu)。
以上所述,為本實(shí)施例的復(fù)合裝置40連接至一USB總線時,所進(jìn)行的接口初始化的動作,以及此復(fù)合裝置40用以虛擬集線器功能的方法。以下,吾人將藉由數(shù)據(jù)的傳輸動作,針對連接層塊420與存儲器管理單元430、數(shù)據(jù)緩沖區(qū)440以及應(yīng)用接口引擎450間的互動關(guān)系與各個塊的功能,加以詳細(xì)地說明。
首先,當(dāng)物理層塊410接收一筆來自USB主機(jī)的數(shù)據(jù)時,通用終端狀態(tài)機(jī)制421將會先行利用地址/終端設(shè)定機(jī)構(gòu)423中所儲存的地址/終端,與此筆數(shù)據(jù)前端的識別信息進(jìn)行比對,并將結(jié)果通知物理層塊410。當(dāng)?shù)刂芳敖K端號碼比對正確時,亦即,確認(rèn)此筆數(shù)據(jù)的目標(biāo)裝置為本實(shí)施例的復(fù)合裝置的數(shù)個功能裝置之一時,通用終端狀態(tài)機(jī)制421會自終端設(shè)定機(jī)構(gòu)424中,將此終端號碼的終端設(shè)定取出,以及自終端變量緩沖器422中讀取此終端先前的狀態(tài),并根據(jù)終端的型式,例如,中斷型傳輸(Interrupt)、巨量型傳輸(Bulk)、即時型傳輸(Isochronous)或是控制型傳輸(Control),通過物理層塊410與USB主機(jī)溝通及傳遞數(shù)據(jù);同時,當(dāng)?shù)刂芳敖K端號碼比對正確時,通用終端狀態(tài)機(jī)制421亦會將此組地址/終端設(shè)定號碼及終端號碼通知存儲器管理單元430,以及應(yīng)用接口引擎450。
以下,吾人先就存儲器管理單元430以及應(yīng)用接口引擎450的功能加以說明。
記憶管理單元430包括終端數(shù)據(jù)緩沖區(qū)設(shè)定機(jī)構(gòu)431(MemoryConfiguration of Endpoint),數(shù)據(jù)存取控制單元432(Memory AccessControl Unit)。
終端數(shù)據(jù)緩沖區(qū)設(shè)定機(jī)構(gòu)431,是用以儲存各個終端所分配到的緩沖區(qū)塊,以及其于緩沖區(qū)中的數(shù)據(jù)狀態(tài)等等。當(dāng)數(shù)據(jù)存取控制單元432接收到來自通用終端狀態(tài)機(jī)制421的觸發(fā)信號、地址/終端設(shè)定號碼及其終端號碼時,會將該終端的設(shè)定及變量載入,并且自終端數(shù)據(jù)緩沖區(qū)設(shè)定機(jī)構(gòu)431中,將此終端目前于數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)狀態(tài)取出,用以告知通用終端狀態(tài)機(jī)制421,使其判斷如何與USB主機(jī)溝通。如果數(shù)據(jù)可上傳,數(shù)據(jù)存取控制單元431會自數(shù)據(jù)緩沖區(qū)440將數(shù)據(jù)讀出,并通過通用終端狀態(tài)機(jī)制421上傳至USB主機(jī);如果數(shù)據(jù)可下傳,終端狀態(tài)機(jī)制421會將數(shù)據(jù)傳至數(shù)據(jù)存取控制單元432,再由其存入該終端在數(shù)據(jù)緩沖區(qū)440的所屬緩沖區(qū)塊。此外,記憶管理單元432同時會將此數(shù)據(jù)的緩沖區(qū)數(shù)據(jù)狀態(tài)向應(yīng)用接口引擎450中的事件控制模塊451報(bào)告。
應(yīng)用接口引擎450包括事件控制模塊451(Event control Module),控制接口模塊452(Control Interface Module),數(shù)據(jù)通道模塊453(Genericdata path Module)。
其中,事件控制模塊451,是用以接收來自通用終端狀態(tài)機(jī)制421和數(shù)據(jù)存取控制單元432的事件,將之編碼后通知應(yīng)用功能模塊500的微處理器510,而微處理器510將會依據(jù)地址/終端設(shè)定號碼及事件種類、USB命令,以及所收到的數(shù)據(jù)或數(shù)據(jù)需求等做回應(yīng)。
控制接口模塊452提供三種主要功能,其一為使應(yīng)用功能模塊500所連接的多個裝置于初始化時,通過此接口規(guī)劃前述各項(xiàng)設(shè)定,例如,地址/終端設(shè)定號碼、終端型式以及緩沖區(qū)塊等等;其二為,微處理器510可通過此接口指揮USB連接層420采取必要動作以與USB主機(jī)溝通,或讀取各終端的狀態(tài),來決定所應(yīng)采取的回應(yīng)動作;其三為,微處理器510可通過此接口和記憶管理單元430傳遞數(shù)據(jù),如,讀取USB命令參數(shù),解碼命令種類或填入U(xiǎn)SB所要求的數(shù)據(jù)等。
數(shù)據(jù)通道模塊453,是用以使應(yīng)用功能模塊500所連接的多個裝置通過此接口來存取大量數(shù)據(jù),對于某些功能的執(zhí)行動作,例如讀取硬盤數(shù)據(jù)時,或傳遞數(shù)據(jù),此單元可使功能裝置直接經(jīng)由記憶管理單元430讀取或存入數(shù)據(jù)緩沖區(qū)數(shù)據(jù),而不需微處理器510的介入,進(jìn)而提高傳輸效率。
前述的內(nèi)容已提及,當(dāng)通用終端狀態(tài)機(jī)制421進(jìn)行地址及終端號碼比對的結(jié)果與地址/終端設(shè)定機(jī)構(gòu)內(nèi)所儲存的數(shù)據(jù)相符時,會將此地址/終端設(shè)定號碼及終端號碼通知存儲器管理單元430,以及應(yīng)用接口引擎450。在存儲器管理單元430中,是由數(shù)據(jù)存取控制單元432接收通用終端狀態(tài)機(jī)制421所傳送的信號。同時,根據(jù)此一消息,數(shù)據(jù)存取控制單元432可將此終端于數(shù)據(jù)緩沖區(qū)440的設(shè)定,自終端緩沖區(qū)設(shè)定機(jī)構(gòu)431中取出,以便將通用終端狀態(tài)機(jī)制421后續(xù)所傳送的數(shù)據(jù),存入此終端所屬的緩沖區(qū)塊。
而在應(yīng)用接口引擎中,通用終端狀態(tài)機(jī)制421是將此一消息傳遞至事件控制模塊451。之后,事件控制模塊451會將包含此地址/終端設(shè)定號碼的消息傳遞至微處理器510,再由微處理器510識別此地址/終端設(shè)定號碼所屬的功能裝置為何。若是此地址/終端設(shè)定號碼所屬的裝置為硬盤裝置,則微處理器510將可通過控制接口模塊510與數(shù)據(jù)存取控制單元432溝通,以自數(shù)據(jù)緩沖區(qū)440中將數(shù)據(jù)讀出,并傳回硬盤裝置。
此外,功能裝置,例如硬盤裝置,亦可利用數(shù)據(jù)通道模塊453直接與數(shù)據(jù)存取控制單元溝通,直接與數(shù)據(jù)緩沖區(qū)440進(jìn)行數(shù)據(jù)的大量存取動作。如前所述,此一數(shù)據(jù)通道模塊453的設(shè)計(jì)將可有效地提高傳輸效率。
以上所述,為本發(fā)明第1實(shí)施例的復(fù)合裝置的內(nèi)部結(jié)構(gòu)與其功能的說明。藉由本發(fā)明第1實(shí)施例的設(shè)計(jì)方法,此一復(fù)合裝置將可通過其內(nèi)部整合式的電路系統(tǒng),模擬一USB集線器的功能,使此裝置所連接的多個功能裝置皆具有其獨(dú)立的USB地址,因此對一USB主機(jī)而言,此一復(fù)合裝置乃是一USB集線器與連接至其上的多個USB功能裝置的組合。因此,本實(shí)施例的復(fù)合裝置所連接的每一個功能裝置,皆可使用系統(tǒng)內(nèi)建的標(biāo)準(zhǔn)化驅(qū)動程序,具有USB“即插即用”的功能;此外,本實(shí)施例的復(fù)合裝置的USB邏輯電路模塊,是利用一“資源統(tǒng)一分配管理”的方式加以設(shè)計(jì),將原本制作于一USB復(fù)合裝置中的復(fù)數(shù)組USB邏輯電路,整合為一單一USB邏輯電路模塊,使多個功能塊得以通過同一組USB邏輯電路連接至USB總線。此一設(shè)計(jì),將可避免常規(guī)復(fù)合裝置中,電路重復(fù)性的缺點(diǎn),同時,更可大幅地降低其制作成本。
參見圖5,圖中所示為本發(fā)明第2實(shí)施例的USB復(fù)合裝置示意圖。此一復(fù)合裝置50具有一USB邏輯電路模塊600與應(yīng)用功能模塊700。本實(shí)施例的復(fù)合裝置的USB邏輯電路模塊600,與第1實(shí)施例的結(jié)構(gòu)類似,同樣具有物理層塊610、連接層塊620、存儲器管理單元630、數(shù)據(jù)緩沖區(qū)640以及應(yīng)用接口引擎650。
其中,物理層塊亦包含一USB傳輸接收器611及一串行接口引擎612,而其功能皆與第1實(shí)施例相同,因此,在此不再贅述。
而本實(shí)施例的連接層塊620,則與第1實(shí)施例稍有不同之處。由圖5可見,此一連接層塊620除了一通用終端狀態(tài)機(jī)制621、一終端變量緩沖器622、一地址/終端設(shè)定機(jī)構(gòu)623之外,尚具有一邏輯/物理終端轉(zhuǎn)換模塊624(Logical/Physical Endpoint Translation Module)與一物理終端設(shè)定機(jī)構(gòu)625(Physical Endpoint Configuration Mechanism)。
同時,本實(shí)施例的存儲器管理單元630,除了數(shù)據(jù)存取控制單元632外,本實(shí)施例是以一物理終端緩沖區(qū)設(shè)定機(jī)構(gòu)631(Memory ConfigurationMechanism of Physical Endpoint)取代第1實(shí)施例的終端緩沖區(qū)設(shè)定機(jī)構(gòu)431。
此外,由圖中可見,本實(shí)施例的應(yīng)用功能模塊700,一共包含7個接口一PS/2接口721、一軟盤機(jī)接口722、二個硬盤機(jī)接口723,724、二個串行端口接口725,726以及一并列端口接口727。本發(fā)明第2實(shí)施例的復(fù)合裝置所能連接的功能裝置的種類及數(shù)目,并不似第1實(shí)施例般,受限于地址與終端間固定的配置,而只能連接特定的功能裝置及其個數(shù)。在第1實(shí)施例中,微處理器510是以分配給各個功能裝置的地址/終端設(shè)定,包含地址與終端號碼,作為識別各個功能與規(guī)劃數(shù)據(jù)緩沖區(qū)之用。因此,用以分配給各個功能裝置的設(shè)定,例如地址/終端設(shè)定“2”是包含預(yù)設(shè)地址2和固定的邏輯終端0、1、2,將會限制其可連接的裝置功能。因此,在第1實(shí)施例中,其應(yīng)用功能模塊所能連接的功能裝置的數(shù)目及種類,就會因此而受到限制。
本發(fā)明第2實(shí)施例的USB復(fù)合裝置50,將提供一種方法,使此復(fù)合裝置50不但可以具有如第1實(shí)施例的復(fù)合裝置般的整合式的USB邏輯電路系統(tǒng),以及具有USB裝置“即插即用”的優(yōu)點(diǎn),同時亦可以克服其組合功能種類及數(shù)目受限的問題。以下,吾人將就第2實(shí)施例的特色加以說明。
首先,位于應(yīng)用功能模塊中的微處理器710將就其7個接口所連接的功能裝置,視個別裝置的需求,依序規(guī)劃一組物理終端號碼給各個功能裝置。例如,將物理終端號碼0、1規(guī)劃給連接至PS/2接口721的鼠標(biāo)裝置并對應(yīng)至其邏輯終端0、1,將物理終端號碼2、3、4規(guī)劃給連接至軟盤機(jī)接口722的軟盤機(jī)裝置并對應(yīng)至其邏輯終端0、1、2,以及將物理終端號碼5、6、7規(guī)劃給連接至硬盤機(jī)接口723的硬盤機(jī)裝置并對應(yīng)至其邏輯終端0、1、2等等;此外,微處理機(jī)710亦會另行規(guī)劃一組虛擬集線器的物理終端號碼,以便于在此復(fù)合裝置虛擬一集線器功能時所使用。同時,微處理器710亦會通過控制接口模塊652,以及通用終端狀態(tài)機(jī)制621將各個功能裝置的物理終端設(shè)定,例如,終端型式及最大分組長度等等,儲存于連接層塊中的物理終端設(shè)定機(jī)構(gòu)625之中。
上述的物理終端與邏輯終端對應(yīng)的方法,使得各個地址,亦即功能裝置,可以配置的終端種類及數(shù)目得以依該功能裝置的特性作任意的規(guī)劃,提高本發(fā)明于應(yīng)用時的自由度。
在本實(shí)施例中,“物理終端號碼”是為微處理器710用以識別各個功能裝置的識別數(shù)據(jù),而非如實(shí)施例一以地址/終端設(shè)定,包含地址與終端號碼,作為各個功能裝置的識別數(shù)據(jù)。
接著,與第1實(shí)施例的步驟類似,微處理機(jī)710將以各個功能裝置的物理終端號碼,通過應(yīng)用接口引擎650中的控制接口模塊652,規(guī)劃各個物理終端于數(shù)據(jù)緩沖區(qū)640中的緩沖區(qū)塊。同時,在完成規(guī)劃動作時,將各個物理終端于數(shù)據(jù)緩沖區(qū)640的設(shè)定數(shù)據(jù),儲存于物理終端緩沖區(qū)設(shè)定機(jī)構(gòu)631之中。
當(dāng)此復(fù)合裝置50連接上USB總線時,USB主機(jī)將偵測到有一新的裝置連接上此總線,同時發(fā)出一連串的USB命令,以識別并設(shè)定此裝置。此時,物理層塊610會將此一消息傳遞至連接層塊620的通用終端狀態(tài)機(jī)制621,再由通用終端狀態(tài)機(jī)制621將此消息傳遞至事件控制模塊651。之后,事件控制模塊651會將此一消息傳遞至微處理器710。此時,微處理器710將以一組物理終端號碼作為一虛擬集線器的邏輯終端,并將邏輯終端與虛擬集線器的設(shè)定一起回傳至USB主機(jī),因此,USB主機(jī)會認(rèn)為此復(fù)合裝置50為一集線器裝置,而指定一USB地址給此虛擬集線器。此一虛擬集線器的USB地址,以及其邏輯終端號碼與物理終端號碼的對應(yīng)關(guān)系,將會被一起儲存位于地址/終端設(shè)定機(jī)構(gòu)623之中。
在本實(shí)施例的連接層塊620中,終端變量緩沖器622是用以儲存各個物理終端的狀態(tài),并由通用終端狀態(tài)機(jī)制621進(jìn)行存取及更新。而邏輯/物理終端轉(zhuǎn)換模塊624,是用以進(jìn)行邏輯/物理終端號碼的轉(zhuǎn)換工作,以利微處理器710就其物理終端號碼識別其所代表的功能裝置。
之后,USB主機(jī)將會以輪詢的方式,定期地探詢此虛擬集線器的狀態(tài)。由于此一虛擬集線器的邏輯地址/終端已儲存于地址/終端設(shè)定機(jī)構(gòu)623之中,因此USB主機(jī)所欲傳遞至此虛擬集線器的消息,例如,探詢命令,其前端的邏輯地址/終端信息將會由通用終端狀態(tài)機(jī)制621加以識別,并在確認(rèn)此邏輯地址/終端是屬于虛擬集線器時,由邏輯/物理終端轉(zhuǎn)換模塊624將其邏輯終端轉(zhuǎn)換為其物理終端。之后,通用終端狀態(tài)機(jī)制621會將此一物理終端號碼通過事件控制模塊651,以通知微處理器710。在本實(shí)施例的復(fù)合裝置50中,亦沒有專為USB集線器所設(shè)計(jì)的電路,而所有與集線器功能相關(guān)的動作,是皆由微處理器710通過軟件或軟件加以模擬及執(zhí)行。
藉由每一次的探詢動作,微處理器710是以集線器的角色與USB主機(jī)溝通,依序回報(bào)有新的裝置連接,而USB主機(jī)將依據(jù)此一消息對此功能裝置啟動識別程序(Enumeration),完成后依序指定一USB地址給每一功能裝置,而每一功能裝置的USB地址及其邏輯終端與物理終端的對應(yīng)關(guān)系,亦將被儲存位于地址/終端設(shè)定機(jī)構(gòu)623之中。舉例來說,微處理器710是以物理終端號碼2、3、4對應(yīng)一軟盤機(jī)裝置的邏輯終端0、1、2,以回應(yīng)USB主機(jī)的探詢,并獲得一USB地址;之后,同樣以物理終端號碼5、6、7對應(yīng)一硬盤機(jī)裝置的邏輯終端0、1、2,以回應(yīng)USB主機(jī)的探詢,以獲得一USB地址。由于每一功能裝置的USB地址及其邏輯終端與物理終端的對應(yīng)關(guān)系,會被儲存于地址/終端設(shè)定機(jī)構(gòu)623之中,所以,本實(shí)施例的復(fù)合裝置所連接的多個功能裝置,雖然使用相同的邏輯終端號碼,但是,微處理器710仍可就其USB地址,以及此地址的邏輯終端與物理終端的對應(yīng)關(guān)系,正確地識別每一地址/終端所代表的功能裝置。亦即,本實(shí)施例所提出的邏輯/物理終端的設(shè)定與轉(zhuǎn)換的方式,將可以使使用者視其需求,擴(kuò)充其功能裝置的種類與數(shù)目,而不受其終端數(shù)目的限制。
因此,本實(shí)施例的USB復(fù)合裝置不但具有如本發(fā)明第一實(shí)施例的復(fù)合裝置的優(yōu)點(diǎn),同時,更具有可擴(kuò)充性的特色,使此USB復(fù)合裝置用途更廣、更具有便利性。
參見圖6,圖中所示為本發(fā)明第3實(shí)施例的USB復(fù)合裝置示意圖。由圖中可見,本實(shí)施例的USB復(fù)合裝置60內(nèi)部的主要結(jié)構(gòu)皆與第2實(shí)施例相同。其不同之處在于,本實(shí)施例的USB復(fù)合裝置60還包含了一信號增強(qiáng)機(jī)構(gòu)920(Repeater),以及一組連接/移除偵測電路930(Connection/RemoveDetecting Circuit)。以下,吾人將就信號增強(qiáng)機(jī)構(gòu)920以及連接移除偵測電路930的用途,配合圖6加以說明。
由圖中可見,由一USB主機(jī)所發(fā)出的消息將可通過USB傳輸接收器811,傳遞至信號增強(qiáng)機(jī)構(gòu)920,而此一信號增強(qiáng)機(jī)構(gòu)920將可執(zhí)行如USB集線器內(nèi)的信號增強(qiáng)器的功能;此外,本實(shí)施例的USB復(fù)合裝置,亦設(shè)置了一組連接移除偵測電路930,此一連接移除偵測電路是連接至此裝置的下行連接端口62(Down Stream Port),用以偵測外接USB裝置的連接或移除的動作。(注在本實(shí)施例的USB復(fù)合裝置60以及第1及第2實(shí)施例的復(fù)合裝置40,50中,皆可具有另一組USB連接移除偵測電路,用以連接至其上行連接端口41,51及61(Up Stream Port),使一USB主機(jī)或集線器得以偵測此裝置的連接或移除動作,但為了簡化的緣故,皆未將此一電路繪制于圖中。)當(dāng)有一USB裝置連接至下行端口62時,連接/移除偵測電路930將可偵測到電位或電流的變化,并將此消息通知微處理器910,此時,此USB復(fù)合裝置60的微處理器910亦如第1及第2實(shí)施例的微處理器般,可模擬一USB集線器的動作,將此一新裝置的消息,通過USB邏輯電路模塊800通知USB主機(jī),使此一USB裝置連接至此一USB總線。
因此,依據(jù)此一方式,本實(shí)施例的USB復(fù)合裝置60將可再增加多個用以連接至USB裝置的下行連接端口,使多個USB裝置得以通過本實(shí)施例的USB復(fù)合裝置連接至USB總線。
雖然本發(fā)明較佳的實(shí)施例已使用特殊方式描述如前,但此處必須明白的是,前述例子僅是為了方便說明之用,而其仍可在不背離下列權(quán)利要求的精神與范圍內(nèi),作多樣的修改與變化。
權(quán)利要求
1.一種通用串行總線復(fù)合裝置,用以連接多個功能裝置至一通用串行總線,且使所連接的功能裝置具有通用串行總線即插即用的功能,此裝置包含一通用串行總線傳輸/接收器,用以作為該多個功能裝置與一通用串行總線的連接點(diǎn),進(jìn)行信號傳輸/接收及信號格式轉(zhuǎn)換工作;一串行接口引擎,用以將接收的信號解碼、串行式數(shù)據(jù)改成并行式,及將欲傳輸?shù)牟⒘惺綌?shù)據(jù)改成串行式,并將其編碼,同時在傳輸/接收數(shù)據(jù)時,進(jìn)行循環(huán)冗余校驗(yàn)碼的檢查工作;以及一電路系統(tǒng),其一端連接于該串行接口引擎,而其另一端通過一微處理器或控制器連接至多個非通用串行總線接口,此一本身不具有如該通用串行總線傳輸接收器及該串行接口引擎的功能的電路系統(tǒng),用以儲存并管理多個由一通用串行總線主機(jī)所指定的裝置地址,并用以進(jìn)行數(shù)據(jù)傳輸工作。
2.如權(quán)利要求1的通用串行總線復(fù)合裝置,其中,該電路系統(tǒng)包含一通用終端狀態(tài)機(jī)制;一地址/終端管理機(jī)構(gòu),用以儲存多個地址/終端設(shè)定,其中,此通用串行總線復(fù)合裝置通過該通用終端狀態(tài)機(jī)制,依該地址/終端管理機(jī)構(gòu)所儲存的各個終端的型式,執(zhí)行通用串行總線規(guī)定的通信協(xié)定與通用串行總線主機(jī)溝通;以及一存儲器模塊,用以緩沖傳輸中的數(shù)據(jù)。
3.如權(quán)利要求2的通用串行總線復(fù)合裝置,其中,該地址/終端管理機(jī)構(gòu)所儲存的該多個地址/終端設(shè)定中,包含一組虛擬集線器的地址/終端設(shè)定,此組虛擬集線器的地址/終端設(shè)定,用以作為該電路系統(tǒng)通過該通用串行總線傳輸接收器、該串行接口引擎以及一微處理機(jī)或控制器,執(zhí)行集線器功能時所使用的地址/終端。
4.如權(quán)利要求2的通用串行總線復(fù)合裝置,其中,該電路系統(tǒng)還包含一終端變量緩沖器,用以儲存多個終端的狀態(tài),其中,此終端變量緩沖器由該通用終端狀態(tài)機(jī)制存取及更新。
5.如權(quán)利要求4的通用串行總線復(fù)合裝置,其中,該存儲器模塊包含一數(shù)據(jù)緩沖區(qū),用以緩沖傳輸中的數(shù)據(jù);及一存儲器管理單元,用以自該數(shù)據(jù)緩沖區(qū)存取數(shù)據(jù),包含一終端緩沖區(qū)設(shè)定機(jī)構(gòu),用以儲存各個終端在該數(shù)據(jù)緩沖區(qū)中所配置的存儲器數(shù)據(jù),及其最大分組長度;以及一數(shù)據(jù)存取控制單元,此數(shù)據(jù)存取控制單元根據(jù)信號的終端號碼,及該終端緩沖區(qū)設(shè)定機(jī)構(gòu)所給予的終端緩沖區(qū)配置,在該數(shù)據(jù)緩沖區(qū)存取數(shù)據(jù)。
6.如權(quán)利要求5的通用串行總線復(fù)合裝置,其中,該電路系統(tǒng)還包含一應(yīng)用接口引擎,用以在該通用終端狀態(tài)機(jī)制、該數(shù)據(jù)存取控制單元與此電路系統(tǒng)所連接的該多個非通用串行總線接口之間,傳遞信號及存取數(shù)據(jù)。
7.如權(quán)利要求2的通用串行總線復(fù)合裝置,其中,該地址/終端管理機(jī)構(gòu)包含一地址/終端設(shè)定機(jī)構(gòu),用以儲存由一通用串行總線主機(jī)所指定的多個邏輯地址,以及每一邏輯地址的所有邏輯終端與物理終端的對應(yīng)關(guān)系,其中,該通用終端狀態(tài)機(jī)制利用該多個邏輯地址,判斷此通用串行總線復(fù)合裝置所連接的多個裝置是否為通用串行總線主機(jī)傳輸數(shù)據(jù)的指定接收或傳送者;一物理終端設(shè)定機(jī)構(gòu),用以儲存各個物理終端的型式、最大分組長度,以及各個物理終端在該存儲器模塊中所配置的存儲器;以及一邏輯/物理轉(zhuǎn)換模塊,用以進(jìn)行此通用串行總線復(fù)合裝置所連接的多個裝置的邏輯/物理終端轉(zhuǎn)換。
8.如權(quán)利要求7的通用串行總線復(fù)合裝置,其中,該地址/終端設(shè)定機(jī)構(gòu)所儲存的多個邏輯地址中,包含一組虛擬集線器的邏輯地址及其所有邏輯終端與物理終端的對應(yīng)關(guān)系,其中,此組虛擬集線器的地址/終端設(shè)定,用以作為該電路系統(tǒng)通過該通用串行總線傳輸接收器、該串行接口引擎以及一微處理機(jī)或控制器,執(zhí)行集線器功能時所使用的地址/終端。
9.如權(quán)利要求7的通用串行總線復(fù)合裝置,其中,該電路系統(tǒng)還包含一終端變量緩沖器,用以儲存各個物理終端的狀態(tài),其中,此終端變量緩沖器由該通用終端狀態(tài)機(jī)制存取及更新。
10.如權(quán)利要求9的通用串行總線復(fù)合裝置,其中,該存儲器模塊包含一數(shù)據(jù)緩沖區(qū),用以緩沖傳輸中的數(shù)據(jù);及一存儲器管理單元,用以自該數(shù)據(jù)緩沖區(qū)存取數(shù)據(jù),包含一物理終端緩沖區(qū)設(shè)定機(jī)構(gòu),用以儲存各個物理終端在該數(shù)據(jù)緩沖區(qū)中所配置的存儲器數(shù)據(jù),及其最大分組長度;以及一數(shù)據(jù)存取控制單元,此數(shù)據(jù)存取控制單元根據(jù)信號的物理終端號碼,及該物理端緩沖區(qū)設(shè)定機(jī)構(gòu)所給予的物理終端緩沖區(qū)配置,在該數(shù)據(jù)緩沖區(qū)存取數(shù)據(jù)。
11.如權(quán)利要求10的通用串行總線復(fù)合裝置,其中,該電路系統(tǒng)還包含一應(yīng)用接口引擎,用以在該通用終端狀態(tài)機(jī)制、該數(shù)據(jù)存取控制單元與此通用串行總線復(fù)合裝置所連接的多個接口之間,傳遞信號及存取數(shù)據(jù)。
12.如權(quán)利要求11的通用串行總線復(fù)合裝置,其中,該應(yīng)用接口引擎包含一事件控制模塊,用以將接收自該通用終端狀態(tài)機(jī)制及該數(shù)據(jù)存取控制單元因通用串行總線通訊所產(chǎn)生的事件,將該事件傳遞至該物理終端號碼所屬的裝置;以及一控制接口模塊,用以控制或設(shè)定內(nèi)部的緩沖器,以及與存儲器管理單元進(jìn)行數(shù)據(jù)傳遞;一數(shù)據(jù)通道模塊,用以存取大量數(shù)據(jù),以直接數(shù)據(jù)存取(DMA)的方式在數(shù)據(jù)緩沖區(qū)及該電路系統(tǒng)所連接的多個接口之間傳輸數(shù)據(jù)。
13.如權(quán)利要求1的通用串行總線復(fù)合裝置的一種電路系統(tǒng),此電路系統(tǒng)包含一通用終端狀態(tài)機(jī)制;一地址/終端管理機(jī)構(gòu),用以儲存多個地址/終端設(shè)定,其中,該通用終端狀態(tài)機(jī)制,依此地址/終端管理機(jī)構(gòu)所儲存的各個終端的型式,執(zhí)行通用串行總線規(guī)定的通信協(xié)定與一通用串行總線主機(jī)溝通;以及一終端變量緩沖器,用以儲存各個終端的狀態(tài),其中,此終端變量緩沖器由該通用終端狀態(tài)機(jī)制存取及更新。
14.如權(quán)利要求13的電路系統(tǒng),其中,該電路系統(tǒng)還包含一數(shù)據(jù)緩沖區(qū),用以緩沖傳輸中的數(shù)據(jù);及一存儲器管理單元,用以自該數(shù)據(jù)緩沖區(qū)存取數(shù)據(jù),包含一終端緩沖區(qū)設(shè)定機(jī)構(gòu),用以儲存各個終端在該數(shù)據(jù)緩沖區(qū)中所配置的存儲器數(shù)據(jù),及其最大分組長度;以及一數(shù)據(jù)存取控制單元,此數(shù)據(jù)存取控制單元根據(jù)信號的終端號碼,及該終端緩沖區(qū)設(shè)定機(jī)構(gòu)所給予的終端緩沖區(qū)配置,在該數(shù)據(jù)緩沖區(qū)存取數(shù)據(jù)。
15.如權(quán)利要求14的電路系統(tǒng),其中,該電路系統(tǒng)還包含一應(yīng)用接口引擎,用以在該通用終端狀態(tài)機(jī)制、該數(shù)據(jù)存取控制單元與多個輸入/輸出接口之間,傳遞信號及存取數(shù)據(jù)。
16.如權(quán)利要求6或12的通用串行總線復(fù)合裝置,其中,該裝置還包含一微處理器或控制器。
17.如權(quán)利要求6或12的通用串行總線復(fù)合裝置,其中,該通用串行總線傳輸接收器、該串行接口引擎以及該電路系統(tǒng)皆制作于同一單晶片上。
18.如權(quán)利要求6或12的通用串行總線復(fù)合裝置,其中,該裝置還包含一信號增強(qiáng)機(jī)構(gòu),用以在一通用串行總線主機(jī)與此通用串行總線復(fù)合裝置所連接的通用串行總線功能裝置之間傳遞上傳及下行的通用串行總線信號;以及一連接移除偵測電路,用以偵測通用串行總線連接端口的連接或移除狀態(tài),其中,該信號增強(qiáng)機(jī)構(gòu)及該連接移除偵測電路的設(shè)置,用以使此通用串行總線復(fù)合裝置得以再提供多個通用串行總線連接端口。
19.一種方法,使多個功能裝置得以共用同一組終端號碼連接至一通用串行總線主機(jī)且各自具有獨(dú)立的通用串行總線地址,包含下列步驟依序設(shè)定多個功能裝置的邏輯終端及邏輯/物理終端的對應(yīng)關(guān)系;儲存該多個功能裝置的物理終端設(shè)定;以一微處理機(jī)或控制器依序啟動各個通用串行總線功能裝置的地址/終端設(shè)定與通用串行總線主機(jī)溝通,再由通用串行總線主機(jī)指定一通用串行總線邏輯地址給各個功能裝置;儲存由通用串行總線主機(jī)指定的該多個通用串行總線地址;將來自通用串行總線的每筆傳輸所指定的地址與該多個通用串行總線邏輯地址進(jìn)行比對,當(dāng)比對正確時,進(jìn)行邏輯/物理終端轉(zhuǎn)換工作;以及再將信號傳遞給該物理終端所代表的功能裝置。
20.一種虛擬集線器的方法,是包含下列步驟使用一地址/終端設(shè)定作為虛擬集線器的通用串行總線地址儲存及終端設(shè)定;利用一通用串行總線傳輸/接收器傳收通用串行總線主機(jī)的信號;利用一串行接口引擎進(jìn)行傳遞信號的解碼、編碼及格式轉(zhuǎn)換,同時在傳輸/接收數(shù)據(jù)時,進(jìn)行循環(huán)冗余校驗(yàn)碼的檢查工作;以一微處理機(jī)或控制器通過軟件或軟件以集線器功能與通用串行總線主機(jī)溝通,通用串行總線主機(jī)會指定一通用串行總線地址給該虛擬集線器;當(dāng)通用串行總線傳輸?shù)牡刂分赶蛟摷€器時,以該微處理器或控制器依傳輸?shù)膬?nèi)容作回應(yīng);以及以該微處理機(jī)或該控制器通過軟件或軟件管理或回報(bào)其他通用串行總線功能裝置給通用串行總線主機(jī),以維持通用串行總線的層狀結(jié)構(gòu)。
21.一種通用串行總線復(fù)合裝置的實(shí)現(xiàn)方法,此裝置是用以連接至少兩個不具有通用串行總線邏輯電路的功能裝置至一通用串行總線,且使所連接的功能裝置具有通用串行總線即插即用的功能,此方法是包含下列步驟設(shè)置一物理層塊,用以連接一通用串行總線,進(jìn)行信號的接收或傳輸、格式轉(zhuǎn)換、解碼以及循環(huán)冗余校驗(yàn)碼(Cyclic Redundancy Check Code)的工作;設(shè)置一連接層塊,接收來自該物理層的數(shù)據(jù),進(jìn)行地址/終端的比對工作,以及依各終端的狀態(tài)與通用串行總線主機(jī)執(zhí)行通信協(xié)定的溝通;設(shè)置一存儲器管理單元,接收來自該連接層的終端號碼,并依此終端號碼進(jìn)行數(shù)據(jù)的讀取或儲存工作;設(shè)置一應(yīng)用接口引擎,接收來自該連接層及該存儲器管理單元的信號或數(shù)據(jù),與應(yīng)用單元執(zhí)行消息或數(shù)據(jù)的傳遞;及設(shè)置一數(shù)據(jù)緩沖區(qū),儲存各個終端的緩沖數(shù)據(jù)。
22.根據(jù)權(quán)利要求21的方法,其中,設(shè)置該物理層塊的步驟還包含以一通用串行總線傳輸/接收器傳輸或接收信號,并進(jìn)行信號的格式轉(zhuǎn)換工作;及以一串行接口引擎將接收的信號解碼、串行式數(shù)據(jù)改成并列式,及將欲傳輸?shù)牟⒘惺綌?shù)據(jù)改成串行式,并將之編碼,同時在傳輸/接收數(shù)據(jù)時,進(jìn)行循環(huán)冗余校驗(yàn)碼的檢查工作。
23.根據(jù)權(quán)利要求21的方法,其中,設(shè)置該連接層塊的步驟還包含以一終端變量緩沖器,用以儲存所連接的通用串行總線功能裝置的各個終端狀態(tài);以一通用終端狀態(tài)機(jī)制,用以存取及更新該終端變量緩沖器,并依該終端的型式,執(zhí)行通用串行總線規(guī)定的通信協(xié)定與通用串行總線主機(jī)溝通;以一地址/終端設(shè)定機(jī)構(gòu)儲存由通用串行總線主機(jī)所指定的地址及該功能裝置對應(yīng)的終端;以一物理終端設(shè)定機(jī)構(gòu)儲存物理終端及其終端設(shè)定;及以一邏輯/物理終端轉(zhuǎn)換器進(jìn)行邏輯終端與物理終端的轉(zhuǎn)換工作。
24.根據(jù)權(quán)利要求21的方法,其中,設(shè)置該存儲器管理單元的步驟還包含以一物理終端數(shù)據(jù)緩沖區(qū)設(shè)定機(jī)構(gòu),紀(jì)錄各物理終端所分配的數(shù)據(jù)緩沖區(qū)塊及其數(shù)據(jù)狀態(tài);以及以一數(shù)據(jù)存取控制單元,自該物理終端數(shù)據(jù)緩沖區(qū)設(shè)定內(nèi),讀取各物理終端的數(shù)據(jù)緩沖區(qū)塊及數(shù)據(jù)狀態(tài),并將數(shù)據(jù)存入其數(shù)據(jù)緩沖區(qū)塊,或?qū)?shù)據(jù)自其數(shù)據(jù)緩沖區(qū)塊讀出。
25.根據(jù)權(quán)利要求21的方法,其中,設(shè)置該應(yīng)用接口引擎的步驟還包含以一事件控制模塊,將接收自該通用終端狀態(tài)機(jī)制及該數(shù)據(jù)存取控制單元因通用串行總線通訊所產(chǎn)生的事件,將該事件連同該物理終端號碼通知應(yīng)用單元中所代表的功能裝置;以一控制接口模塊,控制或設(shè)定內(nèi)部的緩沖器,以及與存儲器管理單元進(jìn)行數(shù)據(jù)傳遞;及以一數(shù)據(jù)通道模塊,存取大量數(shù)據(jù),以直接數(shù)據(jù)存取的方式在數(shù)據(jù)緩沖區(qū)及應(yīng)用單元間傳輸數(shù)據(jù)。
26.如權(quán)利要求21的方法,其中,還包含使此裝置得以再提供多個通用串行總線連接端口的步驟,是包含以一信號增強(qiáng)機(jī)構(gòu),傳遞上傳及下行的通用串行總線信號于通用串行總線主機(jī)及所連接的通用串行總線功能裝置之間;及以一連接/移除偵測電路,偵測通用串行總線連接端口連接或移除的狀態(tài)。
全文摘要
一種通用串行總線(USB)復(fù)合裝置及其實(shí)現(xiàn)方法。此一USB復(fù)合裝置不含內(nèi)置式集線器,而是以電路或軟件來模擬集線器,使得一組獨(dú)立的功能裝置可共同通過同一組USB邏輯電路模塊連接至USB總線,因而可在不影響裝置功能,擴(kuò)充性和即插即用的方便性下,達(dá)到降低生產(chǎn)成本的目的。
文檔編號H04L12/40GK1417985SQ01137820
公開日2003年5月14日 申請日期2001年11月8日 優(yōu)先權(quán)日2001年11月8日
發(fā)明者吳文珍, 周文華 申請人:旺玖科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
阿拉善盟| 宝应县| 周宁县| 金山区| 格尔木市| 新乡市| 叶城县| 陕西省| 招远市| 呼图壁县| 花垣县| 漳浦县| 西和县| 大田县| 黄陵县| 大兴区| 潜山县| 噶尔县| 山西省| 鄂尔多斯市| 铁岭县| 崇左市| 五河县| 若羌县| 邹平县| 台北县| 漠河县| 临泽县| 新巴尔虎右旗| 时尚| 新民市| 福安市| 江安县| 聂拉木县| 澳门| 宣恩县| 鹤壁市| 莲花县| 修水县| 安庆市| 乌兰浩特市|