當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]文章介紹了一種基于TI公司的TMS320VC5402來構(gòu)造指紋識別系統(tǒng)的方法。詳細(xì)論述了系統(tǒng)的各個組成部分以及指紋識別算法的實(shí)現(xiàn)流程,結(jié)合VC5402的指令集和自身結(jié)構(gòu)特點(diǎn),討論了如何高效的設(shè)計應(yīng)用程序的方法。

    摘要:文章介紹了一種基于TI公司的TMS320VC5402來構(gòu)造指紋識別系統(tǒng)的方法。詳細(xì)論述了系統(tǒng)的各個組成部分以及指紋識別算法的實(shí)現(xiàn)流程,結(jié)合VC5402的指令集和自身結(jié)構(gòu)特點(diǎn),討論了如何高效的設(shè)計應(yīng)用程序的方法。文章對如何將DSP的主機(jī)接口(HPI)改造成通用輸入輸出口(GPIO)、將多通道緩沖串行口(McBSP)設(shè)置成SPI接口進(jìn)行了詳細(xì)的說明,對數(shù)據(jù)圖像處理需要較大空間而DSP可尋址的數(shù)據(jù)空間又過小的矛盾,提出了切實(shí)可行的解決辦法。

    關(guān)鍵詞:指紋識別;DSP;混合語言編程

指紋識別技術(shù)是以數(shù)字圖像處理技術(shù)為基礎(chǔ),而逐步發(fā)展起來的。相對于密碼、各種證件等傳統(tǒng)身份認(rèn)證技術(shù)和諸如語音、虹膜等其它生物認(rèn)證技術(shù)而言,指紋識別是一種更為理想的身份認(rèn)證技術(shù)。使用指紋識別具有許多優(yōu)點(diǎn),例如:每個人的指紋都不相同,極難進(jìn)行復(fù)制或被盜用;指紋比較固定,不會隨著年齡的增長或健康程度的變化而變化;最重要的在于指紋圖像便于獲取,易于開發(fā)識別系統(tǒng),具有很高的實(shí)用性和可行性。

1 指紋識別系統(tǒng)的架構(gòu)

本課題設(shè)計了一個嵌入式系統(tǒng),通過DSP來完成指紋圖像的采集和指紋識別的算法。另外為使系統(tǒng)有更廣闊的應(yīng)用領(lǐng)域,在設(shè)計上還采用異步串行通訊方式實(shí)現(xiàn)了DSP和PC之間的數(shù)據(jù)交互。據(jù)此,系統(tǒng)由指紋傳感芯片、復(fù)雜可編程邏輯器件、閃爍存儲器和UART等硬件組成。系統(tǒng)的結(jié)構(gòu)框圖和主要程序流程圖如圖1和圖2所示:

2 系統(tǒng)各部分設(shè)計要點(diǎn)

2.1 DSP的選擇和存儲空間的設(shè)計

TMS320VC5402具有很高的性價比,可以訪問1M的程序空間和64K的數(shù)據(jù)空間。內(nèi)部自帶的16K 雙尋址RAM,可以在一個指令周期內(nèi)完成兩次讀操作或一次讀和一次寫操作。鎖相環(huán)電路則可提供高達(dá)100MHz的工作頻率,從而使VC5402完全有能力在較短的時間內(nèi)完成指紋的識別操作。

由于指紋圖像具有數(shù)據(jù)量大特點(diǎn),因此程序的設(shè)計不可避免的需要較大的存儲空間。系統(tǒng)中所采集到的8bits灰度圖像大小為300×256,則存儲一幅圖像就需要75K的空間,而VC5402可尋址的數(shù)據(jù)空間范圍總共才有64K。為此,可以參照VC5402空間分配結(jié)構(gòu)圖,通過程序空間頁擴(kuò)展功能來解決圖像的存儲和運(yùn)算問題,運(yùn)用RPT、READA和WRITA指令完成圖像數(shù)據(jù)在程序空間和數(shù)據(jù)空間的搬移操作。

圖1 系統(tǒng)結(jié)構(gòu)框圖

圖2 系統(tǒng)主要程序流程圖

2.2 指紋采集電路的設(shè)計

