亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種USBKey及其與終端進行通信的方法

文檔序號:6439041閱讀:163來源:國知局
專利名稱:一種USB Key及其與終端進行通信的方法
技術(shù)領(lǐng)域
本發(fā)明涉及信息安全領(lǐng)域,特別涉及一種USB Key及其與終端進行通信的方法。
背景技術(shù)
目前,USB Key已經(jīng)越來越廣泛的應(yīng)用于網(wǎng)上銀行、電子商務(wù)等需要進行身份認證的場合。普通USB Key是單一 USB接口通信或USB接口復(fù)合通信,不能支持串口協(xié)議的終端。針對現(xiàn)有技術(shù)中普通USB Key在通信過程中存在的缺陷,至今還未提出解決方案。

發(fā)明內(nèi)容
本發(fā)明提出了一種USB Key及其與終端進行通信的方法,解決上述現(xiàn)有技術(shù)中存在的缺陷。本發(fā)明提出了一種通用串行總線USB Key,包括接口模塊、輸電模塊和微控制單元 MCU模塊,其中,所述接口模塊,用于與終端連接;所述輸電模塊,用于在所述接口模塊與所述終端連接時,為所述MCU模塊輸電;所述MCU模塊,用于在上電后,進行初始化配置,并檢測所述MCU模塊中的模式引腳的電位狀態(tài),在所述電位狀態(tài)滿足第一預(yù)設(shè)條件時,將所述MCU模塊中用于進行串口通信的引腳設(shè)為高阻態(tài),配置USB功能,接收與所述接口模塊連接的終端發(fā)起的枚舉設(shè)備請求,并在枚舉結(jié)束后,與所述終端進行USB通信;在所述電位狀態(tài)滿足第二預(yù)設(shè)條件時,將所述MCU模塊中用于進行USB通信的引腳設(shè)為高阻態(tài),配置串口功能,向與所述接口模塊連接的終端發(fā)起枚舉設(shè)備請求,并在枚舉結(jié)束后,與所述終端進行串口通信,所述模式引腳用于通過自身的電位狀態(tài)指示所述USB Key與終端之間的通信模式。本發(fā)明還提供了一種通用串行總線USB Key與終端進行通信的方法,包括以下步驟USB Key上電,并進行初始化配置;所述USB Key檢測自身的微控制單元MCU模塊中的模式引腳的電位狀態(tài),所述模式引腳用于通過自身的電位狀態(tài)指示所述USB Key與終端之間的通信模式;如果所述模式引腳的電位狀態(tài)滿足第一預(yù)設(shè)條件,所述USB Key將所述MCU模塊中用于進行串口通信的引腳設(shè)為高阻態(tài),配置USB功能,接收與所述USB Key連接的終端發(fā)起的枚舉設(shè)備請求,并在枚舉結(jié)束后,與所述終端進行USB通信;如果所述模式引腳的電位狀態(tài)滿足第二預(yù)設(shè)條件,所述USB Key將所述MCU模塊中用于進行USB通信的引腳設(shè)為高阻態(tài),配置串口功能,向與所述USB Key連接的終端發(fā)起枚舉設(shè)備請求,并在枚舉結(jié)束后,與所述終端進行串口通信。本發(fā)明達到的有益效果實現(xiàn)兼容USB接口和串口的USB Key,該USB Key在具有USB接口的終端和具有串口的終端上都可使用。


