一單元150及第二單元160,其中第一單元150連接至目標(biāo)電腦110的USB接口 ;第二單元160以其USB接口連接指紋掃描裝置130,而第一單元150與第二單元160彼此之間再以網(wǎng)絡(luò)相互耦接。其中,第一單元150與目標(biāo)電腦110的距離以及第二單元160與指紋掃描裝置130的距離均不超過(guò)5公尺。
[0029]第一單元150具有第一 USB接口 151及第一網(wǎng)絡(luò)接口 153 ;第二單元160具有第二 USB接口 152及第二網(wǎng)絡(luò)接口 154。其中第一 USB接口 151用以連接目標(biāo)電腦110,且第一單元150會(huì)被目標(biāo)電腦110視為USB裝置,因此通常第一 USB接口 151包含B類(lèi)型的母連接器,但是并不以此為限。另外,第二 USB接口 152用以連接指紋掃描裝置130。而第一單元150與第二單元160彼此再以第一網(wǎng)絡(luò)接口 153及第二網(wǎng)絡(luò)接口 154相互耦接。
[0030]請(qǐng)參閱圖2D,通過(guò)第一 USB接口 151,第一單元150可與目標(biāo)電腦110以標(biāo)準(zhǔn)的USB協(xié)議進(jìn)行通訊;通過(guò)第二 USB接口 152,第二單元160可與指紋掃描裝置130或其他類(lèi)型的USB裝置以標(biāo)準(zhǔn)的USB協(xié)議進(jìn)行通訊。另外,通過(guò)第一網(wǎng)絡(luò)接口 153及第二網(wǎng)絡(luò)接口154,第一單元150可與第二單元160進(jìn)行標(biāo)準(zhǔn)及/或非標(biāo)準(zhǔn)的網(wǎng)絡(luò)通訊協(xié)議以交換數(shù)據(jù)。并且,第一單元150具有第一協(xié)議轉(zhuǎn)換單元163 ;第二單元160具有第二協(xié)議轉(zhuǎn)換單元164。其中第一協(xié)議轉(zhuǎn)換單元163使得第一單元150具有將USB協(xié)議轉(zhuǎn)換為非USB協(xié)議或是將非USB協(xié)議轉(zhuǎn)換為USB協(xié)議的能力;同樣地,第二協(xié)議轉(zhuǎn)換單元164使得第二單元160也具有將USB協(xié)議轉(zhuǎn)換為非USB協(xié)議或是將非USB協(xié)議轉(zhuǎn)換為USB協(xié)議的能力。在一較佳實(shí)施例中,第一協(xié)議轉(zhuǎn)換單元163可為中央處理器或是FPGA ;第二協(xié)議轉(zhuǎn)換單元164在一較佳實(shí)施例中,也可以是中央處理器或是FPGA。
[0031]為實(shí)現(xiàn)上述功能,第二單元160更具有USB主機(jī)控制器162,以實(shí)現(xiàn)一般USB主機(jī)的功能,例如檢測(cè)USB裝置、管理數(shù)據(jù)流、錯(cuò)誤檢查、提供及管理電源、與USB裝置交換數(shù)據(jù)等。USB主機(jī)控制器162耦接于第二 USB接口 152與第二協(xié)議轉(zhuǎn)換單元164之間。
[0032]第一單元150更具有USB裝置控制器161,以實(shí)現(xiàn)一般USB裝置的功能,例如回應(yīng)USB主機(jī)的請(qǐng)求、錯(cuò)誤檢查及與USB主機(jī)交換數(shù)據(jù)等。并且,第一單元150會(huì)因?yàn)閁SB裝置控制器161的模擬而被目標(biāo)電腦110視為USB裝置;第二單元160會(huì)因?yàn)閁SB主機(jī)控制器162的模擬而被指紋掃描裝置130視為USB主機(jī)。USB裝置控制器161耦接于第一 USB接口 151與第一協(xié)議轉(zhuǎn)換單元163之間。
[0033]因此,基于以上架構(gòu),以USB協(xié)議的角度而言,此目標(biāo)電腦110為USB主機(jī)(Host),第一單元150對(duì)此目標(biāo)電腦110模擬成USB裝置(Device)。另外,此第二單元160對(duì)指紋掃描裝置模擬為USB主機(jī)(Host)。并且,目標(biāo)電腦110與第一單元150之間的某些USB通訊行為會(huì)被映射(Mapping)成第二單元160與指紋掃描裝置130之間的USB通訊行為。在實(shí)際應(yīng)用中,此第二單元160可為電腦或硬件裝置。當(dāng)此第二單元160為電腦時(shí),有應(yīng)用程序依附于此電腦上。
[0034]請(qǐng)同時(shí)參閱圖2B、圖3A?圖3C的實(shí)施例。圖3A?圖3C說(shuō)明本發(fā)明的一種由遠(yuǎn)程登入電腦的方法,該方法基于圖2B的架構(gòu)進(jìn)行說(shuō)明,且該方法至少包含下列步驟:步驟301提供一如圖2B所示的USB延伸系統(tǒng)100,如前所述此USB延伸系統(tǒng)100更包含第一單元150及第二單元160。步驟302將第一單元150耦接至目標(biāo)電腦110的USB接口。步驟303將指紋掃描裝置130連接至第二單元160的USB接口。步驟304建立第一單元150與第二單元160之間的網(wǎng)絡(luò)通訊,使得第一單元150與第二單元160之間可以USB協(xié)議以外的協(xié)議交換數(shù)據(jù),例如以太網(wǎng)絡(luò)協(xié)議或TCP/IP協(xié)議組。
[0035]步驟305是依據(jù)USB協(xié)議,執(zhí)行第二單元160與指紋掃描裝置130間的控制傳輸(Control Transfer)以完成指紋掃描裝置130的列舉(Enumerat1n)。其中步驟305更包含步驟305-1如下:依據(jù)USB協(xié)議,執(zhí)行目標(biāo)電腦110與第一單元150間的控制傳輸,以向目標(biāo)電腦110傳遞數(shù)個(gè)描述元(Descriptor),以使目標(biāo)電腦110可依據(jù)該些描述元對(duì)第一單元150指派USB地址及進(jìn)行設(shè)定,進(jìn)而使目標(biāo)電腦110可將第一單元150視為USB裝置(Device),且USB裝置的類(lèi)型與指紋掃描裝置130相同或等效。亦即USB裝置的類(lèi)型(Class)可為靜態(tài)圖像捕捉裝置(Still Image Capture Device)或是包含靜態(tài)圖像捕捉裝置功能及其他功能的復(fù)合裝置(Compound Device)。當(dāng)?shù)谝粏卧?50模擬成一復(fù)合裝置時(shí),此復(fù)合裝置包含多個(gè)不同類(lèi)型的功能,例如包含靜態(tài)圖像捕捉裝置的功能、人機(jī)接口裝置(HID)、大量?jī)?chǔ)存裝置(Mass Storage)或其任意組合的功能。
[0036]進(jìn)一步而言,當(dāng)?shù)诙卧?60除了指紋掃描裝置130以外尚有其他USB裝置(例如鍵盤(pán)或鼠標(biāo))欲通過(guò)第二單元160延伸至目標(biāo)電腦110,且第一單元150當(dāng)中僅有一個(gè)USB裝置控制器161的時(shí)候,第一單元150模擬成一 USB復(fù)合裝置(Compound Device),此USB復(fù)合裝置必須同時(shí)包含靜圖像捕捉裝置及人機(jī)接口裝置的功能。雖然對(duì)于第二單元160而言,指紋掃描裝置130與其他的USB裝置具有不同的USB地址,但是第一單元150所模擬的USB復(fù)合裝置僅向目標(biāo)電腦110取得一個(gè)USB地址。當(dāng)?shù)诙卧?60除了指紋掃描裝置130以外并無(wú)其他USB裝置欲延伸至目標(biāo)電腦110時(shí),第一單元150僅須單純地模擬成一靜態(tài)圖像捕捉裝置。又或者是,當(dāng)?shù)诙卧?60除了指紋掃描裝置130以外尚有其他USB裝置(例如鍵盤(pán)或鼠標(biāo))欲延伸至目標(biāo)電腦110,且第一單元150當(dāng)中有多個(gè)USB裝置控制器161的時(shí)候(第二單元160可以自目標(biāo)電腦110取得多個(gè)USB地址),第一單元150可以其中一個(gè)USB裝置控制器161模擬成單純的靜態(tài)圖像捕捉裝置,其余的USB裝置控制器161可模擬成具有鍵盤(pán)及鼠標(biāo)功能的復(fù)合裝置。總之,對(duì)于本領(lǐng)域具有通常知識(shí)者而言,以第一單元150來(lái)模擬遠(yuǎn)程的USB裝置有多種實(shí)現(xiàn)方式,在此不再一一列舉。
[0037]更詳細(xì)地說(shuō),上述列舉過(guò)程更包含下列步驟:將USB裝置連接至USB主機(jī);USB主機(jī)檢測(cè)到USB裝置;USB主機(jī)識(shí)別USB裝置的速度;USB主機(jī)取得USB裝置的裝置描述元(Device Descriptor);重設(shè)USB裝置并指派USB地址;USB主機(jī)取得USB裝置的設(shè)定描述元(Configurat1n Descriptor) ;USB 主機(jī)取得 USB 裝置的接口描述元(InterfaceDescriptor);載入驅(qū)動(dòng)程序。
[0038]在步驟305的控制傳輸過(guò)程當(dāng)中更包含使第二單元160可依據(jù)USB協(xié)議自指紋掃描裝置130接收到數(shù)個(gè)描述元(Descriptor),例如裝置描述元(Device Descriptor)、設(shè)定描述元(Configurat1n Descriptor)、接口描述元(Interface Descriptor)及端點(diǎn)描述元(Endpoint Descriptor)。其中該接口描述元具有端點(diǎn)數(shù)目(bNumEndpoints)欄位,且端點(diǎn)數(shù)目欄位內(nèi)填入的數(shù)值為3。另外端點(diǎn)描述元包含bLength、bDescriptorType、bEndpointAddress、bmAttributes、wMaxPacketSize 及 blnterval 等欄位。其中 bLength用以描述此描述元的位元組數(shù)字(通常為07h) AmAttributes用以描述所支持的傳輸類(lèi)型(the type of transfer),例如大量傳輸為02h ;bEndpointAddress用以描述端點(diǎn)的數(shù)目及方向(direct1n) ;blnterval用以描述時(shí)間間隔;wMaxPacketSize用以描述每個(gè)端點(diǎn)的最大封包長(zhǎng)度(maximum packet size for each endpoint)。
[0039]另外在步驟305當(dāng)中,第二單元160也會(huì)依據(jù)USB協(xié)議,對(duì)指紋掃描裝置130指派第一 USB地址(圖未示)。后續(xù)的中斷傳輸及大量傳輸將會(huì)依據(jù)此第一 USB地址進(jìn)行(但是仍經(jīng)由不同的端點(diǎn))。例如中斷傳輸當(dāng)中的「交易」(Transact1n)的令牌封包(TokenPacket)便會(huì)填入此第一 USB地址。一個(gè)標(biāo)準(zhǔn)的令牌封包通常具有封包識(shí)別碼(PacketIdentifier ;PID)、USB地址、端點(diǎn)地址及錯(cuò)誤檢查(CRC)等欄位。一個(gè)「?jìng)鬏敗雇ǔJ怯啥鄠€(gè)「交易」所構(gòu)成的。而一個(gè)「交易」通常至少包含令牌封包及數(shù)據(jù)封包(Data Packet)。
[0040]類(lèi)似地,在步驟305-1的控制傳輸過(guò)程當(dāng)中更包含使第一單元150可依據(jù)USB協(xié)議自指紋掃描裝置130接收到數(shù)個(gè)描述元(Descriptor),例如裝置描述元(DeviceDescriptor)、設(shè)定描述元(Configurat1n Descriptor)及接 Π 描述元(InterfaceDescriptor)。其中該接口描述元具有端點(diǎn)數(shù)目(bNumEndpoints)欄位,且端點(diǎn)數(shù)目欄位內(nèi)填入的數(shù)值為3。另外,在步驟305-1當(dāng)中,目標(biāo)電腦110也會(huì)依據(jù)USB協(xié)議,對(duì)第一單元150指派第二 US