邵 玫
摘要:根據圖像模式識別的需要,分析了對嵌入式處理平臺的資源需求,根據資源需求,選擇了ADI公司的Blackfin BF533系列DSP作為處理器平臺,然后結合Blackfin的特性和圖像清晰度的需求,確定使用OV7141 CMOS圖像傳感器。論文涉及到了在硬件和底層軟件的設計中遇到的相關關鍵問題,同時給出了該平臺的輸出結果。該平臺價格低廉,具有速度為1200MIPS的數據處理能力,其圖像采集模塊可以拍攝到640×480分辨率的清晰掌紋圖像,可以完全滿足在線生物特征識別的資源需求。
關鍵詞:圖像識別;Blackfin;OV7141 CMOS傳感器;軟硬件設計
1引言
紅外圖像采集設備廣泛應用于特殊場合,尤其是在線生物特征認證[1],為了達到應用的要求,除了要求算法要可靠外, 還要求識別設備足夠小型,具有便攜化以及可升級性。所以,能夠擺脫PC的束縛,在嵌入式系統上實現圖像鑒別更加具有實際應用價值,但是,目前大部分的研究都是基于PC平臺的,都還在算法研究階段[1-2]。
現在的大部分圖像識別算法研究都是在PC上實現的,其系統結構往往是使用一個CCD的攝像機捕捉圖像,然后輸入個人電腦,再在PC上使用MatLab或VC環境開發通用的識別算法程序。這樣的開發模式具有很大的靈活性,適合于科學研究,但是距離真正的實用還有一定的距離。
針對一些需要紅外濾波在線生物特征認證系統的要求,本文根據紅外圖像識別的具體要求,提出了基于ADI公司的Blackfin系列DSP處理器,使用Omnivision公司的OV7141 CMOS圖像傳感器的設計方案,經過實際的調制,該方案可以提供清晰的圖像,并且Blackfin處理器可以提供1200MIPS的運算速度,為生物特征識別軟件的開發提供了很好的平臺。而系統的整體成本也控制在了很低的水平上。
2系統的硬件設計
完整的紅外圖像鑒別系統應該具備注冊和鑒別兩個基本功能。為了實現注冊和鑒別兩個功能,本文將系統分為以下幾個模塊:圖像采集模塊、鑒別處理模塊、輸入輸出模塊和通信模塊。其中,鑒別處理模塊是整個系統的核心, 它既要從前端獲得的圖像中提取掌紋線的信息,完成圖像鑒別算法的運算,還要對其它的模塊進行控制和監測。系統的結構框圖如圖1所示。

2.1并行外設總線設計
由于本方案采用的是OV7141,它具有數據時鐘、場同步信號和行同步信號引腳,故采用了通用輸入模式。由于OV7141輸出的是8位的圖像信號,因此只用到了Blackfin的PPI接口數據腳的低8位,高八位的PF復用引腳可以作為它用。硬件連接采用了如圖2所示的設計方案[3]。
OV7141工作時鐘的典型頻率是24MHz,這個時鐘信號連接到Blackfin的PPI_CLK引腳,作為并行數據傳輸的時序基準。OV7141的場同步和行同步信號加到Blackfin的PPI_FS1和PPI_FS2引腳上,在Blackfin的內部,這兩個引腳連接到了定時器1和定時器2的PWM電路,可以通過設置TIMER1和TIMER2的相關寄存器來設定視頻信號的同步時序參數。

2.2 SCCB控制總線設計
SCCB是OmniVision公司定制的串行攝像頭控制總線(Serial Camera Control Bus),它用于對攝像頭的寄存器進行讀寫,以達到對攝像頭輸出圖像的控制。SCCB的數據傳輸由主器件控制,主器件能夠發出數據傳輸啟動信號、時鐘信號以及傳送結束時的停止信號。通常主器件都是微處理器,它尋址訪問的設備稱為從器件。為了進行通訊,每個接到SCCB的設備都有一個唯一的地址( ID),使用軟件尋址來識別總線上的從器件,省去了從器件的片選。因此,只需要兩根線(串行時鐘線SIO_C和串行數據線SIO_D) ,掛接到總線上的器件就能相互進行信息傳遞。組成SCCB的SIO_C和SIO_D必須經過上拉電阻RP 接到正電源上,連接到總線的器件的輸出級必需為“開漏”或“開集”的形式,以便在多個主或從需求仲裁的情況下完成線與的功能[4-6]。

