文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2017.01.036
中文引用格式: 黃鶴松,劉容良,,郭恒蘭,,等. 一種基于CPU卡的門禁系統(tǒng)的設(shè)計[J].電子技術(shù)應(yīng)用,2017,,43(1):137-140,,144.
英文引用格式: Huang Hesong,Liu Rongliang,,Guo Henglan,,et al. The design of access control system on CPU card[J].Application of Electronic Technique,2017,,43(1):137-140,,144.
0 引言
隨著計算機(jī)技術(shù)和通信技術(shù)的不斷發(fā)展,門禁系統(tǒng)已經(jīng)成為企業(yè),、學(xué)校,、公寓出入口管理不可或缺的一部分。目前市場上大部分的射頻卡門禁系統(tǒng)多采用普通IC卡開門,,自從2008年德國研究員亨里克·普洛茨和美國弗吉尼亞大學(xué)計算機(jī)科學(xué)在讀博士卡爾斯滕·諾爾破解了恩智浦半導(dǎo)體的Mifare經(jīng)典芯片的安全算法起,,傳統(tǒng)射頻卡門禁系統(tǒng)在安全性上便具有了巨大的安全隱患[1]。本文設(shè)計了一種具有更高安全性的基于CPU卡的門禁系統(tǒng),。
1 系統(tǒng)的功能與結(jié)構(gòu)
設(shè)計的門禁系統(tǒng)包含門禁終端,、發(fā)卡器和上位機(jī)三部分。門禁系統(tǒng)與上位機(jī)通過GPRS網(wǎng)絡(luò)或串口通信實現(xiàn)門禁終端以及發(fā)卡器的用戶信息同步,。在硬件上,,門禁系統(tǒng)發(fā)卡器采用了與門禁終端射頻讀卡電路類似的設(shè)計,本文只介紹門禁終端硬件設(shè)計,。門禁終端主要由以下幾個部分組成:射頻讀卡模塊,、GPRS通信模塊,、鍵盤顯示模塊、存儲模塊以及功放模塊,。門禁終端的結(jié)構(gòu)如圖1所示,。
當(dāng)住戶需要進(jìn)出時,可以從鍵盤直接輸入住戶號以及密碼開門或者刷CPU卡開門,。當(dāng)用戶通過鍵盤輸入住戶號及密碼或通過刷CPU卡時,,微控制器從鍵盤或射頻讀卡模塊讀取用戶的信息,并與存儲器內(nèi)的用戶信息進(jìn)行比對,,如信息驗證成功則打開電磁鎖,,否則門禁終端通過功放模塊進(jìn)行語音提示。若是來訪人員則僅需要通過門禁終端直接撥打住戶的電話,,住戶可以用手機(jī)遠(yuǎn)程操控門禁開門,。對于管理人員,可通過上位機(jī)或者手機(jī)短信將用戶的信息從門禁終端存儲器寫入或擦除來實現(xiàn)門禁系統(tǒng)的管理,。
2 硬件設(shè)計
門禁終端的硬件部分主要為射頻讀卡電路,、微控制器電路、GPRS通信電路以及鍵盤顯示電路等,。
2.1 射頻讀卡電路設(shè)計
MFRC530是一款由NXP公司生產(chǎn)、工作在13.56 MHz頻率且支持ISO14443A協(xié)議的射頻芯片,,其有效識別距離能達(dá)到10 cm[2],。該芯片可以兼容SPI接口,可以有效節(jié)省微控制器的GPIO資源,。在與CPU卡的通信過程中,,芯片支持的CRC校驗和奇偶校驗?zāi)苡行г黾油ㄐ诺臏?zhǔn)確性。采用了三電源設(shè)計,,對于芯片的數(shù)字部分,、模擬部分和驅(qū)動部分用不同的電源供電。具體硬件電路如圖2所示,。
TX1OUT,、TX2OUT以及RXANT為芯片連接天線的接口。芯片通過天線向外發(fā)射13.56 MHz的能量載波,,如果CPU卡產(chǎn)生應(yīng)答信號,,其信息會附加到能量載波上,經(jīng)過拾取電路傳到RX引腳上,。MFRC530內(nèi)部將得到的信息進(jìn)行處理,,以A2、A0,、ALE,、D0 4個引腳作為SPI接口與單片機(jī)進(jìn)行通信,。
2.2 FM1208-10 CPU卡
由復(fù)旦微電子公司開發(fā)的FM1208-10 CPU卡是一款具有多種應(yīng)用和很高安全性的CPU卡。其工作原理類似于一臺微型計算機(jī),,在其內(nèi)部安裝了復(fù)旦微電子公司開發(fā)的CPU卡操作系統(tǒng)FMCOS,。整個CPU卡支持DES、3DES加密算法,、線路加密保護(hù)等功能,。一張CPU卡上可以建立三級目錄,在本門禁系統(tǒng)所使用的CPU卡中,,只建立了二級目錄,。其文件體系如圖3所示。
CPU卡的高安全性主要體現(xiàn)在CPU卡的安全體系上,,其安全體系主要分三大部分:安全狀態(tài),、安全屬性和安全機(jī)制。安全狀態(tài)指的是CPU卡當(dāng)前所處的安全級別,。安全屬性指的是對文件執(zhí)行某個操作時所必須要滿足的條件,。安全機(jī)制就是從某種安全狀態(tài)到另一種狀態(tài)要采取的方法[3]。簡言之,,當(dāng)門禁終端或發(fā)卡器要讀取CPU卡的某個文件時,,CPU卡會判斷當(dāng)前安全狀態(tài)寄存器的值是否達(dá)到了文件的操作權(quán)限,如果達(dá)到了就繼續(xù)操作,,否則需要門禁系統(tǒng)發(fā)送外部驗證來重設(shè)安全狀態(tài)寄存器的值,。
2.3 微控制器選擇
本文設(shè)計的門禁系統(tǒng)采用新華龍C8051F340作為微控制器,其具有64 KB 片內(nèi)Flash和4 352 B的片內(nèi)RAM[4],,能滿足整個門禁系統(tǒng)程序運行的需要,,另外該微控制器具有2個UART、1個SPI接口和足夠多的GPIO口,,滿足了門禁系統(tǒng)的硬件設(shè)計需要,。該芯片本身內(nèi)部集成的Silicon Labs二線開發(fā)接口可以支持芯片在線調(diào)試,這在門禁系統(tǒng)的開發(fā)過程中提供了很大的便利,。C8051F340具有可編程數(shù)字IO和交叉開關(guān),,可將內(nèi)部資源隨意鎖定在相應(yīng)IO口上,可以使PCB整體布局更加合理整潔,。在這里門禁系統(tǒng)的微控制器采用了典型的外圍電路,,具體可以參照技術(shù)手冊[4]。
2.4 GPRS通信模塊及音頻解碼電路選擇
為方便管理人員以及用戶遠(yuǎn)程操控門禁終端,,選擇SIMCOM公司的SIM900A 作為遠(yuǎn)程GPRS通信模塊,。SIM900A使用簡單,設(shè)計人員只需要通過AT指令即可完成對其的操作,;且具有較低的功耗,,當(dāng)模塊工作在待機(jī)模式時,,系統(tǒng)的電流僅1 mA。在本系統(tǒng)中主要應(yīng)用了SIM900A的串口,、音頻接口,、天線接口以及電源接口等。在SIM900A音頻接口處門禁終端還添加了以MT8870為主體的雙音頻解碼電路,。圖4為雙音頻解碼電路[5],,這個電路可以接收DTMF(雙音多頻)信號,是一個完整的DTMF接收器,。在接收了DTMF信號后,,內(nèi)部將信號分成高頻帶和低頻帶,并將此信號送至數(shù)字譯碼器,,通過數(shù)字譯碼器解出鍵值,。當(dāng)來訪人員通過門禁終端與住戶進(jìn)行語音通話時,用戶如果允許其進(jìn)入樓宇,,可以通過手機(jī)的相關(guān)按鍵向門禁終端發(fā)送開門指令,。
2.5 鍵盤及顯示驅(qū)動芯片選擇
為了節(jié)省微處理器的GPIO資源和CPU運行程序時的負(fù)擔(dān),本設(shè)計選擇具有串行接口的數(shù)碼管和鍵盤智能控制芯片HD7279,。該芯片可控制最多64個鍵盤和8位共陰式數(shù)碼管,,LED數(shù)碼管可無需外圍原件直接驅(qū)動,內(nèi)含鍵盤去抖電路,,增加了鍵盤按鍵的可靠性[6],。在本系統(tǒng)中,共設(shè)計了13個按鍵和8位LED數(shù)碼管作為用戶操作面板,。
用戶從鍵盤輸入住戶號和密碼時,,其信息會在數(shù)碼管上顯示,。當(dāng)信息輸入完畢時,,按下“#”鍵,單片機(jī)會把從HD7279得到的數(shù)據(jù)進(jìn)行處理,。當(dāng)住戶號和密碼正確時,,門禁終端會打開樓宇門。來訪人員需要輸入住戶號和住戶電話號碼,,門禁終端會從存儲器中比對信息,,防止騷擾電話,當(dāng)住戶號和電話號碼正確時,,系統(tǒng)會向住戶撥打電話,,住戶可以使用電話按鍵遠(yuǎn)程操控門禁終端。
2.6 其他電路
整個門禁終端除了包含以上模塊外,,還包含了電源模塊,、Flash存儲模塊和語音存儲模塊等,。
在電源模塊上采用了開關(guān)電源芯片LM2576-5.0將12 V電源轉(zhuǎn)換為5 V,為射頻芯片MFRC530提供電源,;采用可調(diào)電壓芯片MIC29302將5 V轉(zhuǎn)換到4.2 V,,供給SIM900A模塊;采用低壓差穩(wěn)壓芯片AMS1117-3.3實現(xiàn)5 V到3.3 V的轉(zhuǎn)換,,為單片機(jī)以及存儲器等器件供電[7],。
用戶在刷卡開門或按鍵開門時,系統(tǒng)都需要進(jìn)行信息比對,,判斷能否開門,。為了記錄用戶信息,需要采用掉電保存的大容量Flash存儲芯片,。設(shè)計中選擇了AT45DB041D作為存儲模塊的主芯片,。該存儲器具有4 MB內(nèi)存,分為2 048頁,,每頁264 B,。除主內(nèi)存之外,AT45-DB041D還有2個264 B的SRAM數(shù)據(jù)緩存,,每個緩存使得主內(nèi)存的一頁正在編程的同時可以接收數(shù)據(jù),。
在用戶從鍵盤輸入信息時,需要有語音提示來指示輸入信息正確與否,。本設(shè)計采用一次性編程語音芯片AP89170來存儲語音提示,。AP89170采用標(biāo)準(zhǔn)的CMOS工藝制作而成,存儲空間4 MB,。在6 KB采樣率下存儲語音時長達(dá)170 s,,滿足了系統(tǒng)語音提示的需要。
3 程序設(shè)計
整個門禁系統(tǒng)的程序設(shè)計包含三大部分:門禁終端程序,、發(fā)卡器程序和上位機(jī)程序,。這里只介紹與硬件設(shè)計相關(guān)的門禁終端程序以及發(fā)卡器程序。
3.1 門禁終端程序設(shè)計
門禁終端主程序設(shè)計思想是: 當(dāng)有CPU卡進(jìn)入到射頻讀卡模塊的工作范圍內(nèi)以后,,門禁處主機(jī)通過射頻讀卡模塊獲得該卡的卡號信息,,并對存儲器進(jìn)行讀操作,檢查該卡號信息在系統(tǒng)中是否存在,,如果存在,,則打開電磁鎖。如果鍵盤有按鍵按下,,則語音提示“請輸入房間號碼”,,對存儲器進(jìn)行讀操作,判斷該房間號是否正確,如果正確則語音提示“請輸入密碼”,,密碼正確則撥打該住戶綁定的電話號碼,,若系統(tǒng)檢測到住戶按下電話上的“*”鍵作為回復(fù),系統(tǒng)自動打開樓宇門,。門禁終端主程序包括系統(tǒng)的初始化,、系統(tǒng)的自檢、讀卡程序,、中斷服務(wù)程序等,。圖5為門禁終端主程序的流程圖。
門禁終端在識別CPU卡時,,首先門禁終端會通過MF RC530發(fā)出請求命令REQA,,如果尋卡區(qū)域內(nèi)有卡片,則會返回請求應(yīng)答ATQA,,成功后刷卡模塊進(jìn)入防沖突環(huán),,從多張卡片選出一張卡片并發(fā)送選擇命令RATS??ㄆ瑫祷剡x擇應(yīng)答請求ATS,,ATS中包含了生產(chǎn)廠家、COS版本以及卡號等信息,。射頻模塊得到卡號后,,會發(fā)送選擇文件指令和取隨機(jī)數(shù)指令,從而完成外部驗證,。若外部驗證成功,,則讀取二進(jìn)制文件,并判斷文件內(nèi)容,。若所有指令均執(zhí)行成功,,將獲得的卡號與Flash存儲器的內(nèi)容比對,若比對成功即打開樓宇門,。
3.2 門禁系統(tǒng)發(fā)卡程序設(shè)計
作為門禁系統(tǒng)設(shè)計,,除了門禁終端外,CPU卡發(fā)卡器設(shè)計也十分重要,。當(dāng)一張F(tuán)M1208-10的CPU卡出廠時,,其內(nèi)部已經(jīng)加載了FMCOS系統(tǒng),。默認(rèn)的FMCOS系統(tǒng)會在卡片存儲器內(nèi)建立主文件MF和16 B 0xFF的主文件密鑰,。為了將CPU卡作為用戶的驗證卡片在門禁系統(tǒng)中使用,發(fā)卡器需要將原來的文件系統(tǒng)清洗掉并建立自己的文件系統(tǒng),。圖6為發(fā)卡器主程序流程圖,。
圖7為發(fā)卡器在發(fā)卡時的指令流程,發(fā)卡器在向CPU卡發(fā)送指令時,每條指令執(zhí)行后都會有相應(yīng)的信息傳回到發(fā)卡器上,,這些信息包含了指令執(zhí)行情況的狀態(tài)字和數(shù)據(jù),。如果在執(zhí)行發(fā)卡命令時,向CPU卡發(fā)送的任意一條指令失敗,,就認(rèn)為CPU卡發(fā)卡失敗,,不再執(zhí)行后續(xù)的指令。
4 結(jié)論
本文設(shè)計的基于CPU卡的門禁系統(tǒng)有效地減少了門禁卡片復(fù)制的可能性,,在安全性上有了極大的提高,。同時用戶和管理人員在操作門禁系統(tǒng)的便利性上也有了極大的改善,目前該門禁系統(tǒng)已投入生產(chǎn)并得到使用,。
參考文獻(xiàn)
[1] 張建軍,,包國峰,馬一兵.FM1208非接觸CPU卡讀寫系統(tǒng)的研制[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,,2009(12):56-59.
[2] 程偉,,何俊華.基于MFRC530的非接觸式IC讀卡系統(tǒng)設(shè)計[C].微計算機(jī)信息,2009(7):1013-1017.
[3] 復(fù)旦微電子股份有限公司.新版FMCOS2.0設(shè)計手冊 [EB/OL].(2008-05)[2016-04].http://www.fmsh.com/index.shtml.
[4] 新華龍電子有限公司.C8051F340/1/2/3/4/5/6/7全速USB FLASH型微控制器數(shù)據(jù)手冊[EB/OL].(2016-01)[2016-04].http://www.xhl.com.cn.
[5] 隋紹勇,,孫義卓,,莊克良.基于CPLD和MT8880的遠(yuǎn)程控制及播音系統(tǒng)設(shè)計[J].電子元器件應(yīng)用,2011,,13(1):14-16.
[6] 凌志比高科技有限公司.HD7279A串行接口8位LED數(shù)碼管及64鍵鍵盤智能控制芯片數(shù)據(jù)手冊[EB/OL].(2001-12)[2016-04].http://www.bitcode.com.cn.
[7] 薛琳,,魏蘭磊,朱述川,,等.基于GPRS和RFID技術(shù)的門禁控制系統(tǒng)[J].電子技術(shù)應(yīng)用,,2012,38(6):145-148.
作者信息:
黃鶴松,,劉容良,,郭恒蘭,魏國招
(山東科技大學(xué) 電氣與自動化工程學(xué)院,,山東 青島266590)