色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于嵌入式操作系統(tǒng)uClinux的虹膜圖像采集以及預(yù)處理

電子設(shè)計(jì) ? 來源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-08-09 08:09 ? 次閱讀

隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的發(fā)展,信息安全顯示出前所未有的重要性,而身份識(shí)別作為保證信息安全的必要前提,也越來越受到重視。虹膜識(shí)別技術(shù)是基于眼睛虹膜的生物識(shí)別技術(shù)。虹膜的終生不變性以及信息提取的非接觸性等特性,使其成為各項(xiàng)生物識(shí)別技術(shù)中最突出的一項(xiàng)。本文論述了在基于Blackfin561的嵌入式操作系統(tǒng)uClinux的虹膜圖像采集以及預(yù)處理。為后期在嵌入式平臺(tái)上進(jìn)行虹膜圖像運(yùn)算提供了圖像來源。

1 Blackfin561中的DMA

Blackfin系列DSP產(chǎn)品ADI公司的基于微信號(hào)體系結(jié)構(gòu)的DSP,適用于各種視頻音頻通信領(lǐng)域。ADSP-BF561有多個(gè)獨(dú)立的DMA控制器,能夠以最小的DSP內(nèi)核開銷完成數(shù)據(jù)自動(dòng)傳輸。DMA傳輸可以發(fā)生在ADSP-BF561的內(nèi)部存儲(chǔ)器和任一有DMA能力的外設(shè)之間。此外,DMA傳輸也可以在任一有DMA能力的外設(shè)和已連接到外部存儲(chǔ)器接口的外部設(shè)備之間完成(包括SDRAM控制器、異步存儲(chǔ)器控制器)。有DMA傳輸能力的外設(shè)包括SPORT、SPI端口UART和PPI端口。每個(gè)獨(dú)立的有DMA能力的外設(shè)至少有一個(gè)專用DMA通道。BF561內(nèi)部專門為適應(yīng)視頻數(shù)據(jù)處理而增加了二維DMA。

2 PPI接口驅(qū)動(dòng)的具體實(shí)現(xiàn)

uClinux是針對(duì)微控制領(lǐng)域而設(shè)計(jì)的Linux系統(tǒng),面向沒有MMU(Memory Management Unit)的硬件平臺(tái)。它是Linux的一個(gè)變種,一方面它繼承了Linux的大部分優(yōu)點(diǎn),例如穩(wěn)定性,強(qiáng)大的網(wǎng)絡(luò)功能;另一方面其內(nèi)核相當(dāng)精簡, 內(nèi)核體積小于512KB, 內(nèi)核加文件系統(tǒng)小于900KB。uClinux同標(biāo)準(zhǔn)Linux主要的區(qū)別在于兩者的內(nèi)存管理機(jī)制和進(jìn)程調(diào)度管理機(jī)制,另外它采用了romfs文件系統(tǒng),并對(duì)Linux上的C語言庫glibc做了簡化。uClinux完全符合GNU/GPL公約,完全開放源代碼,因此在嵌入式領(lǐng)域得到廣泛應(yīng)用。

為管理各種外圍硬件設(shè)備,uClinux系統(tǒng)對(duì)其采取面向?qū)ο蟮姆庋b機(jī)制。uClinux將所有的外圍設(shè)備看成是一類特殊文件,稱為“設(shè)備文件”,它抽象了對(duì)硬件的處理,用戶進(jìn)程只需通過標(biāo)準(zhǔn)的系統(tǒng)調(diào)用如open(),read(),write(),close()而無需了解設(shè)備在硬件層上實(shí)現(xiàn)的細(xì)節(jié)即可實(shí)現(xiàn)對(duì)設(shè)備的訪問控制。驅(qū)動(dòng)程序則負(fù)責(zé)這些系統(tǒng)調(diào)用的具體實(shí)現(xiàn)。

針對(duì)具體應(yīng)用,在驅(qū)動(dòng)程序中實(shí)現(xiàn)了模塊注冊(cè)注銷函數(shù),open,release接口函數(shù)和read接口函數(shù)(如圖1所示)。驅(qū)動(dòng)程序采用了中斷方式,對(duì)PPI和DMA進(jìn)行了配置,采用BF561提供的二維DMA功能。詳細(xì)介紹如下:

