《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 一種基于CPU卡的門(mén)禁系統(tǒng)的設(shè)計(jì)
一種基于CPU卡的門(mén)禁系統(tǒng)的設(shè)計(jì)
2017年電子技術(shù)應(yīng)用第1期
黃鶴松,劉容良,郭恒蘭,魏國(guó)招
山東科技大學(xué) 電氣與自動(dòng)化工程學(xué)院,山東 青島266590
摘要: 針對(duì)傳統(tǒng)門(mén)禁系統(tǒng)采用普通IC卡存在可被破解的安全問(wèn)題,設(shè)計(jì)了一種基于FM1208-10型號(hào)CPU卡和新華龍C8051F340微控制器的門(mén)禁系統(tǒng)。該門(mén)禁系統(tǒng)集成了MFRC530射頻讀卡模塊和SIM900A GPRS通信模塊,采用CPU卡作為用戶(hù)驗(yàn)證卡片,解決了傳統(tǒng)的門(mén)禁系統(tǒng)安全性低、管理人員操作麻煩等缺點(diǎn)。
中圖分類(lèi)號(hào): TN409;TP29
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2017.01.036
中文引用格式: 黃鶴松,劉容良,郭恒蘭,等. 一種基于CPU卡的門(mén)禁系統(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ā)展,門(mén)禁系統(tǒng)已經(jīng)成為企業(yè)、學(xué)校、公寓出入口管理不可或缺的一部分。目前市場(chǎng)上大部分的射頻卡門(mén)禁系統(tǒng)多采用普通IC卡開(kāi)門(mén),自從2008年德國(guó)研究員亨里克·普洛茨和美國(guó)弗吉尼亞大學(xué)計(jì)算機(jī)科學(xué)在讀博士卡爾斯滕·諾爾破解了恩智浦半導(dǎo)體的Mifare經(jīng)典芯片的安全算法起,傳統(tǒng)射頻卡門(mén)禁系統(tǒng)在安全性上便具有了巨大的安全隱患[1]。本文設(shè)計(jì)了一種具有更高安全性的基于CPU卡的門(mén)禁系統(tǒng)。

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

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

jsj2-t1.gif

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

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

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

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

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

jsj2-t2.gif

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

2.2 FM1208-10 CPU卡

    由復(fù)旦微電子公司開(kāi)發(fā)的FM1208-10 CPU卡是一款具有多種應(yīng)用和很高安全性的CPU卡。其工作原理類(lèi)似于一臺(tái)微型計(jì)算機(jī),在其內(nèi)部安裝了復(fù)旦微電子公司開(kāi)發(fā)的CPU卡操作系統(tǒng)FMCOS。整個(gè)CPU卡支持DES、3DES加密算法、線(xiàn)路加密保護(hù)等功能。一張CPU卡上可以建立三級(jí)目錄,在本門(mén)禁系統(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í)所必須要滿(mǎn)足的條件。安全機(jī)制就是從某種安全狀態(tài)到另一種狀態(tài)要采取的方法[3]。簡(jiǎn)言之,當(dāng)門(mén)禁終端或發(fā)卡器要讀取CPU卡的某個(gè)文件時(shí),CPU卡會(huì)判斷當(dāng)前安全狀態(tài)寄存器的值是否達(dá)到了文件的操作權(quán)限,如果達(dá)到了就繼續(xù)操作,否則需要門(mén)禁系統(tǒng)發(fā)送外部驗(yàn)證來(lái)重設(shè)安全狀態(tài)寄存器的值。

2.3 微控制器選擇

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

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

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

jsj2-t4.gif

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

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

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

2.6 其他電路

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

    在電源模塊上采用了開(kāi)關(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]。

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

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

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

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

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

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

jsj2-t5.gif

    門(mén)禁終端在識(shí)別CPU卡時(shí),首先門(mén)禁終端會(huì)通過(guò)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ì)成功即打開(kāi)樓宇門(mén)。

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

    作為門(mén)禁系統(tǒng)設(shè)計(jì),除了門(mén)禁終端外,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卡作為用戶(hù)的驗(yàn)證卡片在門(mén)禁系統(tǒng)中使用,發(fā)卡器需要將原來(lái)的文件系統(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卡的門(mén)禁系統(tǒng)有效地減少了門(mén)禁卡片復(fù)制的可能性,在安全性上有了極大的提高。同時(shí)用戶(hù)和管理人員在操作門(mén)禁系統(tǒng)的便利性上也有了極大的改善,目前該門(mén)禁系統(tǒng)已投入生產(chǎn)并得到使用。

參考文獻(xiàn)

[1] 張建軍,包國(guó)峰,馬一兵.FM1208非接觸CPU卡讀寫(xiě)系統(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鍵鍵盤(pán)智能控制芯片數(shù)據(jù)手冊(cè)[EB/OL].(2001-12)[2016-04].http://www.bitcode.com.cn.

[7] 薛琳,魏蘭磊,朱述川,等.基于GPRS和RFID技術(shù)的門(mén)禁控制系統(tǒng)[J].電子技術(shù)應(yīng)用,2012,38(6):145-148.



作者信息:

黃鶴松,劉容良,郭恒蘭,魏國(guó)招

(山東科技大學(xué) 電氣與自動(dòng)化工程學(xué)院,山東 青島266590)

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