《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 一種基于CPU卡的門禁系統(tǒng)的設(shè)計(jì)
一種基于CPU卡的門禁系統(tǒng)的設(shè)計(jì)
2017年電子技術(shù)應(yīng)用第1期
黃鶴松,劉容良,郭恒蘭,魏國招
山東科技大學(xué) 電氣與自動(dòng)化工程學(xué)院,山東 青島266590
摘要: 針對(duì)傳統(tǒng)門禁系統(tǒng)采用普通IC卡存在可被破解的安全問題,設(shè)計(jì)了一種基于FM1208-10型號(hào)CPU卡和新華龍C8051F340微控制器的門禁系統(tǒng)。該門禁系統(tǒng)集成了MFRC530射頻讀卡模塊和SIM900A GPRS通信模塊,采用CPU卡作為用戶驗(yàn)證卡片,解決了傳統(tǒng)的門禁系統(tǒng)安全性低、管理人員操作麻煩等缺點(diǎn)。
中圖分類號(hào): TN409;TP29
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2017.01.036
中文引用格式: 黃鶴松,劉容良,郭恒蘭,等. 一種基于CPU卡的門禁系統(tǒng)的設(shè)計(jì)[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.
The design of access control system on CPU card
Huang Hesong,Liu Rongliang,Guo Henglan,Wei Guozhao
College of Electrical and Automation Engineering,Shandong University of Science and Technology,Qingdao 266590,China
Abstract: Aiming at the safety problem of common IC card used by traditional access control system can be cracked, a kind of access control system based on CPU card and C8051F340 is designed. The access control system integrated the card reader based on MFRC530 and the GPRS communication module based on SIM900A solve the traditional access control system’s problem of safety and management.
Key words : CPU card;RF card reader module;C8051F340;access control system

0 引言

    隨著計(jì)算機(jī)技術(shù)和通信技術(shù)的不斷發(fā)展,門禁系統(tǒng)已經(jīng)成為企業(yè)、學(xué)校、公寓出入口管理不可或缺的一部分。目前市場上大部分的射頻卡門禁系統(tǒng)多采用普通IC卡開門,自從2008年德國研究員亨里克·普洛茨和美國弗吉尼亞大學(xué)計(jì)算機(jī)科學(xué)在讀博士卡爾斯滕·諾爾破解了恩智浦半導(dǎo)體的Mifare經(jīng)典芯片的安全算法起,傳統(tǒng)射頻卡門禁系統(tǒng)在安全性上便具有了巨大的安全隱患[1]。本文設(shè)計(jì)了一種具有更高安全性的基于CPU卡的門禁系統(tǒng)。

1 系統(tǒng)的功能與結(jié)構(gòu)

    設(shè)計(jì)的門禁系統(tǒng)包含門禁終端、發(fā)卡器和上位機(jī)三部分。門禁系統(tǒng)與上位機(jī)通過GPRS網(wǎng)絡(luò)或串口通信實(shí)現(xiàn)門禁終端以及發(fā)卡器的用戶信息同步。在硬件上,門禁系統(tǒng)發(fā)卡器采用了與門禁終端射頻讀卡電路類似的設(shè)計(jì),本文只介紹門禁終端硬件設(shè)計(jì)。門禁終端主要由以下幾個(gè)部分組成:射頻讀卡模塊、GPRS通信模塊、鍵盤顯示模塊、存儲(chǔ)模塊以及功放模塊。門禁終端的結(jié)構(gòu)如圖1所示。

jsj2-t1.gif

    當(dāng)住戶需要進(jìn)出時(shí),可以從鍵盤直接輸入住戶號(hào)以及密碼開門或者刷CPU卡開門。當(dāng)用戶通過鍵盤輸入住戶號(hào)及密碼或通過刷CPU卡時(shí),微控制器從鍵盤或射頻讀卡模塊讀取用戶的信息,并與存儲(chǔ)器內(nèi)的用戶信息進(jìn)行比對(duì),如信息驗(yàn)證成功則打開電磁鎖,否則門禁終端通過功放模塊進(jìn)行語音提示。若是來訪人員則僅需要通過門禁終端直接撥打住戶的電話,住戶可以用手機(jī)遠(yuǎn)程操控門禁開門。對(duì)于管理人員,可通過上位機(jī)或者手機(jī)短信將用戶的信息從門禁終端存儲(chǔ)器寫入或擦除來實(shí)現(xiàn)門禁系統(tǒng)的管理。

2 硬件設(shè)計(jì)

    門禁終端的硬件部分主要為射頻讀卡電路、微控制器電路、GPRS通信電路以及鍵盤顯示電路等。

2.1 射頻讀卡電路設(shè)計(jì)

    MFRC530是一款由NXP公司生產(chǎn)、工作在13.56 MHz頻率且支持ISO14443A協(xié)議的射頻芯片,其有效識(shí)別距離能達(dá)到10 cm[2]。該芯片可以兼容SPI接口,可以有效節(jié)省微控制器的GPIO資源。在與CPU卡的通信過程中,芯片支持的CRC校驗(yàn)和奇偶校驗(yàn)?zāi)苡行г黾油ㄐ诺臏?zhǔn)確性。采用了三電源設(shè)計(jì),對(duì)于芯片的數(shù)字部分、模擬部分和驅(qū)動(dòng)部分用不同的電源供電。具體硬件電路如圖2所示。

