《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于QT/E和指紋識(shí)別模塊的巖屑圖像采集系統(tǒng)的設(shè)計(jì)
基于QT/E和指紋識(shí)別模塊的巖屑圖像采集系統(tǒng)的設(shè)計(jì)
2014年微型機(jī)與應(yīng)用第24期
曾 杰,吳曉紅,吳小強(qiáng),何小海
(四川大學(xué) 電子信息學(xué)院,四川 成都 610065)
摘要: 在油氣勘探領(lǐng)域,地質(zhì)巖屑樣本圖像的采集和分析十分重要。針對(duì)目前巖屑采集系統(tǒng)安全保密性不足以及采集操作復(fù)雜的問(wèn)題,提出了一種改進(jìn)方案:添加指紋識(shí)別模塊,增加系統(tǒng)的安全保密性,減少了巖屑圖像資料被竊取的風(fēng)險(xiǎn);使用QT/E設(shè)計(jì)用戶界面及程序,使操作人員通過(guò)在可觸式LCD上進(jìn)行簡(jiǎn)單操作,就能完成整個(gè)采集過(guò)程,提高了采集系統(tǒng)的易用性。
關(guān)鍵詞: ARM Linux QTE 指紋識(shí)別模塊
Abstract:
Key words :

  摘  要: 在油氣勘探領(lǐng)域,地質(zhì)巖屑樣本圖像的采集和分析十分重要。針對(duì)目前巖屑采集系統(tǒng)安全保密性不足以及采集操作復(fù)雜的問(wèn)題,提出了一種改進(jìn)方案:添加指紋識(shí)別模塊,增加系統(tǒng)的安全保密性,減少了巖屑圖像資料被竊取的風(fēng)險(xiǎn);使用QT/E設(shè)計(jì)用戶界面及程序,使操作人員通過(guò)在可觸式LCD上進(jìn)行簡(jiǎn)單操作,就能完成整個(gè)采集過(guò)程,提高了采集系統(tǒng)的易用性。

  關(guān)鍵詞ARMLinux;QT/E;指紋識(shí)別模塊

0 引言

  在油氣勘探領(lǐng)域,鉆井巖屑是非常重要的地質(zhì)參考資料。近年來(lái),隨著制造工藝的改進(jìn),聚晶金剛石復(fù)合片鉆頭(Polycrystalline Diamond Compact Bit,PDC)的性能大大增強(qiáng),在鉆井速度加快的同時(shí),鉆出的巖屑也更加細(xì)小,甚至破壞成粉末狀,對(duì)這種細(xì)小巖屑的采集和分析關(guān)系到對(duì)油井地層的判斷是否及時(shí)、準(zhǔn)確,大幅影響企業(yè)的成本和利潤(rùn)。目前,實(shí)際使用的巖屑采集系統(tǒng)也不在少數(shù),但是一些采集系統(tǒng)操作復(fù)雜,致使操作工人需要花費(fèi)大量的學(xué)習(xí)成本去掌握采集流程。又由于采集的巖屑圖像屬于商業(yè)機(jī)密,因此其保密工作的重要性不言而喻??紤]到系統(tǒng)的易用性與安全性,本系統(tǒng)的設(shè)計(jì)思路是以ARM開(kāi)發(fā)板為基礎(chǔ),添加一個(gè)指紋識(shí)別模塊,操作人員需通過(guò)指紋識(shí)別才能夠操作采集系統(tǒng)。同時(shí)添加一個(gè)可觸式LCD模塊,通過(guò)在觸摸屏上的簡(jiǎn)單操作實(shí)現(xiàn)巖屑圖像的采集。

1 系統(tǒng)平臺(tái)設(shè)計(jì)

  1.1 系統(tǒng)硬件平臺(tái)設(shè)計(jì)

  本系統(tǒng)硬件總體設(shè)計(jì)方案如圖1所示。

