亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于FPGA 的密碼和指紋同步解鎖系統(tǒng)設(shè)計(jì)

        2023-02-23 03:30:32馬瑞成趙小珍
        電子設(shè)計(jì)工程 2023年4期
        關(guān)鍵詞:信號(hào)設(shè)計(jì)

        馬瑞成,趙小珍,屈 軍

        (1.安徽師范大學(xué)物理與電子信息學(xué)院,安徽蕪湖 241000;2.長(zhǎng)沙湘計(jì)海盾科技有限公司,湖南長(zhǎng)沙 410000)

        隨著社會(huì)科技水平的逐步提高和對(duì)隱私保護(hù)意識(shí)的增強(qiáng),用戶對(duì)于數(shù)字設(shè)備的安全性能提出了更高的要求。傳統(tǒng)的電子密碼鎖主要利用單片機(jī)進(jìn)行驅(qū)動(dòng),而基于單片機(jī)運(yùn)行的密碼鎖設(shè)計(jì)較簡(jiǎn)單,但容易產(chǎn)生跑飛的現(xiàn)象,生成的解鎖系統(tǒng)不太穩(wěn)定[1-2],且容易造成密碼的泄露。因此,指紋密碼鎖得以迅速發(fā)展,指紋相較于數(shù)字密碼具有唯一、安全和方便攜帶等優(yōu)點(diǎn),而實(shí)際應(yīng)用中大多數(shù)指紋識(shí)別是利用DSP(數(shù)字信號(hào)處理)[3]或ARM[4]設(shè)計(jì)完成的嵌入式系統(tǒng),造成設(shè)計(jì)周期長(zhǎng)且外部電路復(fù)雜,很難實(shí)現(xiàn)集成化和小型化,導(dǎo)致指紋識(shí)別在小型化數(shù)字設(shè)備應(yīng)用中受到了限制[5]。

        FPGA 作為一種片上可編程可半定制的器件,具有功耗低、開發(fā)周期短和集成度高等特點(diǎn)[6],并廣泛應(yīng)用于通信、顯示和網(wǎng)絡(luò)等領(lǐng)域。該文介紹了基于FPGA 為密碼解鎖系統(tǒng)的核心器件,借助自頂向下的設(shè)計(jì)方法,驅(qū)動(dòng)各模塊完成相應(yīng)的功能,最終組合成完整的解鎖系統(tǒng)。

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

        1.1 設(shè)計(jì)思路

        系統(tǒng)的硬件部分主要為Altera 公司生產(chǎn)的Cyclone ⅣE系列的EP4CE10F17C8芯片,大約有10 K的邏輯單元,速度等級(jí)約為400 MHz,系統(tǒng)采用PCB封裝,滿足設(shè)計(jì)要求。系統(tǒng)主要包括按鍵模塊、指紋模塊和解鎖模塊,其中,核心設(shè)計(jì)是按鍵和指紋模塊的同步解鎖,通過矩陣鍵盤和電容傳感器采集密碼,以FPGA 芯片為控制中心,驅(qū)動(dòng)各模塊完成密碼驗(yàn)證,并輸出最終的判斷結(jié)果。

        系統(tǒng)的工作流程如圖1 所示,系統(tǒng)上電后實(shí)時(shí)檢測(cè)是否有按鍵輸入,若上電后檢測(cè)到復(fù)位信號(hào)為高電平,則所有信號(hào)清零;若檢測(cè)到修改密碼信號(hào)為高電平,則進(jìn)入密碼修改狀態(tài);若檢測(cè)到其他按鍵值,則表明進(jìn)入密碼輸入狀態(tài),密碼輸入完成后與初始密碼進(jìn)行對(duì)比,接著進(jìn)行指紋采集和驗(yàn)證,若電子密碼正確且指紋識(shí)別成功,則綠燈亮,解鎖成功;若電子密碼或指紋識(shí)別中有一個(gè)錯(cuò)誤或兩個(gè)都錯(cuò),則紅燈亮,蜂鳴器發(fā)出警報(bào),解鎖失敗。

        圖1 系統(tǒng)工作流程圖

        1.2 電子密碼部分

        數(shù)碼管:數(shù)碼管的實(shí)質(zhì)就是由多個(gè)發(fā)光二極管組合形成的一種元器件。將所有的發(fā)光二極管陽極連接在一起形成公共陽極COM,上電后COM 接+5 V,如果其中一段二極管的陰極為低電平,則該段二極管被點(diǎn)亮。圖2 為3 位數(shù)碼管等效電路圖,其基本原理與8 位數(shù)碼管相同,將每個(gè)位數(shù)碼管的段選并聯(lián)起來,通過位選信號(hào)sel來控制數(shù)碼管。

        圖2 3位數(shù)碼管電路圖

        矩陣按鍵:按鍵模塊采用4×4 的矩陣鍵盤,共有8條控制線,分別為4條行控制線和4條列控制線,通過8 條控制線來控制16 個(gè)矩陣按鍵,有效地減少了I/O口的占用[7]。工作原理為4 根行控制線被上拉電阻拉到高電平,然后依次給列控制線發(fā)送低電平信號(hào),若每列的行信號(hào)電平都為高,則表明沒有按鍵按下,若其中一列的行信號(hào)為低電平,則表示有按鍵被按下,然后以讀到的行值通過序列機(jī)代碼判斷當(dāng)前哪一個(gè)按鍵被按下[8]。

        無源蜂鳴器:無源蜂鳴器驅(qū)動(dòng)電路如圖3 所示。電路設(shè)計(jì)中電容C36可有效提升電路的抗干擾能力;二極管D5 用于保護(hù)三極管;BEEP 端口接FPGA 的輸出管腳,工作時(shí)向BEEP 端口輸入2~5 kHz的PWM 波,即可驅(qū)動(dòng)蜂鳴器發(fā)出響聲。

        圖3 無源蜂鳴器驅(qū)動(dòng)電路

        1.3 指紋識(shí)別部分

        指紋識(shí)別的關(guān)鍵在于傳感器的選型,生活中主要使用的有半導(dǎo)體指紋傳感器和光學(xué)指紋傳感器,在設(shè)計(jì)中考慮到是智能設(shè)備的解鎖系統(tǒng),而光學(xué)指紋傳感器體積較大,在小型數(shù)字設(shè)備中的應(yīng)用受到了一定的限制,而半導(dǎo)體指紋傳感器體積小,識(shí)別靈敏度更高,因此,采用半導(dǎo)體指紋傳感器MBF200[9]。半導(dǎo)體指紋傳感器的工作原理是利用指紋紋路的凹凸不平,當(dāng)手指與半導(dǎo)體器件接觸時(shí),會(huì)形成數(shù)值不同的電容和電感,因此對(duì)采集到不同的電容、電感數(shù)值進(jìn)行匯總就類似于對(duì)指紋進(jìn)行采集。

        FPGA 與MBF200 的SPI 連接圖如圖4 所示,該方案的指紋部分設(shè)計(jì)中,在FPGA(主機(jī))上選取4 個(gè)通用GPIO 口,分別與指紋傳感器(從機(jī))的使能端口(/SCS)、時(shí)鐘端口(SCK)、主出從進(jìn)端口(MOSI)和主進(jìn)從出端口(MISO)采用SPI(串行外設(shè)接口)協(xié)議進(jìn)行連接通信[10]。

        圖4 FPGA與MBF200的SPI連接圖

        2 FPGA代碼設(shè)計(jì)

        系統(tǒng)使用Verilog HDL 語言對(duì)各模塊進(jìn)行編譯,采用Quartus II 和Modelsim 軟件對(duì)各模塊進(jìn)行編譯和仿真[11],在Quartus II 軟件上生成系統(tǒng)的RTL 圖,最終利用Quartus II 將程序燒錄至開發(fā)板上進(jìn)行板級(jí)驗(yàn)證。

        2.1 電子密碼部分

        2.1.1 數(shù)碼管顯示模塊設(shè)計(jì)

        該模塊的輸入信號(hào)有時(shí)鐘信號(hào)Clk、復(fù)位信號(hào)Rst_n、數(shù)碼管使能信號(hào)En 和8 個(gè)數(shù)碼管待顯示信號(hào)disp_data[31:0];輸出信號(hào)有位選信號(hào)sel[7:0]和段選信號(hào)seg[6:0]。

        數(shù)碼管顯示模塊的主要功能是實(shí)時(shí)顯示按鍵輸入的電子密碼;模塊時(shí)鐘將50 MHz 分頻得到1 kHz的掃描時(shí)鐘,需要計(jì)數(shù)器循環(huán)計(jì)數(shù)25 000 次,位寬為15 位;然后編寫8 位循環(huán)移位寄存器,利用循環(huán)移位寄存器來實(shí)現(xiàn)0000_0001b→1000_0000b 的變化,進(jìn)而實(shí)現(xiàn)數(shù)碼管的位選;利用八選一多路器,選擇端為當(dāng)前掃描到的數(shù)碼管也就是循環(huán)移位寄存器的輸出端,利用多路器將待顯示數(shù)據(jù)輸送到對(duì)應(yīng)的數(shù)碼管上;使能信號(hào)可利用一個(gè)二選一多路器便可實(shí)現(xiàn)對(duì)數(shù)碼管位選的控制;最終利用4 輸入查找表實(shí)現(xiàn)7 位輸出顯示譯碼。數(shù)碼管顯示模塊的原理圖如圖5 所示。

        圖5 數(shù)碼管顯示模塊原理圖

        2.1.2 矩陣按鍵模塊設(shè)計(jì)

        模塊的輸入信號(hào)Clk、Rst_n 和Key_Board_Row_i[3:0]分別表示時(shí)鐘、復(fù)位和矩陣按鍵行輸入信號(hào),輸出信號(hào)Key_flag、Key_value[3:0]和Key_Board_Col_o[3:0]分別表示按鍵按下標(biāo)志信號(hào)、按鍵值和矩陣按鍵輸出列信號(hào)。

        矩陣按鍵模塊的主要功能是檢測(cè)按鍵的輸入和判斷按鍵的鍵值。代碼設(shè)計(jì)中采用狀態(tài)機(jī)來實(shí)時(shí)檢測(cè)矩陣按鍵信號(hào)的變化,若狀態(tài)機(jī)成功檢測(cè)到有按鍵輸入,則Key_Flag 信號(hào)輸出一個(gè)時(shí)鐘周期的高脈沖,此時(shí)判斷Key_Value_tmp[7:0]的信號(hào)值,將按鍵值賦給輸出信號(hào)Key_Value[3:0]。矩陣按鍵模塊仿真圖如圖6 所示。

        圖6 矩陣按鍵模塊仿真圖

        2.1.3 按鍵消抖模塊設(shè)計(jì)

        按鍵消抖模塊的主要功能是防止物理按鍵按下時(shí)產(chǎn)生的抖動(dòng)對(duì)數(shù)據(jù)測(cè)量產(chǎn)生影響;模塊中輸入信號(hào)有時(shí)鐘Clk、復(fù)位Rst_n、按鍵輸入信號(hào)Key_in;輸出信號(hào)有按鍵狀態(tài)切換的標(biāo)志信號(hào)Key_flag 和按鍵狀態(tài)標(biāo)志信號(hào)Key_state。

        在基于FPGA 的設(shè)計(jì)過程中,按鍵消抖在代碼中通常采用狀態(tài)機(jī)進(jìn)行解決,如圖7 所示,整個(gè)狀態(tài)機(jī)共有四個(gè)狀態(tài):空閑、按下消抖、按下穩(wěn)定和松手消抖。四個(gè)狀態(tài)采用獨(dú)熱碼分別定義為4'b0001、4'b0010、4'b0100 和4'b1000。代碼設(shè)計(jì)時(shí)由于按鍵信號(hào)為外部輸入信號(hào)(異步信號(hào)),存在著不確定性,直接運(yùn)行可能會(huì)產(chǎn)生亞穩(wěn)態(tài)現(xiàn)象,所以一般進(jìn)行異步信號(hào)同步處理。

        圖7 按鍵消抖狀態(tài)機(jī)圖

        2.1.4 密碼對(duì)比模塊設(shè)計(jì)

        密碼對(duì)比模塊的主要功能是檢測(cè)輸入的密碼是否正確,模塊輸入信號(hào)有時(shí)鐘Clk、復(fù)位Rst_n、矩陣按鍵標(biāo)志信號(hào)Key_flag、矩陣按鍵按鍵值Key_value[3:0]和開始比較信號(hào)start_bj;輸出信號(hào)有密碼錯(cuò)誤信號(hào)error、密碼正確信號(hào)right 和按鍵輸入的最終密碼mima_r[15:0]。

        先定義一個(gè)4 位初始密碼1234 賦給信號(hào)INITIAL_KEY,再生成一個(gè)計(jì)數(shù)器Key_cnt[1:0],當(dāng)Key_flag 為1 時(shí),計(jì)數(shù)器從0 至3 循環(huán)計(jì)數(shù),每計(jì)數(shù)一位將Key_value[3:0]的鍵值依次賦給mima_r[15:12]、mima_r [11:8]、mima_r [7:4]和mima_r [3:0],最終組成的mima_r[15:0]即為輸入的4 位按鍵信號(hào),當(dāng)start_bj為1 時(shí),將mima_r 與INITIAL_KEY 信號(hào)進(jìn)行對(duì)比,若相同則表明密碼正確,輸出信號(hào);若不同則表明密碼錯(cuò)誤,輸出信號(hào);密碼對(duì)比模塊仿真圖如圖8 所示。

        圖8 密碼對(duì)比模塊仿真圖

        2.2 指紋識(shí)別部分

        指紋識(shí)別部分主要由指紋采集、指紋處理和指紋對(duì)比組成,上電后指紋傳感器便進(jìn)行實(shí)時(shí)數(shù)據(jù)采集,將提取的指紋進(jìn)行預(yù)處理,可得到清晰的指紋圖像特征,因?yàn)镕lash 存儲(chǔ)器在掉電的情況下數(shù)據(jù)不會(huì)丟失,故將處理后的圖像數(shù)據(jù)存入Flash 中形成數(shù)據(jù)庫用作對(duì)比模型,指紋傳感器檢測(cè)到有指紋輸入后,經(jīng)過同樣的步驟提取出較為清晰的指紋數(shù)據(jù)存入SRAM 中,等待驗(yàn)證信號(hào)進(jìn)行指紋對(duì)比。

        2.2.1 指紋采集

        指紋采集直接決定了指紋對(duì)比的成功率。該文采用了MBF200 電容指紋傳感器進(jìn)行指紋的采集。該芯片的識(shí)別區(qū)域?yàn)?.28 cm×1.50 cm,分辨率達(dá)到500 dpi,在該區(qū)域內(nèi)含有高達(dá)上萬的半導(dǎo)體器件,可以實(shí)時(shí)檢測(cè)到指紋的錄入并進(jìn)行提取。

        圖9 所示為指紋采集流程圖,指紋傳感器采用逐行掃描采集,逐點(diǎn)轉(zhuǎn)換數(shù)據(jù)的方式,當(dāng)指紋圖像的一行數(shù)據(jù)轉(zhuǎn)換完成后,傳感器將自動(dòng)進(jìn)行下一行的掃描和采集,直至將整幅圖像采集完成,最后通過SPI接口將數(shù)據(jù)傳輸至FPGA 中。

        圖9 指紋采集流程圖

        2.2.2 指紋處理

        圖像的產(chǎn)生和傳輸過程中,噪聲的影響使得圖像質(zhì)量下降,難以提取出圖像本身的特征。因此,在設(shè)計(jì)中可以通過濾波處理提高圖像的質(zhì)量,確保最終的識(shí)別不會(huì)產(chǎn)生太大的誤差[12]。

        因?yàn)樵肼暤拇嬖跁?huì)在指紋圖像上生成一些干擾判斷的雜質(zhì),影響了原本能夠反映圖像特征的點(diǎn),而圖像平滑處理可以削減、抑制或消除這類噪聲,從而改善圖像質(zhì)量,中值濾波法可以使采集到的指紋圖像在消除噪聲的同時(shí)保證圖像原有的特性,中值濾波法公式如式(1)所示:

        圖像銳化可以使模糊的圖像變得更加清晰,因?yàn)榻?jīng)過中值濾波處理使圖像細(xì)節(jié)變得模糊,可通過Sobel 邊緣檢測(cè)算法進(jìn)行圖像銳化來突出指紋的輪廓和細(xì)節(jié),增強(qiáng)指紋圖像的對(duì)比度。Sobel 邊緣檢測(cè)算法一般帶有方向性,Sobel 卷積因子如表1所示。

        表1 Sobel卷積因子

        二值化原理即圖像的分割,通過選取恰當(dāng)?shù)拈撝?,以閾值為中心點(diǎn)進(jìn)行對(duì)比,定義圖像上大于閾值的點(diǎn)為1,小于閾值的點(diǎn)為0,最終形成的圖像只有黑和白兩種顏色。通過銳化處理的指紋圖像各處的灰度值都是不同的,若采用同一閾值進(jìn)行處理,最終會(huì)丟失一部分有用信息;因此,該文采用分割的方法,將指紋圖像分成若干份,對(duì)每一份分別進(jìn)行閾值選取和二值化處理,避免丟失有用信息。

        細(xì)化就是將圖像中的紋線轉(zhuǎn)換成單位像素寬度的紋線的過程,方便對(duì)指紋特征進(jìn)行識(shí)別和提取[13],該文采取查表法進(jìn)行指紋圖像的細(xì)化,能夠保存圖像原有的紋線特征。

        2.2.3 指紋對(duì)比

        預(yù)處理過后的指紋圖像特征點(diǎn)十分明顯,可以采用Poincare Index 算法提取原始指紋的核心部分和細(xì)節(jié)部分,將最終生成的指紋數(shù)據(jù)存放于Flash中作為初始密碼,便于與之后的指紋輸入作對(duì)比[14];SRAM 存儲(chǔ)器則用于存儲(chǔ)臨時(shí)輸入,用于解鎖的指紋數(shù)據(jù),最終指紋圖像特征點(diǎn)的對(duì)比程序和算法的實(shí)現(xiàn)需要運(yùn)用C 語言在Matlab 軟件上進(jìn)行編寫和處理,最終將生成的SOF 文件輸送至FPGA 中,完成指定的功能。

        2.3 解鎖模塊設(shè)計(jì)

        分別將電子密碼部分和指紋識(shí)別部分的判斷信號(hào)送至解鎖模塊中,電子密碼部分輸出right 和error信號(hào),指紋識(shí)別部分輸出zw_right 和zw_error 信號(hào),通過四個(gè)信號(hào)的值判斷是否解鎖成功。解鎖模塊仿真圖如圖10 所示。

        圖10 解鎖模塊仿真圖

        3 測(cè)試結(jié)果

        表2 為數(shù)字密碼正確時(shí),錄入相同指紋和不同指紋后分別測(cè)試200 次得出的結(jié)果。從表2 數(shù)據(jù)可以發(fā)現(xiàn),同指紋同數(shù)字密碼的平均識(shí)別正確率約為98.7%,平均錯(cuò)誤率約為1.3%;不同指紋同數(shù)字密碼平均識(shí)別正確率約為99.7%,平均錯(cuò)識(shí)率約為0.3%;根據(jù)數(shù)據(jù)表明設(shè)計(jì)的解鎖系統(tǒng)基本符合需求。

        表2 測(cè)試結(jié)果

        4 結(jié)論

        在整個(gè)系統(tǒng)中,采用了自頂向下的分析算法將其分解成若干個(gè)小模塊,每個(gè)模塊完成自己對(duì)應(yīng)的功能,再通過頂層模塊例化實(shí)現(xiàn)各個(gè)子功能模塊之間的信號(hào)傳輸并合成一個(gè)完整的系統(tǒng)。在代碼設(shè)計(jì)中主要運(yùn)用了FPGA 的SOPC(可編程片上系統(tǒng))設(shè)計(jì)進(jìn)行電子密碼模塊和指紋識(shí)別模塊的編寫,最終通過FPGA 芯片驅(qū)動(dòng)各功能模塊。在電子密碼鎖的數(shù)碼管顯示模塊中,采用了74HC595 串行移位寄存器節(jié)省FPGA 的I/O 管腳的使用;在指紋識(shí)別模塊由于指紋圖像對(duì)比需要耗費(fèi)大量的硬件資源,所以采用Matlab 軟件進(jìn)行設(shè)計(jì),并將生成的文件下載到FPGA中的處理器軟核,通過處理器進(jìn)行調(diào)用;整個(gè)設(shè)計(jì)利用FPGA 片上可編程功能,如果設(shè)計(jì)要求發(fā)生改變,只需修改代碼和I/O 接口,并將最終修改的結(jié)果燒錄至FPGA 中,無需更改硬件電路,降低了開發(fā)成本[15]。

        該文根據(jù)用戶需求為依據(jù),針對(duì)目前數(shù)字設(shè)備的安全性問題,提出了將電子密碼和指紋識(shí)別相結(jié)合的一種結(jié)構(gòu)設(shè)計(jì),基于FPGA 自頂向下的設(shè)計(jì)方法和片上可編程技術(shù),將兩種解鎖模塊整合至完整的系統(tǒng)中,實(shí)現(xiàn)密碼和指紋驗(yàn)證功能,最終在FPGA上實(shí)現(xiàn)具有解鎖、密碼修改和警報(bào)等功能的密碼鎖。

        結(jié)果表明,相比于傳統(tǒng)的密碼鎖,整個(gè)解鎖系統(tǒng)增加了解鎖的基本要求,指紋和數(shù)字密碼必須同步驗(yàn)證,降低了密碼泄露的風(fēng)險(xiǎn),進(jìn)一步增強(qiáng)了數(shù)字設(shè)備的安全和穩(wěn)定,具有一定的研究?jī)r(jià)值,為以后設(shè)計(jì)安全系數(shù)更高的密碼鎖提供了新的思考方向。

        猜你喜歡
        信號(hào)設(shè)計(jì)
        信號(hào)
        鴨綠江(2021年35期)2021-04-19 12:24:18
        完形填空二則
        何為設(shè)計(jì)的守護(hù)之道?
        《豐收的喜悅展示設(shè)計(jì)》
        流行色(2020年1期)2020-04-28 11:16:38
        孩子停止長(zhǎng)個(gè)的信號(hào)
        瞞天過?!律O(shè)計(jì)萌到家
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計(jì)叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        基于LabVIEW的力加載信號(hào)采集與PID控制
        一種基于極大似然估計(jì)的信號(hào)盲抽取算法
        四虎影视久久久免费| 成人乱码一区二区三区av| 东京热加勒比无码少妇| 精品国产免费Av无码久久久| 日韩精品中文字幕免费人妻| 日本午夜理论片在线观看| 97精品国产97久久久久久免费| 性猛交ⅹxxx富婆视频| 久久亚洲精品11p| 国产精品网站夜色| 中文字幕视频一区二区| 午夜大片在线播放观看| 天堂中文最新版在线中文| 国内精品九九久久久精品| 国产成人综合久久三区北岛玲| 女同在线视频一区二区| 激情综合婷婷色五月蜜桃| 人人爽人人爱| 成在线人视频免费视频| 隔壁的日本人妻bd高清中字| 亚洲日韩在线中文字幕综合| 国产又黄又猛又粗又爽的a片动漫| 99久久精品国产片| 日本一区二区三级在线| 婷婷五月婷婷五月| 日本成人久久| 日本小视频一区二区三区| 人人澡人人妻人人爽人人蜜桃麻豆| 中国xxx农村性视频| 亚洲AV永久无码精品一区二国 | 中美日韩在线一区黄色大片| 亚洲av中文无码乱人伦在线视色 | 曰本女人与公拘交酡免费视频| 中文亚洲成a人片在线观看| 久久99热只有频精品8国语| 亚洲女初尝黑人巨高清| ZZIJZZIJ亚洲日本少妇| 亚洲一区二区三区色偷偷| 午夜理论片yy6080私人影院| 91免费在线| 青青草成人原视频在线播放视频|