jsj2-t2.gif

    TX1OUT、TX2OUT以及RXANT為芯片連接天線的接口。芯片通過天線向外發(fā)射13.56 MHz的能量載波,如果CPU卡產(chǎn)生應(yīng)答信號(hào),其信息會(huì)附加到能量載波上,經(jīng)過拾取電路傳到RX引腳上。MFRC530內(nèi)部將得到的信息進(jìn)行處理,以A2、A0、ALE、D0 4個(gè)引腳作為SPI接口與單片機(jī)進(jìn)行通信。

2.2 FM1208-10 CPU卡

    由復(fù)旦微電子公司開發(fā)的FM1208-10 CPU卡是一款具有多種應(yīng)用和很高安全性的CPU卡。其工作原理類似于一臺(tái)微型計(jì)算機(jī),在其內(nèi)部安裝了復(fù)旦微電子公司開發(fā)的CPU卡操作系統(tǒng)FMCOS。整個(gè)CPU卡支持DES、3DES加密算法、線路加密保護(hù)等功能。一張CPU卡上可以建立三級(jí)目錄,在本門禁系統(tǒng)所使用的CPU卡中,只建立了二級(jí)目錄。其文件體系如圖3所示。

jsj2-t3.gif

    CPU卡的高安全性主要體現(xiàn)在CPU卡的安全體系上,其安全體系主要分三大部分:安全狀態(tài)、安全屬性和安全機(jī)制。安全狀態(tài)指的是CPU卡當(dāng)前所處的安全級(jí)別。安全屬性指的是對(duì)文件執(zhí)行某個(gè)操作時(shí)所必須要滿足的條件。安全機(jī)制就是從某種安全狀態(tài)到另一種狀態(tài)要采取的方法[3]。簡言之,當(dāng)門禁終端或發(fā)卡器要讀取CPU卡的某個(gè)文件時(shí),CPU卡會(huì)判斷當(dāng)前安全狀態(tài)寄存器的值是否達(dá)到了文件的操作權(quán)限,如果達(dá)到了就繼續(xù)操作,否則需要門禁系統(tǒng)發(fā)送外部驗(yàn)證來重設(shè)安全狀態(tài)寄存器的值。

2.3 微控制器選擇

    本文設(shè)計(jì)的門禁系統(tǒng)采用新華龍C8051F340作為微控制器,其具有64 KB 片內(nèi)Flash和4 352 B的片內(nèi)RAM[4],能滿足整個(gè)門禁系統(tǒng)程序運(yùn)行的需要,另外該微控制器具有2個(gè)UART、1個(gè)SPI接口和足夠多的GPIO口,滿足了門禁系統(tǒng)的硬件設(shè)計(jì)需要。該芯片本身內(nèi)部集成的Silicon Labs二線開發(fā)接口可以支持芯片在線調(diào)試,這在門禁系統(tǒng)的開發(fā)過程中提供了很大的便利。C8051F340具有可編程數(shù)字IO和交叉開關(guān),可將內(nèi)部資源隨意鎖定在相應(yīng)IO口上,可以使PCB整體布局更加合理整潔。在這里門禁系統(tǒng)的微控制器采用了典型的外圍電路,具體可以參照技術(shù)手冊(cè)[4]。 

