www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]針對PSAM卡的驅(qū)動(dòng)操作,并且兼容ISO7816協(xié)議里規(guī)定的使用相對較多的A類和B類兩種類型的PSAM卡,采用STM32單片機(jī)為主控模塊,以及相應(yīng)的電壓轉(zhuǎn)換模塊,成功實(shí)現(xiàn)了對于A類、B類兩種類型的PSAM卡的驅(qū)動(dòng)。具體闡述了PSAM卡接口信號的電路設(shè)計(jì)及函數(shù)接口。

 引言

刷卡消費(fèi)隨著人們生活水平的提高已經(jīng)成為常用的支付方式之一。為了保證刷卡消費(fèi)的安全性,將PSAM卡內(nèi)嵌于各種終端刷卡設(shè)備中。PSAM(Purchase SecureAccess Module,銷售點(diǎn)終端安全存取模塊),由IC卡發(fā)行主管部門或者應(yīng)用主管機(jī)構(gòu)發(fā)行,是可以用于對IC卡進(jìn)行脫機(jī)消費(fèi)交易認(rèn)證的安全認(rèn)證卡,主要應(yīng)用于商用POS、網(wǎng)點(diǎn)終端、直連終端等設(shè)備上,支持多級發(fā)卡機(jī)制,適用于多應(yīng)用的環(huán)境,符合識別卡、帶觸點(diǎn)的集成電路卡標(biāo)準(zhǔn)、ISO/IEC 7816—1/2/3/4以及《中國人民銀行PSAM卡規(guī)范》。

1 PSAM卡簡介

PSAM卡是接觸式CPU卡的一種。CPU卡也稱智能卡,卡內(nèi)集成電路帶有微處理CPU,存儲(chǔ)單元(包括隨機(jī)存儲(chǔ)器RAM、電可擦除存儲(chǔ)器EEP ROM、程序存儲(chǔ)器ROM)及芯片操作系統(tǒng)(Chip Operating System,COS)。裝有COS的CPU卡不僅具有數(shù)據(jù)存儲(chǔ)功能,同時(shí)具有命令處理和數(shù)據(jù)安全保護(hù)等功能。CPU卡芯片相當(dāng)于芯片內(nèi)裝置了一個(gè)微處理器,其功能大致與一臺(tái)微型計(jì)算機(jī)相同。在生活中,人們常使用的集成電路卡(IC卡)上的金屬片就是CPU芯片。由于CPU卡具有存儲(chǔ)空間大、處理能力強(qiáng)、信息存儲(chǔ)安全、支持一卡多用以及讀取速度快等優(yōu)點(diǎn),已經(jīng)被廣泛用于金融、交警、保險(xiǎn)和政府行業(yè)等領(lǐng)域,并通過國家密碼委和中國人民銀行的認(rèn)證。

就外型而言,CPU卡與普通IC卡、射頻卡相比無明顯差別,但是使用性能、安全性卻有巨大提升,這主要源于CPU卡內(nèi)含有隨機(jī)數(shù)發(fā)生器、3DES加碼算法、硬件DES和3DES加密算法等,配合操作系統(tǒng)就可以達(dá)到金融級別的安全等級。減值密鑰一般存儲(chǔ)在PSAM卡中,通過PSAM卡對IC卡進(jìn)行減值操作,實(shí)現(xiàn)安全扣款。在非接觸邏輯加密卡的系統(tǒng)中,PSAM卡主要使用卡片認(rèn)證密鑰和各扇區(qū)的KEYA、KEYB密鑰來產(chǎn)生非接觸邏輯加密卡操作所需要的各扇區(qū)的KEYA和KEYB認(rèn)證碼,交易信息不直接參與運(yùn)算。而在非接觸CPU卡系統(tǒng)中,PSAM卡通常用來計(jì)算和校驗(yàn)消費(fèi)交易過程中出現(xiàn)的MAC碼,同時(shí)在計(jì)算的過程中,交易時(shí)間、交易金額、交易類型等交易信息也都參與運(yùn)算,使得交易更安全可靠。某些情況下,非接觸CPU卡系統(tǒng)中的PSAM卡還可以用來支持安全報(bào)文更新數(shù)據(jù)時(shí)MAC的計(jì)算,以及交易TAC的驗(yàn)證。

卡片內(nèi)部邏輯結(jié)構(gòu)如圖1所示。

