基于SLE4442加密存儲卡的汽車行駛記錄儀中駕駛員身
引言
本文引用地址:http://2s4d.com/article/197086.htm近年來,隨著經(jīng)濟的發(fā)展以及人們生活水平的提高,小汽車越來越多的走進了人們的生活。但是,交通事故頻發(fā),汽車駕駛安全又成為一個問題。汽車行駛記錄儀的使用對遏止疲勞駕駛和車輛超速等交通事故,約束駕駛員的不良行駛行為,保障車輛運行安全,規(guī)范車輛管理都具有重要作用。規(guī)范駕駛員行為,作為汽車行駛記錄儀的基本功能之一,它首先應該能夠準確識別駕駛員的身份。使用汽車行駛記錄儀的單位應當為每個駕駛員配置IC卡,而駕駛員出車時再用IC卡登陸。該記錄儀主要通過讀取IC卡來確認駕駛員的唯一身份。而PC管理軟件中的IC卡管理模塊則主要用來給駕駛員的IC卡進行合法身份注冊,使用單位可以編輯卡中駕駛員的身份信息,包括擦除、寫人和讀取等功能。
1設計方案的選擇
目前汽車行駛記錄儀采用的駕駛員身份識別方式主要有非接觸式IC卡識別和接觸式IC卡識別兩種方式。
非接觸式IC卡識別系統(tǒng)的凄寫過程通常由非接觸式IC片和讀寫設備問的無線電波來完成。非接觸式lC卡識別方式的操作過程比較簡單,但是抗干擾能力相對較弱,且成本較高。
接觸式IC卡識別系統(tǒng)中的CPU一旦探測到有IC卡插入,則立即通過卡的I/O口讀取數(shù)據(jù),接著進行程序的判斷和處理。當確定為合法的IC駕駛員IC卡后,再按照協(xié)議凄取駕駛員信息。該接觸式IC卡存儲量大,凄寫機構(gòu)造價便宜,維護比較方便。
本設計中考慮到汽車行駛記錄儀的應用環(huán)境較為復雜,而非接觸式IC卡容易受汽車點火的電磁干擾,而且駕駛員身份數(shù)據(jù)的存儲量不人,所以,本設計選擇方案二的接觸式IC卡識別方式來進行設汁。
2 駕駛員身份識別系統(tǒng)的硬件設計
2.1 IC卡芯片的選擇
目前用于IC卡的通用存儲器芯片多為EEPROM,其常用的協(xié)議主要有兩線串行連接協(xié)議(I⒉C) 和二三線串行連接協(xié)議。邏輯加密存儲卡可采用密碼控制邏輯來控制對EEPROM存儲器的訪問和改寫,因此,它不像存儲卡一樣可以被任意的復制或改寫。設計中,由于駕駛員身份識別要求安全保密,所以,本設計選擇西門子公司設計的邏輯加密存儲卡SLE4442來作為IC卡存儲芯片。
SLE4442 具有2KB的存儲容量和完全獨立的可編程加密代碼(PSC,Programmable security code)存儲器。其內(nèi)部的電壓提升電路可保證芯片以單+5V電壓工作,而其較大的存儲容量則能夠滿足通常應用領(lǐng)域的各種要求。因此,SLE4442是目前國內(nèi)應用較多的一種IC卡芯片。
SLE4442卡芯片的主要特點如下:
◇采用多存儲器結(jié)構(gòu),主要包括三個存儲器:256x8位的EEl,ROM型主存儲器、32xl位的PROM型保護存儲器和4x8位的EEPROM型加密存儲器:
◇采用2線連接協(xié)議,串行接口滿足IS07816同步傳輸協(xié)議;
◇采用NMOS工藝技術(shù),每個字節(jié)的寫入,擦除編程時間為2 5 ms;
◇具有至少104次的寫入,擦除周期,數(shù)據(jù)保持時間至少10年。
SLE4442存儲芯片的引出端分布如圖1所示,表1所列是其引腳功能描述。
2.2 IC卡硬件接口電路
SLE4442為2線連接總線方式,其中I/O是串行數(shù)據(jù)線,該引腳為開漏極驅(qū)動,可雙向傳輸數(shù)據(jù),主要用于地址數(shù)據(jù)的輸人和數(shù)據(jù)的輸出。CLK腳則為時鐘,為器件數(shù)據(jù)傳輸?shù)耐綍r鐘信號。本汽車行駛記錄儀中的微控制器采用S3C2410,該微控制器內(nèi)含I2C總線控制器,可以方便的與各種帶有I⒉C 接口的器件相連接。設計中,主控制器的ⅡCSDA、ⅡCSCL和RESET分別接IC卡的I/O、CLK和RST,其總線受微控器控制,并可由程序控制產(chǎn)生串行時鐘以控制總線的存取,進而發(fā)送START和STOP信號。SLE4442與S3C2410的接口電路圖如圖2所示。
3 IC卡的I2C傳送協(xié)議
心傳送協(xié)議是接口設備與IC卡集成電路之間的兩線連接協(xié)議,SLE4442芯片l/O線上數(shù)據(jù)變化只在CLK信號的下降沿有效。
I2C傳進協(xié)議包括復位和復位響應、命令模式、輸出數(shù)據(jù)模式和處理模式等4種模式。
3.1 復位和復位響應
復位響應是根據(jù)ISO/IEC 7816-3 (ATR)標準來進行的,在操作期間的任意時刻都可以復位。開始,地址計數(shù)器隨一個時鐘脈沖而被設置為O。當RST線從高狀態(tài)(H狀態(tài))變?yōu)榈蜖顟B(tài)(L狀態(tài))時,第一個數(shù)據(jù)位(LSB)的內(nèi)容將被送到I/O上。若連續(xù)輸入32個時鐘脈沖,則主存儲器中的前4個字節(jié)地址單元中的內(nèi)容將被讀出。而在第33個時鐘脈沖的下降沿,I/O線被置高而關(guān)閉。在復位響應期間,“啟動”和“停止”狀態(tài)都被忽略。
3 2命令模式
復位響應以后,芯片將等待命令。每條命令都以一個“啟動狀態(tài)”開始。整個命令包括3個字節(jié)。隨后緊跟一個附加脈沖并用一個“停止狀態(tài)”來結(jié)束操作。在cLK為高狀態(tài)期間,I/O線的下降沿為啟動信號:在cLK為高狀態(tài)期間,I/O線的上升沿為停止信號。
3.3 輸出數(shù)據(jù)模式
在這一模式下,IC卡芯片將發(fā)送數(shù)據(jù)給外部接口設備。在第一個CLK脈沖的下降沿,I/O線上的第一位數(shù)據(jù)變?yōu)橛行?。當所需要的最后一個數(shù)據(jù)送出以后,還需要再附加一個時鐘脈沖來把I/O線置成高阻狀態(tài)(Z狀態(tài)),以準備接收新的命令。在輸出數(shù)據(jù)期間,任何“啟動狀態(tài)”和“停止狀態(tài)”均被屏蔽。
3.4 數(shù)據(jù)處理模式
在數(shù)據(jù)處理模式下,系統(tǒng)將對IC卡芯片進行內(nèi)部處理。在整個處理過程中,I/O線被鎖定成低狀態(tài),任何“啟動狀態(tài)”和“停止狀態(tài)”均將被屏蔽。
4 系統(tǒng)軟件設計
SLF4442 芯片的每條操作命令都包含3個字節(jié),其排列順序和操作格式如表2所列,命令的傳送總是從控制字節(jié)開始,首先傳送字節(jié)的最低位LSB (即B0位),控制字節(jié)傳送完畢之后,依次傳送地址字節(jié)和數(shù)據(jù)字節(jié),均為低位在前。在最后一位(D7)傳送完成之后,需要增加一個附加時鐘脈沖來把I/O 線置成高狀態(tài)。
駕駛員的身份信息存儲在IC卡的主存儲器后的224個字節(jié)(應用數(shù)據(jù)區(qū)),共占用83字節(jié),其余字節(jié)為0。地址從32(20H)-255(FFH),這部分的數(shù)據(jù)讀出不受限制,但擦除和寫入需要校驗密碼,校驗密碼成功后,芯片的加密控制邏輯才會打開芯片的主存儲器,以允許后面的擦除和寫入操作。其信息存儲格式如表3所列。圖3所示是系統(tǒng)的主程序流程圖。
5 結(jié)束語
SLE4442作為IC卡存儲芯片,能夠方便的與帶有I⒉C總線的微控制器相連,而且具有讀寫機構(gòu)造價便宜,安全保密,使用靈活,電路設計簡單,維護方便,抗干擾能力強等特點,十分適合汽車行駛記錄儀的工作環(huán)境和特點,因此,在汽車行駛記錄儀中具有很好的應用價值。
評論