本文闡述使用DS8007雙智能卡接口評(píng)估(EV)套件的步驟,解釋了怎樣安裝和配置軟件、配置硬件,建立并裝載板上DS5002FP微控制器執(zhí)行的應(yīng)用軟件。提供了一個(gè)簡(jiǎn)單的"Hello World"實(shí)例,以及幾個(gè)C程序函數(shù),以演示板上LCD模塊的使用。
簡(jiǎn)介
DS8007評(píng)估(EV)套件為DS8007雙智能卡接口評(píng)估提供方便、成熟的平臺(tái)。DS8007是混合信號(hào)外設(shè),管理微控制器和兩個(gè)獨(dú)立智能卡之間的所有接口。
DS8007評(píng)估套件包括DS8007和DS5002FP安全微控制器,通過對(duì)其編程可提供完整的智能卡接口。它還提供兩個(gè)智能卡插槽:一個(gè)用于標(biāo)準(zhǔn)信用卡和支付卡,一個(gè)用于用戶識(shí)別模塊(SIM)。DS8007評(píng)估板如圖1所示。本文闡述該評(píng)估套件的使用步驟,如何開發(fā)并運(yùn)行應(yīng)用軟件代碼。
圖1. DS8007評(píng)估板
DS8007為兩個(gè)獨(dú)立的智能卡和微控制器的物理連接提供所有必須的電信號(hào)。該器件包括一個(gè)專用內(nèi)部序列發(fā)生器,控制卡自動(dòng)激活和禁止,還含有用于數(shù)據(jù)通信的ISO UART。此外,DS8007的電荷泵和電壓穩(wěn)壓器使其能夠工作在2.7V至6.0V電壓,并提供兩路獨(dú)立的智能卡供電電壓,每一路都可以是1.8V、3.0V或者5.0V。標(biāo)準(zhǔn)并行8位總線以復(fù)用或非復(fù)用配置實(shí)現(xiàn)與微控制器的通信。
軟件設(shè)置
本應(yīng)用筆記中,應(yīng)該在計(jì)算機(jī)上安裝并運(yùn)行Dallas Semiconductor的微控制器工具套件(MTK)和Keil公司的PK51專業(yè)開發(fā)工具軟件。兩個(gè)軟件包都含在DS8007評(píng)估套件中。下面的章節(jié)說明安裝這些應(yīng)用軟件的步驟。如果您已經(jīng)在計(jì)算機(jī)上安裝了這些應(yīng)用軟件,那么可以略過說明安裝過程的這些章節(jié)。
安裝微控制器工具套件
- 將DS8007評(píng)估套件安裝CD插入到計(jì)算機(jī)的CD-ROM驅(qū)動(dòng)器中。CD將自動(dòng)啟動(dòng),顯示DS8007評(píng)估套件歡迎界面。如果CD-ROM沒有自動(dòng)啟動(dòng),請(qǐng)瀏覽CD根目錄文件夾,雙擊index.html文件。
- 單擊"Install MTK"按鈕,單擊"Run"按鈕,開始安裝。
- 在MTK安裝期間,選擇默認(rèn)設(shè)置。 注意: 可能會(huì)出現(xiàn)安全報(bào)警,這取決于您的網(wǎng)絡(luò)瀏覽器安全設(shè)置以及您的Windows?版本。如果的確出現(xiàn)了報(bào)警,接受它,繼續(xù)安裝。
安裝Keil專業(yè)開發(fā)工具
- 安裝Keil公司的PK51專業(yè)開發(fā)工具套件時(shí),將Keil微控制器開發(fā)工具CD (含在DS8007評(píng)估套件中)插入到您計(jì)算機(jī)的CD-ROM驅(qū)動(dòng)器中。CD會(huì)自動(dòng)啟動(dòng),顯示主菜單。如果CD-ROM沒有自動(dòng)啟動(dòng),請(qǐng)瀏覽CD根目錄文件夾,雙擊setup.exe文件。
- 在主菜單上,選擇"Install Evaluation Software",然后選擇"C51 Compiler (Eval Tools)"。
- 按照屏幕顯示的提示,在計(jì)算機(jī)上安裝Keil工具。
硬件設(shè)置
配置DS8007評(píng)估套件電路板時(shí),需要正確設(shè)置跳線,將串口和計(jì)算機(jī)相連,并連接電源。下面詳細(xì)說明這些步驟。
-
按照 圖2 ,連接跳接器1到13,其詳細(xì)說明在表1中。
-
將所提供的串行電纜的一端連接至電路板DB-9連接器(J6),另一端連接至計(jì)算機(jī)的COM口。
-
將評(píng)估套件中的5V ±5%、300mA穩(wěn)壓電源的2.5mm中心正極電源連接至電路板的J7電源連接器。
圖2. DS8007電路板跳線位置
表1. DS8007電路板跳線設(shè)置 | Jumper | Installed | Description |
| -------- | --------------------------------- | ------------------------------------------------------------------- |
| JU1 | Installed | Board's DVDD connected to DS8007's digital VDD |
| JU2 | Installed | DS8007's VCCA connected to smart card socket 1, pin C1 |
| JU3 | Installed | Board's AVDD connected to DS8007's analog supply, VDDA |
| JU4 | Installed: Connect pins 1 and 2 | Board's AVDD connected to smart card socket 1, pin S2 |
| JU5 | Installed: Connect pins 2 and 3 | Board's AVDD connected to smart card socket 1 pin, S1 through 10K |
| JU6 | Not Installed | |
| JU7 | Not Installed | |
| JU8 | Installed | DS8007's VCCB connected to SAM socket, pin C1 |
| JU9 | Installed: Connect pins 2 and 3 | DS8007's PRESB connected to GND (through 10K) |
| JU10 | Installed: Connect pins 2 and 3 | DS5002FP's nPROG connected to RS-232 DTR0/DSR0 |
| JU11 | Installed | Board's 5V supply connected to board's AVDD |
| JU12 | Installed | Board's 5V supply connected to board's DVDD |
| JU13 | Installed: Connect pins 2 and 3 | DS8007's INTAUX pin connected to GND (through 10K) |
建立并裝載可執(zhí)行文件
下一步是建立.HEX文件,它可以下載到電路板存儲(chǔ)器中,由DS5002FP運(yùn)行。建立該文件需要配置Keil μVision?工程文件,以建立正確的可裝載文件,然后將其下載到電路板的非易失存儲(chǔ)器中。
建立μVision工程
在計(jì)算機(jī)上安裝了Keil C51開發(fā)工具后,單擊生成的圖標(biāo),啟動(dòng)μVision程序。我們將按照以下步驟為演示程序建立一個(gè)工程文件和C程序文件:
- 在工程標(biāo)題欄,選擇"New Project",輸入DS8007-1作為工程名。
- 當(dāng)出現(xiàn)了"Select Device for Target"時(shí),從器件選擇列表中選擇Dallas Semiconductor和DS5002FP。
- 當(dāng)"Copy Standard 8051 Startup Code to Project Folder and Add File to Project"消息出現(xiàn)時(shí),單擊"Yes"按鈕。
- 單擊"File",然后是"New",輸入以下信息,建立源文件。如果您更愿意下載該文件,則可以下載(ZIP, 11kB)。
// File DS8007-1.C #include < REG5000.H > // special function register declarations // // for the DS5000/5002 #include < stdio.h > // prototype declarations for I/O functions // Main C function. Program execution starts here. void main (void) { // Set up the serial port for 38400 baud at 14.7MHz. TMOD=0x21; // Timer 1: 8-bit auto-reload from TH1, Timer 0: 16-bit TH1 = 0xFE; // Set timer reload value for 38,400 baud PCON|=0x80; // Turn on baud rate doubler SMOD_0 TCON=0x50; // Enable timers 0 and 1 SCON=0x50; // 10-bit async, enabled TI=1; // Set TI to send first character TR1 = 1; // Start timer 1 // Start main program printf ("\\nHello DS8007 World!\\n\\n"); // Output message while (1) ; // End program by looping here. }
- 輸入這些文本后,單擊"File",然后是"Save As",輸入"DS8007-1.c"作為文件名,保存該文件。
- 右鍵單擊工程工作空間窗口中的Target 1,將該文件加到工程列表中,然后單擊"Manage Components"選項(xiàng)。在Project Components標(biāo)簽下,單擊"Add Files"按鈕,在文件名區(qū)輸入文件名(DS8007-1.c)。單擊"Add"按鈕,然后單擊"Close"按鈕。單擊"OK"按鈕,關(guān)閉Components窗口。您會(huì)看到該文件已經(jīng)被加入到Source Group 1中。
- 右鍵單擊工程工作空間中的Target 1,選擇"Options for Target 'Target 1",配置工程選項(xiàng)。單擊Target標(biāo)簽,在Xtal框中輸入14.7。如下面的圖3所示,Memory Model選擇"Small: variables in DATA",Code ROM Size選擇"Large: 64K program",Operating system選擇"None"。該窗口中的所有其他選項(xiàng)不進(jìn)行設(shè)置,為默認(rèn)狀態(tài)。
- 在Output標(biāo)簽中,選中"Create Executable" (如果還沒有選它),確定選中了"Create HEX File"框。從下拉選擇框中選擇HEX Format of HEX-80,如圖4所示。該窗口中的所有其他選項(xiàng)都應(yīng)保持默認(rèn)狀態(tài)。單擊"OK",關(guān)閉'Target 1'窗口的Options for Target。
- 單擊"File",然后是"Save All",保存工程文件。
- 單擊"Project"標(biāo)題欄,選擇"Rebuild All Target Files",建立可執(zhí)行文件。屏幕底部的構(gòu)建窗口應(yīng)顯示0 Error(s), 0 Warning(s)。如果沒有這一顯示,則應(yīng)該找到錯(cuò)誤,進(jìn)行必要的改正。重復(fù)該步驟,直到不再報(bào)告錯(cuò)誤為止。
圖3. 工程選項(xiàng)目標(biāo)標(biāo)簽設(shè)置
!
圖4. 工程選項(xiàng)輸出標(biāo)簽設(shè)置
裝載可執(zhí)行文件
按照上述步驟對(duì)硬件進(jìn)行配置后,DS8007電路板將連接到計(jì)算機(jī)的COM口。現(xiàn)在應(yīng)對(duì)處理器進(jìn)行配置,使其能夠知道怎樣訪問板上存儲(chǔ)器。向處理器的MCON和RPCTL寄存器寫入對(duì)應(yīng)的數(shù)值可完成該任務(wù),按下面步驟進(jìn)行。
-
在您的計(jì)算機(jī)上找到MTK程序,啟動(dòng)它。
-
在Select Device窗口中選擇"DS5002FP" ( 圖5 ),單擊"OK"。
-
單擊"Options",然后單擊"Configure Serial Port"。選擇DS8007電路板所要連接的計(jì)算機(jī)端口,例如COM1。然后,從下拉菜單中選擇"Speed 38400",單擊"OK"。
-
單擊"Target",單擊"Open COM1 at 38400 baud"。
-
確定電路板的串口已經(jīng)和計(jì)算機(jī)建立了連接,并加載了5V電源。單擊"Target"和"Connect to Loader"。如果連接成功,DS5002FP將顯示其啟動(dòng)加載程序標(biāo)志,如圖6所示。
-
在 > 提示符下,輸入以下命令來配置MCON和RPCTL寄存器:
> W MCON 0A > W RPCTL 01 > R MCON:0A RPCTL:81 MSL:01 Microcontroller's response to read register command
如果在輸入啟動(dòng)加載程序命令時(shí),您收到"E: LOCKED"錯(cuò)誤消息,說明該部分有自己的安全鎖定設(shè)置。要對(duì)該部分進(jìn)行解鎖,在加載程序提示符 >下輸入解鎖命令(U)即可。這樣做會(huì)破壞存儲(chǔ)在處理器存儲(chǔ)器中的信息,但是該部分解鎖后,可以輸入上面的寄存器命令。發(fā)出讀寄存器命令(> R)后,DS5002FP報(bào)告寄存器MCON (0A)和RPCTL (81)的狀態(tài)。DS5002FP還顯示MSL位的狀態(tài)(參見安全微控制器用戶指南(English only),了解詳細(xì)信息),該例中為01。
DS8007電路板現(xiàn)在可以裝入Keil開發(fā)工具建立的編程文件。1. 單擊"File",然后選擇"Load SRAM"。選擇文件DS8007-1.HEX,然后單擊"OPEN"。DS5002FP處理器的響應(yīng)是: > Loading File ...\\DS8007-1.hex
> Loading File ...\\DS8007-1.hex
通過顯示一連串的圓點(diǎn)表示正在裝載。
- 完成后,處理器將報(bào)告"Load complete",單擊"Target",然后單擊"Disconnect from Loader",執(zhí)行程序。
執(zhí)行裝載程序后立即斷開,處理器將開始運(yùn)行程序。MTK屏幕顯示程序輸出 "Hello DS8007 World!",成功!
圖5. MTK器件選擇
圖6. DS5002FP啟動(dòng)加載程序標(biāo)志
評(píng)估LCD模塊
為演示DS8007評(píng)估套件非常有用的一項(xiàng)功能,我們現(xiàn)在建立一個(gè)應(yīng)用程序,在2行20字符的液晶顯示屏(LCD)上顯示一條消息。但是在開始前,必須設(shè)置LCD的對(duì)比度,使其在程序執(zhí)行時(shí)能夠正確地顯示消息。首先,對(duì)電路板加電,LCD應(yīng)不亮。找到電路板上的可變電阻R7 (參見上面的圖2),使用小螺絲刀對(duì)電阻進(jìn)行調(diào)整,直到一個(gè)5 x 7點(diǎn)陣出現(xiàn)在顯示屏的字符位置。慢慢調(diào)整R7,直到點(diǎn)陣剛剛消失。這設(shè)置LCD的對(duì)比度,使我們能夠看到字符,而看不到間隔。
按照上面的第1步到第10步( 建立μVision工程 ),建立一個(gè)新工程和可執(zhí)行文件。工程文件名為DS8007-2,C源代碼文件名為DS8007-2.c。該程序的源代碼在下面的附錄A中給出。如果您不愿意輸入這些信息,也可以從上面提到的FTP網(wǎng)站下載這些文件的.ZIP文件。
一旦建立了HEX文件,按照上面的步驟( 裝入可執(zhí)行文件 )將其裝入到電路板的存儲(chǔ)器中。和加載程序斷開后,LCD將顯示兩行消息。
結(jié)論
DS8007評(píng)估套件為DS8007雙路智能卡接口評(píng)估提供方便、成熟的平臺(tái)。套件和Keil C語言開發(fā)工具簡(jiǎn)化了智能卡應(yīng)用程序的開發(fā)過程。
審核編輯:郭婷
-
微控制器
+關(guān)注
關(guān)注
48文章
7455瀏覽量
150858 -
lcd
+關(guān)注
關(guān)注
34文章
4406瀏覽量
166930 -
顯示屏
+關(guān)注
關(guān)注
28文章
4436瀏覽量
74055
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論