001.jpg

  主控芯片采用Samsung公司的基于ARM9的S3C2440處理器。它具有功耗低、功能強(qiáng)、引腳與接口豐富,指令執(zhí)行速度快等優(yōu)點(diǎn),非常適用于本系統(tǒng)的開(kāi)發(fā)[4]。采集攝像頭使用1 200 dpi的高分辨率面陣CCD相機(jī),保證采集的巖屑圖像顆粒清晰,方便后續(xù)圖像分析。光源模塊包括兩種模式:白光模式和熒光模式。白光模式下使用LED白光燈管,采集的巖屑白光圖像主要用于分析巖性;而熒光模式下使用主峰為365 nm的窄波紫外燈管,并配合使用保留400 nm~700 nm波段光的濾鏡,濾鏡在熒光模式下自動(dòng)切入視場(chǎng),得到效果更好的熒光圖像,便于分析巖屑的含油情況。電機(jī)及驅(qū)動(dòng)模塊用于控制料盤和濾鏡進(jìn)出采集視場(chǎng)。LCD模塊使用電容式觸摸屏模塊與開(kāi)發(fā)板LCD接口相連。指紋模塊采用杭州偉耕科技公司開(kāi)發(fā)的R305指紋模塊,該模塊采用光學(xué)式指紋傳感器與DSP處理器,內(nèi)嵌指紋圖像預(yù)處理算法和通信協(xié)議,與主控芯片通過(guò)串口進(jìn)行通信。

  1.2 系統(tǒng)軟件平臺(tái)的搭建

  系統(tǒng)的軟件設(shè)計(jì)主要是將指紋識(shí)別模塊軟件與LCD上采集操作界面軟件程序整合。因此需要選擇穩(wěn)定性高、功能強(qiáng)大的嵌入式系統(tǒng)。嵌入式Linux系統(tǒng)具有豐富的設(shè)備驅(qū)動(dòng)程序、方便裁剪與定制、界面功能豐富、內(nèi)核小巧穩(wěn)定等特點(diǎn),除此之外,其代碼開(kāi)源也減少了開(kāi)發(fā)成本。平臺(tái)的搭建主要由Bootloader的移植、Linux內(nèi)核的移植和構(gòu)建文件系統(tǒng)三個(gè)步驟組成。

  Bootloader與Windows系統(tǒng)下的BIOS功能類似,是系統(tǒng)在操作系統(tǒng)內(nèi)核啟動(dòng)或用戶應(yīng)用程序運(yùn)行之前,首先必須運(yùn)行的一段程序代碼,用來(lái)初始化硬件設(shè)備,設(shè)置堆棧,檢查系統(tǒng)內(nèi)存映射等。常用的Bootloader有u-boot,vivi等,本系統(tǒng)使用u-boot。在官網(wǎng)上下載u-boot的壓縮文件,解壓后根據(jù)需求修改配置文件Makefile,生成二進(jìn)制文件u-boot.bin后,再燒寫到開(kāi)發(fā)板中。

  內(nèi)核是操作系統(tǒng)的核心,一方面,管理底層的各個(gè)接口,實(shí)現(xiàn)對(duì)硬件的編程控制和接口操作;另一方面,為應(yīng)用程序提供了一個(gè)執(zhí)行環(huán)境。用戶可以根據(jù)自身需要對(duì)內(nèi)核進(jìn)行裁剪和配置,并在內(nèi)核中添加設(shè)備驅(qū)動(dòng)[3]。文件系統(tǒng)是文件的組織管理形式,它位于操作系統(tǒng)之上,包含了Linux能夠正常運(yùn)行所需的庫(kù)函數(shù)和應(yīng)用程序等。Busybox是用來(lái)創(chuàng)建根文件系統(tǒng)的工具,用來(lái)構(gòu)建嵌入式設(shè)備所需的Linux根文件系統(tǒng)。最后用YAFFS編譯構(gòu)建文件系統(tǒng),生成根文件系統(tǒng)的鏡像文件,并將其下載到開(kāi)發(fā)板中。

2 指紋識(shí)別模塊

  本文采用的指紋識(shí)別模塊是偉耕科技有限公司研制的R305指紋識(shí)別模塊。它由光學(xué)式指紋傳感器和DSP處理器構(gòu)成,內(nèi)嵌完整的指紋識(shí)別算法和協(xié)議。具有指紋采集、指紋對(duì)比、指紋存儲(chǔ)等功能[6]。R305的主要技術(shù)指標(biāo)如表1所示。