指紋傳感芯片選用Fujitsu公司的MBF200。它由256列×300行電容陣列組成,芯片內(nèi)設(shè)計有兩套采樣保持電路用于指紋圖像的采集。圖像傳輸速度最大可達(dá)30幀/秒,能夠滿足連續(xù)指紋圖像的采集和比對。MBF200具有手指自動檢測電路(AFD),它允許DSP在沒有指紋時處在低功耗待命模式,當(dāng)有手指時才通過中斷喚醒它進(jìn)行相應(yīng)的處理。然而實(shí)驗(yàn)證明,AFD功能的可靠性較差,不能滿足設(shè)計要求。為此,在設(shè)計上采用了手動開關(guān)加軟件查詢方式來判斷是否進(jìn)行指紋的采集。當(dāng)主機(jī)接口(HPI)中的HPIENA管腳通過電阻接地,則系統(tǒng)復(fù)位上電后,HPI接口將作為通用輸入輸出口(GPIO)來使用。將手動開關(guān)的輸出信號線和GPIO的一個指定的輸入口相連接,當(dāng)要進(jìn)行指紋采集時,通過開關(guān)產(chǎn)生一個輸出信號;而系統(tǒng)初始化后DSP不斷的查詢GPIO中指定的輸入口狀態(tài),一旦發(fā)現(xiàn)狀態(tài)發(fā)生變化,就進(jìn)行指紋圖像的采集。實(shí)驗(yàn)證明,這種方式很好的解決了圖像采集的問題,提升了系統(tǒng)的可靠性。除此之外,GPIO中其它的管腳可作為輸出管腳來使用,用于控制聲光報警電路。

2.3 DSP與PC接口的設(shè)計

為了充分利用VC5402的片上資源,降低成本。系統(tǒng)中使用MAXIM公司的通用異步串行收發(fā)器MAX3111E實(shí)現(xiàn)DSP和PC的通信。MAX3111E應(yīng)用SPI接口與主控制器進(jìn)行通信,它具有四個RS-232電平轉(zhuǎn)換器,這樣無需再接入MAX232進(jìn)行電平轉(zhuǎn)換,從而應(yīng)用一個芯片就實(shí)現(xiàn)了具有SPI接口的主控器與PC進(jìn)行異步數(shù)據(jù)傳輸?shù)墓δ堋?/P>

VC5402的時鐘停止模式兼容SPI通信協(xié)議。當(dāng)McBSP被設(shè)置成時鐘停止模式時,可將發(fā)送幀同步信號(FSX)用作SPI協(xié)議中/SS,將發(fā)送時鐘(CLKX)用作SPI協(xié)議中SCK;接收串行數(shù)據(jù)(DR)和發(fā)送串行數(shù)據(jù)(DX)分別作為協(xié)議中的MISO和MOSI。由于發(fā)送器與接收器在芯片內(nèi)部實(shí)現(xiàn)了同步,所以接收時鐘(CLKR)和接收幀同步信號(FSR)不用于SPI模式中。當(dāng)將VC5402配置為主器件,MAX3111E配置為從器件時,系統(tǒng)中McBSP各個寄存器參數(shù)的設(shè)置如表1所示:

表1 DSP作為SPI協(xié)議主器件時,McBSP的配置信息

需要設(shè)置的位

所在寄存器

功能描述

系統(tǒng)所采用的值

CLKSTP

SPCR1

禁止或使能SPI模式

11b

CLKXP

PCR

控制BCLKX信號的極性

0b

CLKXM

PCR

控制BCLKX信號的方向

1b

CLKSM

SRGR2

采樣率時鐘從CPU時鐘中取得

1b

CLKGDV

SRGR1

設(shè)定采樣率分頻系數(shù)

29

FSXM

PCR

控制BFSX信號的方向

1b

FSGM

SRGR2

BFSX在每次數(shù)據(jù)傳輸時有效

0b

FSXP

PCR

控制BFSX信號極性

1b

XDATDLY

XCR2

給BFSX信號提供正確的建立時間

01b

RDATDLY

RCR2

給BFSX信號提供正確的建立時間

01b

RWDLEN1

RCR1

控制接受數(shù)據(jù)包長度

010b

XWDLEN1

XCR1

控制發(fā)送數(shù)據(jù)包長度

010b

2.4 握手信號與程序加載的設(shè)計

系統(tǒng)中使用EPM7128SLC84作為全局邏輯控制器件。FLASH用于存儲系統(tǒng)的應(yīng)用程序,當(dāng)系統(tǒng)復(fù)位后,通過Bootloader完成程序的搬移。設(shè)計上將FLASH映射到數(shù)據(jù)空間的后32K處,選用XF來區(qū)分是對SRAM尋址還是對FLASH尋址。當(dāng)系統(tǒng)上電復(fù)位后,XF引腳輸出高電平,這時FLASH將映射到數(shù)據(jù)空間中;當(dāng)程序加載結(jié)束后,在系統(tǒng)初始化期間拉低XF信號屏蔽FLASH,從而使SRAM占據(jù)數(shù)據(jù)空間。另外,將MBF200映射到I/O空間的前32K處,使用A15和/IS作為片選信號。在設(shè)計上采用原理圖形式編寫CPLD程序,部分程序代碼如圖3所示:

圖3 CPLD原理圖程序

3 指紋識別算法設(shè)計概述

原始指紋圖像通常含有較多噪聲,因此需要進(jìn)行預(yù)處理來改善圖像的質(zhì)量,以便進(jìn)行特征提取和比對。預(yù)處理包括方向圖計算、圖像增強(qiáng)、二值化及去噪、圖像細(xì)化及去噪。

