IC卡保險柜控制器設計管理論文

時間:2022-06-25 09:25:00

導語:IC卡保險柜控制器設計管理論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

IC卡保險柜控制器設計管理論文

摘要:詳細闡述ic保險柜控制器的原理、硬件設計和軟件設計等內容;給出電路原理圖和主程序流程圖。

關鍵詞:IC卡單片機保險柜

隨著社會的進步和為民生活水平的提高,為們出差、旅游和度假的機會日益增加。在賓館、飯店等居住場所都需要一保險柜來保存貴重物品和易失物品,即便在家里,也往往需要有一個地方來保存一些單據等物品。傳統的手段已不能滿足人們對其安全性和靈活性要求,把應用愈來愈廣泛的IC卡技術應用到保險柜上,可以充分滿足這方面的需求。例如,根據客戶要求,可以給每個房間配備一個帶有IC卡電子門鎖的保險柜供他們存放物品;待客人走后,可以靈活地對保險柜的密碼進行重新設置,更換IC卡。下面對我們自行設計的加密型IC卡保險柜的核心部件--控制器件一詳細的介紹。

一、控制器的硬件設計

本系統的主要任務是完成對IC卡的識別和控制,因此,首先介紹一下所選用的IC卡。

1.SLE4442加密IC卡簡介

目前市場上的IC卡種類較多,比較有代表性的有ATMEL公司的AT系列和SIEMENS公司的SLE系列。我們根據用戶的要求和市場的供給情況選用了SIEMENS公司設計的SLE4442卡。此卡的特點是:

(1)卡內有2K位的存儲容量和完全獨立的可編程邏輯代碼存儲器(PSC);

(2)多存儲器結構,其中包括256×8位EEPROM,32×1位PROM的4×8位EEPROM型加密存儲器;

(3)串行口滿足ISO7816同步傳遞協議;

(4)每一字節的擦除/寫入時間為2.5ms;

(5)存儲器可擦除1000次以上,數據可保存10年以上。

SLE4442型IC卡的觸點排列及功能如圖1所示。

SLE4442芯片的傳送協議包括4種模式。

(1)復位和復位響應

復位可在操作期間任何時候進行。在復位響應期間,任何開始和停止條件均被禁止。復位與復位響應時序如圖2所示。

(2)命令方式

每個命令由起始條件、1個3字節長的命令和停止條件構成。命令方式時序如圖3所示。

起始條件:CLK處于高狀態H期間,I/O的下降沿。

停止條件:CLK處于高狀態H期間,I/O的上升沿。

(3)輸出數據方式

在這種試上,IC卡發送數據至接口設備IFD。在CLK上第一個下降沿后,I/O上第一位有辯效,最后一個數據位之后,需要一個額外的時鐘脈沖,以設置I/O處于高狀態,同時準備IC卡接收新的命令。在這種方式下,任何開始和停止條件均被禁止。輸出數據方式時序如圖4所示。

(4)處理方式

在第一個CLK的下降沿,將I/O線從高狀態H切換至低狀態L并開始處理,直到低狀態L的I/O被設置成高狀態H結束。在這種方式下,任何開始和停止條件均被禁止。處理方式時序如圖5所示。

SLE4442卡共有7個命令,每個命令包括3個字節,其命令格式及功能如表1所列。

表1SLE4442命令

字節1控制字節字節2地址字節字節3數據字節操作

B7B6B5B4B3B2B1B0A7A0D7D0

00110000地址無效讀/從給定的字節地址至用戶存儲器結束

00111000地址輸入數據編程輸入地址對應的用戶存儲區

00110100無效無效讀保護存儲器

00111100地址無效寫保護存儲器中的保護位

00110001地址無效讀保密存儲器

00111001地址輸入數據寫/編程輸入址對應的保密存儲器

00110011地址輸入數據比較可編程密碼PSC字節

這里只介紹比較可編程密碼PSC命令的使用。比較過程由4個步驟組成:

①寫錯誤計數器EC(至少1位)。地址0。密碼比較結果將在錯誤計數器中反饋,3次密碼出錯IC卡被阻塞。

②比較PSC字節1,地址1。寫完錯誤計數器之后,以不同的命令格式送入3個密碼字節。密碼比較成功,將通過刷新錯誤計數器來識別,然后施加上操作電壓,就可以對所有存儲器進行讀寫操作了。

③比較PSC字節2,地址2。

④比較PSC字節3,地址3。

芯片在出廠時可根據用戶的專門要求將可編程加密代碼(PSC)存儲器中編入一個專用代碼。這樣在使用時,就必須合法地得到這個代碼,從而防止非法竊用或偽造卡片。

2.系統組成及工作原理

本系統的硬件主要由單片機、串行EEPROM、電磁閥和IC卡讀/寫插座組成。具體電路如圖6所示。