基于嵌入式操作系統(tǒng)uClinux的虹膜圖像采集以及預(yù)處理

(1)模塊初始化函數(shù)init_module()。該函數(shù)是每個(gè)內(nèi)核模塊加載的時(shí)候首先調(diào)用的一個(gè)默認(rèn)函數(shù)。程序中使用了module_init()宏來顯式命名模塊的注冊(cè)函數(shù)為 ppi_init(),在該函數(shù)中完成了設(shè)備’ppi’的注冊(cè),當(dāng)模塊加載完畢之后,內(nèi)核即知曉該設(shè)備的存在。

(2)模塊卸載函數(shù)cleanup_module(),該函數(shù)與init_module()做相反的工作,在內(nèi)核中取消設(shè)備的登記。與模塊注冊(cè)類似,程序中使用module_exit()宏來顯式命名模塊的注銷函數(shù)為 ppi_exit()該函數(shù)在模塊卸載的時(shí)候自動(dòng)調(diào)用。

(3)設(shè)備驅(qū)動(dòng)程序的file_operations結(jié)構(gòu)。由于所使用的PPI接口只用來做數(shù)據(jù)采集,因此file_operation結(jié)構(gòu)定義如下:

static struct file_operations ppi_fops = {

owner: THIS_MODULE,

read: ppi_read,

open: ppi_open,

release: ppi_release,

};

(4)open,release接口函數(shù)。在這兩個(gè)函數(shù)中分別使用了MOD_INC_USE_COUNT和MOD_DEC_USE_COUNT宏,被操作系統(tǒng)內(nèi)核用來記錄當(dāng)前訪問設(shè)備文件的進(jìn)程數(shù)。由于要使用中斷方式,所以在open和release中要分別實(shí)現(xiàn)中斷的申請(qǐng)和釋放。設(shè)備驅(qū)動(dòng)程序通過調(diào)用request_irq()函數(shù)申請(qǐng)中斷,將一個(gè)硬件處理函數(shù)掛到相應(yīng)的處理隊(duì)列中,通過調(diào)用free_irq()函數(shù)釋放中斷。在open函數(shù)中初始化了PPI和DMA的部分相關(guān)寄存器。擇要描述如下:

*pDMA1_0_Y_COUNT = 625; 二維DMA的外層循環(huán)計(jì)數(shù)寄存器,用于保存外層循環(huán)的數(shù)目。

*pDMA1_0_X_COUNT = 1728/4; 二維DMA的內(nèi)層循環(huán)計(jì)數(shù)寄存器,用于保存內(nèi)層循環(huán)的數(shù)目。

*pDMA1_0_X_MODIFY= *pDMA1_0_Y_MODIFY = 4; 內(nèi)層外層循環(huán)地址增量寄存器。為有效利用DMA帶寬,設(shè)置了PPI使之能處理32位DMA,且數(shù)據(jù)緩沖區(qū)是連續(xù)的,此處兩個(gè)增量寄存器都被設(shè)置為4。

*pPPI0_FRAME = 625; 在PPI被設(shè)置成ITU-656輸入模式下,該寄存器用于保存每幀的數(shù)據(jù)線路數(shù)。

(5)read接口函數(shù)。在該函數(shù)中初始化PPI控制寄存器和DMA配置寄存器及DMA地址寄存器。

*pDMA1_0_START_ADDR = buf;

*pDMA1_0_CONFIG = 0x109B;

*pPPI0_CONTROL = 0x01C5;

設(shè)置好寄存器后,使進(jìn)程進(jìn)入睡眠隊(duì)列,等待DMA結(jié)束產(chǎn)生的中斷將其喚醒。