2.4 GPRS通信模塊及音頻解碼電路選擇

    為方便管理人員以及用戶遠(yuǎn)程操控門禁終端,選擇SIMCOM公司的SIM900A 作為遠(yuǎn)程GPRS通信模塊。SIM900A使用簡單,設(shè)計(jì)人員只需要通過AT指令即可完成對(duì)其的操作;且具有較低的功耗,當(dāng)模塊工作在待機(jī)模式時(shí),系統(tǒng)的電流僅1 mA。在本系統(tǒng)中主要應(yīng)用了SIM900A的串口、音頻接口、天線接口以及電源接口等。在SIM900A音頻接口處門禁終端還添加了以MT8870為主體的雙音頻解碼電路。圖4為雙音頻解碼電路[5],這個(gè)電路可以接收DTMF(雙音多頻)信號(hào),是一個(gè)完整的DTMF接收器。在接收了DTMF信號(hào)后,內(nèi)部將信號(hào)分成高頻帶和低頻帶,并將此信號(hào)送至數(shù)字譯碼器,通過數(shù)字譯碼器解出鍵值。當(dāng)來訪人員通過門禁終端與住戶進(jìn)行語音通話時(shí),用戶如果允許其進(jìn)入樓宇,可以通過手機(jī)的相關(guān)按鍵向門禁終端發(fā)送開門指令。

jsj2-t4.gif

2.5 鍵盤及顯示驅(qū)動(dòng)芯片選擇

    為了節(jié)省微處理器的GPIO資源和CPU運(yùn)行程序時(shí)的負(fù)擔(dān),本設(shè)計(jì)選擇具有串行接口的數(shù)碼管和鍵盤智能控制芯片HD7279。該芯片可控制最多64個(gè)鍵盤和8位共陰式數(shù)碼管,LED數(shù)碼管可無需外圍原件直接驅(qū)動(dòng),內(nèi)含鍵盤去抖電路,增加了鍵盤按鍵的可靠性[6]。在本系統(tǒng)中,共設(shè)計(jì)了13個(gè)按鍵和8位LED數(shù)碼管作為用戶操作面板。

    用戶從鍵盤輸入住戶號(hào)和密碼時(shí),其信息會(huì)在數(shù)碼管上顯示。當(dāng)信息輸入完畢時(shí),按下“#”鍵,單片機(jī)會(huì)把從HD7279得到的數(shù)據(jù)進(jìn)行處理。當(dāng)住戶號(hào)和密碼正確時(shí),門禁終端會(huì)打開樓宇門。來訪人員需要輸入住戶號(hào)和住戶電話號(hào)碼,門禁終端會(huì)從存儲(chǔ)器中比對(duì)信息,防止騷擾電話,當(dāng)住戶號(hào)和電話號(hào)碼正確時(shí),系統(tǒng)會(huì)向住戶撥打電話,住戶可以使用電話按鍵遠(yuǎn)程操控門禁終端。

2.6 其他電路

    整個(gè)門禁終端除了包含以上模塊外,還包含了電源模塊、Flash存儲(chǔ)模塊和語音存儲(chǔ)模塊等。

    在電源模塊上采用了開關(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實(shí)現(xiàn)5 V到3.3 V的轉(zhuǎn)換,為單片機(jī)以及存儲(chǔ)器等器件供電[7]。

    用戶在刷卡開門或按鍵開門時(shí),系統(tǒng)都需要進(jìn)行信息比對(duì),判斷能否開門。為了記錄用戶信息,需要采用掉電保存的大容量Flash存儲(chǔ)芯片。設(shè)計(jì)中選擇了AT45DB041D作為存儲(chǔ)模塊的主芯片。該存儲(chǔ)器具有4 MB內(nèi)存,分為2 048頁,每頁264 B。除主內(nèi)存之外,AT45-DB041D還有2個(gè)264 B的SRAM數(shù)據(jù)緩存,每個(gè)緩存使得主內(nèi)存的一頁正在編程的同時(shí)可以接收數(shù)據(jù)。

    在用戶從鍵盤輸入信息時(shí),需要有語音提示來指示輸入信息正確與否。本設(shè)計(jì)采用一次性編程語音芯片AP89170來存儲(chǔ)語音提示。AP89170采用標(biāo)準(zhǔn)的CMOS工藝制作而成,存儲(chǔ)空間4 MB。在6 KB采樣率下存儲(chǔ)語音時(shí)長達(dá)170 s,滿足了系統(tǒng)語音提示的需要。

3 程序設(shè)計(jì)

    整個(gè)門禁系統(tǒng)的程序設(shè)計(jì)包含三大部分:門禁終端程序、發(fā)卡器程序和上位機(jī)程序。這里只介紹與硬件設(shè)計(jì)相關(guān)的門禁終端程序以及發(fā)卡器程序。

3.1 門禁終端程序設(shè)計(jì)

    門禁終端主程序設(shè)計(jì)思想是: 當(dāng)有CPU卡進(jìn)入到射頻讀卡模塊的工作范圍內(nèi)以后,門禁處主機(jī)通過射頻讀卡模塊獲得該卡的卡號(hào)信息,并對(duì)存儲(chǔ)器進(jìn)行讀操作,檢查該卡號(hào)信息在系統(tǒng)中是否存在,如果存在,則打開電磁鎖。如果鍵盤有按鍵按下,則語音提示“請(qǐng)輸入房間號(hào)碼”,對(duì)存儲(chǔ)器進(jìn)行讀操作,判斷該房間號(hào)是否正確,如果正確則語音提示“請(qǐng)輸入密碼”,密碼正確則撥打該住戶綁定的電話號(hào)碼,若系統(tǒng)檢測到住戶按下電話上的“*”鍵作為回復(fù),系統(tǒng)自動(dòng)打開樓宇門。門禁終端主程序包括系統(tǒng)的初始化、系統(tǒng)的自檢、讀卡程序、中斷服務(wù)程序等。圖5為門禁終端主程序的流程圖。

jsj2-t5.gif

    門禁終端在識(shí)別CPU卡時(shí),首先門禁終端會(huì)通過MF RC530發(fā)出請(qǐng)求命令REQA,如果尋卡區(qū)域內(nèi)有卡片,則會(huì)返回請(qǐng)求應(yīng)答ATQA,成功后刷卡模塊進(jìn)入防沖突環(huán),從多張卡片選出一張卡片并發(fā)送選擇命令RATS??ㄆ瑫?huì)返回選擇應(yīng)答請(qǐng)求ATS,ATS中包含了生產(chǎn)廠家、COS版本以及卡號(hào)等信息。射頻模塊得到卡號(hào)后,會(huì)發(fā)送選擇文件指令和取隨機(jī)數(shù)指令,從而完成外部驗(yàn)證。若外部驗(yàn)證成功,則讀取二進(jìn)制文件,并判斷文件內(nèi)容。若所有指令均執(zhí)行成功,將獲得的卡號(hào)與Flash存儲(chǔ)器的內(nèi)容比對(duì),若比對(duì)成功即打開樓宇門。