電路中的單片機AT89C2051是89C51的簡化體。20引腳為DIP封裝。片內有2K字節閃爍存儲器,128字節RAM,15條I/O線,全雙工串行口。P1.0、P1.1分別作為片內精確模擬電壓比較器的正、負輸入端;P1.2作為IC卡的復位端;P1.3、P1.4分別作為IC卡的時鐘線與數據線;P3.7作為IC卡工作指示燈的控制端;P1.5作為非法操作的聲音報警控制;P3.4作為電磁閥門SW1的控制端。圖中的U5是串行EEPROM--AT24C01,它的作用是用來隨機存儲每個IC卡的密碼等;U4為電壓比較器,用來監測電源電壓:如果電源電壓下降至4.5V左右就會產生報警信號。為了使系統更可靠地工作,采用CD4060設計了單片機"看門狗"電路,由4060定時產生一個復位脈沖,對單片機進行復位操作。整個電路設計中,充分考慮了能源的節約問題,所以在IC卡插入前整個電路的大部分芯片沒有供電,只有門電路U1工作;當IC卡插入后,由于IC卡座的開關接通,促使門電路U1觸發翻轉,由T1導通使其他芯片得到供電。如果在使用過程中客人忘記拔出IC卡,電路除了要產生報警信號外,還會在30s(秒)后自動停止供電。

二、控制器的軟件設計

該軟件包括三部分:

(1)IC卡信息的讀取及AT24C01數據的讀取;

(2)比較校驗數據,修改存儲器數據;

(3)各種控制功能的實現,包括門鎖開啟,聲、光報警等操作。

限于篇幅,這里只給出了利用51匯編語言編寫的加密IC卡SLE4442的讀/寫程序,并給出了主程序的流程圖,如圖7所示。

讀子程序

READ:MOVR0,#30H;設置存放IC卡讀入數據的首地址為30H

LCALLRESET;調IC卡復位子程序

MOVR2,#10H;讀IC卡數據的個數送R2

LCALLSTART;調起始條件子程序

MOVR5,#00110000B;發送讀的命令碼

LCALLSPOUT;調發送一個字節子程序

MOVR5,#20H;發送IC卡的起始地址

LCALLSPOUT

MOVR5,#00H;將數據00H發送出去

LCALLSPUT

LCALLSTOP;調停止條件子程序

READ1:LCALLSPINC;調數據采集子程序

MOVA,R6

MOV@R0,A

INCR0

DJNZR2,READ1

LCALLPLUSE;調發送脈沖子程序

RET;讀IC卡數據子程序結束

寫子程序

WRT:LCALLRESET;寫IC卡數據子程序開始,調IC卡復位子程序

MOVR2,#10H;寫入IC卡的字節個數送R2

MOVR1,#40H;將40H為首地址的內容寫入IC卡

MOVR4,#30H;R4中放的是寫到IC卡起始地址30H

WRT1:LCALLSTART;調起始條件子程序

MOVR5,#00111000B;發送寫的命令碼

LCALLSPOUT

MOVA,R4;發出要寫入的IC卡地址

MOVR5,A

LCALLSPOUT

MOVA,@R1;寫入IC卡數據

MOVR5,A

LCALLSPOUT

LCALLSTOP;調停止條件子程序

LCALLPROCE;調一個編程過程子程序

INCR1;數據指針加1,直到數據寫完

INCR4

DJNZR2,WRT1

RET;寫子程序結束

PROCE:MOVR3,#0FFH;一個編程過程子程序

PROC1:SETBP1.2

NOP

CLRP1.2

DJNZE3,PROC1

RET

SPINC:MOVR3,#08H;數據采集子程序

SPIN1:CLRP1.2

MOVC,P1.4

MOVA,R6

RLCA

MOVR6,A;讀出的一字節內容送R6

SETBP1.2

DJNZR3,SPIN1

RET

SPOUT:MOVR3,#08H;一字節發送子程序

MOVA,R5

SPTC1:CLRP1.2

RLCA

MOVP1.4,C

NOP

SETBP1.2

DJNZR3,SPTC1

RET

START:SETBP1.2;起始條件子程序

NOP

CLRP1.4

NOP

RET

STOP:CLRP1.2;停止條件子程序

NOP

CLRP1.4

NOP

SETBP1.2

CLRC

NOP

SETBP1.2

NOP

CLRP1.2

RET

RESET:SETBP1.3;復位IC卡子程序

NOP

CLRP1.3

NOP

RET

END

保險柜的安全性能是本控制器系統設計的出發點之一,為此,在軟件上,將IC卡分為母卡和子卡,母卡由管理人員掌握,子卡由客人掌握。在每次客人走后,將母卡插入保險柜,那么原來的開機子卡宣布作廢,這時可以插入一個新的卡形成一個新的子卡。母卡的功能是負責生成新的子卡,而不負責開門,從而確保了保險柜的安全性能。

結束語

該IC卡保險柜控制器具有結構簡單、功耗低、體積小、成本低等特點,完全達到了用戶的要求,目前已投入了小批量的生產。如果將現有的產品稍作改動和擴展,就能實現其他的功能。例如,給它擴展上一個語音芯片,即可進行語音提示或報警;如果將本控制器應用于防盜門就可制成IC卡防盜門,從而實現對傳統防盜門的更新換代,具有廣闊的市場前景。