專利名稱:一種可控ccid讀卡器及其工作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子產(chǎn)品設(shè)備領(lǐng)域,特別涉及一種可控CCID讀卡器及其工作方法。
背景技術(shù):
隨著科技的發(fā)展,各類電子產(chǎn)品如手機(jī)、數(shù)碼相機(jī)、MP3、MP4,等電子產(chǎn)品都有擴(kuò)展存儲(chǔ)的功能,擴(kuò)展存儲(chǔ)功能主要通過插入閃存卡為來實(shí)現(xiàn),如CF卡、SD卡、MiniSD卡、 RS-MMC卡及MMC卡等。閃存卡內(nèi)的數(shù)據(jù)需要傳輸?shù)接?jì)算機(jī)上時(shí),一般需要通過數(shù)據(jù)線連接相應(yīng)的電子產(chǎn)品與計(jì)算機(jī),但這種方式在實(shí)際使用時(shí)存在問題,如閃存卡拆裝不方便、一種電子產(chǎn)品只能對(duì)應(yīng)使用一種閃存卡及一種數(shù)據(jù)線,使用成本較高。隨后出現(xiàn)了讀卡器,通過讀卡器與計(jì)算機(jī)的對(duì)接實(shí)現(xiàn)數(shù)據(jù)的傳輸處理,提升了使用的便利性,但現(xiàn)有讀卡器的功能都比較單一,且在突然掉電的情況下閃存卡與計(jì)算機(jī)之間的數(shù)據(jù)傳輸就會(huì)中斷,需要將讀卡器拔下后再次插入到計(jì)算機(jī)中才能重新進(jìn)行數(shù)據(jù)傳輸,使用不便,安全性也比較低。在安全領(lǐng)域產(chǎn)品中,保證數(shù)據(jù)的完整性是最重要,為保證數(shù)據(jù)的完整,各廠商都在各自的產(chǎn)品中加入了防掉電功能,為了測(cè)試產(chǎn)品的防掉電功能,不少廠商都推出了具有掉電機(jī)制的讀卡器,但已有的這些產(chǎn)品都是使用串口與主機(jī)進(jìn)行信息交互,在實(shí)際應(yīng)用中由于主機(jī)串口越來越少,不同廠商的串口讀卡器、廠商的保護(hù)意識(shí)、沒有通用的使用接口,廠商只能自己開發(fā)PC(個(gè)人計(jì)算機(jī))軟件,各軟件的功能類似、使用方法千差萬別,但沒有通用性,用戶需要重復(fù)開發(fā),限制了使用規(guī)模,實(shí)用性較差。傳統(tǒng)的串口讀卡器是串口通訊,沒有特定的驅(qū)動(dòng),只能實(shí)現(xiàn)特殊的操作,比如單向操作,即主機(jī)下發(fā)數(shù)據(jù),讀卡器無返回,或者讀卡器主動(dòng)單向上發(fā)。在主機(jī)、讀卡器、卡片三個(gè)設(shè)備組成的交互系統(tǒng)中,在主機(jī)看來,是直接跟卡片交互的,而讀卡器扮演著跟主機(jī)、卡片之間交流通道的作用,傳統(tǒng)的讀卡器忠實(shí)的執(zhí)行主機(jī)的命令,如果讀卡器“不忠實(shí)”執(zhí)行主機(jī)的命令,會(huì)影響后續(xù)的所有操作,主機(jī)會(huì)停止給讀卡器發(fā)送指令或不斷的發(fā)送糾錯(cuò)命令,安全性較差,使用不便。
發(fā)明內(nèi)容
本發(fā)明的目的是為了克服現(xiàn)有技術(shù)的不足,提供一種可控CCID讀卡器及其工作方法,其具有體積小、成本低、使用安全方便的特點(diǎn)。本發(fā)明提供的可控CCID讀卡器,包括接收模塊,用于接收主機(jī)下發(fā)的信息;判斷模塊,用于判斷所述接收模塊中的信息中所包括操作指令的類型,所述操作指令的類型包括正常指令和特殊操作指令;處理模塊,用于當(dāng)所述主機(jī)下發(fā)正常指令時(shí),將數(shù)據(jù)信息轉(zhuǎn)發(fā)給卡片,并等待接收所述卡片返回的響應(yīng)信息;特殊操作模塊,用于當(dāng)所述主機(jī)下發(fā)特殊操作指令時(shí),根據(jù)所述特殊操作指令的類型對(duì)所述卡片或讀卡器進(jìn)行相應(yīng)的操作;
4
生成模塊,用于生成假響應(yīng)信息;回應(yīng)模塊,用于將所述處理模塊中的響應(yīng)信息或所述生成模塊生成的假響應(yīng)信息返回給主機(jī)。所述判斷模塊還用于判斷所述特殊操作指令的類型,所述特殊操作指令的類型包括掉電指令、改變電壓與電流指令和設(shè)置特殊通訊功率指令。所述特殊操作模塊包括掉電指令操作單元,用于對(duì)掉電標(biāo)識(shí)進(jìn)行置位,從所述掉電指令中得到掉電時(shí)間參數(shù);改變電壓與電流指令操作單元,用于改變所述讀卡器的電壓與電流;設(shè)置特殊通訊功率指令操作單元,用于為所述讀卡器設(shè)置特殊的通訊功率。所述特殊操作指令的類型還包括上電指令,所述特殊操作模塊還包括用于進(jìn)行上電操作的上電指令操作單元。所述正常指令包括復(fù)位指令和普通指令。所述處理模塊包括掉電執(zhí)行單元,用于停止給所述卡片供電;轉(zhuǎn)發(fā)單元,用于將所述主機(jī)下發(fā)的數(shù)據(jù)信息發(fā)送給卡片;接收響應(yīng)單元,用于接收所述卡片返回的有效響應(yīng)信息;判斷單元,用于判斷所述掉電標(biāo)識(shí)是否置位,用于判斷是否到達(dá)所述掉電時(shí)間,還用于判斷所述卡片內(nèi)的有效響應(yīng)信息是否返回;掉電標(biāo)識(shí)復(fù)位單元,用于對(duì)所述掉電標(biāo)識(shí)復(fù)位。所述可控CCID讀卡器為接觸式的讀卡器或非接觸式的讀卡器。本發(fā)明還提供一種可控CCID讀卡器的工作方法,包括步驟A 接收主機(jī)下發(fā)的信息,并判斷所述信息中所包括操作指令的類型;步驟B 根據(jù)所述操作指令的類型進(jìn)行相應(yīng)的操作,具體包括如操作指令是正常指令,將數(shù)據(jù)信息轉(zhuǎn)發(fā)給卡片,等待接收所述卡片返回的“執(zhí)行成功”的響應(yīng)信息;如操作指令是特殊操作指令,進(jìn)行相應(yīng)的特殊操作,并生成“執(zhí)行成功”的假響應(yīng) fn息;如操作指令是占位指令,生成“執(zhí)行成功”的假響應(yīng)信息;步驟C 將所述響應(yīng)信息返回給所述主機(jī)。所述特殊操作指令為掉電指令,所述步驟B具體為對(duì)掉電標(biāo)識(shí)進(jìn)行置位。所述步驟B還包括從所述掉電指令中得到掉電時(shí)間參數(shù)。當(dāng)執(zhí)行正常指令且所述掉電標(biāo)識(shí)置位時(shí),所述步驟B具體為判斷是否到達(dá)所述掉電時(shí)間,是則斷開卡片的電源,等待預(yù)設(shè)的恢復(fù)時(shí)間后生成“執(zhí)行成功”的假響應(yīng)信息,并對(duì)所述掉電標(biāo)識(shí)復(fù)位;否則判斷所述卡片內(nèi)的有效響應(yīng)信息是否返回,是則接收所述卡片返回的有效響應(yīng)信息,并對(duì)所述掉電標(biāo)識(shí)復(fù)位;否則再次判斷是否到達(dá)所述掉電時(shí)間。當(dāng)執(zhí)行正常指令且所述掉電標(biāo)識(shí)置位時(shí),所述步驟B具體為判斷是否到達(dá)所述掉電時(shí)間,是則關(guān)閉射頻場(chǎng),等待預(yù)設(shè)的恢復(fù)時(shí)間后生成“執(zhí)行成功”的假響應(yīng)信息,并對(duì)所述掉電標(biāo)識(shí)復(fù)位;否則判斷所述卡片內(nèi)的有效響應(yīng)信息是否返回,是則接收所述卡片返回的有效響應(yīng)信息,并對(duì)所述掉電標(biāo)識(shí)復(fù)位;否則再次判斷是否到達(dá)所述掉電時(shí)間。本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)點(diǎn)本發(fā)明提供的可控CCID讀卡器具有完善的驅(qū)動(dòng),可被當(dāng)前所有操作系統(tǒng)默認(rèn)和支持,與主機(jī)連接時(shí)采用CCID接口不占用主機(jī)的串口,無需外接電源,適用于現(xiàn)有所有軟件,省去用戶的重復(fù)開發(fā)工作,降低生產(chǎn)和使用成本;本發(fā)明提供的可控CCID讀卡器在卡片掉電時(shí),可與主機(jī)正常交互,使用安全方便;本發(fā)明提供的可控CCID讀卡器可對(duì)卡片或讀卡器進(jìn)行任意操作,例如給讀卡器設(shè)置特殊的通訊速率、設(shè)置電壓和電流等操作。
圖1為本發(fā)明實(shí)施例一提供的可控CCID讀卡器的方框示意圖;圖2為圖1所示可控CCID讀卡器的工作方法流程示意圖;圖3為本發(fā)明實(shí)施例二提供的防掉電的可控CCID讀卡器的方框示意圖;圖4為圖3所示的可控CCID讀卡器的工作方法流程示意圖;圖5為圖4所示接觸式的可控CCID讀卡器進(jìn)行一輪完整工作時(shí)主機(jī)依次下發(fā)的指令、及主機(jī)和卡片在各指令上的傳輸塊號(hào)的示意圖。
具體實(shí)施例方式為更近一步闡述本發(fā)明為達(dá)成預(yù)訂目的所采取的技術(shù)手段及功效,以下結(jié)合附圖及較佳實(shí)施例,對(duì)依據(jù)發(fā)明提出的可控CCID讀卡器及其工作方法,其具體實(shí)施方式
、結(jié)構(gòu)、 特征及其功效,說明如后。本發(fā)明實(shí)施例一提供的一種可控CCID讀卡器,如圖1所示,包括接收模塊1 用于接收主機(jī)下發(fā)的信息,所述信息中包括操作指令和數(shù)據(jù)信息,所述操作指令包括正常指令和特殊指令,所述正常指令包括普通指令和復(fù)位指令,所述特殊指令包括占位指令和特殊操作指令,特殊操作指令是對(duì)讀卡器或卡片進(jìn)行操作的指令;判斷模塊2 用于判斷所述接收模塊1中的信息中所包括操作指令的類型和特殊指令的類型;處理模塊3:用于當(dāng)所述主機(jī)下發(fā)正常指令時(shí),將數(shù)據(jù)信息轉(zhuǎn)發(fā)給卡片,并等待接收卡片返回的“執(zhí)行成功”的響應(yīng)信息;特殊操作模塊4 用于當(dāng)所述主機(jī)下發(fā)特殊操作指令時(shí),根據(jù)特殊操作指令對(duì)卡片或讀卡器進(jìn)行相應(yīng)的操作,包括掉電指令操作單元40,用于對(duì)掉電標(biāo)識(shí)進(jìn)行置位,從所述掉電指令中得到掉電時(shí)間參數(shù);上電指令操作單元41,用于進(jìn)行上電操作;改變電壓與電流指令操作單元42 用于改變讀卡器的電壓與電流;設(shè)置特殊通訊功率指令操作單元 43 用于為讀卡器設(shè)置特殊的通訊功率;生成模塊5 用于生成“執(zhí)行成功”的假響應(yīng)信息;回應(yīng)模塊6 用于將響應(yīng)信息返回給主機(jī),使主機(jī)與卡片可以保持正常通訊。如圖2所示,為本發(fā)明實(shí)施例一提供的可控CCID讀卡器的工作方法流程示意圖, 包括步驟201 在與主機(jī)建立連接后,所述可控的CCID讀卡器接收主機(jī)下發(fā)的信息,該信息中包括操作指令和數(shù)據(jù)信息,所述操作指令包括正常指令和特殊指令,所述正常指令包括普通指令和復(fù)位指令,所述特殊指令包括占位指令和特殊操作指令,該特殊操作指令包括對(duì)讀卡器進(jìn)行操作的指令如設(shè)置特殊通訊速率指令、改變電壓與電流指令等操作指令和對(duì)卡片進(jìn)行操作的指令如掉電指令等;步驟202 判斷所述接收到主機(jī)下發(fā)的信息中所包括操作指令的類型,如是正常指令,則執(zhí)行步驟203,如是特殊指令,則執(zhí)行步驟204 ;步驟203:將數(shù)據(jù)信息轉(zhuǎn)發(fā)給卡片,并等待接收卡片返回的“執(zhí)行成功”的響應(yīng)信息,順序執(zhí)行步驟207 ;步驟204 判斷所述特殊指令的類型,如是特殊操作指令,則執(zhí)行步驟205,如是占位指令,則執(zhí)行步驟206;步驟205 根據(jù)特殊操作指令對(duì)卡片或讀卡器進(jìn)行相應(yīng)的操作,并順序執(zhí)行步驟 206,具體操作過程包括如特殊操作指令是掉電指令,則對(duì)掉電標(biāo)識(shí)進(jìn)行置位,從所述掉電指令中得到掉電時(shí)間參數(shù);如特殊操作指令是改變電壓與電流指令,則進(jìn)行改變讀卡器電壓與電流的操作;如特殊操作指令是設(shè)置特殊通訊功率指令,則進(jìn)行給讀卡器設(shè)置特殊的通訊功率的操作。步驟206 生成“執(zhí)行成功”的假響應(yīng)信息,順序執(zhí)行步驟207 ;步驟207 將響應(yīng)信息返回給主機(jī),使主機(jī)與卡片可以保持正常通訊,然后循環(huán)步驟 201。本發(fā)明實(shí)施例二提供的可控CCID讀卡器為接觸式讀卡器,以特殊操作指令為對(duì)卡片進(jìn)行掉電操作的指令為例,對(duì)本發(fā)明提供的可控CCID讀卡器的工作過程進(jìn)行詳細(xì)的說明,如圖3和圖4所示。本實(shí)施例提供的接觸式的可控CCID讀卡器接收主機(jī)發(fā)送的兩條指令,且均不轉(zhuǎn)發(fā)給卡片,使主機(jī)的傳輸塊號(hào)翻轉(zhuǎn)兩次后恢復(fù)到原狀態(tài),而卡片的傳輸塊號(hào)不翻轉(zhuǎn),使其與主機(jī)的傳輸塊號(hào)保持一致,確保主機(jī)與卡片的正常通訊。具體方法為接收主機(jī)發(fā)送的兩條指令給讀卡器,一條是占位指令,另一條是掉電指令,在主機(jī)下發(fā)占位指令后,主機(jī)的傳輸塊號(hào)會(huì)改變一次(如從0變?yōu)?),讀卡器接收到傳輸塊號(hào)后,不對(duì)卡片進(jìn)行任何操作,而是給主機(jī)返回“執(zhí)行成功”的響應(yīng)信息,使主機(jī)可以繼續(xù)正常下發(fā)指令,主機(jī)接收到讀卡器返回的“執(zhí)行成功”的響應(yīng)信息后,再開始傳送掉電指令,主機(jī)的傳輸塊號(hào)又改變一次(從1變?yōu)?),恢復(fù)到原始狀態(tài),而讀卡器將掉電指令截留下來進(jìn)行處理,并返回給主機(jī)“執(zhí)行成功”的響應(yīng)信息,使主機(jī)可以正常下發(fā)后續(xù)指令,主機(jī)再發(fā)送下一條正常指令時(shí),主機(jī)的傳輸塊號(hào)又改變一次(從0變?yōu)?),當(dāng)讀卡器接收到主機(jī)下發(fā)的普通指令時(shí),讀卡器會(huì)根據(jù)保存的“掉電”指令對(duì)卡片進(jìn)行掉電操作,并接收到卡片的返回響應(yīng),卡片的傳輸塊號(hào)也發(fā)生改變,從0變?yōu)?,保持和主機(jī)的傳輸塊號(hào)一致的狀態(tài),使主機(jī)和卡片可以正常進(jìn)行通訊。該占位指令只是為了恢復(fù)鏈路的狀態(tài),這樣主機(jī)的傳輸塊號(hào)經(jīng)過兩次翻轉(zhuǎn)恢復(fù)原態(tài),主機(jī)認(rèn)為卡片的傳輸塊號(hào)也經(jīng)過兩次翻轉(zhuǎn),主機(jī)再發(fā)送普通指令的時(shí)候,卡片的傳輸塊號(hào)會(huì)和主機(jī)的傳輸塊號(hào)同時(shí)改變保持一致狀態(tài),使后面的通訊能夠正常進(jìn)行。圖3為本發(fā)明實(shí)施例二提供的可控CCID讀卡器的方框示意圖,其具有防掉電的功能,具體包括接收信息模塊31 用于接收主機(jī)下發(fā)的信息,所述信息中包括數(shù)據(jù)信息和操作指令;所述操作指令包括正常指令和特殊指令,所述正常指令包括普通指令和復(fù)位指令,所述特殊指令包括占位指令和特殊操作指令,特殊操作指令是對(duì)讀卡器或卡片進(jìn)行操作的指令;判斷模塊32 包括第一判斷單元321和第二判斷單元322,所述第一判斷單元321 用于判斷所述接收信息模塊31中的信息中的操作指令類型,所述第二判斷單元322用于判斷所述接收信息模塊31中的特殊指令類型;掉電操作模塊33 用于對(duì)掉電標(biāo)識(shí)進(jìn)行置位,并從所述掉電指令中得到掉電時(shí)間參數(shù);生成響應(yīng)模塊34 用于生成“執(zhí)行成功”的假響應(yīng)信息;正常處理模塊35 用于根據(jù)主機(jī)下發(fā)的正常指令進(jìn)行相應(yīng)的操作,包括轉(zhuǎn)發(fā)單元350 用于將主機(jī)下發(fā)的數(shù)據(jù)信息發(fā)送給卡片;接收響應(yīng)單元351 用于接收卡片返回的有效響應(yīng)信息;判斷單元352 用于判斷掉電標(biāo)識(shí)是否置位,用于判斷是否到達(dá)所述掉電時(shí)間,還用于判斷卡片內(nèi)的有效響應(yīng)信息是否返回;掉電執(zhí)行單元353 用于停止給卡片供電,并進(jìn)行等待;掉電標(biāo)識(shí)復(fù)位單元354 用于對(duì)所述掉電標(biāo)識(shí)復(fù)位;返回響應(yīng)模塊36 用于給主機(jī)返回“執(zhí)行成功”的響應(yīng)信息。主機(jī)下發(fā)特殊操作指令時(shí),由于特殊操作指令與占位指令成對(duì)出現(xiàn),主機(jī)的傳輸塊號(hào)會(huì)經(jīng)過偶數(shù)次翻轉(zhuǎn),然后又恢復(fù)為初始的傳輸塊號(hào),但讀卡器將主機(jī)下發(fā)的特殊指令和占位指令私自處理,并不轉(zhuǎn)發(fā)給卡片,卡片的傳輸塊號(hào)也不會(huì)改變,保持初始狀態(tài),始終與主機(jī)的傳輸塊號(hào)保持一致,使后面的通訊可以正常進(jìn)行。如圖4所示,為圖3所示的接觸式的可控CCID讀卡器的工作方法流程示意圖,包括正常工作過程和掉電過程,其具體工作過程包括步驟401 在接觸式CCID讀卡器與主機(jī)建立連接后,接收主機(jī)發(fā)送的信息,該信息中包括數(shù)據(jù)信息和操作指令信息;所述操作指令包括正常指令和特殊指令,所述特殊指令包括占位指令和特殊操作指令,所述特殊操作指令為掉電指令,所述占位指令可設(shè)為fe fd 00 00 00,掉電指令可設(shè)為為fe 00掉電時(shí)間高字節(jié)掉電時(shí)間低字節(jié)00 ;步驟402 判斷主機(jī)下發(fā)的指令類型,如是特殊指令,則執(zhí)行步驟403,如是正常指令,則執(zhí)行步驟406;步驟403 判斷所述特殊指令的類型,如是掉電指令指令,則執(zhí)行步驟404,如是占位指令,則執(zhí)行步驟405;步驟404 對(duì)掉電標(biāo)識(shí)進(jìn)行置位,從所述掉電指令中得到掉電時(shí)間參數(shù),所述掉電時(shí)間參數(shù)可設(shè)置為16毫秒,順序執(zhí)行步驟405 ;步驟405 生成“執(zhí)行成功”的假響應(yīng)信息,順序執(zhí)行步驟416 ;步驟406 將所述數(shù)據(jù)信息發(fā)送給卡片;步驟407 判斷所述掉電標(biāo)識(shí)是否置位,是則執(zhí)行步驟409,否則執(zhí)行步驟408 ;步驟408 等待接收卡片返回的有效響應(yīng)信息;步驟409 判斷是否到達(dá)所述掉電時(shí)間,是則執(zhí)行步驟410,否則執(zhí)行步驟413 ;步驟410 斷開卡片的電源,停止給卡片供電;
步驟411 讀卡器處于空閑狀態(tài)無任何操作,等待預(yù)設(shè)的恢復(fù)時(shí)間,順序執(zhí)行步驟 412,本實(shí)施例中的恢復(fù)時(shí)間設(shè)置為30毫秒,保證卡片成功地執(zhí)行完正在進(jìn)行的操作;步驟412 生成“執(zhí)行成功”的假響應(yīng)信息,順序執(zhí)行步驟415 ;步驟413 判斷卡片內(nèi)的有效響應(yīng)信息是否返回,是則執(zhí)行步驟414,否則執(zhí)行步驟 409 ;步驟414 接收卡片返回的有效響應(yīng)信息,順序執(zhí)行步驟415 ;步驟415 對(duì)所述掉電標(biāo)識(shí)復(fù)位;步驟416 將所述響應(yīng)信息發(fā)送給主機(jī),再重新執(zhí)行步驟401,保持后續(xù)的正常通訊。圖4中步驟405中,當(dāng)主機(jī)給CCID讀卡器發(fā)送掉電指令時(shí),CCID讀卡器并不將掉電指令發(fā)送給卡片,截留了該指令,并生成“執(zhí)行成功”的假響應(yīng)信息并發(fā)送給主機(jī),讓主機(jī)正常的繼續(xù)發(fā)送下一條指令,而當(dāng)下一條普通指令到來且掉電標(biāo)識(shí)置位時(shí),讀卡器對(duì)卡片執(zhí)行掉電操作。如圖5所示,為接觸式CCID讀卡器進(jìn)行一輪完整工作時(shí)依次接收到主機(jī)下發(fā)的指令、及主機(jī)和卡片在各指令上的傳輸塊號(hào)的示意圖,主機(jī)下發(fā)的指令順序依次為 普通指令、占位指令、掉電指令,執(zhí)行掉電指令、復(fù)位指令、普通指令、占位指令、改變電壓與電流指令、普通指令、占位指令、設(shè)置特殊通訊功率指令、普通指令的循環(huán)過程,該圖5中的普通指令可以有若干條;由圖5中可看出,主機(jī)每下發(fā)一個(gè)指令時(shí),其傳輸塊號(hào)都會(huì)發(fā)生變化,讀卡器在接收到普通指令時(shí),會(huì)將其轉(zhuǎn)發(fā)給卡片,此時(shí)卡片的傳輸塊號(hào)也會(huì)跟著發(fā)生改變;但是當(dāng)讀卡器接收到主機(jī)下發(fā)的占位指令時(shí)、掉電指令、改變電壓與電流指令和設(shè)置特殊通訊功率指令,不會(huì)轉(zhuǎn)發(fā)給卡片,卡片的傳輸塊號(hào)也不會(huì)發(fā)生改變,但由于掉電指令、改變電壓與電流指令、設(shè)置特殊通訊功率指令均與占位指令成對(duì)出現(xiàn),主機(jī)連續(xù)發(fā)送兩條指令,其傳輸塊號(hào)經(jīng)過兩次改變后也和原始狀態(tài)一樣,使卡片的傳輸塊號(hào)和主機(jī)的傳輸塊號(hào)始終保持一致,可進(jìn)行正常的通訊。所述復(fù)位指令用于實(shí)現(xiàn)卡片與主機(jī)之間重新建立連接并進(jìn)行正常通訊,也可用占位指令和上電指令兩條成對(duì)出現(xiàn)的連續(xù)指令代替實(shí)現(xiàn)卡片與主機(jī)的正常通訊,所述上電指令可設(shè)為fe fe 00 0000,占位指令可設(shè)為fe fdOO 00 00。本發(fā)明實(shí)施例二提供的可控CCID讀卡器的工作方法也可適用于非接觸式通訊中,在非接觸通訊中,卡片與讀卡器并不接觸,而是從讀卡器的射頻場(chǎng)中直接獲得能量并進(jìn)行通訊,對(duì)于非接觸卡片,圖4所示可控CCID讀卡器工作方法的步驟410和步驟411可用步驟410,和步驟411,代替;步驟410’ 關(guān)閉射頻場(chǎng),停止給非接觸卡片的供電,非接觸卡片的能量來源消失, 處于無能量狀態(tài);步驟411’ 在關(guān)閉射頻場(chǎng)后,可控CCID讀卡器等待預(yù)設(shè)的恢復(fù)時(shí)間,以保證卡片的電源徹底斷開并處于穩(wěn)定狀態(tài),不同卡片的能量保留時(shí)間不同,但時(shí)間都相當(dāng)短,本實(shí)施例中可控CCID讀卡器的恢復(fù)時(shí)間設(shè)置為30毫秒。在非接觸卡片真正掉電后(即可控CCID讀卡器關(guān)閉電源后),可控CCID讀卡器會(huì)接收到主機(jī)下發(fā)的占位指令和上電APDU指令或接收到主機(jī)下發(fā)的復(fù)位指令,重新打開可控CCID讀卡器的射頻場(chǎng)來給卡片恢復(fù)供電,所述APDU指令中包含有復(fù)位信息??煽谻CID 接收到指令的順序?yàn)檎嘉恢噶?對(duì)讀卡器進(jìn)行操作的指令-普通指令(即執(zhí)行指令)或占位指令-對(duì)卡片進(jìn)行操作的指令-普通指令(即執(zhí)行指令),占位指令保證了主機(jī)的傳輸塊號(hào)與卡片的傳輸塊號(hào)始終保持一致,可進(jìn)行正常通訊。本發(fā)明提供的可控CCID讀卡器具有完善的驅(qū)動(dòng),可被當(dāng)前所有操作系統(tǒng)默認(rèn)和支持,與主機(jī)連接時(shí)采用CCID接口不占用主機(jī)的串口,無需外接電源,適用于現(xiàn)有所有軟件,省去用戶的重復(fù)開發(fā)工作,降低生產(chǎn)和使用成本;本發(fā)明提供的可控CCID讀卡器在卡片掉電時(shí),可與主機(jī)正常交互,使用安全方便;本發(fā)明提供的可控CCID讀卡器可對(duì)卡片或讀卡器進(jìn)行任意操作,例如給讀卡器設(shè)置特殊的通訊速率、設(shè)置電壓和電流等操作。以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此, 任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明公開的技術(shù)范圍內(nèi),可輕易想到的變化或替換, 都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種可控CCID讀卡器,其特征在于,包括 接收模塊,用于接收主機(jī)下發(fā)的信息;判斷模塊,用于判斷所述接收模塊中的信息中所包括操作指令的類型,所述操作指令的類型包括正常指令和特殊操作指令;處理模塊,用于當(dāng)所述主機(jī)下發(fā)正常指令時(shí),將數(shù)據(jù)信息轉(zhuǎn)發(fā)給卡片,并等待接收所述卡片返回的響應(yīng)信息;特殊操作模塊,用于當(dāng)所述主機(jī)下發(fā)特殊操作指令時(shí),根據(jù)所述特殊操作指令的類型對(duì)所述卡片或讀卡器進(jìn)行相應(yīng)的操作; 生成模塊,用于生成假響應(yīng)信息;回應(yīng)模塊,用于將所述處理模塊中的響應(yīng)信息或所述生成模塊生成的假響應(yīng)信息返回給主機(jī)。
2.根據(jù)權(quán)利要求1所述的可控CCID讀卡器,其特征在于,所述判斷模塊還用于判斷所述特殊操作指令的類型,所述特殊操作指令的類型包括掉電指令、改變電壓與電流指令和設(shè)置特殊通訊功率指令。
3.根據(jù)權(quán)利要求2所述的可控CCID讀卡器,其特征在于,所述特殊操作模塊包括 掉電指令操作單元,用于對(duì)掉電標(biāo)識(shí)進(jìn)行置位,從所述掉電指令中得到掉電時(shí)間參數(shù);改變電壓與電流指令操作單元,用于改變所述讀卡器的電壓與電流; 設(shè)置特殊通訊功率指令操作單元,用于為所述讀卡器設(shè)置特殊的通訊功率。
4.根據(jù)權(quán)利要求3所述的可控CCID讀卡器,其特征在于,所述特殊操作指令的類型還包括上電指令,所述特殊操作模塊還包括用于進(jìn)行上電操作的上電指令操作單元。
5.根據(jù)權(quán)利要求2所述的可控CCID讀卡器,其特征在于,所述正常指令包括復(fù)位指令和普通指令。
6.根據(jù)權(quán)利要求3所述的可控CCID讀卡器,其特征在于,所述處理模塊包括 掉電執(zhí)行單元,用于停止給所述卡片供電;轉(zhuǎn)發(fā)單元,用于將所述主機(jī)下發(fā)的數(shù)據(jù)信息發(fā)送給卡片; 接收響應(yīng)單元,用于接收所述卡片返回的有效響應(yīng)信息;判斷單元,用于判斷所述掉電標(biāo)識(shí)是否置位,用于判斷是否到達(dá)所述掉電時(shí)間,還用于判斷所述卡片內(nèi)的有效響應(yīng)信息是否返回;掉電標(biāo)識(shí)復(fù)位單元,用于對(duì)所述掉電標(biāo)識(shí)復(fù)位。
7.根據(jù)權(quán)利要求1-6任意一項(xiàng)所述的可控CCID讀卡器,其特征在于,所述可控CCID讀卡器為接觸式的讀卡器或非接觸式的讀卡器。
8.—種可控CCID讀卡器的工作方法,其特征在于,包括步驟A 接收主機(jī)下發(fā)的信息,并判斷所述信息中所包括操作指令的類型; 步驟B 根據(jù)所述操作指令的類型進(jìn)行相應(yīng)的操作,具體包括 如操作指令是正常指令,將數(shù)據(jù)信息轉(zhuǎn)發(fā)給卡片,等待接收所述卡片返回的“執(zhí)行成功”的響應(yīng)信息;如操作指令是特殊操作指令,進(jìn)行相應(yīng)的特殊操作,并生成“執(zhí)行成功”的假響應(yīng)信息;如操作指令是占位指令,生成“執(zhí)行成功”的假響應(yīng)信息;步驟C 將所述響應(yīng)信息返回給所述主機(jī)。
9.根據(jù)權(quán)利要求8所述的可控CCID讀卡器的工作方法,其特征在于,所述特殊操作指令為掉電指令,所述步驟B具體為對(duì)掉電標(biāo)識(shí)進(jìn)行置位。
10.根據(jù)權(quán)利要求9所述的可控CCID讀卡器的工作方法,其特征在于,所述步驟B還包括從所述掉電指令中得到掉電時(shí)間參數(shù)。
11.根據(jù)權(quán)利要求9所述的可控CCID讀卡器的工作方法,其特征在于,當(dāng)執(zhí)行正常指令且所述掉電標(biāo)識(shí)置位時(shí),所述步驟B具體為判斷是否到達(dá)所述掉電時(shí)間,是則斷開卡片的電源,等待預(yù)設(shè)的恢復(fù)時(shí)間后生成“執(zhí)行成功”的假響應(yīng)信息,并對(duì)所述掉電標(biāo)識(shí)復(fù)位;否則判斷所述卡片內(nèi)的有效響應(yīng)信息是否返回,是則接收所述卡片返回的有效響應(yīng)信息,并對(duì)所述掉電標(biāo)識(shí)復(fù)位;否則再次判斷是否到達(dá)所述掉電時(shí)間。
12.根據(jù)權(quán)利要求9所述的可控CCID讀卡器的工作方法,其特征在于,當(dāng)執(zhí)行正常指令且所述掉電標(biāo)識(shí)置位時(shí),所述步驟B具體為判斷是否到達(dá)所述掉電時(shí)間,是則關(guān)閉射頻場(chǎng),等待預(yù)設(shè)的恢復(fù)時(shí)間后生成“執(zhí)行成功”的假響應(yīng)信息,并對(duì)所述掉電標(biāo)識(shí)復(fù)位;否則判斷所述卡片內(nèi)的有效響應(yīng)信息是否返回,是則接收所述卡片返回的有效響應(yīng)信息,并對(duì)所述掉電標(biāo)識(shí)復(fù)位;否則再次判斷是否到達(dá)所述掉電時(shí)間。
全文摘要
本發(fā)明提供一種可控CCID讀卡器及其工作方法,涉及電子產(chǎn)品設(shè)備領(lǐng)域,其工作方法包括接收主機(jī)下發(fā)的信息,并判斷所述信息中所包括操作指令的類型;根據(jù)所述操作指令的類型進(jìn)行相應(yīng)的操作,具體包括如操作指令是正常指令,將數(shù)據(jù)信息轉(zhuǎn)發(fā)給卡片,等待接收所述卡片返回的“執(zhí)行成功”的響應(yīng)信息;如操作指令是特殊操作指令,進(jìn)行相應(yīng)的特殊操作,并生成“執(zhí)行成功”的假響應(yīng)信息;如操作指令是占位指令,生成“執(zhí)行成功”的假響應(yīng)信息;將所述響應(yīng)信息返回給所述主機(jī)。本發(fā)明提供的可控CCID讀卡器與主機(jī)連接時(shí)采用CCID接口,無需外接電源,適用于現(xiàn)有所有軟件,降低了生產(chǎn)和使用成本;在卡片掉電時(shí)可與主機(jī)正常交互,使用安全方便。
文檔編號(hào)G06K7/00GK102222208SQ20111014521
公開日2011年10月19日 申請(qǐng)日期2011年5月31日 優(yōu)先權(quán)日2011年5月31日
發(fā)明者于華章, 陸舟 申請(qǐng)人:飛天誠信科技股份有限公司