由于指紋的紋線具有緩慢變化的特點(diǎn),在局部通常具有明確的方向性,所以可以利用方向圖對圖像進(jìn)行平滑和銳化處理。沿紋線的切線方向?qū)D像進(jìn)行平滑,以起到連接不應(yīng)有的間斷的作用:沿紋線的法線方向?qū)D像進(jìn)行銳化,以突出紋線的邊緣信息。二值化就是把8灰度的指紋圖像變成0和255的二值圖像。二值化后的圖像通常在脊線上會有白色的斑點(diǎn),程序上使用種子填充法把斑點(diǎn)去掉。為了進(jìn)一步壓縮數(shù)據(jù),需要對二值化圖像進(jìn)行細(xì)化處理。細(xì)化時應(yīng)保持紋線的連接性、方向性不變,還應(yīng)保持紋線的中心基本不變。細(xì)化后的紋線會出現(xiàn)搭橋及豁口,因此必須進(jìn)行細(xì)化后的去噪工作。預(yù)處理中各步驟的圖像如圖4所示。

設(shè)計中使用紋線端點(diǎn)和分叉點(diǎn)作為指紋特征點(diǎn),這不僅是因?yàn)檫@兩類特征點(diǎn)出現(xiàn)的幾率最高且容易檢測,更重要的是它們足以描述指紋的唯一性。程序中使用紋線跟蹤方法提取特征點(diǎn),其中紋線端點(diǎn)的屬性由橫縱坐標(biāo)和紋線角度來表示;分叉點(diǎn)的屬性由橫縱坐標(biāo),紋線角度和三個分支間的夾角(從大到?。﹣肀硎?。在提取出指紋特征點(diǎn)后,便會得到一組矢量點(diǎn),同樣在指紋模板庫中保存的指紋模板也是一組矢量點(diǎn),要判斷兩個指紋是否相同的問題也就轉(zhuǎn)化成判斷兩組矢量點(diǎn)是否相同的點(diǎn)模式匹配問題。

4 識別算法在DSP上的實(shí)現(xiàn)

程序設(shè)計上使用混合語言編程,用C語言設(shè)計程序中對運(yùn)行時間影響不大的模塊,而用匯編語言設(shè)計嚴(yán)格要求實(shí)時性的核心算法。為達(dá)到最佳利用DSP資源的目的,在程序的設(shè)計中要注意以下幾個方面:

(1)VC5402指令集中提供了一些零開銷的循環(huán)指令,如RPT和RPTB等。為進(jìn)一步提高效率,在執(zhí)行循環(huán)指令時,應(yīng)充分利用輔助寄存器和累加器。數(shù)組盡量用寄存器間接尋址,中間變量盡量存放于累加器中,以盡可能地減少中間變量存放所消耗的時間。

(2)VC5402采用流水線結(jié)構(gòu),允許多條指令同時訪問CPU資源,從而提高系統(tǒng)的執(zhí)行速度。但當(dāng)CPU的某一資源同時被流水線的幾個階段訪問時,就會發(fā)生流水線沖突。因此,必須通過合理的調(diào)整匯編程序的代碼順序或加入適當(dāng)?shù)腘OP指令來解決這一問題。

(3)識別算法中涉及到了卷積和乘累加操作,這可以通過使用循環(huán)尋址功能和乘累加指令來實(shí)現(xiàn)。另外,VC5402提供了可延遲的轉(zhuǎn)移、調(diào)用和返回指令。這些指令的執(zhí)行時間比它們對應(yīng)的非延遲指令要少2個周期,需要注意的是有時要在延遲指令后插入NOP指令,以保證適當(dāng)?shù)牟僮黜樞颉?/P>

(4)在涉及數(shù)字信號處理算法時應(yīng)盡可能地使用DSPLIB庫中的函數(shù),因?yàn)檫@些函數(shù)均用匯編語言編寫,優(yōu)化程度很高。另外,在C程序中盡可能地采用內(nèi)聯(lián)(inline)函數(shù),以便提高代碼的集成度。由于采用混合編程方法,因此在程序設(shè)計上要嚴(yán)格遵循函數(shù)調(diào)用規(guī)則和寄存器的使用約定。

5 結(jié)束語

本系統(tǒng)采用TMS320VC5402完成了從指紋圖像的采集到特征匹配的功能,并結(jié)合DSP的結(jié)構(gòu)特點(diǎn)和相應(yīng)的指令詳細(xì)的闡述了系統(tǒng)硬件設(shè)計和程序的優(yōu)化。實(shí)踐證明本系統(tǒng)工作穩(wěn)定、實(shí)時性好,具有很強(qiáng)的實(shí)用性和指導(dǎo)性。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