007.jpg

  2.1 硬件接口

  指紋模塊外部的4個(gè)引腳與控制電路板通過(guò)串行通信接口相連,外部引腳及定義如表2所示。

008.jpg

  由于,指紋模塊不能通過(guò)串行通信接口與主控芯片相連,必須在其中添加一個(gè)電平轉(zhuǎn)換芯片(如MAX232、SP3232等),將RS232信號(hào)電平轉(zhuǎn)換為TTL電平,本文使用了3.3 V供電的SP3232芯片,電路連接原理圖如圖2所示。

002.jpg

  2.2 軟件接口

  使用R305模塊進(jìn)行軟件開(kāi)發(fā),必須掌握該模塊具有的系統(tǒng)資源、通信方式和指令系統(tǒng)。

  R305模塊具有以下系統(tǒng)資源:

 ?。?)狀態(tài)寄存器,占用1個(gè)字,用于系統(tǒng)狀態(tài)指示。

 ?。?)模塊地址:占用2個(gè)字,軟件只接收與該地址相配的指令包和數(shù)據(jù)包。

 ?。?)波特率系數(shù):占用1個(gè)字,用于設(shè)置UART波特率,且該值必須是9 600 b/s的整數(shù)倍。

 ?。?)模塊指令:占用2個(gè)字,用于握手時(shí)驗(yàn)證,驗(yàn)證成功系統(tǒng)才響應(yīng)。

  (5)緩沖區(qū)與指紋庫(kù):模塊內(nèi)設(shè)有72 KB的圖像緩沖區(qū)ImageBuffer和兩個(gè)512 B大小的特征文件緩沖區(qū)CharBuffer1、CharBuffer2。用戶可以通過(guò)指令讀寫任意一個(gè)緩沖區(qū)。特征文件緩沖區(qū)既可以用于存放特征文件,也可以用于存放模板特征文件。

  R305模塊與S3C2440通信采用的是半雙工異步串行通信協(xié)議,默認(rèn)波特率為57 600 b/s。傳送的幀格式為10 bit,1 bit 0電平起始位,8 bit為數(shù)據(jù)位和1 bit停止位,無(wú)校驗(yàn)位。在此協(xié)議規(guī)則下,模塊與S3C2440通信分為三類:命令包、數(shù)據(jù)包與結(jié)束包。包頭均為0xEF01。三種包的格式如表3所示。

009.jpg

  08HR305模塊指令系統(tǒng)具有豐富的指令集,表4列舉出了程序設(shè)計(jì)中所用到的其中的指令。

010.jpg

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

  對(duì)指紋模塊的操作分為兩種情況,(1)指紋錄入:兩次指紋采集,將采集到的指紋圖像生成特征文件,并將兩次采集生成的特征文件合并生成模板,最后將模板保存到指紋庫(kù)中。(2)指紋登錄:采集指紋圖像,生成特征文件,保存入CharBuffer1中,再搜索指紋庫(kù),并將指紋庫(kù)中的特征模板存入CharBuffer2中,將CharBuffer1中的特征文件與CharBuffer2中的特征模板進(jìn)行精確對(duì)比直至配對(duì)成功。若搜索完整個(gè)指紋庫(kù)仍然找不到配對(duì)的指紋特征模板,則登錄失敗。指紋錄入的程序流程圖如圖3所示,指紋登錄的程序流程圖如圖4所示。

003.jpg

004.jpg

3 QT/E用戶界面程序設(shè)計(jì)

  QT是一個(gè)完整的C++應(yīng)用程序開(kāi)發(fā)框架,因?yàn)槠銩PI在所有平臺(tái)上均相同,所以QT經(jīng)常用來(lái)做跨平臺(tái)程序開(kāi)發(fā)[2]。QT/Embedded是面向嵌入式Linux開(kāi)發(fā)的QT版本,通常簡(jiǎn)稱為QT/E。它是基于QT嵌入式GUI和應(yīng)用程序開(kāi)發(fā)的工具包,專門為嵌入式設(shè)備提供圖形用戶界面的應(yīng)用框架和窗口系統(tǒng)。

  本文使用QT的可視化界面設(shè)計(jì)工具QT Designer,首先新建一個(gè)QT工程,工程模板選擇Widget,根據(jù)工程需要設(shè)計(jì)添加窗口、按鈕、文字、輸入框、對(duì)話框等對(duì)象,建立這些對(duì)象的觸發(fā)信號(hào)與相應(yīng)的槽。信號(hào)與槽機(jī)制是QT的基礎(chǔ),它可以讓互不相關(guān)的對(duì)象關(guān)聯(lián)(colleciton)起來(lái),槽就類似于C++成員函數(shù),唯一的區(qū)別在于槽可以與信號(hào)連接在一起,當(dāng)觸發(fā)某個(gè)信號(hào)時(shí)就會(huì)自動(dòng)調(diào)用與其相應(yīng)的槽[8]。信號(hào)與槽機(jī)制如圖5所示。

