陳建明,孟 晗
(華北水利水電學(xué)院,河南鄭州450011)
門禁系統(tǒng)是對(duì)出入口安全進(jìn)行管理控制的系統(tǒng),它不僅可以禁止非權(quán)限人員進(jìn)入,而且可以對(duì)部門內(nèi)部進(jìn)行有序化管理.隨著自動(dòng)控制技術(shù)、現(xiàn)代通信技術(shù)和計(jì)算機(jī)技術(shù)的快速發(fā)展,門禁系統(tǒng)也需要向更加智能化、網(wǎng)絡(luò)化和對(duì)數(shù)據(jù)進(jìn)行集中管理的方向發(fā)展,這就需要將更加完善的技術(shù)應(yīng)用于門禁系統(tǒng)中.
指紋因具有生物差異性,在門禁系統(tǒng)中具有廣泛應(yīng)用,但仍存在一定不安全因素,如權(quán)限人員被非權(quán)限人員尾隨或挾持,權(quán)限人員未經(jīng)許可搬走部門重要儀器等.為解決這一問(wèn)題,在指紋識(shí)別后對(duì)欲出入人員進(jìn)行稱重,稱重結(jié)果在一定范圍內(nèi)(該范圍可調(diào))的人才可通過(guò)受控門,這樣有效地防止了尾隨和儀器被盜事件的發(fā)生,提高了系統(tǒng)的安全性.
為方便后臺(tái)計(jì)算機(jī)及時(shí)掌握各出入口人員的進(jìn)出情況,需實(shí)現(xiàn)系統(tǒng)的網(wǎng)絡(luò)通訊功能.一般來(lái)說(shuō),實(shí)現(xiàn)系統(tǒng)的網(wǎng)絡(luò)通訊功能有如下幾種方案:①使用自主編程的TCP/IP協(xié)議[1].利用現(xiàn)場(chǎng)可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)豐富的 IP 資源和IP復(fù)用技術(shù),使用硬件編程語(yǔ)言設(shè)計(jì)TCP/IP協(xié)議的硬件電路.該方法的優(yōu)點(diǎn)是可裁剪性好,專用性強(qiáng),缺點(diǎn)是開(kāi)發(fā)難度較高,開(kāi)發(fā)周期較長(zhǎng).②使用操作系統(tǒng)直接入網(wǎng)[2].即通過(guò)在設(shè)備中集成操作系統(tǒng)和TCP/IP協(xié)議完成嵌入式設(shè)備入網(wǎng)要求.③使用硬件固化的 TCP/IP協(xié)議棧芯片[3].考慮到自主編程協(xié)議和植入操作系統(tǒng)、TCP/IP協(xié)議需要較長(zhǎng)的開(kāi)發(fā)周期,采用硬件TCP/IP協(xié)議棧W5100芯片實(shí)現(xiàn)以太網(wǎng)接口.
門禁系統(tǒng)中有多種傳感器信號(hào),如對(duì)實(shí)時(shí)性要求較高的中斷信號(hào)、受控門的開(kāi)啟狀態(tài)信號(hào)、轉(zhuǎn)柵當(dāng)前的位置信號(hào)等.為保證信號(hào)的及時(shí)處理和系統(tǒng)的快速運(yùn)行,處理器選用具有豐富IP資源和并行處理方式的FPGA來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)化的智能門禁系統(tǒng)[4].
通道分為進(jìn)門和出門2個(gè)方向,各有一個(gè)指紋閱讀器、信號(hào)燈指示狀態(tài)和電磁鐵控制器.門禁控制器將指紋閱讀器采集到的指紋信息進(jìn)行預(yù)處理、特征提取和比對(duì),比對(duì)通過(guò)后發(fā)一個(gè)信號(hào)給數(shù)據(jù)處理電路.數(shù)據(jù)處理電路接收到信號(hào)后計(jì)算AD7705芯片采集到的秤臺(tái)上人員重量信息,不超過(guò)閾值則檢測(cè)門是否為正常狀態(tài),若為正常狀態(tài)則控制電磁鐵執(zhí)行放行動(dòng)作,對(duì)應(yīng)信號(hào)燈綠燈亮,對(duì)受控門的執(zhí)行器件給出放行命令;如超過(guò)閾值,則對(duì)電磁鐵給出禁行命令.人員進(jìn)出情況將通過(guò)W5100網(wǎng)絡(luò)傳輸給后臺(tái)計(jì)算機(jī).采用可編程片上系統(tǒng)(System On a Progra rnmable-Chip,SOPC)配置 Nios II軟核處理器,使處理器作為門禁系統(tǒng)CPU控制外設(shè),完成門禁功能,SDRAM存儲(chǔ)器和Flash存儲(chǔ)器用于存儲(chǔ)系統(tǒng)運(yùn)行過(guò)程中的數(shù)據(jù)和程序,EPCS配置器件用于存儲(chǔ)FP-GA的配置數(shù)據(jù).系統(tǒng)的硬件結(jié)構(gòu)框圖如圖1所示.
圖1 系統(tǒng)結(jié)構(gòu)框圖
采用Altera公司的EP2C5Q208芯片,嵌入NiosⅡ快速軟核處理器,系統(tǒng)時(shí)鐘為50 MHz,在SOPC Builder中配置的主要資源有Onchip RAM、Onchip ROM、Interval timer、System ID Peripheral、SDRAM 控制器、CFI Controller、W5100 接口、AD7705 接口、指紋接口、PIO.
采用AD公司生產(chǎn)的16位高性能、低功耗的AD7705芯片,它包括由緩沖器和增益可編程放大器組成的前端模擬調(diào)節(jié)電路、電荷平衡式調(diào)節(jié)器以及可編程數(shù)字濾波器等,可對(duì)來(lái)自傳感器的微弱信號(hào)進(jìn)行A/D轉(zhuǎn)換.AD7705采用串行接口,選用其主時(shí)鐘信號(hào)MCLK的頻率為4.915 2 MHz,F(xiàn)PGA芯片與芯片AD7705的連接如圖2所示.
圖2 AD7705與FPGA的連接圖
AD7705的所有寄存器操作都必須通過(guò)寫通信寄存器來(lái)對(duì)其他寄存器操作.通信寄存器中的/DRDY位為數(shù)據(jù)準(zhǔn)備就緒的狀態(tài)位,低電平時(shí)表示轉(zhuǎn)換數(shù)據(jù)可讀取,高電平表示不可讀取.但當(dāng)對(duì)通信寄存器進(jìn)行寫操作時(shí),該位必須為“0”.AD7705初始化后,先對(duì)通信寄存器進(jìn)行寫操作,設(shè)置下個(gè)操作對(duì)象為時(shí)鐘寄存器,然后對(duì)時(shí)鐘寄存器設(shè)置.同樣方法對(duì)設(shè)置寄存器中的工作模式、校準(zhǔn)、增益等參數(shù)進(jìn)行設(shè)置,設(shè)置完成后將通信寄存器指向數(shù)據(jù)寄存器,監(jiān)測(cè)DRDY信號(hào)狀態(tài).當(dāng)該信號(hào)為低時(shí),在MCLK的下降沿時(shí)通過(guò)DO口讀入FPGA芯片中.
W5100是WIZnet公司生產(chǎn)的單片網(wǎng)絡(luò)接口芯片,內(nèi)部集成10 M/100 M以太網(wǎng)控制器,可以實(shí)現(xiàn)沒(méi)有操作系統(tǒng)的網(wǎng)絡(luò)連接.支持多種網(wǎng)絡(luò)協(xié)議,系統(tǒng)選用面向連接的TCP協(xié)議.
W5100與MCU有直接總線接口、間接總線接口和SPI總線接口3種接口方式.系統(tǒng)采用直接總線接口方式,即使用15位地址線,8位數(shù)據(jù)線,/CS,/RD,/WR和/INT信號(hào)線進(jìn)行接口連接.W5100的工作時(shí)鐘為25 MHz,EP2C5Q208的頻率為50 MHz,經(jīng)過(guò)一次分頻即可為W5100提供工作時(shí)鐘.
系統(tǒng)中NiosⅡ軟核處理器為32位,W5100的數(shù)據(jù)寬度為8位,系統(tǒng)中主從端口數(shù)據(jù)寬度不同,必須處理地址對(duì)齊問(wèn)題.主從外設(shè)端口使用靜態(tài)地址對(duì)齊,當(dāng)主端口從從端口讀取數(shù)據(jù)時(shí),從端口的數(shù)據(jù)位映射到主端口數(shù)據(jù)的低位,主端口數(shù)據(jù)的高位補(bǔ)零.
NiosⅡIDE是SOPC系統(tǒng)的軟件開(kāi)發(fā)環(huán)境,用戶通過(guò)該軟件設(shè)計(jì)C/C++應(yīng)用程序代碼,使用Alter公司提供的外設(shè)驅(qū)動(dòng)程序和硬件抽象層(HAL)快速編寫 NIiosⅡ程序,而不需關(guān)注低級(jí)硬件細(xì)節(jié)[5].
為采集到較準(zhǔn)確的稱重?cái)?shù)據(jù),AD7705編程時(shí)采用去極值平均濾波法,該算法為:建立一個(gè)固定長(zhǎng)度的隊(duì)列,對(duì)體重值進(jìn)行一次新采樣時(shí)采得該隊(duì)列長(zhǎng)度個(gè)數(shù)值,先用中值濾波法濾除采樣值中的干擾,即剔除隊(duì)列中的最大值和最小值,再用算術(shù)平均法算出余下采樣值的平均值就是本次采樣的體重值.
考慮到權(quán)限人員的體重會(huì)發(fā)生變化,且儀器的更新也會(huì)使得對(duì)閾值的需求產(chǎn)生變化,管理人員可根據(jù)實(shí)際情況隨時(shí)調(diào)節(jié)閾值大小,暫設(shè)置可通過(guò)的體重波動(dòng)范圍為5 kg.在一次“放行”動(dòng)作完成后,將人員的實(shí)時(shí)體重及時(shí)更新到存儲(chǔ)器中.
為便于查看人員出入情況,用VC語(yǔ)言編寫了后臺(tái)計(jì)算機(jī)的顯示界面,如圖3所示.
圖3 顯示界面
采用SOPC技術(shù),通過(guò)添加NiosⅡ嵌入式內(nèi)核及外設(shè)的硬件配置、編寫C應(yīng)用程序代碼,控制AD7705和硬件網(wǎng)絡(luò)協(xié)議芯片W5100完成重量識(shí)別和網(wǎng)絡(luò)通訊的功能,增加了利用指紋識(shí)別的門禁系統(tǒng)的安全性.并用VC編程搭建用戶界面,實(shí)現(xiàn)了智能化、網(wǎng)絡(luò)化的門禁系統(tǒng).
[1]陳維良,趙俊超,魏少軍,等.TCP/IP協(xié)議的ASIC設(shè)計(jì)與實(shí)現(xiàn)[J].微電子學(xué),2002(2):97-101.
[2]廖凌,劉旭儒,史儀凱.一種基于C/OS-II的嵌入式以太網(wǎng)通信實(shí)現(xiàn)方法[J].計(jì)算機(jī)測(cè)量與控制,2010,18(3):1142-1144.
[3]蔣峰.W5100在遠(yuǎn)程溫度采集系統(tǒng)中的應(yīng)用[J].化工自動(dòng)化及儀表,2011,38(2):214 -217.
[4]任愛(ài)鋒.基于FPGA的嵌入式系統(tǒng)設(shè)計(jì)[M].西安:西安電子科技大學(xué)出版社,2004.
[5]周立功.SOPC嵌入式系統(tǒng)基礎(chǔ)教程[M].北京:北京航空航天大學(xué)出版社,2006.