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

一種實現(xiàn)ccid設(shè)備的方法和裝置的制作方法

文檔序號:6561010閱讀:312來源:國知局
專利名稱:一種實現(xiàn)ccid設(shè)備的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)通訊領(lǐng)域,特別涉及一種實現(xiàn)CCID設(shè)備的方法和裝置。
背景技術(shù)
幾大國際級IT企業(yè)針對智能卡應(yīng)用方面的問題共同制定了CCID接口標(biāo)準(zhǔn)。CCID接口標(biāo)準(zhǔn)規(guī)定的CCID設(shè)備是芯片/智能卡接口設(shè)備,此類設(shè)備通過USB接口收發(fā)符合CCID接口標(biāo)準(zhǔn)的數(shù)據(jù),從而使設(shè)備與主機(jī)或其它嵌入式主機(jī)連接通訊,同時設(shè)備通過符合IS07816標(biāo)準(zhǔn)協(xié)議的接口與智能卡通訊。由于CCID接口標(biāo)準(zhǔn)的出現(xiàn),設(shè)備廠商可以輕松的開發(fā)使用符合CCID接口標(biāo)準(zhǔn)的設(shè)備。同時,CCID接口標(biāo)準(zhǔn)支持PC/SC接口調(diào)用,使廣大開發(fā)者可以方便的對智能卡或仿智能卡設(shè)備進(jìn)行開發(fā)操作。
根據(jù)CCID協(xié)議,符合CCID接口標(biāo)準(zhǔn)的設(shè)備其端點的特征在于至少一對IN/OUT端點聲明為BULK-IN、BULK-OUT端點,用來實現(xiàn)應(yīng)答和命令管道;至少一個IN端點聲明為中斷端點,用來實現(xiàn)事件通知管道。符合CCID接口標(biāo)準(zhǔn)的設(shè)備其描述符的特征在于在接口描述符中,字節(jié)0是描述符的字節(jié)長度,值為09h,字節(jié)1是固定終端,值為04h,字節(jié)4是除了終端0,支持的終端號,值為02h或03h,字節(jié)5是類代碼,值為0Bh,字節(jié)6為子類代碼,值為00h,字節(jié)7是協(xié)議代碼,值為00h;在類型描述符中,字節(jié)0是描述符的字節(jié)長度,值為36h,字節(jié)2是CCID規(guī)范的版本號,它是用二進(jìn)制代碼表示的小數(shù),值為0100h,字節(jié)52是PIN碼支持,值為00H-03h。符合CCID接口標(biāo)準(zhǔn)的設(shè)備的其它描述符中的字節(jié),如設(shè)備描述符、配置描述符中的字節(jié)以及上述接口描述符和類型描述符中其它字節(jié)仍按照USB協(xié)議中的規(guī)定設(shè)置。
中斷是程序中斷的簡稱,是指主機(jī)在正常運(yùn)行程序的過程中,由于預(yù)選安排或發(fā)生了各種隨機(jī)的內(nèi)部或外部事件,使主機(jī)中斷正在運(yùn)行的程序,而轉(zhuǎn)到為相應(yīng)的服務(wù)程序去處理的過程。
ACK(確認(rèn))表示主機(jī)和設(shè)備已經(jīng)收到數(shù)據(jù),沒有出現(xiàn)錯誤。設(shè)備必須在Setup事務(wù)的交換包中返回ACK。設(shè)備也必須在OUT事務(wù)的交換包中返回ACK。主機(jī)在IN事務(wù)的交換包中返回ACK。NAK(未確認(rèn))意味著設(shè)備正忙或沒有數(shù)據(jù)要返回。如果主機(jī)在設(shè)備太忙而不能接收數(shù)據(jù)的時候發(fā)送數(shù)據(jù),則設(shè)備在交換包中發(fā)出NAK。如果主機(jī)在設(shè)備沒有數(shù)據(jù)可發(fā)送的時候向設(shè)備請求數(shù)據(jù),則設(shè)備在數(shù)據(jù)包中發(fā)出NAK。在上述兩種情況的任何一種下,NAK表示一個暫時的狀況,而主機(jī)會在以后重試。

