邵 玫
摘要:根據(jù)圖像模式識別的需要,分析了對嵌入式處理平臺的資源需求,根據(jù)資源需求,選擇了ADI公司的Blackfin BF533系列DSP作為處理器平臺,然后結(jié)合Blackfin的特性和圖像清晰度的需求,確定使用OV7141 CMOS圖像傳感器。論文涉及到了在硬件和底層軟件的設(shè)計中遇到的相關(guān)關(guān)鍵問題,同時給出了該平臺的輸出結(jié)果。該平臺價格低廉,具有速度為1200MIPS的數(shù)據(jù)處理能力,其圖像采集模塊可以拍攝到640×480分辨率的清晰掌紋圖像,可以完全滿足在線生物特征識別的資源需求。
關(guān)鍵詞:圖像識別;Blackfin;OV7141 CMOS傳感器;軟硬件設(shè)計
1引言
紅外圖像采集設(shè)備廣泛應(yīng)用于特殊場合,尤其是在線生物特征認(rèn)證[1],為了達(dá)到應(yīng)用的要求,除了要求算法要可靠外, 還要求識別設(shè)備足夠小型,具有便攜化以及可升級性。所以,能夠擺脫PC的束縛,在嵌入式系統(tǒng)上實現(xiàn)圖像鑒別更加具有實際應(yīng)用價值,但是,目前大部分的研究都是基于PC平臺的,都還在算法研究階段[1-2]。
現(xiàn)在的大部分圖像識別算法研究都是在PC上實現(xiàn)的,其系統(tǒng)結(jié)構(gòu)往往是使用一個CCD的攝像機捕捉圖像,然后輸入個人電腦,再在PC上使用MatLab或VC環(huán)境開發(fā)通用的識別算法程序。這樣的開發(fā)模式具有很大的靈活性,適合于科學(xué)研究,但是距離真正的實用還有一定的距離。
針對一些需要紅外濾波在線生物特征認(rèn)證系統(tǒng)的要求,本文根據(jù)紅外圖像識別的具體要求,提出了基于ADI公司的Blackfin系列DSP處理器,使用Omnivision公司的OV7141 CMOS圖像傳感器的設(shè)計方案,經(jīng)過實際的調(diào)制,該方案可以提供清晰的圖像,并且Blackfin處理器可以提供1200MIPS的運算速度,為生物特征識別軟件的開發(fā)提供了很好的平臺。而系統(tǒng)的整體成本也控制在了很低的水平上。
2系統(tǒng)的硬件設(shè)計
完整的紅外圖像鑒別系統(tǒng)應(yīng)該具備注冊和鑒別兩個基本功能。為了實現(xiàn)注冊和鑒別兩個功能,本文將系統(tǒng)分為以下幾個模塊:圖像采集模塊、鑒別處理模塊、輸入輸出模塊和通信模塊。其中,鑒別處理模塊是整個系統(tǒng)的核心, 它既要從前端獲得的圖像中提取掌紋線的信息,完成圖像鑒別算法的運算,還要對其它的模塊進行控制和監(jiān)測。系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。
2.1并行外設(shè)總線設(shè)計
由于本方案采用的是OV7141,它具有數(shù)據(jù)時鐘、場同步信號和行同步信號引腳,故采用了通用輸入模式。由于OV7141輸出的是8位的圖像信號,因此只用到了Blackfin的PPI接口數(shù)據(jù)腳的低8位,高八位的PF復(fù)用引腳可以作為它用。硬件連接采用了如圖2所示的設(shè)計方案[3]。
OV7141工作時鐘的典型頻率是24MHz,這個時鐘信號連接到Blackfin的PPI_CLK引腳,作為并行數(shù)據(jù)傳輸?shù)臅r序基準(zhǔn)。OV7141的場同步和行同步信號加到Blackfin的PPI_FS1和PPI_FS2引腳上,在Blackfin的內(nèi)部,這兩個引腳連接到了定時器1和定時器2的PWM電路,可以通過設(shè)置TIMER1和TIMER2的相關(guān)寄存器來設(shè)定視頻信號的同步時序參數(shù)。
2.2 SCCB控制總線設(shè)計
SCCB是OmniVision公司定制的串行攝像頭控制總線(Serial Camera Control Bus),它用于對攝像頭的寄存器進行讀寫,以達(dá)到對攝像頭輸出圖像的控制。SCCB的數(shù)據(jù)傳輸由主器件控制,主器件能夠發(fā)出數(shù)據(jù)傳輸啟動信號、時鐘信號以及傳送結(jié)束時的停止信號。通常主器件都是微處理器,它尋址訪問的設(shè)備稱為從器件。為了進行通訊,每個接到SCCB的設(shè)備都有一個唯一的地址( ID),使用軟件尋址來識別總線上的從器件,省去了從器件的片選。因此,只需要兩根線(串行時鐘線SIO_C和串行數(shù)據(jù)線SIO_D) ,掛接到總線上的器件就能相互進行信息傳遞。組成SCCB的SIO_C和SIO_D必須經(jīng)過上拉電阻RP 接到正電源上,連接到總線的器件的輸出級必需為“開漏”或“開集”的形式,以便在多個主或從需求仲裁的情況下完成線與的功能[4-6]。
在SCCB 協(xié)議中定義開始和停止條件如下:開始條件是在SIO_C為高電平時,SIO_D出現(xiàn)一個下降沿;停止條件是在SIO_C為高電平時,SIO_D出現(xiàn)一個上升沿。除了開始和停止?fàn)顟B(tài),在數(shù)據(jù)傳輸時,如果SIO_C為高電平時,必需保證SIO_D上的數(shù)據(jù)的穩(wěn)定,也就是說,SIO_D上的數(shù)據(jù)只能在SIO_C為低電平時改變。
與I2C 總線類似,SCCB完整的數(shù)據(jù)傳輸包括兩個或三個階段。每一階段包中含9位二進制數(shù)據(jù),其中高8位為所要傳輸?shù)?位數(shù)據(jù),最低位根據(jù)主器件的數(shù)據(jù)傳輸是讀操作還是寫操作而確定。
在SCCB 協(xié)議定義了兩種寫操作,即三相寫操作和兩相寫操作。三相寫操作是往從器件的目的寄存器中寫入數(shù)據(jù)。在三相寫操作中,第一階段寫從器件的地址,第二階段寫從器件目標(biāo)寄存器的地址,第三階段寫入數(shù)據(jù)。而兩相寫操作只有三相寫操作的前兩個階段。
在本文的設(shè)計中,由于Blackfin不支持IIC或SCCB總線,因此使用BF533 DSP芯片兩個通用(GPIO)引腳,用軟件模擬的方式實現(xiàn)了SCCB總線的驅(qū)動[7-8]。為了實現(xiàn)電壓匹配,并保護珍貴的DSP芯片,故可使用了74HC244三態(tài)緩沖器作為驅(qū)動緩沖。
3 系統(tǒng)的軟件設(shè)計
為了能夠給上層應(yīng)用程序提供必要的驅(qū)動和接口,系統(tǒng)的底層軟件是所有工作的基礎(chǔ),這部分工作包括了DMA通道的設(shè)置、SCCB控制總線的實現(xiàn)和串口通信等等。
3.1 DMA圖像數(shù)據(jù)傳輸通道設(shè)計
在Blackfin的內(nèi)部具有12個通道的DMA控制器,可以實現(xiàn)PPI、SPORTS、SPI、UART和RAM之間的數(shù)據(jù)傳輸,每個被支持的DMA外設(shè)都至少有一個專用的DMA通道。Blackfin支持一維和二維的DMA傳輸,其DMA傳輸?shù)某跏蓟梢酝ㄟ^設(shè)定寄存器來實現(xiàn),也可以通過待傳輸數(shù)據(jù)頭部的一組狀態(tài)描述符來實現(xiàn)。
3.2 SCCB總線的實現(xiàn)
由于Blackfin系列的DSP不支持IIC或SCCB總線,因此需要使用GPIO引腳,使用程序模擬來實現(xiàn)對SCCB總線的支持。根據(jù)開發(fā)板的實際連接情況,在本文方案中,PF7引腳作為SIO_C時鐘線,PF5引腳作為SIO_D數(shù)據(jù)線來使用。
假設(shè)將通過SCCB發(fā)送五位數(shù)據(jù)“SOF 0 1 1 EOF”時,引腳上的電平變化情況如圖8,從圖中可以得到模擬SCCB時序的方法,也就是把每一位數(shù)據(jù)的傳輸切分成四個時間片。
在三相寫操作中,具體指令包括了開始位、結(jié)束位、以及3組每組9位的數(shù)據(jù),一共包含有29bits數(shù)據(jù)。在程序?qū)崿F(xiàn)中,可以用一個29個元素的數(shù)組來表示一個指令,然后用上文的代碼將指令位依次寫入PF7和PF5引腳中。具體的代碼不在此處贅述。
4結(jié)果和分析
本文方案使用ADI公司的ADSP-BF533 EZ-KIT 開發(fā)板,與繪制的OV7141攝像PCB板相連,使用標(biāo)準(zhǔn)的攝像鏡頭,以石英射燈作為光源,拍攝到了人體掌靜脈的圖像,分辨率達(dá)到了640×480,清晰度達(dá)到了掌靜脈這一生物識別的要求。
作為嵌入式方案,16位的BF533 DSP具有600MHz的處理速度,擁有32M的數(shù)據(jù)SDRAM,2M的Flash存儲器,開發(fā)板支持C++語言程序??梢暂^容易的把PC上的識別處理程序移植到該嵌入式系統(tǒng)中,完全可以滿足圖像識別處理的資源要求,為后期的開發(fā)提供了高性能的開發(fā)平臺。
5總結(jié)
本文根據(jù)圖像模式識別的需要,分析了對嵌入式處理平臺的資源需求,包括了對處理器的需求,以及對攝像拍攝模塊的需求指標(biāo),根據(jù)資源需求分析的結(jié)果,選擇了ADI公司的Blackfin系列BF533 DSP處理器。再結(jié)合Blackfin的硬件接口和對圖像清晰度的需求,確定使用OV7141 CMOS圖像傳感器,它可以輸出640×480分辨率的黑白手章靜脈圖像。本文包括了并行外設(shè)總線(PPI)的硬件接口設(shè)計和時序,使用DSP的GPIO口實現(xiàn)SCCB控制總線的仿真實現(xiàn),以及在Blackfin內(nèi)部使用DMA通道實現(xiàn)數(shù)據(jù)的快速傳輸。在本章的最后,給出了該平臺的輸出結(jié)果。
參考文獻
[1] 田捷,楊鑫 生物特征識別技術(shù)理論與應(yīng)用 電子工業(yè)出版社 2005.9
[2] ADI.inc ADSP-BF533 datasheethttp://www.analog.com 2006.5
[3] Omnivision.inc OV7640/OV7141 datasheet Version2.1 http://www.ovt.com 2005.3
[4] ADI.inc ADSP-BF533 EZ-KIT Lite Evaluation System Manualhttp://www.analog.com 2006.5
[5] 陳峰 Blackfin系列DSP原理與系統(tǒng)設(shè)計 電子工業(yè)出版社 2004.1
[6] 車樹良,呂英華,王海蘭 基于S3C44B0的圖像數(shù)據(jù)采集方法 計算機工程與應(yīng)用 2005.12
[7] OmniVision.inc OmniVision Serial Camera Control Bus (SCCB) Functional SpecificationProprietary to OmniVision Technologies Version 2.1 2003.2
[8] 張智杰,郭曉東 Blackfin DSP并行外圍接口在紅外視頻處理通用模塊中的應(yīng)用研究 光學(xué)與光電技術(shù) 2005.12.