圖1為本發(fā)明實施例一提供的一種USB Key的內(nèi)部功能模塊圖;圖2為本發(fā)明實施例二提供的一種USB Key與終端進行通信的方法流程圖;圖3為本發(fā)明實施例二提供的一種USB Key的一種內(nèi)部電路圖;圖4為本發(fā)明實施例二提供的一種USB Key的另一種內(nèi)部電路圖;圖5為本發(fā)明實施例三提供的另一種USB Key的內(nèi)部功能模塊圖;圖6為本發(fā)明實施例四提供的另一種USB Key與終端進行通信的方法流程圖;圖7為本發(fā)明實施例四提供的另一種USB Key的內(nèi)部電路圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明的一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。實施例一本發(fā)明實施例一提供了一種USB Key,該Key上實現(xiàn)了串口和USB接口的復(fù)合。參見圖1,所述USB Key的內(nèi)部模塊包括接口模塊11,標志產(chǎn)生模塊12,輸電模塊13,USB上拉模塊14,串口上拉模塊15,MCU模塊16,認證處理器芯片17。上述各模塊的功能如下所述接口模塊11,提供USB接口功能和串口功能;所述標志產(chǎn)生模塊12,連接了所述接口模塊11和模式選定單元161,用于產(chǎn)生MCU 內(nèi)mode引腳的電平標志;所述輸電模塊13,連接了所述接口模塊11和MCU模塊16,用于當(dāng)所述接口模塊11 連接有終端時,所述輸電模塊13將所述接口模塊11產(chǎn)生的電源信號傳輸給MCU模塊16 ;
所述USB上拉模塊14,連接了所述接口模塊11和MCU模塊16,所述接口模塊11處產(chǎn)生的電源信號或所述MCU模塊16的輸出信號控制所述USB上拉模塊14是否上拉有效;所述串口上拉模塊15,連接了所述接口模塊11和所述MCU模塊16,所述接口模塊 11處產(chǎn)生的電源信號或所述MCU模塊16的輸出信號控制所述串口上拉模塊15是否上拉有效;所述MCU模塊16,用于控制各模塊的工作,包括模式選定單元161、USB功能單元 162和串口功能單元163 ;所述模式選定單元161,用于選定MCU的工作模式;所述USB功能單元162,與所述接口模塊11連接,用于當(dāng)所述模式選定單元161選定的工作模式為USB工作模式時,配置USB功能,并啟用;還用于當(dāng)所述USB上拉模塊14上拉有效時,對RXD、TXD引腳進行配置;具體地,在本實施例中,當(dāng)所述USB上拉模塊14上拉有效時,將RXD、T)(D引腳設(shè)成高阻態(tài);
還用于Key接收連接在Key上的USB終端發(fā)起的枚舉設(shè)備請求,并在枚舉結(jié)束后 Key與USB終端進行USB通信;所述串口功能單元163,與所述接口模塊11連接,用于當(dāng)所述模式選定單元161 選定的工作模式為串口工作模式時,配置串口功能,并啟用;還用于當(dāng)所述串口上拉模塊15上拉有效時,對D+、D_、RXD、T)(D引腳進行配置;具體地,在本實施例中,當(dāng)所述串口上拉模塊15上拉有效時,將D+、D_引腳設(shè)成高阻態(tài);同時,將T)(D端口設(shè)置成輸出端口,將R)(D端口設(shè)置成輸入端口;還用于Key向連接在Key上的串口終端發(fā)起枚舉設(shè)備請求,并在枚舉結(jié)束后Key 與串口終端進行串口通信;所述認證處理器芯片17,與所述串口功能單元163連接,用于當(dāng)所述模式選定單元161選定串口工作模式時,與所述MCU模塊16內(nèi)的串口功能單元163之間進行數(shù)據(jù)的交互及處理,完成枚舉過程。實施例二基于實施例一提供的一種USB Key,本發(fā)明實施例二提供了一種USB Key與終端進行通信的方法。該方法中,Key的接口處設(shè)置了 MINI-USB接口,該MINI-USB接口結(jié)合了 USB接口和串口的功能。參見圖2,Key上電后,內(nèi)部MCU執(zhí)行以下操作步驟201 :MCU初始化配置后,檢測mode引腳的電位狀態(tài)是否為預(yù)設(shè)電平,是則執(zhí)行步驟202,否則執(zhí)行步驟208 ;具體地,在本實施例中,所述mode引腳的電位狀態(tài)是由實施例一中的所述標志產(chǎn)生模塊產(chǎn)生的,優(yōu)選地,在本實施例中,參見圖3所示的電路圖,所述mode引腳與MINI-USB接口上的VCC-PC引腳連接,相應(yīng)地,所述預(yù)設(shè)電平為高電平,若所述mode引腳與MINI-USB接口上的VCC-IP引腳連接,相應(yīng)地,所述預(yù)設(shè)電平為低電平;相應(yīng)地,所述標志產(chǎn)生模塊具體由MCU上的mode引腳與MINI-USB接口上的 VCC-PC連接實現(xiàn),即當(dāng)VCC-PC有效時,所述mode引腳處的電位狀態(tài)為高電平;當(dāng)VCC-PC無效時,mode 引腳保持低電平;所述標志產(chǎn)生模塊也可以由MCU上的mode引腳與MINI-USB接口上的VCC-IP連接實現(xiàn),即當(dāng)VCC-IP有效時,所述mode引腳處的電位狀態(tài)為高電平;當(dāng)VCC-IP無效時,mode 引腳保持低電平;同時,MCU是由實施例一中的所述輸電模塊為其傳輸電源信號的,優(yōu)選地,參見圖 3所示的電路圖,所述輸電模塊具體由二極管D1、下拉電阻R8和二極管D2、下拉電阻R7實現(xiàn),即當(dāng)mode引腳為高電平時,即MINI-USB接口處VCC-PC引腳的電位為高電平,貝丨J連接VCC-PC引腳的二極管Dl導(dǎo)通,開始給MCU供電;當(dāng)mode引腳為低電平時,即MINI-USB接口處VCC-IP引腳的電位為高電平,則
連接VCC-IP引腳的二極管D2導(dǎo)通,開始給MCU供電;同時,在本實施例中,D+信號線上拉為高電平是由實施例一中的所述USB上拉模塊實現(xiàn)的,優(yōu)選地,參見圖3所示的電路圖,所述USB上拉模塊具體由三極管Tl、上拉電阻R3 和所述標志產(chǎn)生模塊的VCC-PC實現(xiàn),即當(dāng)mode引腳為高電平時,即MINI-USB接口處VCC-PC引腳的電位為高電平,貝丨J三極管Tl的發(fā)射極電壓為VCC-PC,基極由電阻R5下拉為低電平,三極管Tl導(dǎo)通, D+信號線的上拉電阻R3有效,使D+信號線上為高電平信號;同時,在本實施例中,防止T)(D引腳處發(fā)生開漏是由實施例一中的所述串口上拉模塊實現(xiàn)的,優(yōu)選地,參見圖3所示的電路圖,所述串口上拉模塊具體由三極管T2、上拉電阻R4 和VCC-IP實現(xiàn),即當(dāng)mode引腳為低電平時,即MINI-USB接口處VCC-IP引腳的電位為高電平,則三極管T2的發(fā)射極電壓為VCC-IP,基極由電阻R6下拉為低電平,三極管T2導(dǎo)通, Τ )信號線的上拉電阻有效,避免了 T)(D引腳處發(fā)生開漏;步驟202 :M⑶將RXD、TXD引腳設(shè)成高阻態(tài),停用MCU內(nèi)串口功能;在本實施例中,如果有T)(D上拉控制的端口,也將其設(shè)成高阻態(tài);步驟203 =MCU配置USB模塊電源;優(yōu)選地,在本實施例中,MCU使用內(nèi)部穩(wěn)壓源為USB模塊供電,其中,所述內(nèi)部穩(wěn)壓源為3. 3伏;步驟204 :MCU配置USB時鐘;步驟205 =MCU清空USB中斷標志,并將各種狀態(tài)寄存器復(fù)位;步驟206 配置完成后,MCU啟用USB功能;步驟207 =Key接收到終端發(fā)起的枚舉設(shè)備請求,并在枚舉結(jié)束后進行USB通信;具體地,在本實施例中,Key與終端之間進行的枚舉過程具體如下步驟207-1 當(dāng)Key接收到重啟信號后,開始枚舉過程;在本實施例中,當(dāng)Key接收到重啟信號后,Key準備好通過Endpoint 0的默認流程響應(yīng)控制傳輸,即Key現(xiàn)在使用默認地址0x0與終端通信;步驟207-2 當(dāng)Key接收到終端發(fā)送的Get_Device_Descriptor命令時,向終端發(fā)送設(shè)備描述符;在本實施例中,所述設(shè)備描述符的bMaxPacketSizeO字段中包含了最大數(shù)據(jù)包長度,所述最大數(shù)據(jù)包長度的地址偏移量為7,從而終端通過讀取所述設(shè)備描述符的前8個字節(jié)來獲取所述最大數(shù)據(jù)包長度;步驟207-3 當(dāng)Key接收到終端發(fā)送的kt_AddreSS請求時,返回一個確認命令;在本實施例中,終端通過發(fā)送一個kt_AddreSS請求來分配一個唯一的新地址給 Key ;當(dāng)Key讀取這個請求時,返回一個確認命令,并保存所述新地址,作為接下來進行的所有通信中使用的地址;步驟207-4 當(dāng)Key再次接收到終端發(fā)送的Get_Device_Descriptor命令時,向終端發(fā)送設(shè)備描述符;在本實施例中,此次終端需讀取所述設(shè)備描述符的全部字段,以了解Key的總體信息,例如VID、PID ;步驟207-5 當(dāng)Key接收到終端發(fā)送的Get_Device_Conf iguration命令,向終端發(fā)送配置信息;在本實施例中,當(dāng)Key循環(huán)接收到終端發(fā)送的Get_Device_Configuration命令時,返回相應(yīng)的應(yīng)答指令;所述應(yīng)答指令包含了 Key的全部配置信息;步驟207-6 當(dāng)Key接收到終端發(fā)送的Get_DeViCe_Mring命令時,向終端發(fā)送字符集描述;優(yōu)選地,在本實施例中,所述字符集描述包括廠商、產(chǎn)品描述、型號等;步驟207-7 當(dāng)Key接收到Set_C0nf iguration (χ)命令后,將配置值χ寫入寄存器中,返回一個確認指令;在本實施例中,當(dāng)終端加載了 Key的驅(qū)動后,終端向Key發(fā)送 Configuration (χ)命令,即終端為Key選擇一個合適的配置(χ代表非零的配置值);此時Key完成了其必須進行的配置和連接工作,當(dāng)查看注冊表時,能夠發(fā)現(xiàn)相應(yīng)的項目已經(jīng)添加完畢,至此Key可以和終端進行應(yīng)用通信;步驟208 =MCU將D+、D-引腳設(shè)成高阻態(tài),停用MCU內(nèi)USB功能;在本實施例中,如果有D+上拉控制的端口,也將其設(shè)成高阻態(tài);步驟209 =MCU將T)(D端口設(shè)置成輸出端口,將RXD端口設(shè)置成輸入端口 ;具體地,在本實施例中,TXD信號線上的上拉電阻是可選的,當(dāng)MCU內(nèi)部有上拉電阻時,只要配置T)(D端口為內(nèi)部上拉即可;步驟210 :M⑶配置串口時鐘源;步驟211 :M⑶配置串口波特率;步驟212 :MCU清空串口中斷標志,并將各種狀態(tài)寄存器復(fù)位;步驟213 配置完成后,MCU啟用串口功能;步驟214 =Key向終端發(fā)起枚舉設(shè)備請求,并在枚舉結(jié)束后與所述終端進行串口通具體地,在本實施例中,在進行串口通信之前,Key與終端之間進行相互認證,即 Key接受終端對其進行的第一簽名認證和Key對終端進行第二簽名認證,具體如下步驟214-1 =Key向終端上報Key的設(shè)備屬性信息,用以發(fā)起在終端中注冊Key的過程;步驟214-2 在注冊過程中,Key接收到終端索要簽名證書的請求后,從內(nèi)部的認證處理器芯片中讀取第一簽名證書;步驟214-3 =Key向終端發(fā)送所述第一簽名證書;步驟214-4 =Key接收終端返回的第一挑戰(zhàn)碼;優(yōu)選地,所述第一挑戰(zhàn)碼是終端生成的隨機數(shù);步驟214-5 =Key將所述第一挑戰(zhàn)碼寫入所述認證處理器芯片,并置位運算標識;步驟214-6 :Key檢索到置位的簽名已生成標識,從所述認證處理器芯片中讀取第一簽名值;具體地,在本實施例中,當(dāng)所述認證處理器芯片檢索到Key置位的所述運算標識時,所述認證處理器芯片計算出第一簽名值,并置位簽名已生成標識;步驟214-7 =Key將所述第一簽名值發(fā)送給終端,以使終端根據(jù)所述第一簽名證書對所述第一簽名值進行第一簽名認證,并將認證結(jié)果返回給Key ;步驟214-8 :Key通過第一簽名認證后,Key完成在終端上的注冊;步驟214-9 當(dāng)Key完成在終端上的注冊后,Key向終端發(fā)送索要簽名證書的請求, 等待接收終端發(fā)送的第二簽名證書;步驟214-10 :Key接收到終端發(fā)送的所述第二簽名證書,將所述第二簽名證書寫入所述認證處理器芯片;步驟214-11 :Key從所述認證處理器芯片讀取第二挑戰(zhàn)碼,并將所述第二挑戰(zhàn)碼發(fā)送給終端;優(yōu)選地,所述第二挑戰(zhàn)碼是所述認證處理器芯片生成的隨機數(shù);步驟214-12 :Key接收終端發(fā)送的第二簽名值;步驟214-13 :Key將所述第二簽名值寫入所述認證處理器芯片,并置位認證標識;步驟214-14 =Key檢索到所述認證處理器芯片置位的認證成功標識,將認證成功的結(jié)果發(fā)送給終端,完成對終端的第二簽名認證;在本實施例中,所述認證處理器芯片檢索到Key置位的認證標識,通過終端發(fā)送的所述第二簽名證書對所述第二簽名值進行第二簽名認證,認證成功,則置位認證成功標識,認證失敗,則返回步驟214-9,重新請求認證;兩次認證成功后,Key和終端開始進行串口通信。在本實施例中,Key內(nèi)部的所述USB上拉模塊和串口上拉模塊還有另一種電路實現(xiàn)方式,優(yōu)選地,參見圖4所示的電路圖所述mode引腳與MINI-USB接口上的VCC-PC引腳連接;MCU上引腳PlO和Pll為輸出引腳,PlO與上拉電阻R3連接,Pll與上拉電阻R4 連接,所述USB上拉模塊則通過PlO上的輸出信號USB-UP-CTL和上拉電阻R3控制D+信號線是否上拉為高電平,所述串口上拉模塊則通過Pll上的輸出信號T)(D-UP-CTL和上拉電阻 R4控制T)(D信號線是否上拉為高電平;在本實施例中,T)(D信號線上的上拉電阻是可選的,當(dāng)MCU內(nèi)部有上拉電阻時,只要配置T)(D端口為內(nèi)部上拉即可;該方式中,預(yù)先設(shè)置當(dāng)mode引腳為高電平時,PlO上的輸出信號USB_UP_CTL為高電平,Pll上的輸出信號T)(D-UP-CTL為高阻態(tài),從而上拉電阻R3有效,使得D+信號線上為高電平信號;當(dāng)mode引腳為低電平時,Pll上的輸出信號Tffl-UP-CTL為高電平,PlO上的輸出信號USB-UP-CTL為高阻態(tài),從而上拉電阻R4有效。實施例三本發(fā)明實施例三提供了另一種USB Key,該Key上分別設(shè)置了串口和USB接口,提供串口和USB接口的功能。參見圖5,所述USB Key的內(nèi)部功能模塊包括USB接口模塊51-1,第一標志產(chǎn)生模塊52-1,第一輸電模塊53-1,USB上拉模塊M_l,串口模塊51_2,第二標志產(chǎn)生模塊52_2, 第二輸電模塊53-2,串口上拉模塊M-2,MCU模塊55,認證處理器芯片56。上述各模塊的功能如下所述USB接口模塊51-1,提供了 USB接口功能;所述第一標志產(chǎn)生模塊52-1,連接了所述USB接口模塊51-1和模式選定單元 561,用于產(chǎn)生MCU內(nèi)modeO引腳的電平標志;所述第一輸電模塊53-1,連接了所述USB接口模塊51-1和MCU模塊55,用于當(dāng) USB接口處連接有終端時,將所述USB接口模塊51-1產(chǎn)生的電源信號傳輸給MCU模塊55 ;所述USB上拉模塊M-I,連接了所述USB接口模塊51_1和MCU模塊55,所述USB 接口模塊51-1處產(chǎn)生的電源信號或所述MCU模塊55的輸出信號控制所述USB上拉模塊 54-1是否上拉有效;所述串口模塊51-2,提供了串口功能;所述第二標志產(chǎn)生模塊52-2,連接了所述串口模塊51-2和模式選定單元551,用于產(chǎn)生MCU內(nèi)model引腳的電平標志;所述第二輸電模塊53-2,連接了所述串口模塊51 -2和MCU模塊55,用于當(dāng)串口處連接有終端時,將所述串口模塊51-2產(chǎn)生的電源信號傳輸給MCU模塊55 ;所述串口上拉模塊M-2,連接了所述串口模塊51-2和所述MCU模塊55,所述串口模塊51-2處產(chǎn)生的電源信號或所述MCU模塊55的輸出信號控制所述串口上拉模塊M-2 是否上拉有效;所述MCU模塊55,包括模式選定單元551、USB功能單元552、串口功能單元553、 優(yōu)先控制單元5M和處理單元555,用于控制各模塊的工作;所述模式選定單元551,用于選定MCU的工作模式;所述USB功能單元552,用于當(dāng)所述模式選定單元551選定的工作模式為USB工作模式時,配置USB功能,并啟用;還用于當(dāng)所述USB上拉模塊M-I上拉有效時,對RXD、TXD引腳進行配置;具體地,在本實施例中,當(dāng)所述USB上拉模塊M-I上拉有效時,將RXD、T)(D引腳設(shè)成高阻態(tài);還用于Key與通過所述USB接口模塊51_1連接在Key上的終端進行枚舉,并在枚舉結(jié)束后Key與終端進行USB通信;還用于在接收到與所述USB接口模塊51-1連接的終端發(fā)送的數(shù)據(jù)之后,設(shè)置狀態(tài)標志位為第一預(yù)設(shè)值;所述串口功能單元553,用于當(dāng)所述模式選定單元551選定的工作模式為串口工作模式時,配置串口功能,并啟用;還用于當(dāng)所述串口上拉模塊M-2上拉有效時,對D+、D_、RXD、T)(D引腳進行配置;具體地,在本實施例中,當(dāng)所述串口上拉模塊M-2上拉有效時,將D+、D_引腳設(shè)成高阻態(tài);同時,將T)(D端口設(shè)置成輸出端口,將R)(D端口設(shè)置成輸入端口;還用于Key與通過所述串口模塊51_2連接在Key上的終端進行枚舉,并在枚舉結(jié)束后Key與終端進行串口通信;還用于在接收到與所述串口模塊51-2連接的終端發(fā)送的數(shù)據(jù)之后,設(shè)置狀態(tài)標志位為第二預(yù)設(shè)值;
所述優(yōu)先控制單元554,用于當(dāng)所述USB接口模塊51_1和所述串口模塊51_2處同時連接有終端時,確定與Key連接的各個終端的通信優(yōu)先級;
所述處理單元555,用于檢查狀態(tài)標志位;其中,所述狀態(tài)標志位的取值是所述 USB功能單元552或所述串口功能單元552設(shè)置的;
還用于根據(jù)所述檢查到的狀態(tài)標志位,執(zhí)行相應(yīng)的操作;即,若檢查到所述狀態(tài)標志位為所述第一預(yù)設(shè)值,則MCU進行USB通信,若檢查到所述狀態(tài)標志位為所述第二預(yù)設(shè)值,則MCU進行串口通信;
所述認證處理器芯片56,與所述MCU模塊55連接,用于當(dāng)所述模式選定單元551 選定串口工作模式時,與所述MCU模塊55內(nèi)的串口功能單元553之間進行數(shù)據(jù)的交互及處理,完成枚舉過程。
實施例四
基于實施例三提供的另一種USB Key,本發(fā)明實施例四提供了另一種USBKey與終端進行通信的方法。該方法中,Key上設(shè)置了 MINI-USB接口和串口。
參見圖6,Key上電后,內(nèi)部MCU執(zhí)行以下操作
步驟601 =MCU初始化配置后,檢測modeO和model引腳的電位狀態(tài)是否為預(yù)設(shè)電平,
若modeO引腳的電位狀態(tài)為預(yù)設(shè)電平、model引腳的電位狀態(tài)非預(yù)設(shè)電平,則執(zhí)行步驟602,
若modeO引腳的電位狀態(tài)非預(yù)設(shè)電平、model引腳的電位狀態(tài)為預(yù)設(shè)電平,則執(zhí)行步驟605,
若modeO和model引腳的電位狀態(tài)均為預(yù)設(shè)電平,且為高電平,則執(zhí)行步驟609 ;
具體地,在本實施例中,所述modeO引腳的電位狀態(tài)是由實施例一中的所述第一標志產(chǎn)生模塊產(chǎn)生的,所述model引腳的電位狀態(tài)是由實施例一中的所述第二標志產(chǎn)生模塊產(chǎn)生的,
優(yōu)選地,在本實施例中,參見圖7所示的電路圖,所述modeO引腳與MINI-USB接口上的VCC-PC引腳連接,所述model引腳與DOCK接口 (實現(xiàn)串口的功能)上的VCC-IP引腳連接,相應(yīng)地,所述預(yù)設(shè)電平為高電平,
若所述modeO引腳與DOCK接口 (實現(xiàn)串口的功能)上的VCC-IP引腳連接,所述 mode 1引腳與MINI-USB接口上的VCC-PC弓丨腳連接,相應(yīng)地,所述預(yù)設(shè)電平為低電平,
相應(yīng)地,所述第一標志產(chǎn)生模塊具體由MCU上的modeO引腳與MINI-USB接口上的VCC-PC連接實現(xiàn),所述第二標志產(chǎn)生模塊具體由MCU上的model引腳與DOCK接口上的 VCC-IP連接實現(xiàn),即
當(dāng)VCC-PC有效時,所述modeO引腳處的電位狀態(tài)為高電平;當(dāng)VCC-PC無效時, modeO引腳保持低電平;
當(dāng)VCC-IP有效時,所述model引腳處的電位狀態(tài)為高電平;當(dāng)VCC-IP無效時, model引腳保持低電平;
同時,MCU是由實施例一中的所述輸電模塊為其傳輸電源信號,優(yōu)選地,參見圖7 所示的電路圖,所述輸電模塊具體由二極管D1、D2和下拉電阻R4實現(xiàn),即
當(dāng)mode引腳為高電平時,即MINI-USB接口處VCC-PC引腳的電位為高電平,貝丨J
連接VCC-PC引腳的二極管Dl導(dǎo)通,開始給MCU供電;
當(dāng)mode引腳為低電平時,即DOCK接口處VCC-IP引腳的電位為高電平,則
連接VCC-IP引腳的二極管D2導(dǎo)通,開始給MCU供電;
同時,在本實施例中,D+信號線上拉為高電平是由實施例一中的所述USB上拉模塊實現(xiàn),
優(yōu)選地,參見圖7所示的電路圖,所述USB上拉模塊具體由上拉電阻R3和所述標志產(chǎn)生模塊的VCC-PC實現(xiàn),即
當(dāng)mode引腳為高電平時,即MINI-USB接口處VCC-PC引腳的電位為高電平,即連接上拉電阻R3的VCC-PC有效,從而上拉電阻R3有效,使D+信號線上為高電平信號;
同時,在本實施例中,防止T)(D、R)(D引腳處發(fā)生開漏是由實施例一中的所述串口上拉模塊實現(xiàn),
優(yōu)選地,參見圖7所示的電路圖,所述串口上拉模塊具體由上拉電阻R5、R6和 VCC-IP實現(xiàn),即
當(dāng)mode引腳為低電平時,即DOCK接口處VCC-IP引腳的電位為高電平,則連接上拉電阻R5、R6的VCC-IP有效,從而上拉電阻R5、R6有效,避免了 T)(D、R)(D引腳處發(fā)生開漏;
步驟602 :MCU將RXD、T)(D引腳設(shè)成高阻態(tài),停用串口功能;
步驟603 =MCU配置USB功能并啟用;
在本實施例中,配置USB功能的過程與實施例二中步驟203-步驟206相同,在此不再贅述;
步驟604 =Key接收到終端發(fā)起的枚舉設(shè)備請求,并在枚舉結(jié)束后與所述終端進行 USB通信;
在本實施例中,Key與終端之間進行的枚舉過程與實施例二步驟207中Key與終端之間進行的枚舉過程相同,在此不再贅述;
步驟605 :MCU將D+、D-引腳設(shè)成高阻態(tài),停用USB功能;
步驟606 =MCU將T)(D端口設(shè)置成輸出端口,將RXD端口設(shè)置成輸入端口 ;
在本實施例中,T)(D信號線上的上拉電阻是可選的,當(dāng)MCU內(nèi)部有上拉電阻時,只要配置T)(D端口為內(nèi)部上拉即可;
步驟607 =MCU配置串口功能并啟用;
在本實施例中,配置串口功能的過程與實施例二中步驟210-步驟213相同,在此不再贅述;
步驟608 =Key向終端發(fā)起枚舉設(shè)備請求,并在枚舉結(jié)束后與所述終端進行串口通
在本實施例中,Key與終端之間進行的枚舉過程與實施例二步驟214中Key與終端之間進行的枚舉過程相同,在此不再贅述;
步驟609 =MCU確定與Key連接的各個終端的通信優(yōu)先級,若通過modeO引腳對應(yīng)的接口與Key連接的終端的優(yōu)先級較高,則返回步驟602,若通過model引腳對應(yīng)的接口與 Key連接的終端的優(yōu)先級較高,則返回步驟605,若通過modeO引腳和model引腳對應(yīng)的接口與Key連接的終端的優(yōu)先級相同,則執(zhí)行步驟610 ;
具體地,在本實施例中,MCU通過實施例三中所述優(yōu)先控制單元確定與Key連接的各個終端的通信優(yōu)先級,
優(yōu)選地,參見圖7,所述優(yōu)先控制單元具體由MCU內(nèi)的SETO引腳通過上拉電阻R8 連接電源VCC、SETl引腳通過下拉電阻R9連接地GND實現(xiàn);
預(yù)先設(shè)置SETO引腳控制通過modeO引腳對應(yīng)的接口與Key連接的終端的優(yōu)先級, SETl引腳控制通過model引腳對應(yīng)的接口與Key連接的終端的優(yōu)先級,即
優(yōu)選地,參見圖7所示的電路圖,SETO引腳通過上拉電阻接電源、SET 1引腳通過下拉電阻接地,則通過modeO引腳對應(yīng)的接口與Key連接的終端的優(yōu)先級較高,通過model引腳對應(yīng)的接口與Key連接的終端的優(yōu)先級較低;
相應(yīng)地,若SETO引腳通過下拉電阻接地、SETl引腳通過上拉電阻接電源,則通過 model引腳對應(yīng)的接口與Key連接的終端的優(yōu)先級較高,通過modeO引腳對應(yīng)的接口與Key 連接的終端的優(yōu)先級較低;
若SETO引腳和SET 1引腳均通過上拉電阻接電源,或均通過下拉電阻接地,則通過 modeO引腳和model引腳對應(yīng)的接口與Key連接的終端的優(yōu)先級相同;
步驟610 =MCU配置USB功能和串口功能,并接收與USB接口連接的終端發(fā)起的枚舉設(shè)備請求,向與串口連接的終端發(fā)起枚舉設(shè)備請求;
具體地,在本實施例中,MCU配置USB功能的過程與實施例二中203-步驟206相同,在此不再贅述;配置串口功能的過程與實施例二中210-步驟213相同,在此不再贅述;
同時,MCU接收與USB接口連接的終端發(fā)起的枚舉設(shè)備請求的過程與實施例二中步驟207中Key與終端之間進行的枚舉過程相同,在此不再贅述;
MCU向與串口連接的終端發(fā)起枚舉設(shè)備請求的過程與實施例二步驟214中Key與終端之間進行的枚舉過程相同,在此不再贅述;
步驟611 =MCU接收數(shù)據(jù);
具體地,在本實施例中,所述接收數(shù)據(jù)的過程是實施例三中MCU內(nèi)部的所述USB功能單元和所述串口功能單元實現(xiàn)的;
步驟612 =MCU設(shè)置狀態(tài)標志位;
具體地,在本實施例中,所述狀態(tài)標志位是實施例三中MCU內(nèi)部的所述USB功能單元在接收到與所述USB接口連接的終端發(fā)送的數(shù)據(jù)之后設(shè)置的,且設(shè)置為第一預(yù)設(shè)值; 或者是所述串口功能單元在接收到與所述串口連接的終端發(fā)送的數(shù)據(jù)之后設(shè)置的,且設(shè)置為第二預(yù)設(shè)值;
優(yōu)選地,在本實施例中,所述第一預(yù)設(shè)值為0,所述第二預(yù)設(shè)值為1 ;
步驟613 =MCU檢查所述狀態(tài)標志位,若為第一預(yù)設(shè)值則執(zhí)行步驟614,若為第二預(yù)設(shè)值則執(zhí)行步驟615;
具體地,在本實施例中,所述檢查狀態(tài)標志位的操作是實施例三中MCU內(nèi)部的所述處理單元執(zhí)行的,且所述處理單元在檢查出狀態(tài)標志位之后執(zhí)行相應(yīng)的操作;
步驟614 :MCU進行USB通信,并在通信結(jié)束后返回步驟611 ;
步驟615 :MCU進行串口通信,并在通信結(jié)束后返回步驟611。
在本實施例中,也可以預(yù)先設(shè)置若通過modeO弓丨腳和mode 1引腳對應(yīng)的接口與Key 連接的終端的優(yōu)先級相同,則MCU報錯,不進行任何通信處理。15
結(jié)合本文中所公開的實施例描述的方法中的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM(EPROM)、電可擦除可編程ROM (EEPROM)、寄存器、硬盤、可移動磁盤、 CD-ROM、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
以上所述,僅為本發(fā)明較優(yōu)選的實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)所述以權(quán)利要求的保護范圍為準。
權(quán)利要求
1.一種通用串行總線USB Key,其特征在于,包括接口模塊、輸電模塊和微控制單元 MCU模塊,其中,所述接口模塊,用于與終端連接;所述輸電模塊,用于在所述接口模塊與所述終端連接時,為所述MCU模塊輸電;所述MCU模塊,用于在上電后,進行初始化配置,并檢測所述MCU模塊中的模式引腳的電位狀態(tài),在所述電位狀態(tài)滿足第一預(yù)設(shè)條件時,將所述MCU模塊中用于進行串口通信的引腳設(shè)為高阻態(tài),配置USB功能,接收與所述接口模塊連接的終端發(fā)起的枚舉設(shè)備請求,并在枚舉結(jié)束后,與所述終端進行USB通信;在所述電位狀態(tài)滿足第二預(yù)設(shè)條件時,將所述 MCU模塊中用于進行USB通信的引腳設(shè)為高阻態(tài),配置串口功能,向與所述接口模塊連接的終端發(fā)起枚舉設(shè)備請求,并在枚舉結(jié)束后,與所述終端進行串口通信,所述模式引腳用于通過自身的電位狀態(tài)指示所述USB Key與終端之間的通信模式。
2.如權(quán)利要求1所述的USBKey,其特征在于,所述模式引腳的個數(shù)為1個;所述第一預(yù)設(shè)條件,具體為所述電位狀態(tài)為預(yù)設(shè)電平;所述第二預(yù)設(shè)條件,具體為所述電位狀態(tài)不是預(yù)設(shè)電平。
3.如權(quán)利要求2所述的USBKey,其特征在于,所述接口模塊包括第一引腳和第二引腳,當(dāng)所述USB Key連接到終端的USB接口時,所述第一引腳的電位狀態(tài)為高電平,所述第二引腳的電位狀態(tài)為低電平;當(dāng)所述USB Key連接到終端的串口時,所述第一引腳的電位狀態(tài)為低電平,所述第二引腳的電位狀態(tài)為高電平;所述模式引腳與所述第一引腳連接時,所述預(yù)設(shè)電平為高電平;所述模式引腳與所述第二引腳連接時,所述預(yù)設(shè)電平為低電平。
4.如權(quán)利要求1所述的USBKey,其特征在于,所述模式引腳包括第一模式引腳和第二模式引腳;所述第一預(yù)設(shè)條件,具體為所述第一模式引腳的電位狀態(tài)為所述預(yù)設(shè)電平,且所述第二模式引腳的電位狀態(tài)不是所述預(yù)設(shè)電平;所述第二預(yù)設(shè)條件,具體為所述第一模式引腳的電位狀態(tài)不是所述預(yù)設(shè)電平,且所述第二模式引腳的電位狀態(tài)為所述預(yù)設(shè)電平。
5.如權(quán)利要求4所述的USBKey,其特征在于,所述接口模塊包括第一接口模塊,用于通過USB接口與終端連接;第二接口模塊,用于通過串口與終端連接;所述第一接口模塊包括第一引腳,所述第二接口模塊包括第二引腳,當(dāng)所述第一接口模塊連接到終端的USB接口時,所述第一引腳的電位狀態(tài)為高電平;當(dāng)所述第二接口模塊連接到終端的串口時,所述第二引腳的電位狀態(tài)為高電平;所述第一模式引腳與所述第一引腳連接,且所述第二模式引腳與所述第二引腳連接時,所述預(yù)設(shè)電平為高電平;所述第一模式引腳與所述第二引腳連接,且所述第二模式引腳與所述第一引腳連接時,所述預(yù)設(shè)電平為低電平。
6.如權(quán)利要求5所述的USBKey,其特征在于,與所述第一接口模塊連接的終端為USB 終端,與所述第二接口模塊連接的終端為串口終端;所述MCU模塊,還用于在所述第一模式引腳的電位狀態(tài)和第二模式引腳的電位狀態(tài)均為高電平時,確定所述USB終端和所述串口終端的通信優(yōu)先級,在所述USB終端的通信優(yōu)先級高于所述串口終端的通信優(yōu)先級時,將所述MCU模塊中用于進行串口通信的引腳設(shè)為高阻態(tài),配置USB功能,接收所述USB終端發(fā)起的枚舉設(shè)備請求,并在枚舉結(jié)束后,與所述USB 終端進行USB通信;在所述USB終端的通信優(yōu)先級低于所述串口終端的通信優(yōu)先級時,將所述MCU模塊中用于進行USB通信的引腳設(shè)為高阻態(tài),配置串口功能,向所述串口終端發(fā)起枚舉設(shè)備請求,并在枚舉結(jié)束后,與所述串口終端進行串口通信。
7.如權(quán)利要求6所述的USBKey,其特征在于,所述MCU模塊包括第一設(shè)置引腳和第二設(shè)置引腳;所述MCU模塊,具體用于根據(jù)所述第一設(shè)置引腳的電平狀態(tài)和所述第二設(shè)置引腳的電平狀態(tài),確定所述USB終端和所述串口終端的通信優(yōu)先級。
8.如權(quán)利要求6所述的USBKey,其特征在于,所述MCU模塊,還用于在所述USB終端的通信優(yōu)先級等于所述串口終端的通信優(yōu)先級時,配置USB功能和串口功能,接收所述USB終端發(fā)起的枚舉設(shè)備請求,并在枚舉結(jié)束后,與所述USB終端進行USB通信,向所述串口終端發(fā)起枚舉設(shè)備請求,并在枚舉結(jié)束后,與所述串口終端進行串口通信。
9.如權(quán)利要求8所述的USBKey,其特征在于,所述MCU模塊,包括USB功能單元,用于接收所述USB終端發(fā)送的數(shù)據(jù),將狀態(tài)標志位設(shè)置為第一預(yù)設(shè)值; 串口功能單元,用于接收所述串口終端發(fā)送的數(shù)據(jù),將狀態(tài)標志位設(shè)置為第二預(yù)設(shè)值;處理單元,用于檢查所述狀態(tài)標志位,在所述狀態(tài)標志位為所述第一預(yù)設(shè)值時,與所述 USB終端進行USB通信;在所述狀態(tài)標志位為所述第二預(yù)設(shè)值時,與所述串口終端進行串口ififn。
10.一種通用串行總線USB Key與終端進行通信的方法,其特征在于,包括以下步驟 USB Key上電,并進行初始化配置;所述USB Key檢測自身的微控制單元MCU模塊中的模式引腳的電位狀態(tài),所述模式引腳用于通過自身的電位狀態(tài)指示所述USB Key與終端之間的通信模式;如果所述模式引腳的電位狀態(tài)滿足第一預(yù)設(shè)條件,所述USB Key將所述MCU模塊中用于進行串口通信的引腳設(shè)為高阻態(tài),配置USB功能,接收與所述USB Key連接的終端發(fā)起的枚舉設(shè)備請求,并在枚舉結(jié)束后,與所述終端進行USB通信;如果所述模式引腳的電位狀態(tài)滿足第二預(yù)設(shè)條件,所述USB Key將所述MCU模塊中用于進行USB通信的引腳設(shè)為高阻態(tài),配置串口功能,向與所述USB Key連接的終端發(fā)起枚舉設(shè)備請求,并在枚舉結(jié)束后,與所述終端進行串口通信。
11.如權(quán)利要求10所述的方法,其特征在于,所述模式引腳的個數(shù)為1個; 所述第一預(yù)設(shè)條件,具體為所述電位狀態(tài)為預(yù)設(shè)電平;所述第二預(yù)設(shè)條件,具體為所述電位狀態(tài)不是預(yù)設(shè)電平。
12.如權(quán)利要求11所述的方法,其特征在于,所述USBKey的接口模塊包括第一引腳和第二引腳,當(dāng)所述USB Key連接到終端的USB接口時,所述第一引腳的電位狀態(tài)為高電平, 所述第二引腳的電位狀態(tài)為低電平;當(dāng)所述USB Key連接到終端的串口時,所述第一引腳的電位狀態(tài)為低電平,所述第二引腳的電位狀態(tài)為高電平;所述模式引腳與所述第一引腳連接時,所述預(yù)設(shè)電平為高電平;所述模式引腳與所述第二引腳連接時,所述預(yù)設(shè)電平為低電平。
13.如權(quán)利要求10所述的方法,其特征在于,所述模式引腳包括第一模式引腳和第二模式引腳;所述第一預(yù)設(shè)條件,具體為所述第一模式引腳的電位狀態(tài)為所述預(yù)設(shè)電平,且所述第二模式引腳的電位狀態(tài)不是所述預(yù)設(shè)電平;所述第二預(yù)設(shè)條件,具體為所述第一模式引腳的電位狀態(tài)不是所述預(yù)設(shè)電平,且所述第二模式引腳的電位狀態(tài)為所述預(yù)設(shè)電平。
14.如權(quán)利要求13所述的方法,其特征在于,所述USBKey的第一接口模塊通過USB接口與終端連接,包括第一引腳;所述USB Key的第二接口模塊通過串口與終端連接,包括第二引腳;當(dāng)所述第一接口模塊連接到終端的USB接口時,所述第一引腳的電位狀態(tài)為高電平; 當(dāng)所述第二接口模塊連接到終端的串口時,所述第二引腳的電位狀態(tài)為高電平;所述第一模式引腳與所述第一引腳連接,且所述第二模式引腳與所述第二引腳連接時,所述預(yù)設(shè)電平為高電平;所述第一模式引腳與所述第二引腳連接,且所述第二模式引腳與所述第一引腳連接時,所述預(yù)設(shè)電平為低電平。
15.如權(quán)利要求14所述的方法,其特征在于,與所述第一接口模塊連接的終端為USB終端,與所述第二接口模塊連接的終端為串口終端;所述USB Key檢測自身的微控制單元MCU模塊中的模式引腳的電位狀態(tài)之后,還包括 如果所述第一模式引腳的電位狀態(tài)和所述第二模式引腳的電位狀態(tài)均為高電平時,所述USB Key確定所述USB終端和所述串口終端的通信優(yōu)先級;當(dāng)所述USB終端的通信優(yōu)先級高于所述串口終端的通信優(yōu)先級時,所述USB Key將所述MCU模塊中用于進行串口通信的引腳設(shè)為高阻態(tài),配置USB功能,接收所述USB終端發(fā)起的枚舉設(shè)備請求,并在枚舉結(jié)束后,與所述USB終端進行USB通信;當(dāng)所述USB終端的通信優(yōu)先級低于所述串口終端的通信優(yōu)先級時,所述USB Key將所述MCU模塊中用于進行USB通信的引腳設(shè)為高阻態(tài),配置串口功能,向所述串口終端發(fā)起枚舉設(shè)備請求,并在枚舉結(jié)束后,與所述串口終端進行串口通信。
16.如權(quán)利要求15所述的方法,其特征在于,所述MCU模塊包括第一設(shè)置引腳和第二設(shè)置引腳;所述USB Key確定所述USB終端和所述串口終端的通信優(yōu)先級,具體為 所述USB Key根據(jù)所述第一設(shè)置引腳的電平狀態(tài)和所述第二設(shè)置引腳的電平狀態(tài),確定與所述第一設(shè)置引腳和所述第二設(shè)置引腳對應(yīng)的終端的通信優(yōu)先級。
17.如權(quán)利要求15所述的方法,其特征在于,所述USB Key確定所述USB終端和所述串口終端的通信優(yōu)先級之后,還包括 當(dāng)所述USB終端的通信優(yōu)先級等于所述串口終端的通信優(yōu)先級時,所述USB Key配置 USB功能和串口功能,接收所述USB終端發(fā)起的枚舉設(shè)備請求,并在枚舉結(jié)束后,與所述USB 終端進行USB通信,向所述串口終端發(fā)起枚舉設(shè)備請求,并在枚舉結(jié)束后,與所述串口終端進行串口通信。
18.如權(quán)利要求17所述的方法,其特征在于,所述USB Key與所述USB終端進行USB通信,與所述串口終端進行串口通信,具體為所述USB Key在接收到所述USB終端發(fā)送的數(shù)據(jù)后,將狀態(tài)標志位設(shè)置為第一預(yù)設(shè)值; 所述USB Key在接收到所述串口終端發(fā)送的數(shù)據(jù)后,將狀態(tài)標志位設(shè)置為第二預(yù)設(shè)值;USB Key檢查所述狀態(tài)標志位,在所述狀態(tài)標志位為所述第一預(yù)設(shè)值時,與所述USB終端進行 USB通信;在所述狀態(tài)標志位為所述第二預(yù)設(shè)值時,與所述串口終端進行串口通信。
全文摘要
本發(fā)明公開一種USB Key及其與終端進行通信的方法,該USB Key包括接口模塊、輸電模塊和MCU模塊;所述MCU模塊,用于在上電后,進行初始化配置,并檢測所述MCU模塊中的模式引腳的電位狀態(tài),在所述電位狀態(tài)滿足第一預(yù)設(shè)條件時,將所述MCU模塊中用于進行串口通信的引腳設(shè)為高阻態(tài),配置USB功能,接收與所述接口模塊連接的終端發(fā)起的枚舉設(shè)備請求,并在枚舉結(jié)束后,與所述終端進行USB通信;在所述電位狀態(tài)滿足第二預(yù)設(shè)條件時,將所述MCU模塊中用于進行USB通信的引腳設(shè)為高阻態(tài),配置串口功能,向與所述接口模塊連接的終端發(fā)起枚舉設(shè)備請求,并在枚舉結(jié)束后,與所述終端進行串口通信。本發(fā)明中的USB Key能夠兼容USB接口和串口。
文檔編號G06F13/40GK102521186SQ201110374579
公開日2012年6月27日 申請日期2011年11月22日 優(yōu)先權(quán)日2011年11月22日
發(fā)明者于華章, 陸舟 申請人:飛天誠信科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1