摘 要: 在油氣勘探領域,地質巖屑樣本圖像的采集和分析十分重要。針對目前巖屑采集系統安全保密性不足以及采集操作復雜的問題,提出了一種改進方案:添加指紋識別模塊,增加系統的安全保密性,減少了巖屑圖像資料被竊取的風險;使用QT/E設計用戶界面及程序,使操作人員通過在可觸式LCD上進行簡單操作,就能完成整個采集過程,提高了采集系統的易用性。
0 引言
在油氣勘探領域,鉆井巖屑是非常重要的地質參考資料。近年來,隨著制造工藝的改進,聚晶金剛石復合片鉆頭(Polycrystalline Diamond Compact Bit,PDC)的性能大大增強,在鉆井速度加快的同時,鉆出的巖屑也更加細小,甚至破壞成粉末狀,對這種細小巖屑的采集和分析關系到對油井地層的判斷是否及時、準確,大幅影響企業的成本和利潤。目前,實際使用的巖屑采集系統也不在少數,但是一些采集系統操作復雜,致使操作工人需要花費大量的學習成本去掌握采集流程。又由于采集的巖屑圖像屬于商業機密,因此其保密工作的重要性不言而喻。考慮到系統的易用性與安全性,本系統的設計思路是以ARM開發板為基礎,添加一個指紋識別模塊,操作人員需通過指紋識別才能夠操作采集系統。同時添加一個可觸式LCD模塊,通過在觸摸屏上的簡單操作實現巖屑圖像的采集。
1 系統平臺設計
1.1 系統硬件平臺設計
本系統硬件總體設計方案如圖1所示。
主控芯片采用Samsung公司的基于ARM9的S3C2440處理器。它具有功耗低、功能強、引腳與接口豐富,指令執行速度快等優點,非常適用于本系統的開發[4]。采集攝像頭使用1 200 dpi的高分辨率面陣CCD相機,保證采集的巖屑圖像顆粒清晰,方便后續圖像分析。光源模塊包括兩種模式:白光模式和熒光模式。白光模式下使用LED白光燈管,采集的巖屑白光圖像主要用于分析巖性;而熒光模式下使用主峰為365 nm的窄波紫外燈管,并配合使用保留400 nm~700 nm波段光的濾鏡,濾鏡在熒光模式下自動切入視場,得到效果更好的熒光圖像,便于分析巖屑的含油情況。電機及驅動模塊用于控制料盤和濾鏡進出采集視場。LCD模塊使用電容式觸摸屏模塊與開發板LCD接口相連。指紋模塊采用杭州偉耕科技公司開發的R305指紋模塊,該模塊采用光學式指紋傳感器與DSP處理器,內嵌指紋圖像預處理算法和通信協議,與主控芯片通過串口進行通信。
1.2 系統軟件平臺的搭建
系統的軟件設計主要是將指紋識別模塊軟件與LCD上采集操作界面軟件程序整合。因此需要選擇穩定性高、功能強大的嵌入式系統。嵌入式Linux系統具有豐富的設備驅動程序、方便裁剪與定制、界面功能豐富、內核小巧穩定等特點,除此之外,其代碼開源也減少了開發成本。平臺的搭建主要由Bootloader的移植、Linux內核的移植和構建文件系統三個步驟組成。
Bootloader與Windows系統下的BIOS功能類似,是系統在操作系統內核啟動或用戶應用程序運行之前,首先必須運行的一段程序代碼,用來初始化硬件設備,設置堆棧,檢查系統內存映射等。常用的Bootloader有u-boot,vivi等,本系統使用u-boot。在官網上下載u-boot的壓縮文件,解壓后根據需求修改配置文件Makefile,生成二進制文件u-boot.bin后,再燒寫到開發板中。
內核是操作系統的核心,一方面,管理底層的各個接口,實現對硬件的編程控制和接口操作;另一方面,為應用程序提供了一個執行環境。用戶可以根據自身需要對內核進行裁剪和配置,并在內核中添加設備驅動[3]。文件系統是文件的組織管理形式,它位于操作系統之上,包含了Linux能夠正常運行所需的庫函數和應用程序等。Busybox是用來創建根文件系統的工具,用來構建嵌入式設備所需的Linux根文件系統。最后用YAFFS編譯構建文件系統,生成根文件系統的鏡像文件,并將其下載到開發板中。
2 指紋識別模塊
本文采用的指紋識別模塊是偉耕科技有限公司研制的R305指紋識別模塊。它由光學式指紋傳感器和DSP處理器構成,內嵌完整的指紋識別算法和協議。具有指紋采集、指紋對比、指紋存儲等功能[6]。R305的主要技術指標如表1所示。
2.1 硬件接口
指紋模塊外部的4個引腳與控制電路板通過串行通信接口相連,外部引腳及定義如表2所示。
由于,指紋模塊不能通過串行通信接口與主控芯片相連,必須在其中添加一個電平轉換芯片(如MAX232、SP3232等),將RS232信號電平轉換為TTL電平,本文使用了3.3 V供電的SP3232芯片,電路連接原理圖如圖2所示。
2.2 軟件接口
使用R305模塊進行軟件開發,必須掌握該模塊具有的系統資源、通信方式和指令系統。
R305模塊具有以下系統資源:
(1)狀態寄存器,占用1個字,用于系統狀態指示。
(2)模塊地址:占用2個字,軟件只接收與該地址相配的指令包和數據包。
(3)波特率系數:占用1個字,用于設置UART波特率,且該值必須是9 600 b/s的整數倍。
(4)模塊指令:占用2個字,用于握手時驗證,驗證成功系統才響應。
(5)緩沖區與指紋庫:模塊內設有72 KB的圖像緩沖區ImageBuffer和兩個512 B大小的特征文件緩沖區CharBuffer1、CharBuffer2。用戶可以通過指令讀寫任意一個緩沖區。特征文件緩沖區既可以用于存放特征文件,也可以用于存放模板特征文件。
R305模塊與S3C2440通信采用的是半雙工異步串行通信協議,默認波特率為57 600 b/s。傳送的幀格式為10 bit,1 bit 0電平起始位,8 bit為數據位和1 bit停止位,無校驗位。在此協議規則下,模塊與S3C2440通信分為三類:命令包、數據包與結束包。包頭均為0xEF01。三種包的格式如表3所示。
08HR305模塊指令系統具有豐富的指令集,表4列舉出了程序設計中所用到的其中的指令。
2.3 程序設計
對指紋模塊的操作分為兩種情況,(1)指紋錄入:兩次指紋采集,將采集到的指紋圖像生成特征文件,并將兩次采集生成的特征文件合并生成模板,最后將模板保存到指紋庫中。(2)指紋登錄:采集指紋圖像,生成特征文件,保存入CharBuffer1中,再搜索指紋庫,并將指紋庫中的特征模板存入CharBuffer2中,將CharBuffer1中的特征文件與CharBuffer2中的特征模板進行精確對比直至配對成功。若搜索完整個指紋庫仍然找不到配對的指紋特征模板,則登錄失敗。指紋錄入的程序流程圖如圖3所示,指紋登錄的程序流程圖如圖4所示。
3 QT/E用戶界面程序設計
QT是一個完整的C++應用程序開發框架,因為其API在所有平臺上均相同,所以QT經常用來做跨平臺程序開發[2]。QT/Embedded是面向嵌入式Linux開發的QT版本,通常簡稱為QT/E。它是基于QT嵌入式GUI和應用程序開發的工具包,專門為嵌入式設備提供圖形用戶界面的應用框架和窗口系統。
本文使用QT的可視化界面設計工具QT Designer,首先新建一個QT工程,工程模板選擇Widget,根據工程需要設計添加窗口、按鈕、文字、輸入框、對話框等對象,建立這些對象的觸發信號與相應的槽。信號與槽機制是QT的基礎,它可以讓互不相關的對象關聯(colleciton)起來,槽就類似于C++成員函數,唯一的區別在于槽可以與信號連接在一起,當觸發某個信號時就會自動調用與其相應的槽[8]。信號與槽機制如圖5所示。
本系統的槽包括指紋獲取、注冊、匹配,采集模式切換等,部分槽函數的聲明如下:
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()
采集界面設計完成后,保存.ui工程文件。使用ui2cpp將工程文件轉換為C++源文件和頭文件,再添加main.cpp,到源碼中各個函數下添加代碼,最后編譯并移植到開發板中即可使用。采集界面程序流程如圖6所示。
整個采集界面程序流程簡單,符合用戶的思維和使用習慣,操作工人可以不經過任何培訓就能夠對系統進行操作,并且很多步驟都由系統自動完成,比如:當選擇白光采集模式,則自動開啟白光,關閉熒光,濾鏡切出。這樣簡單的設計不僅能突顯采集系統的功能性,獲得更好的用戶體驗,也降低了開發難度,增強了系統的魯棒性。
4 結論
本文提出了一種針對巖屑采集系統的易操作性與保密性的設計方案,添加了指紋識別模塊,并利用模塊的軟硬件接口在采集程序中添加了指紋識別功能,保證了采集系統的安全保密性。采用QT/E來設計采集系統的交互界面,并設計了采集界面程序,使用戶可以通過觸屏式LCD直接完成整個采集操作。
參考文獻
[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].閆鋒欣,譯.北京:電子工業出版社,2008.
[3] CORBET J, RUBINI A, KROAH-HAR TMAN G.Linux設備驅動程序[M].魏永明,等譯.北京:中國電力出版社,2002.
[4] CPU Samsung Electronics Co.Ltd. User manual S3C2440 32 bit RISC microprocesor revision1[Z]. 2002.
[5] 柴曉光,岑寶熾.民用指紋識別技術[M].北京:人民郵電出版社,2004.
[6] 偉耕科技有限公司.R30X系列指紋識別模塊開發手冊[Z].2012.
[7] 胡濤.面向保密型企業的指紋識別考勤管理系統的設計與實現[D].成都:電子科技大學,2013.
[8] 吳賀猛.基于QT/E的嵌入式圖形用戶界面的研究與應用[D].南京:南京郵電大學,2013.