其中CPU及加密邏輯保證EEPROM中數(shù)據(jù)的安全,使外界不能使用非法手段獲得EEPROM中的數(shù)據(jù)。RAM是在COS 工作時(shí)存放命令參數(shù)、返回結(jié)果、安全狀態(tài)以及臨時(shí)工作密鑰的區(qū)域。ROM用于存放COS程序。EEPROM中存放用戶應(yīng)用數(shù)據(jù)區(qū)域,COS將用戶數(shù)據(jù)以文件的形式保存在EEP ROM中,當(dāng)安全條件滿足規(guī)定時(shí),可以讀/寫文件。

2 硬件設(shè)計(jì)

2.1 PSAM卡電路設(shè)計(jì)

2.1.1 PSAM卡電源切換模塊

ISO7816協(xié)議里規(guī)定2種使用較多的,PSAM卡的類別(A類、B類),A類需要提供5 V電壓,B類需要提供3V電壓,為了保證對于兩種類別卡的兼容性,要求設(shè)計(jì)的讀寫器,可以提供選擇5V或者3 V的電壓。于是本論文設(shè)計(jì)了如圖2所示的電源切換模塊。其工作原理是:PSAM POW為高時(shí),P溝道的MOS管導(dǎo)通,提供5 V電壓給PSAM_VDD,PSAM_POW為低時(shí),P溝道的MOS管不導(dǎo)通,提供3.3 V電壓,再經(jīng)過二極管的壓降,提供3 V電壓。

2.1.2 PSAM卡復(fù)位信號

同樣考慮到PSAM卡的兩種類別,尤其是當(dāng)PSAM卡為A類的時(shí)候,主要考慮MCU的I/O口電壓是3.3V,而PSAM卡需要的是5 V,防止復(fù)位電平不夠,將PSAM_RST1信號通過三極管與SAM_RST1相連,以增強(qiáng)驅(qū)動(dòng)能力。其中PSAM_RST1與MCU相連,SAM_RST1與PSAM卡相連。具體電路如圖3所示。

2.1.3 PSAM卡數(shù)據(jù)口電平轉(zhuǎn)換電路

為了保證MCU接收到的信號是3.3 V,設(shè)計(jì)了PSAM卡數(shù)據(jù)口電平轉(zhuǎn)換電路,具體電路如圖4所示,當(dāng)PSAM卡是A類的時(shí)候,需要將5 V電壓轉(zhuǎn)換為3.3 V,這時(shí)在圖4電路中,只需要焊接上兩個(gè)三極管(Q1、Q2),不需要焊接電阻R,當(dāng)PSAM卡是B類的時(shí)候,只需要焊接上電阻R,不需要焊接兩個(gè)三極管(Q1、Q2)。

2.1.4 PSAM卡卡槽電路接口

PSAM卡卡槽電路接口如圖5所示。由于是低電平復(fù)位,在RST端口需要接上PSAM VDD信號,在正常工作的時(shí)候?qū)㈦娖嚼?。?shù)據(jù)腳(DATA)正常情況下也需要上拉,這是為了防止電平幅度不夠,尤其在5 V的時(shí)候,通過電平切換的信號是3.3 V,必須上拉到5 V才行。

2.2 主控模塊設(shè)計(jì)

圖6為主控模塊以及相關(guān)的外圍電路的原理圖。主控模塊選用的是STM32F103C8T6芯片。OSC32_IN、OSC32_OUT兩個(gè)引腳外接32.768 kHz的低速外部晶振,可以用其驅(qū)動(dòng)實(shí)時(shí)時(shí)鐘RTC。OSC_IN、OSC_OUT兩個(gè)引腳外接8 MHz晶振,通過設(shè)置STM32的相關(guān)寄存器經(jīng)過PLL倍頻之后產(chǎn)生72 MHz的STM32系統(tǒng)時(shí)鐘(SYSCLK)。C1、C2作為晶體的匹配電容。為了使晶振更加容易啟振,在晶振旁邊并聯(lián)1 MΩ電阻(R)。主控模塊低電平復(fù)位,電阻上接高電平,電容在下接地,中間位RST。具體工作原理是在上電時(shí)給電容充電,電容給RST一個(gè)短暫的低電平,此低電平隨著VCC給電容充電的過程中變高。

3 軟件設(shè)計(jì)

對于PSAM卡的軟件驅(qū)動(dòng)設(shè)計(jì)要符合ISO7816—4協(xié)議。應(yīng)用協(xié)議數(shù)據(jù)單元(APDU)可包含有命令報(bào)文或響應(yīng)報(bào)文,它從接口設(shè)備發(fā)送到卡,或者相反地由卡發(fā)送到接口設(shè)備。

APDU指令的格式如表1所列。

APDU指令的命令頭內(nèi)容如表2所列。

APDU指令響應(yīng)結(jié)構(gòu)如表3所列。