005.jpg

  本系統(tǒng)的槽包括指紋獲取、注冊(cè)、匹配,采集模式切換等,部分槽函數(shù)的聲明如下:

  Public Slot:

  Void FingerPrintRegister()

  Void FingerPrintCharacter_Save()

  Void FingerPrint_Acquisition()

  Bool FingerPrintCharacter_Match(match)

  Bool ModeChoice(mode)

  Void WhiteLight_On()

  Void Fluoresecent_On()

  Void Filter_On()

  采集界面設(shè)計(jì)完成后,保存.ui工程文件。使用ui2cpp將工程文件轉(zhuǎn)換為C++源文件和頭文件,再添加main.cpp,到源碼中各個(gè)函數(shù)下添加代碼,最后編譯并移植到開(kāi)發(fā)板中即可使用。采集界面程序流程如圖6所示。

006.jpg

  整個(gè)采集界面程序流程簡(jiǎn)單,符合用戶的思維和使用習(xí)慣,操作工人可以不經(jīng)過(guò)任何培訓(xùn)就能夠?qū)ο到y(tǒng)進(jìn)行操作,并且很多步驟都由系統(tǒng)自動(dòng)完成,比如:當(dāng)選擇白光采集模式,則自動(dòng)開(kāi)啟白光,關(guān)閉熒光,濾鏡切出。這樣簡(jiǎn)單的設(shè)計(jì)不僅能突顯采集系統(tǒng)的功能性,獲得更好的用戶體驗(yàn),也降低了開(kāi)發(fā)難度,增強(qiáng)了系統(tǒng)的魯棒性。

4 結(jié)論

  本文提出了一種針對(duì)巖屑采集系統(tǒng)的易操作性與保密性的設(shè)計(jì)方案,添加了指紋識(shí)別模塊,并利用模塊的軟硬件接口在采集程序中添加了指紋識(shí)別功能,保證了采集系統(tǒng)的安全保密性。采用QT/E來(lái)設(shè)計(jì)采集系統(tǒng)的交互界面,并設(shè)計(jì)了采集界面程序,使用戶可以通過(guò)觸屏式LCD直接完成整個(gè)采集操作。

  參考文獻(xiàn)

  [1] RAO T A, RAMAIAH N D, NOHAN C K. Finger recognition on various authentication sensors[J]. Journal of Electronic Science and Technology,2014,12(1):134-138.

  [2] BLANCHETTE J, SUMMERFIELD M. C++ GUI Programming with QT 4(Second Edition)[M].閆鋒欣,譯.北京:電子工業(yè)出版社,2008.

  [3] CORBET J, RUBINI A, KROAH-HAR TMAN G.Linux設(shè)備驅(qū)動(dòng)程序[M].魏永明,等譯.北京:中國(guó)電力出版社,2002.

  [4] CPU Samsung Electronics Co.Ltd. User manual S3C2440 32 bit RISC microprocesor revision1[Z]. 2002.

  [5] 柴曉光,岑寶熾.民用指紋識(shí)別技術(shù)[M].北京:人民郵電出版社,2004.

  [6] 偉耕科技有限公司.R30X系列指紋識(shí)別模塊開(kāi)發(fā)手冊(cè)[Z].2012.

  [7] 胡濤.面向保密型企業(yè)的指紋識(shí)別考勤管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2013.

  [8] 吳賀猛.基于QT/E的嵌入式圖形用戶界面的研究與應(yīng)用[D].南京:南京郵電大學(xué),2013.


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