發(fā)明內(nèi)容
為了滿足CCID協(xié)議提出的對CCID設(shè)備實時性的要求,本發(fā)明提出了一種以中斷方式實現(xiàn)CCID設(shè)備的方法,所述方法包括以下步驟步驟A設(shè)備設(shè)置至少一對用來實現(xiàn)應(yīng)答和命令管道的IN/OUT端點聲明為BULK-IN和BULK-OUT端點,至少一個用來實現(xiàn)事件通知管道的IN端點聲明為中斷端點,并聲明自身是符合CCID接口標(biāo)準(zhǔn)的設(shè)備;步驟B所述設(shè)備初始化中斷向量;步驟C所述設(shè)備等待USB中斷,如果有USB中斷出現(xiàn),則所述設(shè)備進(jìn)入USB中斷服務(wù)程序,并進(jìn)行相應(yīng)處理。
步驟C所述設(shè)備進(jìn)入USB中斷服務(wù)程序,并進(jìn)行相應(yīng)處理的步驟包括所述設(shè)備根據(jù)主機(jī)發(fā)送的數(shù)據(jù)包的包頭判斷所述數(shù)據(jù)包是通過中斷管道傳輸,則所述設(shè)備檢測緩沖區(qū)是否有智能卡插拔事件信息,如果有,則所述設(shè)備將所述智能卡插拔事件信息組裝成符合CCID接口標(biāo)準(zhǔn)的數(shù)據(jù)包返回給主機(jī),并進(jìn)行中斷返回的操作;如果沒有,則所述設(shè)備返回一個NAK給主機(jī),并進(jìn)行中斷返回的操作。
步驟C所述設(shè)備進(jìn)入USB中斷服務(wù)程序,并進(jìn)行相應(yīng)處理的步驟包括所述設(shè)備根據(jù)主機(jī)發(fā)送的數(shù)據(jù)包的包頭判斷所述數(shù)據(jù)包是通過BULK-IN管道傳輸,則所述設(shè)備檢測緩沖區(qū)是否有可返回給主機(jī)的信息,如果有,則所述設(shè)備判斷可返回給主機(jī)的信息是否為智能卡返回的符合CCID接口標(biāo)準(zhǔn)的應(yīng)答數(shù)據(jù)包,如果是,則所述設(shè)備將所述應(yīng)答數(shù)據(jù)包返回給主機(jī),并進(jìn)行中斷返回的操作,如果不是,則所述設(shè)備進(jìn)行其它操作,并進(jìn)行中斷返回的操作;如果沒有,則所述設(shè)備返回一個NAK給主機(jī),并進(jìn)行中斷返回的操作。
步驟C所述設(shè)備進(jìn)入USB中斷服務(wù)程序,并進(jìn)行相應(yīng)處理的步驟包括所述設(shè)備根據(jù)主機(jī)發(fā)送的數(shù)據(jù)包的包頭判斷所述數(shù)據(jù)包是通過BULK-OUT管道傳輸,則所述設(shè)備檢查是否正確接收了通過BULK-OUT管道傳輸?shù)臄?shù)據(jù)包,如果正確接收,則所述設(shè)備解析所述通過BULK-OUT管道傳輸?shù)臄?shù)據(jù)包中的數(shù)據(jù),判斷其命令類型,根據(jù)命令類型進(jìn)行相應(yīng)的操作,操作后將智能卡返回的應(yīng)答組裝成符合CCID接口標(biāo)準(zhǔn)的應(yīng)答數(shù)據(jù)包,將所述應(yīng)答數(shù)據(jù)包放入緩沖區(qū),并進(jìn)行中斷返回的操作;如果沒有正確接收,則所述設(shè)備返回一個NAK給主機(jī),并進(jìn)行中斷返回的操作。
步驟C所述設(shè)備進(jìn)入USB中斷服務(wù)程序,并進(jìn)行相應(yīng)處理的步驟包括如果數(shù)據(jù)包不是通過IN管道或BULK-IN管道或BULK-OUT管道傳輸,則所述設(shè)備進(jìn)行其它操作,并進(jìn)行中斷返回的操作。
所述智能卡插拔事件信息由程序的其它模塊在判斷到有智能卡插入或拔除時寫入到緩沖區(qū)中。
本發(fā)明還提供了一種實現(xiàn)CCID設(shè)備的裝置,所述裝置包括端點設(shè)置聲明模塊、初始化模塊和中斷處理模塊;所述端點設(shè)置聲明模塊用于設(shè)置至少一對用來實現(xiàn)應(yīng)答和命令管道的IN/OUT端點聲明為BULK-IN和BULK-OUT端點,至少一個用來實現(xiàn)事件通知管道的IN端點聲明為中斷端點,并聲明自身是符合CCID接口標(biāo)準(zhǔn)的設(shè)備;所述初始化模塊用于對設(shè)備進(jìn)行初始化中斷向量的操作;所述中斷處理模塊用于在設(shè)備進(jìn)入中斷后進(jìn)行相應(yīng)的中斷操作。
所述裝置還包括智能卡插拔事件信息寫入模塊,所述智能卡插拔事件信息寫入模塊用于在程序的其它模塊判斷到有智能卡插入或拔除時,將智能卡插入或拔除的信息寫入到緩沖區(qū)中。
所述中斷處理模塊包括中斷管道數(shù)據(jù)包檢測處理單元、BULK-IN管道數(shù)據(jù)包檢測處理包單元、BULK-OUT管道數(shù)據(jù)包檢查處理單元和其它數(shù)據(jù)包處理單元;所述中斷管道數(shù)據(jù)包檢測處理單元用于檢測緩沖區(qū)是否有智能卡插拔事件信息,如果有,則將智能卡插拔事件信息組裝成符合CCID接口標(biāo)準(zhǔn)的數(shù)據(jù)包返回給主機(jī),并進(jìn)行中斷返回的操作,如果沒有,則返回一個NAK給主機(jī),并進(jìn)行中斷返回的操作;所述BULK-IN管道數(shù)據(jù)包檢測處理單元用于檢測緩沖區(qū)是否有可返回給主機(jī)的信息,如果有,則判斷可返回給主機(jī)的信息是否為智能卡返回的符合CCID接口標(biāo)準(zhǔn)的應(yīng)答數(shù)據(jù)包,如果是,則將應(yīng)答數(shù)據(jù)包返回給主機(jī),并進(jìn)行中斷返回的操作,如果不是,則進(jìn)行其它操作,并進(jìn)行中斷返回的操作,如果沒有,則返回一個NAK給主機(jī),并進(jìn)行中斷返回的操作;所述BULK-OUT管道數(shù)據(jù)包檢查處理單元用于檢查是否正確接收了通過BULK-OUT管道傳輸?shù)臄?shù)據(jù)包,如果正確接收,則解析通過BULK-OUT管道傳輸?shù)臄?shù)據(jù)包中的數(shù)據(jù),判斷其命令類型,根據(jù)命令類型進(jìn)行相應(yīng)的操作,操作后將智能卡返回的應(yīng)答組裝成符合CCID接口標(biāo)準(zhǔn)的應(yīng)答數(shù)據(jù)包,將應(yīng)答數(shù)據(jù)包放入緩沖區(qū),并進(jìn)行中斷返凹的操作,如果沒有正確接收,則返回一個NAK給主機(jī),并進(jìn)行中斷返回的操作;所述其它數(shù)據(jù)包處理單元用于對不是通過IN管道或BULK-IN管道或BULK-OUT管道傳輸?shù)臄?shù)據(jù)包進(jìn)行其它操作,并進(jìn)行中斷返回的操作。
有益效果本發(fā)明通過中斷的方式實現(xiàn)了CCID設(shè)備,方便了開發(fā)者的開發(fā)和用戶的使用。