APDU指令響應(yīng)內(nèi)容如表4所列。

(1)主要的數(shù)據(jù)結(jié)構(gòu)

Typedef struct{

u8 Cla; //命令的類型

u8 Cmd; //命令的編碼

u8 P1; //具體命令參數(shù)1

u8 P2; //具體命令參數(shù)2

u8 P3; //在發(fā)送模式的為Lc;//在接收模式時(shí)為Le

u8*Data_Ptr;//命令和相應(yīng)的數(shù)據(jù)字段

u8 RspCode[2];//APDU響應(yīng)的內(nèi)容

}APDU;

(2)主要功能函數(shù)

①函數(shù)名:PSAM_APDU_Out

功能描述:讀取智能卡的數(shù)據(jù)。

參數(shù):*Data_out,返回從智能卡中讀出的數(shù)據(jù);PSAMConfig,智能卡的配置。

返回值:讀取數(shù)據(jù)成功標(biāo)志(0為失敗,1為成功)。

②函數(shù)名:PSAM_APDU In

功能描述:向智能卡寫數(shù)據(jù)。

參數(shù):*Data_in,向卡上寫入的數(shù)據(jù);PSAMConfig,智能卡的配置。

返回值:寫入數(shù)據(jù)成功標(biāo)志(0為失敗,1為成功)。

③函數(shù)名:PSAM_Send1 Byte

功能描述:向智能卡發(fā)送1字節(jié)數(shù)據(jù),并判斷接收方是否成功接收。如果沒有成功,則向收方發(fā)送兩次該數(shù)據(jù)。

參數(shù):SendByte,待發(fā)送的字節(jié)數(shù)據(jù)。

返回值:SendStatus,數(shù)據(jù)發(fā)送是否成功標(biāo)志(成功為0x01,失敗為0x00,超時(shí)為0xFF)。

④函數(shù)名:PSAM_Send1Block

功能描述:向智能卡發(fā)送n個(gè)字節(jié)數(shù)據(jù)。

參數(shù):*SendPtr,待發(fā)送的字節(jié)數(shù)據(jù)指針;DataLen,傳送的字節(jié)數(shù);ByteDir,字節(jié)方向。

返回值:SendStatus,數(shù)據(jù)發(fā)送是否成功標(biāo)志(成功為0x01,失?。?x00)。

⑤函數(shù)名:PSAM_Receive1Byte

功能描述:接收智能卡的1字節(jié)數(shù)據(jù),當(dāng)檢測到奇偶出錯(cuò)時(shí),可請求2次智能卡從發(fā)當(dāng)前字節(jié)數(shù)據(jù)。

參數(shù):無。

返回值:DataBuf,其中高字節(jié)是數(shù)據(jù)接收是否成功標(biāo)志(成功為0x01,失敗為Parity error(0x55),timeout overflow(0xff))低字節(jié)是收到的有效字節(jié)數(shù)據(jù)。

⑥函數(shù)名:PSAM_Reset

功能描述:對智能卡進(jìn)行復(fù)位操作,并等待智能卡的應(yīng)答,如果應(yīng)答成功則返回復(fù)位成功標(biāo)志,否則返回復(fù)位失敗標(biāo)志。

參數(shù):*uiATR,保存復(fù)位應(yīng)答信息的指針。

返回值:復(fù)位成功標(biāo)志(0x01為復(fù)位成功,0x00為復(fù)位失敗)。

4 模塊測試

通過串口調(diào)試助手對系統(tǒng)進(jìn)行測試,分析發(fā)送和返回的數(shù)據(jù),判斷該模塊工作是否正常。圖7為發(fā)送對PSAM卡的復(fù)位操作的命令。圖8為發(fā)送對PSAM卡進(jìn)行透明數(shù)據(jù)流傳輸?shù)拿睢?/p>

結(jié)語

本文設(shè)計(jì)的PSAM驅(qū)動(dòng)模塊,根據(jù)上述軟件和硬件的設(shè)計(jì)思路進(jìn)行的設(shè)計(jì)得到了實(shí)際的驗(yàn)證,取得了令人滿意的效果。無論是軟件的代碼還是硬件的電源轉(zhuǎn)換模塊都具有很好的可移植性,方便在不同的系統(tǒng)中應(yīng)用,并且提供了對外的接口函數(shù),方便上層系統(tǒng)應(yīng)用工程師的調(diào)用。該模塊可以應(yīng)用到固網(wǎng)支付、POS終端等設(shè)備上。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

