一種智能卡的解決7816/swp雙接口同步nvm數(shù)據(jù)的方法和裝置的制造方法
【專利摘要】本發(fā)明提供了一種智能卡的解決7816/SWP雙接口同步NVM數(shù)據(jù)的方法和裝置,包括:SWP接口的應(yīng)用命令的快速響應(yīng);基于NVM數(shù)據(jù)訪問(wèn)狀態(tài)機(jī)、NVM擦寫流程等設(shè)計(jì),來(lái)保證雙接口下NVM數(shù)據(jù)同步的方法。本發(fā)明可以保證SWP端專用應(yīng)用命令的快速響應(yīng),使安全單元芯片的COS支持更多的應(yīng)用種類。
【專利說(shuō)明】
一種智能卡的解決7816/SWP雙接口同步NVM數(shù)據(jù)的方法和裝置
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及智能卡的技術(shù)領(lǐng)域,特別是涉及NFC移動(dòng)支付應(yīng)用中安全單元芯片的雙接口同步NVM的方法?!颈尘凹夹g(shù)】
[0002]智能卡是一種集成電路芯片,集成了微控制器CPU、隨機(jī)存儲(chǔ)器RAM、非易失存儲(chǔ)器 NVM(Non_Volatile Memory)和操作系統(tǒng)C0S(Chip Operating System),可支持多種通信接口。其中非易失存儲(chǔ)器NVM中存儲(chǔ)的數(shù)據(jù)掉電不丟失,本發(fā)明中提到的“NVM數(shù)據(jù)”特指與應(yīng)用相關(guān)的數(shù)據(jù)。
[0003]7816和SWP(Single Wire Protocol)是智能卡中常見(jiàn)的接觸式通信接口,兩個(gè)接口相互獨(dú)立,互不影響。
[0004]安全單元(Secure Element)芯片是一種智能卡,簡(jiǎn)稱SE,應(yīng)用于基于近場(chǎng)通信NFC (Near Field Communicat1n)技術(shù)的移動(dòng)支付(Mobile Payment)系統(tǒng)中,支持7816、SWP等通信接口。SE的常見(jiàn)形式是S頂卡。
[0005]在NFC-S頂移動(dòng)支付系統(tǒng)中,射頻前端芯片CLF(Contactless Front)與SE芯片以 SWP接口連接,CLF芯片集成了非接觸天線,負(fù)責(zé)實(shí)現(xiàn)多種非接觸通信協(xié)議;手機(jī)終端與SE芯片以7816接口連接。
[0006]手機(jī)終端可以通過(guò)7816接口與SE交互APDU(Applicat1n Protocol Data Unit) 命令,來(lái)讀寫SE芯片中的NVM數(shù)據(jù)。
[0007]非接觸讀卡器可以通過(guò)非接觸通信協(xié)議與CLF芯片交互APDU或其他專用格式的應(yīng)用命令,CLF芯片再通過(guò)SWP接口向SE芯片透?jìng)鲬?yīng)用命令,從而實(shí)現(xiàn)非接觸讀卡器讀寫SE芯片中的NVM數(shù)據(jù)。
[0008]當(dāng)非接觸讀卡器通過(guò)專用格式的應(yīng)用命令與CLF芯片交互時(shí),為保證應(yīng)用命令的執(zhí)行性能滿足特定要求,需要SE芯片盡快響應(yīng)應(yīng)用命令。
[0009]當(dāng)SE芯片中的部分NVM數(shù)據(jù),可能被7816和SWP兩個(gè)接口中的應(yīng)用命令同時(shí)讀寫時(shí),SE芯片上的C0S必須保證NVM數(shù)據(jù)的同步。
【發(fā)明內(nèi)容】
[0010]本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種智能卡設(shè)計(jì)方案,在保證SWP接口的專用應(yīng)用命令的快速響應(yīng)的同時(shí),保證雙接口下NVM數(shù)據(jù)的同步。
[0011]本發(fā)明還提供了一種智能卡C0S,用以保證上述方案在實(shí)際中的應(yīng)用。
[0012]為了解決上述問(wèn)題,本發(fā)明公開(kāi)了一種SWP接口的專用應(yīng)用命令處理機(jī)制、NVM數(shù)據(jù)訪問(wèn)狀態(tài)機(jī)和NVM擦寫流程,包括:
[0013]當(dāng)CLF芯片通過(guò)SWP接口透?jìng)鹘oSE芯片專用應(yīng)用命令后,SE芯片產(chǎn)生SWP幀接收中斷,為盡快響應(yīng)應(yīng)用命令,C0S在SWP幀接收中斷處理函數(shù)中實(shí)現(xiàn)專用應(yīng)用命令的處理,處理完成后退出中斷處理函數(shù)。
[0014]當(dāng)手機(jī)終端通過(guò)7816接口傳給SE芯片應(yīng)用命令后,C0S僅在中斷中接收7816接口數(shù)據(jù),不進(jìn)行應(yīng)用命令處理,而在cos的主流程中處理此應(yīng)用命令。
[0015]當(dāng)芯片正在進(jìn)行NVM數(shù)據(jù)擦寫時(shí),芯片接收到了承載專用應(yīng)用命令的SWP數(shù)據(jù)幀, 則芯片終止當(dāng)前的NVM擦寫,并通過(guò)寄存器給出NVM擦寫被打斷的標(biāo)志,表示當(dāng)前NVM擦寫操作被打斷了。
[0016]SWP接口的專用應(yīng)用命令在cos的中斷處理函數(shù)中被處理,芯片保證不會(huì)被打斷或終止。
[0017]行業(yè)內(nèi)技術(shù)規(guī)范約定,承載專用應(yīng)用命令的SWP數(shù)據(jù)幀交互必須成對(duì)出現(xiàn),即一收一發(fā),SE芯片不會(huì)連續(xù)接收到兩幀承載專用應(yīng)用命令的SWP數(shù)據(jù)幀。
[0018]C0S維護(hù)一個(gè)標(biāo)志FlagA,上電初始狀態(tài)為0,接收到第一條SWP接口的專用應(yīng)用命令時(shí)設(shè)置為非0;根據(jù)行業(yè)內(nèi)技術(shù)規(guī)范約定,cos可以獲取專用應(yīng)用命令交互完成或退出的事件,C0S應(yīng)在此事件發(fā)生后立即清除FlagA為0。芯片設(shè)計(jì)支持C0S的FlagA清零操作是在中斷處理函數(shù)中進(jìn)行。
[0019]C0S優(yōu)選的處理方式是:7816接口的應(yīng)用命令訪問(wèn)NVM數(shù)據(jù)前,都要確認(rèn)FlagA標(biāo)志。當(dāng)FlagA為非0時(shí),可以選擇等待直至FlagA為0,也可以選擇通過(guò)7816接口的命令響應(yīng), 通知手機(jī)終端應(yīng)用命令執(zhí)行失敗且NVM數(shù)據(jù)可能被SWP接口改寫。
[0020]C0S在當(dāng)7816接口已經(jīng)啟動(dòng)擦寫一塊NVM數(shù)據(jù),但發(fā)生了擦寫過(guò)程被終止的事件時(shí),C0S優(yōu)選的處理方式是:重復(fù)執(zhí)行NVM擦寫流程,或者通過(guò)7816接口的命令響應(yīng),通知手機(jī)終端應(yīng)用命令執(zhí)行失敗且NVM數(shù)據(jù)可能被SWP接口改寫。
[0021]為了簡(jiǎn)化NVM模塊的設(shè)計(jì),使NVM模塊不考慮中斷處理函數(shù)中的NVM擦寫流程與主流程中的NVM擦寫流程的交叉影響,芯片的NVM擦寫流程中,優(yōu)選的處理方式是,在第一步驟先關(guān)閉所有中斷使能,在NVM擦寫完成或被打斷后,恢復(fù)中斷使能配置。[〇〇22]本發(fā)明提出的方案,[〇〇23]不增加芯片設(shè)計(jì)的復(fù)雜度,通過(guò)C0S中狀態(tài)機(jī)和NVM操作流程的設(shè)計(jì),兼顧了 SWP 接口專用應(yīng)用命令的快速響應(yīng)和NVM數(shù)據(jù)在雙接口下的同步,使安全單元(SE)芯片的C0S可以支持更多的應(yīng)用種類?!靖綀D說(shuō)明】[〇〇24]圖1是本發(fā)明的一種SWP/7816雙接口命令處理的基本流程圖 [〇〇25]圖2是本發(fā)明的一種NVM擦寫流程圖
[0026]圖3是本發(fā)明的一種7816接口 NVM數(shù)據(jù)訪問(wèn)狀態(tài)機(jī)流轉(zhuǎn)圖【具體實(shí)施方式】
[0027]為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。[〇〇28]本發(fā)明實(shí)施例的核心構(gòu)思在于,通過(guò)將SWP接口的專用應(yīng)用命令放在中斷服務(wù)程序中處理,來(lái)保證專用應(yīng)用的快速響應(yīng);同時(shí)依靠NVM數(shù)據(jù)訪問(wèn)狀態(tài)機(jī)、NVM擦寫流程的設(shè)計(jì),保證SWP/7816雙接口訪問(wèn)的NVM數(shù)據(jù)的同步。
[0029]參考圖1,
[0030]步驟102用于接收不要求快速響應(yīng)的應(yīng)用命令,但不處理命令
[0031]步驟103是處理需要快速響應(yīng)的SWP接口專用應(yīng)用命令[〇〇32]步驟104置位FlagA標(biāo)志。在7816接口NVM操作前須查詢此標(biāo)志;另外,C0S在上電初始化時(shí),以及退出SWP接口專用應(yīng)用時(shí),須清零FlagA標(biāo)志
[0033]步驟105/108代表C0S主流程中的不斷循環(huán)執(zhí)行的一些關(guān)鍵操作[〇〇34]步驟107是處理7816接口應(yīng)用命令
[0035]參考圖2,
[0036]是本發(fā)明典型的NVM擦寫流程,其中SWP接口專用應(yīng)用命令中的NVM擦寫,直接實(shí)施此流程[〇〇37]步驟201保證NVM擦寫流程不會(huì)嵌套,可極大簡(jiǎn)化硬件NVM模塊的設(shè)計(jì) [〇〇38]步驟202/203/204代表NVM擦寫流程的一些關(guān)鍵操作
[0039]步驟205用于恢復(fù)中斷使能,及時(shí)響應(yīng)可能發(fā)生的外設(shè)中斷信號(hào)
[0040]步驟205執(zhí)行之前,如果NVM擦寫未被打斷,正常執(zhí)行一般需要幾ms的時(shí)間;如果被打斷,只需lOOus左右的時(shí)間,即可響應(yīng)外設(shè)中斷信號(hào)[0041 ] 參考圖3,[〇〇42]步驟302即圖1所示的典型NVM擦寫流程[〇〇43]作為優(yōu)選實(shí)施方案,步驟301保證了7816接口 NVM擦寫之前,優(yōu)先完成SWP接口的 NVM擦寫操作;[〇〇44]步驟303是一種優(yōu)選實(shí)施方式,用于保證7816端的NVM擦寫成功執(zhí)行,實(shí)施場(chǎng)景是, 7816接口 NVM擦寫操作先一步處理,隨后發(fā)生的SWP接口的專用應(yīng)用命令會(huì)打斷7816接口 NVM擦寫。
[0045]為使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明,以下通過(guò)具體例子對(duì)本發(fā)明實(shí)施方式更進(jìn)一步說(shuō)明。[〇〇46]例如,7816端在步驟201執(zhí)行之前,SWP端未完成應(yīng)用命令交互,C0S可以根據(jù)FlagA標(biāo)志進(jìn)行審計(jì),或者7816端操作等待,直至SWP端命令交互完成后再執(zhí)行;或者通過(guò)命令響應(yīng)通知手機(jī)。[〇〇47]例如,7816端執(zhí)行步驟201和步驟205之間的操作,SWP端接收到應(yīng)用命令的事件會(huì)打斷NVM擦寫流程,在步驟205執(zhí)行完成后,快速優(yōu)先響應(yīng)SWP端命令;SWP端命令處理完成后,C0S在步驟303中進(jìn)行審計(jì),決定7816端NVM擦寫是否重試或通過(guò)命令響應(yīng)通知手機(jī)。 [〇〇48]以上對(duì)本發(fā)明所提供的一種智能卡的解決7816/SWP雙接口同步NVM數(shù)據(jù)的方法, 進(jìn)行了詳細(xì)介紹,本文中通過(guò)對(duì)本發(fā)明的原理和實(shí)施方式的闡述,用于幫助理解本發(fā)明的方法;同時(shí),對(duì)于本領(lǐng)域的cos開(kāi)發(fā)技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實(shí)施方式】或優(yōu)選方案之外也會(huì)有其他處理方式,綜上所述,本說(shuō)明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
【主權(quán)項(xiàng)】
1.一種智能卡的解決7816/SWP雙接口同步NVM數(shù)據(jù)的方法和裝置,其特征在于,包括:在SWP幀接收中斷處理函數(shù)中處理專用應(yīng)用命令;維護(hù)一標(biāo)志位,用于表征專用應(yīng)用命令的交互流程是否完成。2.—種智能卡的解決7816/SWP雙接口同步NVM數(shù)據(jù)的方法和裝置,其特征在于,還包 括:在NVM擦寫流程中,通過(guò)禁止中斷使能和恢復(fù)中斷使能,保證NVM擦寫流程不會(huì)嵌套。3.如權(quán)利要求1或2所述的方法,其特征在于,COS中7816接口命令處理時(shí),通過(guò)審計(jì)相 關(guān)標(biāo)志,依據(jù)一定規(guī)則來(lái)訪問(wèn)NVM數(shù)據(jù)。
【文檔編號(hào)】G06K7/10GK106096473SQ201610352609
【公開(kāi)日】2016年11月9日
【申請(qǐng)日】2016年5月26日
【發(fā)明人】薛萬(wàn)樹(shù)
【申請(qǐng)人】北京中電華大電子設(shè)計(jì)有限責(zé)任公司