圖1是本發(fā)明以中斷方式實現(xiàn)CCID設(shè)備的主流程圖;圖2是本發(fā)明以中斷方式實現(xiàn)CCID設(shè)備的中斷服務(wù)程序流程圖;圖3是實現(xiàn)CCID設(shè)備的裝置結(jié)構(gòu)圖。
具體實施例方式
下面結(jié)合附圖和實施例對本發(fā)明作更為具體的說明,但不作為對本發(fā)明的限定。
圖1為本發(fā)明一種以中斷方式實現(xiàn)CCID設(shè)備的方法的主流程圖,具體包括以下步驟步驟101設(shè)備設(shè)置至少一對用來實現(xiàn)應(yīng)答和命令管道的IN/OUT端點聲明為BULK-IN和BULK-OUT端點,至少一個用來實現(xiàn)事件通知管道的IN端點聲明為中斷端點,并聲明自身是符合CCID接口標(biāo)準(zhǔn)的設(shè)備。
步驟102設(shè)備初始化中斷向量。
步驟103設(shè)備等待USB中斷,如果有USB中斷出現(xiàn),則設(shè)備進(jìn)入USB中斷服務(wù)程序,并進(jìn)行相應(yīng)處理。
圖2為本發(fā)明一種以中斷方式實現(xiàn)CCID設(shè)備的方法的中斷服務(wù)程序流程圖,具體包括以下步驟步驟201設(shè)備進(jìn)入中斷服務(wù)程序。
步驟202設(shè)備判斷主機(jī)發(fā)送的數(shù)據(jù)包是否為通過中斷管道傳輸?shù)?,如果是,則執(zhí)行步驟203,否則執(zhí)行步驟206。
步驟203設(shè)備檢測緩沖區(qū)中是否有智能卡插拔事件信息,如果有,則執(zhí)行步驟204,否則執(zhí)行步驟205。
智能卡插拔事件信息由程序的其它模塊在判斷到有智能卡插入或拔除時寫入到緩沖區(qū)中。
步驟204設(shè)備將智能卡插入或拔除的事件信息組裝成符合CCID接口標(biāo)準(zhǔn)的數(shù)據(jù)包返回給主機(jī),主機(jī)正確接收到這個符合CCID接口標(biāo)準(zhǔn)的數(shù)據(jù)包后,發(fā)送ACK給設(shè)備,設(shè)備執(zhí)行步驟218。
步驟205設(shè)備返回一個NAK給主機(jī),并執(zhí)行步驟218。
步驟206設(shè)備判斷主機(jī)發(fā)送的數(shù)據(jù)包是否為通過BULK-IN管道傳輸?shù)?,如果是,則執(zhí)行步驟207,否則執(zhí)行步驟212。
步驟207設(shè)備檢測緩沖區(qū)是否有可返回給主機(jī)的信息,如果有,則執(zhí)行步驟209,否則執(zhí)行步驟208。
步驟208設(shè)備返回一個NAK給主機(jī),并執(zhí)行步驟218。
步驟209設(shè)備判斷緩沖區(qū)中可返回給主機(jī)的信息是否為智能卡返回的應(yīng)答數(shù)據(jù),如果是,則執(zhí)行步驟211,否則執(zhí)行步驟210。
步驟210設(shè)備進(jìn)行其它操作,并執(zhí)行步驟218。
步驟211設(shè)備將應(yīng)答數(shù)據(jù)組裝成符合CCID接口標(biāo)準(zhǔn)的應(yīng)答數(shù)據(jù)包,通過IN管道返回給主機(jī),并執(zhí)行步驟218。
步驟212設(shè)備判斷主機(jī)發(fā)送的數(shù)據(jù)包是否為通過BULK-OUT管道傳輸?shù)?,如果是,則執(zhí)行步驟214,否則執(zhí)行步驟213。
步驟213設(shè)備進(jìn)行其它操作,并執(zhí)行步驟218。
步驟214設(shè)備判斷是否正確接收通過BULK-OUT管道傳輸?shù)臄?shù)據(jù),如果正確接收,則執(zhí)行步驟215,否則執(zhí)行步驟217。
步驟215設(shè)備解析通過BULK-OUT管道傳輸?shù)臄?shù)據(jù)包中的數(shù)據(jù),判斷其命令類型,根據(jù)命令類型進(jìn)行相應(yīng)的操作。
步驟216設(shè)備將智能卡返回的應(yīng)答組裝成符合CCID接口標(biāo)準(zhǔn)的應(yīng)答數(shù)據(jù)包,并將應(yīng)答數(shù)據(jù)包放入緩沖區(qū),執(zhí)行步驟218。
步驟217設(shè)備返回一個NAK給主機(jī),并執(zhí)行步驟218。
步驟218中斷返回。
參見圖3,本發(fā)明還提供了一種以中斷方式實現(xiàn)CCID設(shè)備的裝置,裝置包括端點設(shè)置聲明模塊、初始化模塊和中斷處理模塊;端點設(shè)置聲明模塊用于設(shè)置至少一對用來實現(xiàn)應(yīng)答和命令管道的IN/OUT端點聲明為BULK-IN和BULK-OUT端點,至少一個用來實現(xiàn)事件通知管道的IN端點聲明為中斷端點,并聲明自身是符合CCID接口標(biāo)準(zhǔn)的設(shè)備;初始化模塊用于對設(shè)備進(jìn)行初始化中斷向量的操作;中斷處理模塊用于在設(shè)備進(jìn)入中斷后進(jìn)行相應(yīng)的中斷操作。
裝置還包括智能卡插拔事件信息寫入模塊,智能卡插拔事件信息寫入模塊用于在程序的其它模塊判斷到有智能卡插入或拔除時,將智能卡插入或拔除的信息寫入到緩沖區(qū)中。
中斷處理模塊包括中斷管道數(shù)據(jù)包檢測處理單元、BULK-IN管道數(shù)據(jù)包檢測處理包單元、BULK-OUT管道數(shù)據(jù)包檢查處理單元和其它數(shù)據(jù)包處理單元;中斷管道數(shù)據(jù)包檢測處理單元用于檢測緩沖區(qū)是否有智能卡插拔事件信息,如果有,則將智能卡插拔事件信息組裝成符合CCID接口標(biāo)準(zhǔn)的數(shù)據(jù)包返回給主機(jī),并進(jìn)行中斷返回的操作,如果沒有,則返回一個NAK給主機(jī),并進(jìn)行中斷返回的操作;BULK-IN管道數(shù)據(jù)包檢測處理單元用于檢測緩沖區(qū)是否有可返回給主機(jī)的信息,如果有,則判斷可返回給主機(jī)的信息是否為智能卡返回的符合CCID接口標(biāo)準(zhǔn)的應(yīng)答數(shù)據(jù)包,如果是,則將應(yīng)答數(shù)據(jù)包返回給主機(jī),并進(jìn)行中斷返回的操作,如果不是,則進(jìn)行其它操作,并進(jìn)行中斷返回的操作,如果沒有,則返回一個NAK給主機(jī),并進(jìn)行中斷返回的操作;BULK-OUT管道數(shù)據(jù)包檢查處理單元用于檢查是否正確接收了通過BULK-OUT管道傳輸?shù)臄?shù)據(jù)包,如果正確接收,則解析通過BULK-OUT管道傳輸?shù)臄?shù)據(jù)包中的數(shù)據(jù),判斷其命令類型,根據(jù)命令類型進(jìn)行相應(yīng)的操作,操作后將智能卡返回的應(yīng)答組裝成符合CCID接口標(biāo)準(zhǔn)的應(yīng)答數(shù)據(jù)包,將應(yīng)答數(shù)據(jù)包放入緩沖區(qū),并進(jìn)行中斷返回的操作,如果沒有正確接收,則返回一個NAK給主機(jī),并進(jìn)行中斷返回的操作;其它數(shù)據(jù)包處理單元用于對不是通過IN管道或BULK-IN管道或BULK-OUT管道傳輸?shù)臄?shù)據(jù)包進(jìn)行其它操作,并進(jìn)行中斷返回的操作。
以上所述的實施例只是本發(fā)明較優(yōu)選的具體實施方式
的一種,本領(lǐng)域的技術(shù)人員在本發(fā)明技術(shù)方案范圍內(nèi)進(jìn)行的通常變化和替換都應(yīng)包含在本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種實現(xiàn)CCID設(shè)備的方法,其特征在于,所述方法包括以下步驟步驟A設(shè)備設(shè)置至少一對用來實現(xiàn)應(yīng)答和命令管道的IN/OUT端點聲明為BULK-IN和BULK-OUT端點,至少一個用來實現(xiàn)事件通知管道的IN端點聲明為中斷端點,并聲明自身是符合CCID接口標(biāo)準(zhǔn)的設(shè)備;步驟B所述設(shè)備初始化中斷向量;步驟C所述設(shè)備等待USB中斷,如果有USB中斷出現(xiàn),則所述設(shè)備進(jìn)入USB中斷服務(wù)程序,并進(jìn)行相應(yīng)處理。
2.如權(quán)利要求1所述的實現(xiàn)CCID設(shè)備的方法,其特征在于,步驟C所述設(shè)備進(jìn)入USB中斷服務(wù)程序,并進(jìn)行相應(yīng)處理的步驟包括所述設(shè)備根據(jù)主機(jī)發(fā)送的數(shù)據(jù)包的包頭判斷所述數(shù)據(jù)包是通過中斷管道傳輸,則所述設(shè)備檢測緩沖區(qū)是否有智能卡插拔事件信息,如果有,則所述設(shè)備將所述智能卡插拔事件信息組裝成符合CCID接口標(biāo)準(zhǔn)的數(shù)據(jù)包返回給主機(jī),并進(jìn)行中斷返回的操作;如果沒有,則所述設(shè)備返回一個NAK給主機(jī),并進(jìn)行中斷返回的操作。
3.如權(quán)利要求1所述的實現(xiàn)CCID設(shè)備的方法,其特征在于,步驟C所述設(shè)備進(jìn)入USB中斷服務(wù)程序,并進(jìn)行相應(yīng)處理的步驟包括所述設(shè)備根據(jù)主機(jī)發(fā)送的數(shù)據(jù)包的包頭判斷所述數(shù)據(jù)包是通過BULK-IN管道傳輸,則所述設(shè)備檢測緩沖區(qū)是否有可返回給主機(jī)的信息,如果有,則所述設(shè)備判斷可返回給主機(jī)的信息是否為智能卡返回的符合CCID接口標(biāo)準(zhǔn)的應(yīng)答數(shù)據(jù)包,如果是,則所述設(shè)備將所述應(yīng)答數(shù)據(jù)包返回給主機(jī),并進(jìn)行中斷返回的操作,如果不是,則所述設(shè)備進(jìn)行其它操作,并進(jìn)行中斷返回的操作;如果沒有,則所述設(shè)備返回一個NAK給主機(jī),并進(jìn)行中斷返回的操作。
4.如權(quán)利要求1所述的實現(xiàn)CCID設(shè)備的方法,其特征在于,步驟C所述設(shè)備進(jìn)入USB中斷服務(wù)程序,并進(jìn)行相應(yīng)處理的步驟包括所述設(shè)備根據(jù)主機(jī)發(fā)送的數(shù)據(jù)包的包頭判斷所述數(shù)據(jù)包是通過BULK-OUT管道傳輸,則所述設(shè)備檢查是否正確接收了通過BULK-OUT管道傳輸?shù)臄?shù)據(jù)包,如果正確接收,則所述設(shè)備解析所述通過BULK-OUT管道傳輸?shù)臄?shù)據(jù)包中的數(shù)據(jù),判斷其命令類型,根據(jù)命令類型進(jìn)行相應(yīng)的操作,操作后將智能卡返回的應(yīng)答組裝成符合CCID接口標(biāo)準(zhǔn)的應(yīng)答數(shù)據(jù)包,將所述應(yīng)答數(shù)據(jù)包放入緩沖區(qū),并進(jìn)行中斷返回的操作;如果沒有正確接收,則所述設(shè)備返回一個NAK給主機(jī),并進(jìn)行中斷返回的操作。
5.如權(quán)利要求1所述的實現(xiàn)CCID設(shè)備的方法,其特征在于,步驟C所述設(shè)備進(jìn)入USB中斷服務(wù)程序,并進(jìn)行相應(yīng)處理的步驟包括如果數(shù)據(jù)包不是通過IN管道或BULK-IN管道或BULK-OUT管道傳輸,則所述設(shè)備進(jìn)行其它操作,并進(jìn)行中斷返回的操作。
6.如權(quán)利要求2所述的實現(xiàn)CCID設(shè)備的方法,其特征在于,所述智能卡插拔事件信息由程序的其它模塊在判斷到有智能卡插入或拔除時寫入到緩沖區(qū)中。
7.一種實現(xiàn)CCID設(shè)備的裝置,其特征在于,所述裝置包括端點設(shè)置聲明模塊、初始化模塊和中斷處理模塊;所述端點設(shè)置聲明模塊用于設(shè)置至少一對用來實現(xiàn)應(yīng)答和命令管道的IN/OUT端點聲明為BULK-IN和BULK-OUT端點,至少一個用來實現(xiàn)事件通知管道的IN端點聲明為中斷端點,并聲明自身是符合CCID接口標(biāo)準(zhǔn)的設(shè)備;所述初始化模塊用于對設(shè)備進(jìn)行初始化中斷向量的操作;所述中斷處理模塊用于在設(shè)備進(jìn)入中斷后進(jìn)行相應(yīng)的中斷操作。
8.如權(quán)利要求7所述的實現(xiàn)CCID設(shè)備的裝置,其特征在于,所述裝置還包括智能卡插拔事件信息寫入模塊,所述智能卡插拔事件信息寫入模塊用于在程序的其它模塊判斷到有智能卡插入或拔除時,將智能卡插入或拔除的信息寫入到緩沖區(qū)中。
9.如權(quán)利要求7所述的實現(xiàn)CCID設(shè)備的裝置,其特征在于,所述中斷處理模塊包括中斷管道數(shù)據(jù)包檢測處理單元、BULK-IN管道數(shù)據(jù)包檢測處理包單元、BULK-OUT管道數(shù)據(jù)包檢查處理單元和其它數(shù)據(jù)包處理單元;所述中斷管道數(shù)據(jù)包檢測處理單元用于檢測緩沖區(qū)是否有智能卡插拔事件信息,如果有,則將智能卡插拔事件信息組裝成符合CCID接口標(biāo)準(zhǔn)的數(shù)據(jù)包返回給主機(jī),并進(jìn)行中斷返回的操作,如果沒有,則返回一個NAK給主機(jī),并進(jìn)行中斷返回的操作;所述BULK-IN管道數(shù)據(jù)包檢測處理單元用于檢測緩沖區(qū)是否有可返回給主機(jī)的信息,如果有,則判斷可返回給主機(jī)的信息是否為智能卡返回的符合CCID接口標(biāo)準(zhǔn)的應(yīng)答數(shù)據(jù)包,如果是,則將應(yīng)答數(shù)據(jù)包返回給主機(jī),并進(jìn)行中斷返回的操作,如果不是,則進(jìn)行其它操作,并進(jìn)行中斷返回的操作,如果沒有,則返回一個NAK給主機(jī),并進(jìn)行中斷返回的操作;所述BULK-OUT管道數(shù)據(jù)包檢查處理單元用于檢查是否正確接收了通過BULK-OUT管道傳輸?shù)臄?shù)據(jù)包,如果正確接收,則解析通過BULK-OUT管道傳輸?shù)臄?shù)據(jù)包中的數(shù)據(jù),判斷其命令類型,根據(jù)命令類型進(jìn)行相應(yīng)的操作,操作后將智能卡返回的應(yīng)答組裝成符合CCID接口標(biāo)準(zhǔn)的應(yīng)答數(shù)據(jù)包,將應(yīng)答數(shù)據(jù)包放入緩沖區(qū),并進(jìn)行中斷返回的操作,如果沒有正確接收,則返回一個NAK給主機(jī),并進(jìn)行中斷返回的操作;所述其它數(shù)據(jù)包處理單元用于對不是通過IN管道或BULK-IN管道或BULK-OUT管道傳輸?shù)臄?shù)據(jù)包進(jìn)行其它操作,并進(jìn)行中斷返回的操作。
全文摘要
本發(fā)明公開了一種實現(xiàn)CCID設(shè)備的方法和裝置,屬于數(shù)據(jù)通訊領(lǐng)域。為了滿足CCID協(xié)議提出的對CCID設(shè)備實時性的要求,本發(fā)明提出了一種以中斷方式實現(xiàn)CCID設(shè)備的方法,方法包括以下步驟設(shè)備設(shè)置至少一對用來實現(xiàn)應(yīng)答和命令管道的IN/OUT端點聲明為BULK-IN和BULK-OUT端點,至少一個用來實現(xiàn)事件通知管道的IN端點聲明為中斷端點,并聲明自身是符合CCID接口標(biāo)準(zhǔn)的設(shè)備;設(shè)備初始化中斷向量;設(shè)備等待USB中斷,如果有USB中斷出現(xiàn),則設(shè)備進(jìn)入USB中斷服務(wù)程序,并進(jìn)行相應(yīng)處理。本發(fā)明還提供了一種實現(xiàn)CCID設(shè)備的裝置,裝置包括端點設(shè)置聲明模塊、初始化模塊和中斷處理模塊。
文檔編號G06K7/00GK1952915SQ20061011469
公開日2007年4月25日 申請日期2006年11月21日 優(yōu)先權(quán)日2006年11月21日
發(fā)明者陸舟, 于華章 申請人:北京飛天誠信科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1