數(shù)據(jù)緩沖區(qū)在用戶區(qū)定義,因一幀數(shù)據(jù)大小確定,所以在用戶應(yīng)用程序中定義的數(shù)據(jù)存儲(chǔ)區(qū)大小指定為625*1728B。通過調(diào)用函數(shù)時(shí)傳遞指針的方式通知數(shù)據(jù)緩沖區(qū)的位置。在該函數(shù)中不再使用copy_to_user()函數(shù),此方式節(jié)省了內(nèi)存空間,對(duì)于嵌入式應(yīng)用來說意義重大。事實(shí)上每次DMA開始傳送的頭4個(gè)字節(jié)總是被忽略掉的,這4個(gè)字節(jié)是第一個(gè)活動(dòng)視頻開始(EAV)代碼。即需要的一幀圖像數(shù)據(jù)比實(shí)際傳送的要少4個(gè)字節(jié),但是為了數(shù)據(jù)處理的方便,仍將數(shù)據(jù)緩存區(qū)定義為完整一幀圖像的大小,這樣數(shù)據(jù)緩存區(qū)的最后4個(gè)字節(jié)是下一幀圖像的EAV代碼。到此,虹膜圖像采集的驅(qū)動(dòng)程序基本完成,可以看出,驅(qū)動(dòng)程序與應(yīng)用程序聯(lián)系緊密,這也反應(yīng)了嵌入式系統(tǒng)的一個(gè)特點(diǎn),面向應(yīng)用,專用性極強(qiáng)。

3 圖像數(shù)據(jù)的預(yù)處理

在用戶程序中,定義二維數(shù)組buf[625][1728]作為圖像數(shù)據(jù)的數(shù)據(jù)緩沖區(qū),然后通過標(biāo)準(zhǔn)系統(tǒng)調(diào)用獲取一幀虹膜視頻圖像數(shù)據(jù)。虹膜視頻圖像數(shù)據(jù)是以ITU-656模式輸入的,一幀圖像分為奇場和偶場,且原始數(shù)據(jù)中還有顏色信息、消隱信息和控制字等,因此要獲得一幅虹膜圖像還需對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理。提取原始數(shù)據(jù)中的所有亮度信息,并把兩個(gè)場的數(shù)據(jù)有規(guī)則的合并到一起,然后按照BMP的圖像數(shù)據(jù)存放順序重新排列,添加相應(yīng)的文件頭生成灰度BMP圖像文件。

BMP文件是Windows保存圖像的一種通用位圖文件格式,自帶顏色信息,調(diào)色板管理非常容易,在數(shù)字圖像處理方面占有重要的地位。

BMP文件大體上分成如下4個(gè)部分,位圖文件頭+位圖信息頭+調(diào)色板+圖像數(shù)據(jù)。

(1)第一部分為位圖文件頭,長度固定,為l4個(gè)字節(jié)。

(2)第二部分為位圖信息頭,長度固定,為40個(gè)字節(jié)。

(3)第三部分為調(diào)色板。需要注意的是真彩色圖不需要調(diào)色板,它們的位圖信息頭后面直接是圖像數(shù)據(jù)。而其他位圖,包括本文所討論的8位位圖,都需要調(diào)色板。

(4)第四部分就是實(shí)際的圖像數(shù)據(jù)。

在實(shí)際調(diào)試過程中還要注意字節(jié)對(duì)齊問題。比如位圖文件頭長度固定為l4個(gè)字節(jié),但若不注意字節(jié)對(duì)齊,定義后的結(jié)構(gòu)體實(shí)際大小為16個(gè)字節(jié),因此定義位圖文件頭時(shí)用__attribute__((packed)),使該結(jié)構(gòu)體長度為14個(gè)字節(jié)。

4 結(jié)論

本文簡略概述了Blackfin561處理器的DMA相關(guān)寄存器,敘述了在uClinux下PPI接口的驅(qū)動(dòng)程序?qū)崿F(xiàn)過程及功能,對(duì)BMP文件格式進(jìn)行了簡要介紹。所有代碼已經(jīng)在BF561的嵌入式uClinux平臺(tái)上調(diào)試通過,符合設(shè)計(jì)要求。

