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