李斌飛 安亮軍
(1.西藏職業(yè)技術(shù)學院,西藏 拉薩 850000;2.北京明航技術(shù)研究所,北京 100023)
目前市場上的影像白板產(chǎn)品,存在的最嚴重的問題是觸摸延遲,使用者操作白板有明顯滯后現(xiàn)象。造成操作延遲的主要有三個因素:攝像頭輸出延遲、數(shù)據(jù)傳輸延遲、算法延遲。 另外一個問題就是定位精度大部分區(qū)域比較精確,部分區(qū)域定位誤差偏大。造成這個問題的主要有原因有:定位精度與攝像頭分辨率、攝像頭有效焦距、程序算法密切相關(guān)。針對上述問題設(shè)計了一款新型的影像白板控制器。
鑒于以上調(diào)研結(jié)果,本設(shè)計著重考慮以下兩方面因素:
(1)攝像頭,通過調(diào)研基本證明白板的書寫流暢度、定位精確度、書寫平滑度都與攝像頭有著密不可分的關(guān)系。所以本系統(tǒng)攝像頭擬采用高性能攝像頭,鑒于目前沒有試驗依據(jù)做支撐,暫時采用普通攝像頭進行試驗,根據(jù)試驗結(jié)論隨時更換高性能攝像頭。
(2)數(shù)據(jù)預(yù)處理、傳輸,本設(shè)計充分考慮到目前市場大多影像白板都存在書寫滯后現(xiàn)象,所以針對數(shù)據(jù)傳輸方面設(shè)計時重點考慮以下幾個因素:
①數(shù)據(jù)量大:由于數(shù)據(jù)來源都是攝像頭數(shù)據(jù),特點是輸出數(shù)據(jù)量大(640*480*2*60byte),如此大的數(shù)據(jù)量直接由CPU直接讀取處理顯然是不可取的。需要有一個協(xié)處理器對數(shù)據(jù)進行預(yù)處理。
②輸出速度高:普通攝像頭輸出速度為60幀/秒,輸出主時鐘48MHz如此高數(shù)據(jù)輸出,一般CPU根本無法與之對接,必須要有200MHz以上主頻CPU與之對接才能保證其數(shù)據(jù)傳輸?shù)恼_性。
③實時顯示:由于開發(fā)過程中要考慮角度校正以及數(shù)據(jù)傳輸正確與否,所以系統(tǒng)設(shè)計中還要有液晶顯示實現(xiàn)視頻數(shù)據(jù)的同步顯示。
④可靠性:如果傳輸過程中由于器件性能原因?qū)е聰?shù)據(jù)丟失或錯誤,會給后續(xù)實現(xiàn)坐標算法帶來嚴重問題。所以所有數(shù)據(jù)傳輸中應(yīng)盡量減少傳輸路徑、避免數(shù)據(jù)流在PCB中大量搬移。
⑤PCB面積限制:由于本控制器要鑲嵌到影像白板內(nèi)部,所以對整個系統(tǒng)尺寸有嚴格要求,系統(tǒng)不能過于龐大。
⑥系統(tǒng)成本考慮:任何產(chǎn)品的盈利都是以產(chǎn)品成本為基礎(chǔ)的,所以本設(shè)計也要充分考慮日后的成本因素。在保證產(chǎn)品性能的基礎(chǔ)上最大化的降低產(chǎn)品成本。
考慮到前期調(diào)研幾個因素,本系統(tǒng)既要保證高速數(shù)據(jù)傳輸(60幀/秒)的可靠性,又要保證數(shù)據(jù)傳輸?shù)膶崟r性,還需要有視頻信號同步顯示。如果采用一般單線程(不包含數(shù)據(jù)緩存設(shè)計)數(shù)據(jù)流方式勢必會造成幀數(shù)據(jù)丟失現(xiàn)象(第一幀數(shù)據(jù)處理時,同時第二幀數(shù)據(jù)已經(jīng)同步輸出)。所以協(xié)處理器采用ALTERA公司的高速FPGA芯片+雙SRAM + LCD的結(jié)構(gòu)模式。FPGA通過內(nèi)部鎖相環(huán)將主頻率倍頻至300MHz。第一幀數(shù)據(jù)在DSP中DMA傳輸、運算處理的同時FPGA同步控制預(yù)處理、緩存第二幀數(shù)據(jù),利用FPGA并發(fā)運行的特點在FPGA內(nèi)部設(shè)計三個功能模塊,實現(xiàn)同步高速數(shù)據(jù)采集、存儲、傳輸、實時顯示。各模塊說明如下:
數(shù)據(jù)采集與預(yù)處理模塊:本模塊是FPGA與攝像頭的接口,它通過接收攝像頭幀同步、行同步、輸出時鐘、總線接口采集攝像頭數(shù)據(jù),舍掉前200行與后200行數(shù)據(jù),并且去掉YUV中的色差分量,只保留640*200的一部分視頻數(shù)據(jù)的灰度信息。并同時將數(shù)據(jù)存入SRAM。
液晶顯示模塊:液晶顯示模塊采用320*240 TFT彩色LCD實現(xiàn)視頻同步顯示。液晶驅(qū)動程序全部由FPGA內(nèi)部邏輯實現(xiàn),由控制單元統(tǒng)一控制其運行。
控制單元:是FPGA運行的核心控制部分,承擔數(shù)據(jù)暫存、同步顯示、數(shù)據(jù)傳輸?shù)乃锌刂啤?/p>
系統(tǒng)啟動后首先控制后續(xù)DSP進入啟動運行狀態(tài),當DSP完成對攝像頭的參數(shù)配置后隨即啟動數(shù)據(jù)采集預(yù)處理、液晶顯示兩個模塊。首先控制數(shù)據(jù)采集模塊進行采集處理第一幀數(shù)據(jù),并將數(shù)據(jù)寫入SRAMA,當一幀數(shù)據(jù)采集完成后,通過內(nèi)部總線切換,將數(shù)據(jù)采集處理模塊將第二幀數(shù)據(jù)寫入SRAMB,同時將SRAMA數(shù)據(jù)總線切換到LCD顯示模塊進行同步顯示,顯示完成后,再次將數(shù)據(jù)總線切換至DSP,并通過中斷信號通知DSP進行DMA數(shù)據(jù)傳輸,將數(shù)據(jù)傳輸至DSP內(nèi)存進行處理(圖中紅色箭頭數(shù)據(jù)流方向)。SRAMA顯示、DMA數(shù)據(jù)傳輸、SRAMB寫入完成后,控制器控制兩個SRAM再次功能切換,SRAMA寫入數(shù)據(jù),SRAMB顯示傳輸數(shù)據(jù)(圖中藍色箭頭數(shù)據(jù)流方向),如此往復(fù)實現(xiàn)數(shù)據(jù)的乒乓操作。實現(xiàn)上述大數(shù)據(jù)量實時采集、預(yù)處理、高速緩存、高速傳輸、同步顯示功能。程序算法流程如圖1所示。
圖1 程序算法流程圖
由于所有操作都在FPGA內(nèi)部邏輯實現(xiàn),所以也最大程度的保證了數(shù)據(jù)可靠性的同時,也進一步滿足了PCB尺寸限制的要求。考慮到本系統(tǒng)開發(fā)需要幾項新技術(shù)領(lǐng)域(CMOS攝像頭、FPGA、DSP),所以前期設(shè)計采用開發(fā)板+手工DIY的方式實現(xiàn),不但大大縮短PCB設(shè)計周期,也加快開發(fā)人員熟悉開發(fā)平臺的速度。成本方面采用FPGA + 雙SRAM + DSP方式,可以根據(jù)實驗結(jié)果采用CPLD替代FPGA,小容量SRAM替代大容量SRAM,單片機(ARM)或者低性能DSP替代高性能DSP方式在不改變系統(tǒng)結(jié)構(gòu)、低成本的前提下保證產(chǎn)品性能。
目前已經(jīng)完成前期數(shù)據(jù)預(yù)處理、乒乓存儲、LCD實時顯示、DMA數(shù)據(jù)傳輸?shù)惹捌诨緦嶒?,正在進行數(shù)據(jù)算法驗證進程中?;緦嶒灁?shù)據(jù)如下:
(1)攝像頭幀頻:60幀/秒,輸出時間:16.67ms。
(2)LCD顯示耗時(320*200):11.4ms(成熟產(chǎn)品中此時間可以讓步給DSP進行數(shù)據(jù)處理)。
(3)FPGA與DSP握手(中斷):1.9us(60幀情況下握手只需要1.9 * 60 =0.114ms)。
(4)DMA數(shù)據(jù)搬運耗時(10行數(shù)據(jù)):1.05ms。
(5)DSP算法耗時:未知。
(6)坐標上傳耗時:未知。
按照目前試驗結(jié)果來考慮,預(yù)期的數(shù)據(jù)預(yù)處理、乒乓存儲、LCD實時顯示、DMA數(shù)據(jù)傳輸都已經(jīng)實現(xiàn),由于批量產(chǎn)品中是不包含LCD模塊,由于DMA傳輸時間與CPU運行算法時間是同步進行,所以從第二幀數(shù)據(jù)開始預(yù)留給DSP的全部算法時間為:16.67 ms-1.9us-(105us *傳輸行數(shù)),初步試驗10行數(shù)據(jù)已可以滿足要求。所以本系統(tǒng)設(shè)計可以滿足預(yù)期設(shè)計要求。
[1]李山.交互式電子白板的應(yīng)用及前景[J].中國教育技術(shù)裝備,2004(03).
[2]顧曉祥,劉獻忠.交互式電子白板基于內(nèi)容的分形視頻壓縮[J].計算機應(yīng)用研究,2010.