在SCCB 協議中定義開始和停止條件如下:開始條件是在SIO_C為高電平時,SIO_D出現一個下降沿;停止條件是在SIO_C為高電平時,SIO_D出現一個上升沿。除了開始和停止狀態,在數據傳輸時,如果SIO_C為高電平時,必需保證SIO_D上的數據的穩定,也就是說,SIO_D上的數據只能在SIO_C為低電平時改變。
與I2C 總線類似,SCCB完整的數據傳輸包括兩個或三個階段。每一階段包中含9位二進制數據,其中高8位為所要傳輸的8位數據,最低位根據主器件的數據傳輸是讀操作還是寫操作而確定。
在SCCB 協議定義了兩種寫操作,即三相寫操作和兩相寫操作。三相寫操作是往從器件的目的寄存器中寫入數據。在三相寫操作中,第一階段寫從器件的地址,第二階段寫從器件目標寄存器的地址,第三階段寫入數據。而兩相寫操作只有三相寫操作的前兩個階段。
在本文的設計中,由于Blackfin不支持IIC或SCCB總線,因此使用BF533 DSP芯片兩個通用(GPIO)引腳,用軟件模擬的方式實現了SCCB總線的驅動[7-8]。為了實現電壓匹配,并保護珍貴的DSP芯片,故可使用了74HC244三態緩沖器作為驅動緩沖。
3 系統的軟件設計
為了能夠給上層應用程序提供必要的驅動和接口,系統的底層軟件是所有工作的基礎,這部分工作包括了DMA通道的設置、SCCB控制總線的實現和串口通信等等。
3.1 DMA圖像數據傳輸通道設計
在Blackfin的內部具有12個通道的DMA控制器,可以實現PPI、SPORTS、SPI、UART和RAM之間的數據傳輸,每個被支持的DMA外設都至少有一個專用的DMA通道。Blackfin支持一維和二維的DMA傳輸,其DMA傳輸的初始化可以通過設定寄存器來實現,也可以通過待傳輸數據頭部的一組狀態描述符來實現。
3.2 SCCB總線的實現
由于Blackfin系列的DSP不支持IIC或SCCB總線,因此需要使用GPIO引腳,使用程序模擬來實現對SCCB總線的支持。根據開發板的實際連接情況,在本文方案中,PF7引腳作為SIO_C時鐘線,PF5引腳作為SIO_D數據線來使用。
假設將通過SCCB發送五位數據“SOF 0 1 1 EOF”時,引腳上的電平變化情況如圖8,從圖中可以得到模擬SCCB時序的方法,也就是把每一位數據的傳輸切分成四個時間片。
在三相寫操作中,具體指令包括了開始位、結束位、以及3組每組9位的數據,一共包含有29bits數據。在程序實現中,可以用一個29個元素的數組來表示一個指令,然后用上文的代碼將指令位依次寫入PF7和PF5引腳中。具體的代碼不在此處贅述。

4結果和分析
本文方案使用ADI公司的ADSP-BF533 EZ-KIT 開發板,與繪制的OV7141攝像PCB板相連,使用標準的攝像鏡頭,以石英射燈作為光源,拍攝到了人體掌靜脈的圖像,分辨率達到了640×480,清晰度達到了掌靜脈這一生物識別的要求。
作為嵌入式方案,16位的BF533 DSP具有600MHz的處理速度,擁有32M的數據SDRAM,2M的Flash存儲器,開發板支持C++語言程序。可以較容易的把PC上的識別處理程序移植到該嵌入式系統中,完全可以滿足圖像識別處理的資源要求,為后期的開發提供了高性能的開發平臺。
5總結
本文根據圖像模式識別的需要,分析了對嵌入式處理平臺的資源需求,包括了對處理器的需求,以及對攝像拍攝模塊的需求指標,根據資源需求分析的結果,選擇了ADI公司的Blackfin系列BF533 DSP處理器。再結合Blackfin的硬件接口和對圖像清晰度的需求,確定使用OV7141 CMOS圖像傳感器,它可以輸出640×480分辨率的黑白手章靜脈圖像。本文包括了并行外設總線(PPI)的硬件接口設計和時序,使用DSP的GPIO口實現SCCB控制總線的仿真實現,以及在Blackfin內部使用DMA通道實現數據的快速傳輸。在本章的最后,給出了該平臺的輸出結果。
參考文獻
[1] 田捷,楊鑫 生物特征識別技術理論與應用 電子工業出版社 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原理與系統設計 電子工業出版社 2004.1
[6] 車樹良,呂英華,王海蘭 基于S3C44B0的圖像數據采集方法 計算機工程與應用 2005.12
[7] OmniVision.inc OmniVision Serial Camera Control Bus (SCCB) Functional SpecificationProprietary to OmniVision Technologies Version 2.1 2003.2
[8] 張智杰,郭曉東 Blackfin DSP并行外圍接口在紅外視頻處理通用模塊中的應用研究 光學與光電技術 2005.12.