印度班加羅爾2024年8月20日 /美通社/ -- 印度領(lǐng)先的IT基礎(chǔ)設(shè)施服務(wù)公司Microland已任命Sam Mathew為總裁。 Mathew將常駐Microland位...

關(guān)鍵字: LAN MICRO SAM BSP

STM32系列單片機(jī)無疑是市場上廣受歡迎的微控制器之一,憑借其豐富的產(chǎn)品線及卓越性能,贏得了大量用戶的青睞。

關(guān)鍵字: STM32單片機(jī) 內(nèi)存

一切電子設(shè)備都要用電,電源也就無處不在。電源在我們印象中就是輸入端進(jìn)電,輸出端對用電設(shè)備供電,它的電路是由一堆的電阻、電容、電感還有變壓器、風(fēng)扇之類構(gòu)成。

關(guān)鍵字: 處理器 電源管理 模塊設(shè)計(jì)

上海2022年12月16日 /美通社/ -- 12月14日,赫斯特中國在其官方微信平臺(tái)發(fā)布了集團(tuán)布局元宇宙的最新信息,并公布了多個(gè)元宇宙中的IP角色。赫斯特中國將在2023年著手虛擬世界的建造等業(yè)務(wù),并與一眾品牌、IP展...

關(guān)鍵字: IP SAM BSP AN

摘要:結(jié)合無線充電產(chǎn)品設(shè)計(jì)經(jīng)驗(yàn),對無線充電設(shè)計(jì)細(xì)節(jié)進(jìn)行探究。介紹了無線充電劃分及電磁感應(yīng)無線充電結(jié)構(gòu)、測試指標(biāo),在此基礎(chǔ)上對電磁感應(yīng)無線充電設(shè)計(jì)進(jìn)行了分析,并總結(jié)了電磁感應(yīng)無線充電產(chǎn)品常見問題及改善措施,闡述了電磁感應(yīng)無...

關(guān)鍵字: 模塊設(shè)計(jì) 線圈 散熱

最受歡迎的第三方啟動(dòng)器Nova和Upstart設(shè)備上搜索引擎Sesame協(xié)助Branch開發(fā)下一代應(yīng)用程序發(fā)現(xiàn)和導(dǎo)航 加利福尼亞州帕洛阿爾托2022年7月19日 /美通社/...

關(guān)鍵字: 應(yīng)用程序 BRANCH NOVA SAM

摘要:基于Zynq-7000系列芯片,利用其ARM+FPGA的組合架構(gòu),搭建了千兆以太網(wǎng)模塊。介紹了該模塊的硬件平臺(tái)設(shè)計(jì),并在硬件基礎(chǔ)上設(shè)計(jì)了FPGA和ARM程序。經(jīng)測試,模塊成功實(shí)現(xiàn)了數(shù)據(jù)上下行傳輸功能,傳輸速度達(dá)到6...

關(guān)鍵字: ARM+FPGA 千兆以太網(wǎng) 模塊設(shè)計(jì)

印度布巴內(nèi)斯瓦爾2022年5月20日 /美通社/ -- 總部位于布巴內(nèi)斯瓦爾的卡林加社會(huì)科學(xué)學(xué)院(Kalinga Institute of Social Sciences,簡稱"KISS")在體育領(lǐng)域...

關(guān)鍵字: AN SAM FOR SCHOOL

摘要:介紹了混聯(lián)機(jī)構(gòu)高速高精度貼片機(jī)的設(shè)計(jì)內(nèi)容,主要包括機(jī)械結(jié)構(gòu)設(shè)計(jì)及控制系統(tǒng)設(shè)計(jì),并研制了樣機(jī),通過調(diào)試,初步達(dá)到設(shè)計(jì)預(yù)期,對混聯(lián)機(jī)構(gòu)應(yīng)用于工業(yè)生產(chǎn)具有一定的指導(dǎo)意義。

關(guān)鍵字: 混聯(lián)機(jī)構(gòu) 模塊設(shè)計(jì) 控制系統(tǒng)

摘要:介紹了混聯(lián)機(jī)構(gòu)高速高精度貼片機(jī)的設(shè)計(jì)內(nèi)容,主要包括機(jī)械結(jié)構(gòu)設(shè)計(jì)及控制系統(tǒng)設(shè)計(jì),并研制了樣機(jī),通過調(diào)試,初步達(dá)到設(shè)計(jì)預(yù)期,對混聯(lián)機(jī)構(gòu)應(yīng)用于工業(yè)生產(chǎn)具有一定的指導(dǎo)意義。

關(guān)鍵字: 混聯(lián)機(jī)構(gòu) 模塊設(shè)計(jì) 控制系統(tǒng)
關(guān)閉