摘 要: 在油氣勘探領(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,;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所示,。
主控芯片采用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后,,再燒寫(xiě)到開(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所示,。
2.1 硬件接口
指紋模塊外部的4個(gè)引腳與控制電路板通過(guò)串行通信接口相連,,外部引腳及定義如表2所示。
由于,,指紋模塊不能通過(guò)串行通信接口與主控芯片相連,,必須在其中添加一個(gè)電平轉(zhuǎn)換芯片(如MAX232、SP3232等),,將RS232信號(hào)電平轉(zhuǎn)換為TTL電平,,本文使用了3.3 V供電的SP3232芯片,電路連接原理圖如圖2所示,。
2.2 軟件接口
使用R305模塊進(jìn)行軟件開(kāi)發(fā),必須掌握該模塊具有的系統(tǒng)資源,、通信方式和指令系統(tǒng),。
R305模塊具有以下系統(tǒng)資源:
(1)狀態(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ò)指令讀寫(xiě)任意一個(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所示。
08HR305模塊指令系統(tǒng)具有豐富的指令集,,表4列舉出了程序設(shè)計(jì)中所用到的其中的指令,。
2.3 程序設(shè)計(jì)
對(duì)指紋模塊的操作分為兩種情況,(1)指紋錄入:兩次指紋采集,,將采集到的指紋圖像生成特征文件,,并將兩次采集生成的特征文件合并生成模板,最后將模板保存到指紋庫(kù)中,。(2)指紋登錄:采集指紋圖像,,生成特征文件,保存入CharBuffer1中,,再搜索指紋庫(kù),,并將指紋庫(kù)中的特征模板存入CharBuffer2中,將CharBuffer1中的特征文件與CharBuffer2中的特征模板進(jìn)行精確對(duì)比直至配對(duì)成功,。若搜索完整個(gè)指紋庫(kù)仍然找不到配對(duì)的指紋特征模板,,則登錄失敗。指紋錄入的程序流程圖如圖3所示,,指紋登錄的程序流程圖如圖4所示,。
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所示,。
本系統(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所示,。
整個(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.