欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

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

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

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


圖1是本發(fā)明以中斷方式實現(xiàn)CCID設備的主流程圖;圖2是本發(fā)明以中斷方式實現(xiàn)CCID設備的中斷服務程序流程圖;圖3是實現(xiàn)CCID設備的裝置結構圖。
具體實施例方式
下面結合附圖和實施例對本發(fā)明作更為具體的說明,但不作為對本發(fā)明的限定。
圖1為本發(fā)明一種以中斷方式實現(xiàn)CCID設備的方法的主流程圖,具體包括以下步驟步驟101設備設置至少一對用來實現(xiàn)應答和命令管道的IN/OUT端點聲明為BULK-IN和BULK-OUT端點,至少一個用來實現(xiàn)事件通知管道的IN端點聲明為中斷端點,并聲明自身是符合CCID接口標準的設備。
步驟102設備初始化中斷向量。
步驟103設備等待USB中斷,如果有USB中斷出現(xiàn),則設備進入USB中斷服務程序,并進行相應處理。
圖2為本發(fā)明一種以中斷方式實現(xiàn)CCID設備的方法的中斷服務程序流程圖,具體包括以下步驟步驟201設備進入中斷服務程序。
步驟202設備判斷主機發(fā)送的數(shù)據(jù)包是否為通過中斷管道傳輸?shù)模绻?,則執(zhí)行步驟203,否則執(zhí)行步驟206。
步驟203設備檢測緩沖區(qū)中是否有智能卡插拔事件信息,如果有,則執(zhí)行步驟204,否則執(zhí)行步驟205。
智能卡插拔事件信息由程序的其它模塊在判斷到有智能卡插入或拔除時寫入到緩沖區(qū)中。
步驟204設備將智能卡插入或拔除的事件信息組裝成符合CCID接口標準的數(shù)據(jù)包返回給主機,主機正確接收到這個符合CCID接口標準的數(shù)據(jù)包后,發(fā)送ACK給設備,設備執(zhí)行步驟218。
步驟205設備返回一個NAK給主機,并執(zhí)行步驟218。
步驟206設備判斷主機發(fā)送的數(shù)據(jù)包是否為通過BULK-IN管道傳輸?shù)?,如果是,則執(zhí)行步驟207,否則執(zhí)行步驟212。
步驟207設備檢測緩沖區(qū)是否有可返回給主機的信息,如果有,則執(zhí)行步驟209,否則執(zhí)行步驟208。
步驟208設備返回一個NAK給主機,并執(zhí)行步驟218。
步驟209設備判斷緩沖區(qū)中可返回給主機的信息是否為智能卡返回的應答數(shù)據(jù),如果是,則執(zhí)行步驟211,否則執(zhí)行步驟210。
步驟210設備進行其它操作,并執(zhí)行步驟218。
步驟211設備將應答數(shù)據(jù)組裝成符合CCID接口標準的應答數(shù)據(jù)包,通過IN管道返回給主機,并執(zhí)行步驟218。
步驟212設備判斷主機發(fā)送的數(shù)據(jù)包是否為通過BULK-OUT管道傳輸?shù)模绻?,則執(zhí)行步驟214,否則執(zhí)行步驟213。
步驟213設備進行其它操作,并執(zhí)行步驟218。
步驟214設備判斷是否正確接收通過BULK-OUT管道傳輸?shù)臄?shù)據(jù),如果正確接收,則執(zhí)行步驟215,否則執(zhí)行步驟217。
步驟215設備解析通過BULK-OUT管道傳輸?shù)臄?shù)據(jù)包中的數(shù)據(jù),判斷其命令類型,根據(jù)命令類型進行相應的操作。
步驟216設備將智能卡返回的應答組裝成符合CCID接口標準的應答數(shù)據(jù)包,并將應答數(shù)據(jù)包放入緩沖區(qū),執(zhí)行步驟218。
步驟217設備返回一個NAK給主機,并執(zhí)行步驟218。
步驟218中斷返回。
參見圖3,本發(fā)明還提供了一種以中斷方式實現(xiàn)CCID設備的裝置,裝置包括端點設置聲明模塊、初始化模塊和中斷處理模塊;端點設置聲明模塊用于設置至少一對用來實現(xiàn)應答和命令管道的IN/OUT端點聲明為BULK-IN和BULK-OUT端點,至少一個用來實現(xiàn)事件通知管道的IN端點聲明為中斷端點,并聲明自身是符合CCID接口標準的設備;初始化模塊用于對設備進行初始化中斷向量的操作;中斷處理模塊用于在設備進入中斷后進行相應的中斷操作。
裝置還包括智能卡插拔事件信息寫入模塊,智能卡插拔事件信息寫入模塊用于在程序的其它模塊判斷到有智能卡插入或拔除時,將智能卡插入或拔除的信息寫入到緩沖區(qū)中。
中斷處理模塊包括中斷管道數(shù)據(jù)包檢測處理單元、BULK-IN管道數(shù)據(jù)包檢測處理包單元、BULK-OUT管道數(shù)據(jù)包檢查處理單元和其它數(shù)據(jù)包處理單元;中斷管道數(shù)據(jù)包檢測處理單元用于檢測緩沖區(qū)是否有智能卡插拔事件信息,如果有,則將智能卡插拔事件信息組裝成符合CCID接口標準的數(shù)據(jù)包返回給主機,并進行中斷返回的操作,如果沒有,則返回一個NAK給主機,并進行中斷返回的操作;BULK-IN管道數(shù)據(jù)包檢測處理單元用于檢測緩沖區(qū)是否有可返回給主機的信息,如果有,則判斷可返回給主機的信息是否為智能卡返回的符合CCID接口標準的應答數(shù)據(jù)包,如果是,則將應答數(shù)據(jù)包返回給主機,并進行中斷返回的操作,如果不是,則進行其它操作,并進行中斷返回的操作,如果沒有,則返回一個NAK給主機,并進行中斷返回的操作;BULK-OUT管道數(shù)據(jù)包檢查處理單元用于檢查是否正確接收了通過BULK-OUT管道傳輸?shù)臄?shù)據(jù)包,如果正確接收,則解析通過BULK-OUT管道傳輸?shù)臄?shù)據(jù)包中的數(shù)據(jù),判斷其命令類型,根據(jù)命令類型進行相應的操作,操作后將智能卡返回的應答組裝成符合CCID接口標準的應答數(shù)據(jù)包,將應答數(shù)據(jù)包放入緩沖區(qū),并進行中斷返回的操作,如果沒有正確接收,則返回一個NAK給主機,并進行中斷返回的操作;其它數(shù)據(jù)包處理單元用于對不是通過IN管道或BULK-IN管道或BULK-OUT管道傳輸?shù)臄?shù)據(jù)包進行其它操作,并進行中斷返回的操作。
以上所述的實施例只是本發(fā)明較優(yōu)選的具體實施方式
的一種,本領域的技術人員在本發(fā)明技術方案范圍內進行的通常變化和替換都應包含在本發(fā)明的保護范圍內。
權利要求
1.一種實現(xiàn)CCID設備的方法,其特征在于,所述方法包括以下步驟步驟A設備設置至少一對用來實現(xiàn)應答和命令管道的IN/OUT端點聲明為BULK-IN和BULK-OUT端點,至少一個用來實現(xiàn)事件通知管道的IN端點聲明為中斷端點,并聲明自身是符合CCID接口標準的設備;步驟B所述設備初始化中斷向量;步驟C所述設備等待USB中斷,如果有USB中斷出現(xiàn),則所述設備進入USB中斷服務程序,并進行相應處理。
2.如權利要求1所述的實現(xiàn)CCID設備的方法,其特征在于,步驟C所述設備進入USB中斷服務程序,并進行相應處理的步驟包括所述設備根據(jù)主機發(fā)送的數(shù)據(jù)包的包頭判斷所述數(shù)據(jù)包是通過中斷管道傳輸,則所述設備檢測緩沖區(qū)是否有智能卡插拔事件信息,如果有,則所述設備將所述智能卡插拔事件信息組裝成符合CCID接口標準的數(shù)據(jù)包返回給主機,并進行中斷返回的操作;如果沒有,則所述設備返回一個NAK給主機,并進行中斷返回的操作。
3.如權利要求1所述的實現(xiàn)CCID設備的方法,其特征在于,步驟C所述設備進入USB中斷服務程序,并進行相應處理的步驟包括所述設備根據(jù)主機發(fā)送的數(shù)據(jù)包的包頭判斷所述數(shù)據(jù)包是通過BULK-IN管道傳輸,則所述設備檢測緩沖區(qū)是否有可返回給主機的信息,如果有,則所述設備判斷可返回給主機的信息是否為智能卡返回的符合CCID接口標準的應答數(shù)據(jù)包,如果是,則所述設備將所述應答數(shù)據(jù)包返回給主機,并進行中斷返回的操作,如果不是,則所述設備進行其它操作,并進行中斷返回的操作;如果沒有,則所述設備返回一個NAK給主機,并進行中斷返回的操作。
4.如權利要求1所述的實現(xiàn)CCID設備的方法,其特征在于,步驟C所述設備進入USB中斷服務程序,并進行相應處理的步驟包括所述設備根據(jù)主機發(fā)送的數(shù)據(jù)包的包頭判斷所述數(shù)據(jù)包是通過BULK-OUT管道傳輸,則所述設備檢查是否正確接收了通過BULK-OUT管道傳輸?shù)臄?shù)據(jù)包,如果正確接收,則所述設備解析所述通過BULK-OUT管道傳輸?shù)臄?shù)據(jù)包中的數(shù)據(jù),判斷其命令類型,根據(jù)命令類型進行相應的操作,操作后將智能卡返回的應答組裝成符合CCID接口標準的應答數(shù)據(jù)包,將所述應答數(shù)據(jù)包放入緩沖區(qū),并進行中斷返回的操作;如果沒有正確接收,則所述設備返回一個NAK給主機,并進行中斷返回的操作。
5.如權利要求1所述的實現(xiàn)CCID設備的方法,其特征在于,步驟C所述設備進入USB中斷服務程序,并進行相應處理的步驟包括如果數(shù)據(jù)包不是通過IN管道或BULK-IN管道或BULK-OUT管道傳輸,則所述設備進行其它操作,并進行中斷返回的操作。
6.如權利要求2所述的實現(xiàn)CCID設備的方法,其特征在于,所述智能卡插拔事件信息由程序的其它模塊在判斷到有智能卡插入或拔除時寫入到緩沖區(qū)中。
7.一種實現(xiàn)CCID設備的裝置,其特征在于,所述裝置包括端點設置聲明模塊、初始化模塊和中斷處理模塊;所述端點設置聲明模塊用于設置至少一對用來實現(xiàn)應答和命令管道的IN/OUT端點聲明為BULK-IN和BULK-OUT端點,至少一個用來實現(xiàn)事件通知管道的IN端點聲明為中斷端點,并聲明自身是符合CCID接口標準的設備;所述初始化模塊用于對設備進行初始化中斷向量的操作;所述中斷處理模塊用于在設備進入中斷后進行相應的中斷操作。
8.如權利要求7所述的實現(xiàn)CCID設備的裝置,其特征在于,所述裝置還包括智能卡插拔事件信息寫入模塊,所述智能卡插拔事件信息寫入模塊用于在程序的其它模塊判斷到有智能卡插入或拔除時,將智能卡插入或拔除的信息寫入到緩沖區(qū)中。
9.如權利要求7所述的實現(xiàn)CCID設備的裝置,其特征在于,所述中斷處理模塊包括中斷管道數(shù)據(jù)包檢測處理單元、BULK-IN管道數(shù)據(jù)包檢測處理包單元、BULK-OUT管道數(shù)據(jù)包檢查處理單元和其它數(shù)據(jù)包處理單元;所述中斷管道數(shù)據(jù)包檢測處理單元用于檢測緩沖區(qū)是否有智能卡插拔事件信息,如果有,則將智能卡插拔事件信息組裝成符合CCID接口標準的數(shù)據(jù)包返回給主機,并進行中斷返回的操作,如果沒有,則返回一個NAK給主機,并進行中斷返回的操作;所述BULK-IN管道數(shù)據(jù)包檢測處理單元用于檢測緩沖區(qū)是否有可返回給主機的信息,如果有,則判斷可返回給主機的信息是否為智能卡返回的符合CCID接口標準的應答數(shù)據(jù)包,如果是,則將應答數(shù)據(jù)包返回給主機,并進行中斷返回的操作,如果不是,則進行其它操作,并進行中斷返回的操作,如果沒有,則返回一個NAK給主機,并進行中斷返回的操作;所述BULK-OUT管道數(shù)據(jù)包檢查處理單元用于檢查是否正確接收了通過BULK-OUT管道傳輸?shù)臄?shù)據(jù)包,如果正確接收,則解析通過BULK-OUT管道傳輸?shù)臄?shù)據(jù)包中的數(shù)據(jù),判斷其命令類型,根據(jù)命令類型進行相應的操作,操作后將智能卡返回的應答組裝成符合CCID接口標準的應答數(shù)據(jù)包,將應答數(shù)據(jù)包放入緩沖區(qū),并進行中斷返回的操作,如果沒有正確接收,則返回一個NAK給主機,并進行中斷返回的操作;所述其它數(shù)據(jù)包處理單元用于對不是通過IN管道或BULK-IN管道或BULK-OUT管道傳輸?shù)臄?shù)據(jù)包進行其它操作,并進行中斷返回的操作。
全文摘要
本發(fā)明公開了一種實現(xiàn)CCID設備的方法和裝置,屬于數(shù)據(jù)通訊領域。為了滿足CCID協(xié)議提出的對CCID設備實時性的要求,本發(fā)明提出了一種以中斷方式實現(xiàn)CCID設備的方法,方法包括以下步驟設備設置至少一對用來實現(xiàn)應答和命令管道的IN/OUT端點聲明為BULK-IN和BULK-OUT端點,至少一個用來實現(xiàn)事件通知管道的IN端點聲明為中斷端點,并聲明自身是符合CCID接口標準的設備;設備初始化中斷向量;設備等待USB中斷,如果有USB中斷出現(xiàn),則設備進入USB中斷服務程序,并進行相應處理。本發(fā)明還提供了一種實現(xiàn)CCID設備的裝置,裝置包括端點設置聲明模塊、初始化模塊和中斷處理模塊。
文檔編號G06K7/00GK1952915SQ20061011469
公開日2007年4月25日 申請日期2006年11月21日 優(yōu)先權日2006年11月21日
發(fā)明者陸舟, 于華章 申請人:北京飛天誠信科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
鹿泉市| 荥阳市| 东方市| 台安县| 郑州市| 巫山县| 扎囊县| 昂仁县| 长沙县| 宣化县| 施秉县| 伽师县| 玉林市| 娱乐| 阜平县| 赞皇县| 宽甸| 乌鲁木齐市| 海伦市| 巨鹿县| 双辽市| 个旧市| 盱眙县| 陆丰市| 治多县| 唐河县| 海原县| 大同县| 永城市| 德阳市| 封丘县| 光山县| 乌拉特后旗| 阜宁县| 景泰县| 漳浦县| 赤壁市| 阳信县| 富平县| 马山县| 合肥市|