概述
DS8113評(píng)估(EV)套件為評(píng)估DS8113提供了一個(gè)便利的、經(jīng)過驗(yàn)證的平臺(tái)。DS8113是用于智能卡讀卡器的低成本、低功耗模擬前端,針對(duì)所有ISO 7816、EMV和GSM11-11應(yīng)用設(shè)計(jì)。DS8113支持5V、3V和1.8V智能卡,具有工作模式和停止模式的低功耗選項(xiàng)。DS8113評(píng)估板和附帶的JTAG板如圖1所示。評(píng)估板包括DS8113和MAXQ2000微控制器,可編程提供完備的EMV智能卡接口。這個(gè)接口軟件庫(kù)函數(shù)可以從套件的CD_ROM獲取,或免費(fèi)從Maxim網(wǎng)站下載文件AN4200_sw.zip。評(píng)估板還包含智能卡插槽和每行20個(gè)字符,共計(jì)兩行的LCD模塊。
圖1. DS8113評(píng)估板和JTAG電路板
本應(yīng)用筆記介紹如何使用這個(gè)評(píng)估套件以及如何在這個(gè)硬件平臺(tái)上編譯、運(yùn)行應(yīng)用程序。提供三個(gè)應(yīng)用:簡(jiǎn)單的“Hello World”程序、LCD模塊演示,另外還有一個(gè)演示實(shí)際支付終端交易的智能卡功能。提供所有應(yīng)用的C程序代碼。
DS8113器件設(shè)計(jì)用于連接系統(tǒng)微控制器和智能卡,提供所有電源、ESD保護(hù)以及IC卡應(yīng)用所需的電平轉(zhuǎn)換功能。DS8113為雙電源供電器件,VDD的供電范圍是2.7V至6.0V,VDDA必須連接到5.0V至6.0V,為智能卡提供電源。DS8113產(chǎn)生智能卡電源:1.8V、3.0V或5.0V。與微控制器的通信通過DS8113專用引腳和處理器的標(biāo)準(zhǔn)輸入/輸出(I/0)實(shí)現(xiàn)。
軟件設(shè)置
在本應(yīng)用筆記采用了Maxim的微控制器工具箱(MTK)、Rowley CrossWorks的C語言編譯器和集成開發(fā)環(huán)境(IDE)。所有軟件都應(yīng)該安裝在PC內(nèi)。MTK包含在DS8113評(píng)估套件的光盤內(nèi),也可以從Maxim網(wǎng)站下載。Rowley工具包可從下面介紹的網(wǎng)站下載,有30天的免費(fèi)使用期。安裝這些應(yīng)用程序的步驟如下。如果這些應(yīng)用程序的某一個(gè)或全部都已安裝到PC內(nèi),可以忽略關(guān)于安裝部分的介紹。安裝微控制器工具箱(MTK)
- 將DS8113評(píng)估套件的光盤插入計(jì)算機(jī)CD-ROM驅(qū)動(dòng)器,CD會(huì)自動(dòng)啟動(dòng)并顯示DS8113評(píng)估板的主界面。如果CD沒有自動(dòng)啟動(dòng),請(qǐng)查看CD文件夾并雙擊index.html文件。
- 從CD的主頁(yè)面點(diǎn)擊標(biāo)題DS8113/MAXQ2000 Evaluation Kit Information,然后點(diǎn)擊MTK。在提示后選擇Run,將開始安裝過程。按照屏幕上的提示完成整個(gè)過程。
- 在MTK安裝過程中,選擇默認(rèn)設(shè)置。注意:可能會(huì)出現(xiàn)安全警告信息,具體取決于網(wǎng)站瀏覽器的安全設(shè)置、計(jì)算機(jī)的Windows?版本。如果出現(xiàn)警告信息,只要確認(rèn)并繼續(xù)安裝即可。
為MAXQ安裝Rowley Associates的CrossWorks
Rowley Associates為MAXQ?微控制器提供全功能版本的CrossWorks,有30天的許可權(quán)限。該軟件可從Rowley Associates網(wǎng)站下載。按照指令進(jìn)行安裝。選擇默認(rèn)安裝位置及相關(guān)選項(xiàng)。開始安裝之前,需要通過email從Rowley Associates獲取一個(gè)30天的產(chǎn)品有效密碼。在Rowley Associates網(wǎng)站的“Support: Evaluating CrossWorks”網(wǎng)頁(yè)按照指示操作。關(guān)于這個(gè)工具箱的設(shè)置、開發(fā)和調(diào)試的更多信息,請(qǐng)參考應(yīng)用筆記3698,"Rowley CrossWorks和MAXQ2000評(píng)估板入門"。
硬件設(shè)置
為了裝載應(yīng)用程序,必須采取一些步驟配置DS8113評(píng)估板,須正確設(shè)置評(píng)估板跳線。JTAG調(diào)試接口板必須與評(píng)估板連接,JTAG板的串口與PC連接。最后,為兩塊電路板上電。下面是詳細(xì)步驟:- 按照表1所示配置跳線1至9,圖2標(biāo)明具體的跳線位置。注意,圖中跳線和連接器引腳1的位置用黑圈表示。
- 用附帶的10芯扁平電纜連接JTAG板和評(píng)估板,確保極性連接正確。在JTAG板上,當(dāng)電路板元件層向上時(shí),DB-9連接器位于左側(cè),JTAG連接器P2的引腳1位于右下角。評(píng)估板上,JTAG連接器J2的引腳1位于左上角,如圖2中黑色引腳所示。扁平電纜帶有紅色條紋的一側(cè)應(yīng)該連接兩塊電路板JTAG連接器的同一個(gè)引腳。圖1所示為兩塊電路板的正確配置。
- 將附帶的串口電纜一端連接至JTAG板的DB-9連接器J1,另一端連接至PC機(jī)的COM口。
- 將評(píng)估套件中附帶的300mA,5V穩(wěn)壓電源(±5%)的2.5mm正端接頭連接到JTAG板的電源連接器J2。確保JTAG板安裝了跳線JH3,以通過JTAG扁平電纜從JTAG板給評(píng)估板供電。注意,還應(yīng)該安裝JTAG板的其它兩個(gè)跳線(JH1和JH2)。
圖2. DS8113電路板的跳線位置
表1. DS8113評(píng)估板跳線設(shè)置
Jumper | Installed | Description |
JU1 | Installed | DS8113's VCC connected to smart-card socket, C1 pin |
JU2 | Installed: connect pins 1 and 2 | DS8113's PRES pin pulled high (3.3V) through 10kΩ resistor |
JU3 | Installed: connect pins 2 and 3 | Smart-card socket's S2 pin connected to ground |
JU4 | Installed: connect pins 2 and 3 | Board's VDDA source connected to DS8113's VDDA pin |
JU5 | Not Installed | DS8113's VUP pin is unused |
JU6 | Installed: connect pins 2 and 3 | Board's 5V source selected as board's VDDA |
JU7 | Installed | Board's VDDA source connected to DS8113's VDDA pin |
JU8 | Installed: connect pins 2 and 3 | Board's 3.3V source selected as DS8113's VDD |
JU9 | Installed | Board's VDD source connected to DS8113's VDD pin |
裝載可執(zhí)行文件
可加載一個(gè)可執(zhí)行文件到MAXQ2000處理器的32K字(16位)程序存儲(chǔ)器,然后運(yùn)行這個(gè)程序。從套件的光盤可以獲取為DS8113評(píng)估套件硬件編寫的三個(gè)應(yīng)用程序,它們壓縮到一個(gè)叫an4200_sw.zip的文件中。如果沒有套件的CD-ROM,也可以從Maxim網(wǎng)站下載這個(gè)文件。在進(jìn)行下一步操作之前,應(yīng)該在計(jì)算機(jī)的C盤下建立一個(gè)目錄"\DS8113",將.ZIP的所有文件解壓縮到這個(gè)目錄。解壓縮文件包括源代碼,必要的頭文件,十六進(jìn)制加載文件和CrossWorks的項(xiàng)目文件。通過將這些文件放到指定目錄下,軟件工具就知道從什么位置找到文件。否則,需要更新項(xiàng)目文件,指明新的位置。我們要加載的第一個(gè)程序是“Hello World”應(yīng)用程序。為了執(zhí)行程序,有兩個(gè)便利途徑可以將程序從PC加載到MAXQ2000存儲(chǔ)器:MTK和Rowley CrossWorks工具。用戶可以使用MTK程序加載一個(gè)HEX文件。評(píng)估套件的快速入門指南介紹了這個(gè)方法。以下將介紹如如何利用Rowley CrossWorks工具加載程序。
- 按照上述介紹啟動(dòng)CrossWorks MAXQ1.1 CrossStudio。
- 點(diǎn)擊File,然后點(diǎn)擊Open Solution。進(jìn)入C:\DS8113目錄,選擇文件“HelloWorld.hzp”并打開。這將打開Hello World項(xiàng)目,這個(gè)項(xiàng)目文件包含工具箱建立應(yīng)用程序所需的完整信息。
- 確定JTAG板已經(jīng)加電(因此DS8113評(píng)估板也上電),評(píng)估板的電源開關(guān)(SW5)處于ON位置(開關(guān)朝向DB-9連接器)。在目標(biāo)窗口的Maxim Serial JTAG Adapter選項(xiàng)上點(diǎn)擊右鍵,然后選擇Connect。連接后,“Maxim Serial JTAG Adapter”將會(huì)變?yōu)榇煮w字。
- 點(diǎn)擊Build,然后點(diǎn)擊Build and Run。屏幕底部的輸出日志會(huì)顯示出程序編譯的進(jìn)度。完成后,日志會(huì)表明程序加載并已驗(yàn)證,如圖3所示。
- 在目標(biāo)窗口右擊Maxim Serial JTAG Adapter,然后選擇Disconnect (或點(diǎn)擊Disconnect按鈕)。
- 應(yīng)用程序已裝載到電路板。將電源從JTAG和評(píng)估板撤掉,并斷開JTAG板和評(píng)估板之間的扁平電纜。在以后步驟中不再使用CrossWorks,也可以關(guān)閉它。
詳細(xì)圖片(PDF, 122.4kB)
圖3. “HelloWorld”項(xiàng)目加載后的CrossStudio屏幕
運(yùn)行Hello World程序
執(zhí)行HelloWorld程序時(shí)會(huì)發(fā)送一個(gè)信息到串口,可以利用MTK接收并在PC屏幕上顯示這個(gè)信息。按照下面步驟運(yùn)行程序:- 從JTAG板移除RS-232電纜,將其插入DS8113評(píng)估板的DB-9連接器J3。
- 查找并運(yùn)行MTK程序。當(dāng)“Select device”窗口(圖4)出現(xiàn)時(shí),選擇Dumb Terminal并點(diǎn)擊OK。
- 在MTK主窗口點(diǎn)擊Options,然后點(diǎn)擊Configure Serial Port。選擇RS-232電纜連接的PC機(jī)com口(比如COM1)。選擇速率為115200,然后點(diǎn)擊OK。
- 選擇Target和Open COMx at 115200 baud,x為com端口號(hào)。
- 最后,將5V電源直接連接到評(píng)估板的J1,并將電源開關(guān)SW5撥向DB-9連接器,給電路板供電。MTK屏幕會(huì)顯示“Hello DS8113 World!”信息,如圖5所示。通過電源開關(guān)給電路板斷電,然后再加電,使處理器復(fù)位,程序會(huì)重新開始,并會(huì)再次顯示信息。
圖4. 選擇設(shè)備
圖5. 輸出屏幕
評(píng)估LCD顯示模塊
這里運(yùn)行的程序能夠在評(píng)估套件的每行20字符,共計(jì)兩行的液晶顯示器(LCD)上顯示信息。運(yùn)行程序前,我們必須設(shè)置LCD的對(duì)比度,以便程序運(yùn)行時(shí)能夠正確顯示信息。首先,給電路板加電(注意LCD可能會(huì)空白,或者在一些字符位置顯示出黑色矩形塊)。找到電路板上LCD的偏置電阻R4 (見圖2),利用一個(gè)小螺絲刀調(diào)整電阻,直到屏幕顯示出清晰的5 x 7點(diǎn)陣。這一步將調(diào)整LCD的對(duì)比度,以觀察到清晰的字符,但不能解決空白像素問題。按照上述硬件設(shè)置中的步驟2至步驟4,重新將JTAG板和電源連接到評(píng)估板。按照上述加載可執(zhí)行文件的步驟1至步驟4裝載LCD演示程序到MAXQ2000的程序存儲(chǔ)器。由于這個(gè)應(yīng)用沒有使用串口,所以不必按照步驟5和6斷開JTAG接口與RS-232電纜。在步驟2中,選擇文件LCD_8113.hzp,在完成步驟4后,新的演示程序被裝載并開始運(yùn)行。到此,信息將顯示在LCD屏。
智能卡交易
最后一個(gè)演示程序是關(guān)于智能卡交易程序的裝載和運(yùn)行,實(shí)現(xiàn)基本借計(jì)操作以及智能卡初始化功能。由于不具備與實(shí)際支付系統(tǒng)相關(guān)的任何安全措施,所以這里演示的功能只是該系統(tǒng)的一個(gè)樣本。該交易例程執(zhí)行并適當(dāng)管理由EMV規(guī)范定義的應(yīng)用協(xié)議數(shù)據(jù)單元(APDU)的發(fā)送和接收,APDU與DS8113評(píng)估套件提供的ACOS3智能卡進(jìn)行收發(fā)通信。通過發(fā)送正確的APDU,并處理它們的可能響應(yīng),例程展示了一個(gè)典型的支付交易過程。
為了建立一組具有代表性的交易函數(shù),本例支持三個(gè)主要的智能卡操作。
- 借記交易,從卡的余額中扣除一定金額
- 信用卡交易,在卡的金額上增加一定金額
- 卡初始化交易,將卡的余額和交易次數(shù)置為初始值
按照上述裝載可執(zhí)行文件步驟的第1到6步,將智能卡交易演示程序裝載到評(píng)估板。步驟2中,選擇文件Transaction_8113.hzp。完成步驟6后,從JTAG板斷開RS-232電纜,并將其插入評(píng)估板的串口連接器J3。開始MTK程序,并選擇設(shè)備Dumb Terminal。點(diǎn)擊Target并選擇Open COMx at 115200 baud,給電路板加入5V電源,打開電源開關(guān)(開關(guān)撥向DB-9連接器),按照LCD顯示的指令完成預(yù)期交易。MTK屏幕將顯示程序的RS-232串口輸出。該信息可用于分析和調(diào)試,也可以忽略這些信息。但是,必要時(shí)可以用來分析應(yīng)用源程序,確定串口輸出的含義。
結(jié)論
DS8113智能卡接口是用于智能卡讀卡器的低成本模擬前端,設(shè)計(jì)用于ISO 7816、EMV和GSM11-11的所有應(yīng)用。DS8113支持5V、3V和1.8V智能卡工作,具有工作模式和停止模式的低功耗選項(xiàng),停止模式下電流低至10nA。DS8113評(píng)估套件提供了一個(gè)評(píng)估DS8113智能卡接口的便利且經(jīng)過驗(yàn)證的平臺(tái)。本文介紹了使用DS8113評(píng)估板的必要步驟,說明軟件安裝和配置、硬件配置以及為板上MAXQ2000 RISC微控制器裝載可執(zhí)行程序的方法。提供了一個(gè)簡(jiǎn)單的“Hello World”例程、電路板LCD演示例程以及實(shí)際支付系統(tǒng)智能卡交易的演示例程。提供三個(gè)應(yīng)用的所有C程序代碼,智能卡函數(shù)基于EMV操作庫(kù)。
評(píng)論
查看更多