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

一種包含雙處理器的讀卡器的工作方法_2

文檔序號:8445509閱讀:來源:國知局
一處理器發(fā)送所述預(yù)設(shè)類型的應(yīng)答,執(zhí)行步驟A23,否則根據(jù)所述智能卡返回的數(shù)據(jù)向所述第一處理器返回應(yīng)答,執(zhí)行步驟A23;
[0046]所述步驟A22中還可以包括:若接收到的數(shù)據(jù)包中包含的指令為上電指令,則初始化智能卡接口,給所述智能卡上電,接收所述智能卡返回的復(fù)位應(yīng)答,并根據(jù)所述復(fù)位應(yīng)答設(shè)置傳輸協(xié)議類型和所述智能卡接口,并向所述第一處理器返回應(yīng)答,執(zhí)行步驟A23 ;
[0047]所述傳輸協(xié)議類型可以包括:異步半雙工字符傳輸協(xié)議和異步半雙工分組協(xié)議;
[0048]所述根據(jù)所述復(fù)位應(yīng)答設(shè)置傳輸協(xié)議類型可以具體包括:當(dāng)所述復(fù)位應(yīng)答中不包含預(yù)設(shè)參數(shù)、或者包含預(yù)設(shè)參數(shù)且預(yù)設(shè)參數(shù)的低半字節(jié)為第一預(yù)設(shè)值時(shí),設(shè)置傳輸協(xié)議類型為所述異步半雙工字符傳輸協(xié)議;當(dāng)所述復(fù)位應(yīng)答中包含預(yù)設(shè)參數(shù)且所述預(yù)設(shè)參數(shù)的低半字節(jié)等于第二預(yù)設(shè)值、或者包含預(yù)設(shè)參數(shù)且所述預(yù)設(shè)參數(shù)中包含低半字節(jié)等于第二預(yù)設(shè)值的預(yù)設(shè)參數(shù)時(shí),設(shè)置所述傳輸協(xié)議類型為所述異步半雙工分組傳輸協(xié)議;
[0049]所述將獲取到的APDU發(fā)送給智能卡之前,還可以包括判斷所述傳輸協(xié)議類型,若為所述異步半雙工分組傳輸協(xié)議,則執(zhí)行所述將獲取到的APDU發(fā)送給智能卡,若為所述異步半雙工字符傳輸協(xié)議,則執(zhí)行以下步驟:
[0050]步驟2-1、發(fā)送獲取到的APDU的數(shù)據(jù)頭給所述智能卡,判斷所述智能卡返回的數(shù)據(jù)是否為預(yù)設(shè)過程字節(jié),是則向所述第一處理器發(fā)送預(yù)設(shè)類型的應(yīng)答,返回步驟A21,否則執(zhí)行步驟2_2 ;
[0051]步驟2-2、判斷是否有APDU數(shù)據(jù)域需要發(fā)送,是則向所述智能卡發(fā)送APDU數(shù)據(jù)域,接收所述智能卡返回的數(shù)據(jù),并根據(jù)所述智能卡返回的數(shù)據(jù)向所述第一處理器返回應(yīng)答,返回步驟A21,否則根據(jù)所述智能卡返回的數(shù)據(jù)向所述第一處理器返回應(yīng)答,返回步驟A21。
[0052]所述查詢當(dāng)前時(shí)刻卡槽的狀態(tài),并判斷與上一次記錄的卡槽狀態(tài)是否相同之前,還可以包括:判斷是否到達(dá)卡槽狀態(tài)定時(shí)查詢時(shí)間,若未到達(dá)則返回步驟A21,若到達(dá)則執(zhí)行所述查詢當(dāng)前時(shí)刻卡槽的狀態(tài),并判斷與上一次記錄的卡槽狀態(tài)是否相同。
[0053]所述步驟AlO之前還可以包括:所述第一處理器進(jìn)行初始化,判斷USB枚舉是否成功,是則執(zhí)行所述步驟A10,否則等待USB枚舉成功。
[0054]所述步驟A20之前還可以包括:所述第二處理器進(jìn)行初始化。
[0055]本發(fā)明方法的有益效果在于,本發(fā)明中提供的方法適用于包含雙處理器的讀卡器,第一處理器控制與上位機(jī)的交互,第二處理器控制與卡的交互和物理防拆檢測等,采用本發(fā)明提供的方法,配合通常的物理防拆等安全機(jī)制,就能夠?qū)崿F(xiàn)在保障讀卡器的安全性的同時(shí)有效控制讀卡器的成本。
【附圖說明】
[0056]為了更清楚的說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0057]圖1為本發(fā)明實(shí)施例一中提供的讀卡器的結(jié)構(gòu)示意圖;
[0058]圖2為本發(fā)明實(shí)施例二中提供的第一處理器的操作流程圖;
[0059]圖3為本發(fā)明實(shí)施例二中提供的第二處理器的操作流程圖;
[0060]圖4為本發(fā)明實(shí)施例二中提供的當(dāng)數(shù)據(jù)包中包含的指令為發(fā)送數(shù)據(jù)指令時(shí),第二處理器的操作流程圖;
[0061]圖5為本發(fā)明實(shí)施例四中提供的第一處理器的操作流程圖;
[0062]圖6為本發(fā)明實(shí)施例四中提供的第二處理器的操作流程圖。
【具體實(shí)施方式】
[0063]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0064]實(shí)施例一
[0065]本發(fā)明實(shí)施例一提供一種包含雙處理器的讀卡器的工作方法,如圖1所示,所述讀卡器包括第一處理器、第二處理器、外圍電路(如晶體、LED等)、智能卡接口和USB接口 ;第一處理器和外圍電路分別與第二處理器相連,第一處理器可以通過USB接口與上位機(jī)連接,第二處理器可以通過智能卡接口與智能卡相連;具體地第一處理器可以通過串口、SPI (Serial Peripheral Interface,串行外設(shè)接口)、I2C(Inter-1ntegrated Circuit)總線等與第二處理器相連。
[0066]所述讀卡器的工作方法包括:第一處理器的操作流程和第二處理器的操作流程。
[0067]第一處理器的操作流程包括:
[0068]步驟S10、第一處理器判斷是否已完成握手操作,若已完成握手操作則執(zhí)行步驟SI I,若未完成則向第二處理器發(fā)送包含握手指令的數(shù)據(jù)包,直至接收到第二處理器返回的正確握手應(yīng)答后,執(zhí)行步驟Sll ;
[0069]步驟S11、第一處理器判斷是否接收到上位機(jī)發(fā)送的數(shù)據(jù)包,是則將上位機(jī)發(fā)送的數(shù)據(jù)包發(fā)送給第二處理器,執(zhí)行步驟S12,否則返回步驟SlO ;
[0070]步驟S12、第一處理器判斷在預(yù)設(shè)時(shí)間內(nèi)是否接收到第二處理器返回的應(yīng)答,是則將第二處理器返回的應(yīng)答發(fā)送給上位機(jī),返回步驟S10,否則向上位機(jī)返回超時(shí)提示信息,返回步驟SlO ;
[0071]第一處理器的操作流程還包括:第一處理器向第二處理器發(fā)送包含查詢卡槽狀態(tài)指令的數(shù)據(jù)包,根據(jù)第二處理器返回的應(yīng)答判斷是否需要向上位機(jī)上報(bào)卡槽狀態(tài),是則向上位機(jī)上報(bào)卡槽狀態(tài),返回步驟S10,否則直接返回步驟SlO ;
[0072]第二處理器的操作流程包括:
[0073]步驟S20、第二處理器判斷是否接收到第一處理器發(fā)送的數(shù)據(jù)包,是則執(zhí)行步驟S21,否則重新執(zhí)行步驟S20 ;
[0074]步驟S21、第二處理器判斷接收到的數(shù)據(jù)包中包含的指令的類型,若為握手指令則向第一處理器返回握手應(yīng)答,返回步驟S20 ;若為查詢卡槽狀態(tài)指令則執(zhí)行步驟S22 ;否則根據(jù)接收到的數(shù)據(jù)包中包含的指令執(zhí)行相應(yīng)操作,并向第一處理器返回相應(yīng)應(yīng)答,返回步驟 S20 ;
[0075]步驟S22、第二處理器查詢當(dāng)前時(shí)刻卡槽的狀態(tài),向第一處理器返回包含查詢到的卡槽狀態(tài)的應(yīng)答,返回步驟S20。
[0076]本實(shí)施例中,第一處理器根據(jù)第二處理器返回的應(yīng)答判斷是否需要向上位機(jī)上報(bào)卡槽狀態(tài),具體包括:第一處理器判斷第二處理器返回的應(yīng)答中是否包含上報(bào)標(biāo)志,是則需要向上位機(jī)上報(bào)卡槽狀態(tài),否則不需要向上位機(jī)上報(bào)卡槽狀態(tài);相應(yīng)地:
[0077]第二處理器向第一處理器返回握手應(yīng)答時(shí),還包括置位握手成功標(biāo)志;
[0078]步驟S22具體包括:第二處理器檢查握手成功標(biāo)志是否被置位,若被置位則查詢當(dāng)前時(shí)刻卡槽的狀態(tài),向第一處理器返回包含上報(bào)標(biāo)志和查詢到的卡槽狀態(tài)的應(yīng)答,并記錄查詢到的卡槽狀態(tài),返回步驟S20 ;若未被置位則查詢當(dāng)前時(shí)刻卡槽的狀態(tài),判斷查詢到的卡槽狀態(tài)與上一次記錄的卡槽狀態(tài)是否相同,若相同則向第一處理器返回包含查詢到的卡槽狀態(tài)的應(yīng)答,返回步驟S20,若不相同則向第一處理器返回包含上報(bào)標(biāo)志和查詢到的卡槽狀態(tài)的應(yīng)答,并記錄查詢到的卡槽狀態(tài),返回步驟S20 ;
[0079]第一處理器向上位機(jī)上報(bào)卡槽狀態(tài),具體為將第二處理器返回的應(yīng)答中包含的卡槽狀態(tài)發(fā)送給上位機(jī)。
[0080]或者,本實(shí)施例中,第一處理器根據(jù)第二處理器返回的應(yīng)答判斷是否需要向上位機(jī)上報(bào)卡槽狀態(tài),具體包括:第一處理器判斷是否存在上一次記錄的卡槽狀態(tài),且上一次記錄的卡槽狀態(tài)與第二處理器返回的應(yīng)答中包含的卡槽狀態(tài)相同,是則不需要向上位機(jī)上報(bào)卡槽狀態(tài),否則需要向上位機(jī)上報(bào)卡槽狀態(tài);相應(yīng)地:
[0081]第一處理器向上位機(jī)上報(bào)卡槽狀態(tài),具體為將第二處理器返回的應(yīng)答中包含的卡槽狀態(tài)發(fā)送給上位機(jī);
[0082]第一處理器向上位機(jī)上報(bào)卡槽狀態(tài)之后,還包括記錄第二處理器返回的應(yīng)答中包含的卡槽狀態(tài)。
[0083]實(shí)施例二
[0084]本發(fā)明實(shí)施例二在實(shí)施例一的基礎(chǔ)上,提供一種實(shí)施例一中所述的讀卡器的一種具體工作方法,所述方法包括第一處理器的操作流程和第二處理器的操作流程。
[0085]如圖2所示,第一處理器的操作流程包括:
[0086]步驟101、第一處理器進(jìn)行初始化;
[0087]具體地,第一處理器進(jìn)行初始化包括:第一處理器初始化硬件寄存器、初始化軟件標(biāo)志和清空臨時(shí)緩存等操作。
[0088]步驟102、第一處理器判斷USB枚舉是否成功,是則執(zhí)行步驟103,否則重新執(zhí)行步驟 102 ;
[0089]步驟103、第一處理器檢查握手標(biāo)志是否被置位,是則執(zhí)行步驟104,否則執(zhí)行步驟 107 ;
[0090]具體地,當(dāng)?shù)谝惶幚砥鹘邮盏缴衔粰C(jī)發(fā)送的SetConfigurat1n指令并執(zhí)行成功時(shí)握手標(biāo)志被置位。
[0091]步驟104、第一處理器生成并發(fā)送包含握手指令的數(shù)據(jù)包給第二處理器,等待第二處理器返回握手應(yīng)答;
[0092]步驟105、第一處理器判斷是否接收到正確的握手應(yīng)答,是則執(zhí)行步驟106,否則返回步驟104 ;
[0093]步驟106、第一處理器復(fù)位握手標(biāo)志,執(zhí)行步驟107 ;
[0094]步驟107、第一處理器判斷是否接收到上位機(jī)發(fā)送的數(shù)據(jù)包,是則執(zhí)行108,否則執(zhí)行步驟115 ;
[0095]步驟108、第一處理器將上位機(jī)發(fā)送的數(shù)據(jù)包發(fā)送給第二處理器,等待第二處理器返回應(yīng)答,并開始統(tǒng)計(jì)等待時(shí)間;
[0096]步驟109、第一處理器判斷是否接收到第二處理器返回的應(yīng)答,是則執(zhí)行步驟110,否則執(zhí)行步驟113 ;
[0097]步驟110、第一處理器判斷第二處理器返回的應(yīng)答是否為預(yù)設(shè)類型的應(yīng)答,是則執(zhí)行步驟111,否則執(zhí)行步驟112;
[0098]具體地,第一處理器判斷第二處理器返回的應(yīng)答是否為預(yù)設(shè)類型的應(yīng)答,包括:第一處理器檢查第二處理器返回的應(yīng)答的第一個(gè)字節(jié)、第八個(gè)字節(jié)的高兩位,若第二處理器返回的應(yīng)答的第一個(gè)字節(jié)為預(yù)設(shè)字節(jié)數(shù)據(jù),且第八個(gè)字節(jié)的最高位和次高位分別為第一預(yù)設(shè)位數(shù)據(jù)和第二預(yù)設(shè)位數(shù)據(jù),則第二處理器返回的應(yīng)答為預(yù)設(shè)類型的應(yīng)答,否則第二處理器返回的應(yīng)答不為預(yù)設(shè)類型的應(yīng)答;
[0099]優(yōu)選地,預(yù)設(shè)字節(jié)數(shù)據(jù)為80h,第一預(yù)設(shè)位數(shù)據(jù)為1,第二預(yù)設(shè)位數(shù)據(jù)為O。
[0100]步驟111、第一處理器將第二處理器返回的應(yīng)答發(fā)送給上位機(jī),繼續(xù)等待第二處理器返回應(yīng)答,并重置等待時(shí)間,返回步驟109 ;
[0101]具體地,第一處理器將第二處理器返回的應(yīng)答通過USB接口以批量傳輸方式發(fā)送給上位機(jī),以向上位機(jī)申請延時(shí)。
當(dāng)前第2頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
乌拉特后旗| 来宾市| 沧源| 太保市| 当阳市| 灵寿县| 内乡县| 广水市| 杭州市| 西充县| 宣武区| 新巴尔虎右旗| 三亚市| 海晏县| 金湖县| 德清县| 阿拉善右旗| 平舆县| 西乌珠穆沁旗| 双牌县| 张家界市| 玉环县| 扎囊县| 绵竹市| 富源县| 石家庄市| 阿合奇县| 赣榆县| 灵武市| 双柏县| 闵行区| 庆安县| 泌阳县| 乌海市| 永年县| 建始县| 彰武县| 勃利县| 神木县| 翁源县| 康马县|