本文作者創(chuàng)新點(diǎn):完成了嵌入式系統(tǒng)上的虹膜圖像采集及預(yù)處理。在目前國內(nèi)虹膜識(shí)別產(chǎn)業(yè)仍處于起步階段的情況下,本文就虹膜識(shí)別技術(shù)的實(shí)用化做了重要研究,具有重要的實(shí)用價(jià)值。

下圖是實(shí)驗(yàn)中拍到的兩幅圖片

基于嵌入式操作系統(tǒng)uClinux的虹膜圖像采集以及預(yù)處理


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5087

    文章

    19145

    瀏覽量

    306121
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7519

    瀏覽量

    88203
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    6850

    瀏覽量

    123431
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    嵌入式虹膜圖像采集怎么實(shí)現(xiàn)?

    特性,使其成為各項(xiàng)生物識(shí)別技術(shù)中最突出的一項(xiàng)。本文論述了在基于Blackfin561的嵌入式操作系統(tǒng)uClinux虹膜圖像
    發(fā)表于 03-30 06:54

    嵌入式uClinux的內(nèi)核結(jié)構(gòu)和開發(fā)環(huán)境

    主要對(duì)uClinux的進(jìn)行介紹,嵌入式uClinux操作系統(tǒng)主要有三個(gè)基本部分組成:引導(dǎo)程序、uClinux內(nèi)核(由內(nèi)存管理、進(jìn)程管理和中斷
    發(fā)表于 07-08 15:36

    嵌入式Linux操作系統(tǒng)

    ARM+LINUX路線,主攻嵌入式Linux操作系統(tǒng)及其上應(yīng)用軟件開發(fā)目標(biāo):(1)掌握主流嵌入式微處理器的結(jié)構(gòu)與原理(初步定為arm9)(2)必須掌握一個(gè)嵌入式
    發(fā)表于 10-27 10:22

    什么是嵌入式操作系統(tǒng)? 

    、INTEGRITY、OSE、C ExecuTIve  什么是嵌入式操作系統(tǒng) 嵌入式操作系統(tǒng)是一種支持嵌入式
    發(fā)表于 10-28 07:35

    嵌入式Linux操作系統(tǒng)學(xué)習(xí)規(guī)劃

    嵌入式Linux操作系統(tǒng)學(xué)習(xí)規(guī)劃ARM+LINUX路線,主攻嵌入式Linux操作系統(tǒng)及其上應(yīng)用軟件開發(fā)目標(biāo):(1) 掌握主流嵌入式微處理器的
    發(fā)表于 11-05 06:45

    基于Linux的嵌入式操作系統(tǒng)

    2.2 實(shí)時(shí)操作系統(tǒng)的評(píng)價(jià)指標(biāo)三、基于Linux的嵌入式操作系統(tǒng)3.1 ARMLinux簡介3.2 uCLinux簡介四、嵌入式
    發(fā)表于 11-08 09:05

    深入uclinux嵌入式操作系統(tǒng)

    Why 嵌入式Linux?未來24個(gè)月嵌入式操作系統(tǒng)的應(yīng)用調(diào)查(2000.9) 嵌入式Linux分類第一類是在利用Linux強(qiáng)大功能的前提下,使它盡可能的小,以滿足許多
    發(fā)表于 03-28 09:45 ?37次下載

    基于uCLinux嵌入式實(shí)時(shí)遠(yuǎn)程數(shù)據(jù)采集系統(tǒng)

    提出一種基于嵌入式操作系統(tǒng)的可遠(yuǎn)程監(jiān)測的新型數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)方案. 本系統(tǒng)嵌入式
    發(fā)表于 04-24 10:45 ?22次下載

    嵌入式虹膜圖像采集預(yù)處理

    簡要介紹了Blackfin561的DMA功能和BMP文件的格式,敘述了在基于Blackfin561的嵌入式操作系統(tǒng)uClinux下并行外部接口(PPI)驅(qū)動(dòng)程序的框架,以及驅(qū)動(dòng)程序中各
    發(fā)表于 07-15 11:06 ?14次下載

    嵌入式操作系統(tǒng)uClinux和eCos的比較

    uClinux和eCos操作系統(tǒng)是兩種性能優(yōu)良、源碼公開且被廣泛應(yīng)用的免費(fèi)嵌入式操作系統(tǒng)。本文通過對(duì)uclinux和eCos的對(duì)比,分析和總
    發(fā)表于 04-18 08:36 ?1720次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統(tǒng)</b><b class='flag-5'>uClinux</b>和eCos的比較

    嵌入式操作系統(tǒng)uCLinux詳解

    對(duì)uClinux的進(jìn)行介紹,嵌入式uClinux操作系統(tǒng)主要有三個(gè)基本部分組成:引導(dǎo)程序、uClinux內(nèi)核(由內(nèi)存管理、進(jìn)程管理和中斷
    發(fā)表于 11-02 10:42 ?0次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統(tǒng)</b><b class='flag-5'>uCLinux</b>詳解

    嵌入式操作系統(tǒng)uClinux和eCos的比較

    1 兩種開源嵌入式操作系統(tǒng)介紹 uClinux是一種優(yōu)秀的嵌入式Linux版本。uClinux是micro-Conrol-linux的縮寫。
    發(fā)表于 12-01 17:12 ?560次閱讀
     <b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統(tǒng)</b><b class='flag-5'>uClinux</b>和eCos的比較

    嵌入式操作系統(tǒng)如何應(yīng)用_嵌入式操作系統(tǒng)的組成

    本文首先介紹了入操作系統(tǒng)的特點(diǎn),其次闡述了嵌入式操作系統(tǒng)的應(yīng)用,最后介紹了嵌入式操作系統(tǒng)的組成
    發(fā)表于 09-01 16:36 ?3623次閱讀

    什么是嵌入式操作系統(tǒng) 常見的嵌入式系統(tǒng)有哪些

    、INTEGRITY、OSE、C ExecuTIve  什么是嵌入式操作系統(tǒng) 嵌入式操作系統(tǒng)是一種支持嵌入式
    發(fā)表于 10-21 09:36 ?27次下載
    什么是<b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統(tǒng)</b> 常見的<b class='flag-5'>嵌入式</b><b class='flag-5'>系統(tǒng)</b>有哪些

    嵌入式操作系統(tǒng)

    2.2 實(shí)時(shí)操作系統(tǒng)的評(píng)價(jià)指標(biāo)三、基于Linux的嵌入式操作系統(tǒng)3.1 ARMLinux簡介3.2 uCLinux簡介四、嵌入式
    發(fā)表于 11-03 18:36 ?46次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>操作系統(tǒng)</b>
    主站蜘蛛池模板: 色综合久久88一加勒比| jealousvue成熟40岁| 亚洲中文无码AV在线观看 | 欧美在线亚洲综合国产人| 神马电影院午 夜理论| 亚洲综合国产精品| xxxxx中国明星18| 国偷自产视频一区二区99 | 牛牛免费视频| 午夜国产高清精品一区免费| 中文字幕亚洲乱码熟女在线萌芽 | 黑人娇小BBW| 青柠高清在线观看完整版| 亚洲精品喷白浆在线观看| jzz大全18| 吉吉影音先锋av资源网| 青青草在线 视频| 亚洲免费无码中文在线| yellow片高清视频免费看| 黄色a级免费网站| 日本老妇一级特黄aa大片| 云南14学生真实初次破初视频| 吃奶啃奶玩乳漫画| 久久夜色噜噜噜亚洲AV0000| 无码人妻精品一区二区蜜桃在线看 | 精品夜夜澡人妻无码AV| 日本漫画母亲口工子全彩| 一个色综合久久| 东北女人奶大毛多水多| 恋夜直播午夜秀场最新| 亚洲 日韩 在线 国产 视频| jyzzjyzzz视频国产在线观看| 久久99AV无色码人妻蜜柚| 色偷偷91综合久久噜噜| 69亞洲亂人倫AV精品發布| 国产午夜精品久久久久九九| 欧美日韩亚洲中字二区| 尤物国产在线精品三区| 国产日韩在线欧美视频| 日韩欧美中文字幕一区| 51精品国产AV无码久久久密桃|