3.2 門禁系統(tǒng)發(fā)卡程序設(shè)計(jì)

    作為門禁系統(tǒng)設(shè)計(jì),除了門禁終端外,CPU卡發(fā)卡器設(shè)計(jì)也十分重要。當(dāng)一張F(tuán)M1208-10的CPU卡出廠時(shí),其內(nèi)部已經(jīng)加載了FMCOS系統(tǒng)。默認(rèn)的FMCOS系統(tǒng)會(huì)在卡片存儲(chǔ)器內(nèi)建立主文件MF和16 B 0xFF的主文件密鑰。為了將CPU卡作為用戶的驗(yàn)證卡片在門禁系統(tǒng)中使用,發(fā)卡器需要將原來的文件系統(tǒng)清洗掉并建立自己的文件系統(tǒng)。圖6為發(fā)卡器主程序流程圖。

jsj2-t6.gif

    圖7為發(fā)卡器在發(fā)卡時(shí)的指令流程,發(fā)卡器在向CPU卡發(fā)送指令時(shí),每條指令執(zhí)行后都會(huì)有相應(yīng)的信息傳回到發(fā)卡器上,這些信息包含了指令執(zhí)行情況的狀態(tài)字和數(shù)據(jù)。如果在執(zhí)行發(fā)卡命令時(shí),向CPU卡發(fā)送的任意一條指令失敗,就認(rèn)為CPU卡發(fā)卡失敗,不再執(zhí)行后續(xù)的指令。

jsj2-t7.gif

4 結(jié)論

    本文設(shè)計(jì)的基于CPU卡的門禁系統(tǒng)有效地減少了門禁卡片復(fù)制的可能性,在安全性上有了極大的提高。同時(shí)用戶和管理人員在操作門禁系統(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è)計(jì)[C].微計(jì)算機(jī)信息,2009(7):1013-1017.

[3] 復(fù)旦微電子股份有限公司.新版FMCOS2.0設(shè)計(jì)手冊(cè) [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ù)手冊(cè)[EB/OL].(2016-01)[2016-04].http://www.xhl.com.cn.

[5] 隋紹勇,孫義卓,莊克良.基于CPLD和MT8880的遠(yuǎn)程控制及播音系統(tǒng)設(shè)計(jì)[J].電子元器件應(yīng)用,2011,13(1):14-16.

[6] 凌志比高科技有限公司.HD7279A串行接口8位LED數(shù)碼管及64鍵鍵盤智能控制芯片數(shù)據(jù)手冊(cè)[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é) 電氣與自動(dòng)化工程學(xué)院,山東 青島266590)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。