《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于DSP/BIOS的視頻圖像采集處理平臺軟件設(shè)計
基于DSP/BIOS的視頻圖像采集處理平臺軟件設(shè)計
來源:微型機(jī)與應(yīng)用2013年第18期
項馨儀, 陳 芬, 徐升陽
(寧波大學(xué) 信息科學(xué)與工程學(xué)院, 浙江 寧波315211)
摘要: 采用TI公司的TMS320C5402和DaVinci系列TMS320DM6437雙DSP芯片為主要處理器,構(gòu)建了一個基于DSP/BIOS的視頻圖像采集處理平臺。從功能的角度將系統(tǒng)劃分為視頻采集任務(wù)、視頻算法處理任務(wù)、數(shù)據(jù)通信任務(wù)和人機(jī)交互任務(wù)4個相對獨立的線程,這4個線程在實時操作系統(tǒng)DSP/BIOS不同優(yōu)先級的調(diào)度下有序地工作。測試結(jié)果表明,整個系統(tǒng)運行穩(wěn)定,實時性較高。
Abstract:
Key words :

摘  要: 采用TI公司的TMS320C5402DaVinci系列TMS320DM6437雙DSP芯片為主要處理器,構(gòu)建了一個基于DSP/BIOS的視頻圖像采集處理平臺。從功能的角度將系統(tǒng)劃分為視頻采集任務(wù)、視頻算法處理任務(wù)、數(shù)據(jù)通信任務(wù)和人機(jī)交互任務(wù)4個相對獨立的線程,這4個線程在實時操作系統(tǒng)DSP/BIOS不同優(yōu)先級的調(diào)度下有序地工作。測試結(jié)果表明,整個系統(tǒng)運行穩(wěn)定,實時性較高。
關(guān)鍵詞: DSP/BIOS;圖像處理平臺;線程

    隨著信息社會的發(fā)展,視頻圖像采集處理系統(tǒng)在遠(yuǎn)程控制、智慧城市、安防監(jiān)控等領(lǐng)域應(yīng)用越來越廣泛。實時視頻圖像信息的獲取對于系統(tǒng)分析數(shù)據(jù)至關(guān)重要,而且視頻圖像數(shù)據(jù)流量大,帶寬要求高。嵌入式實時處理系統(tǒng)具有實時性高、體積小、成本低、算法移植簡單等特點[1]。這類嵌入式實時圖像處理系統(tǒng)以DSP作為處理器的發(fā)展方向,而DSP因其特殊的數(shù)字信號處理能力(集成MAC、FFT等模塊)能夠有針對性地滿足視頻圖像處理的需求。
    本文以DaVinci系列的視頻圖像處理器TMS320DM6437作為該軟件平臺的硬件支撐,采用TI自帶實時操作系統(tǒng)DSP/BIOS,通過對多任務(wù)劃分、調(diào)度,設(shè)計上下位機(jī),將圖像信息實時傳到PC,通過PC端控制DSP平臺來構(gòu)建圖像采集處理平臺,最終移植常見圖像處理算法對整個系統(tǒng)進(jìn)行功能測試與結(jié)果分析。
1 系統(tǒng)開發(fā)平臺簡介
1.1 硬件開發(fā)平臺

    本文所設(shè)計的實時視頻圖像采集處理平臺主要在CCD攝像頭、DEC6437開發(fā)板、仿真器、顯示器、USB轉(zhuǎn)串口線和PC等搭建的硬件平臺上,仿真器硬件設(shè)備是SEED-XDS510PLUS,由于此平臺的RTOS調(diào)試,算法移植都是在集成開發(fā)軟件CCS 3.3下設(shè)計完成的,CCS需要在PC中運行,并且調(diào)試UART時,需要在PC上觀察上位機(jī)軟件接收和發(fā)送狀態(tài)[2]。
    TMS320DM6437是TI公司的一款DaVinci系列處理器,是專為各種視頻圖像處理應(yīng)用而開發(fā)的獨立模塊,能夠支持高解析度的視頻編碼,同時其性價比很高。
1.2 軟件開發(fā)平臺
    在圖像采集處理系統(tǒng)的設(shè)計過程中采用了TI開發(fā)在CCS中集成的實時操作系統(tǒng) DSP/BIOS。
  BIOS是一個可擴(kuò)充、可裁剪的RTOS,主要可以分成分片實時內(nèi)核、實時評測工具(RTDX)和芯片自帶庫(CSL)三部分。DSP/BIOS內(nèi)包括常見嵌入式通用庫和API。DSP/BIOS即時庫包括搶占式多線程調(diào)度、任務(wù)通信及同步、中斷優(yōu)先級配置、I/O服務(wù)和存儲器內(nèi)存管理。DSP/BIOS根據(jù)功能可分為4個主要模塊,DSP/BIOS確保硬件中斷(HWI)、軟件中斷(SWI)、任務(wù)(TSK)和后臺線程(IDL)4種線程運行在線程間,允許通信和同步,并且使能高優(yōu)先級線程搶占低優(yōu)先級線程[3]。
2 實時視頻圖像采集處理平臺的總體架構(gòu)設(shè)計
    本文采用雙DSP芯片,其中TMS320C5402為控制器,TMS320DM6437為算法處理器,以CCS 3.3為軟件開發(fā)背景,完成了基于DSP/BIOS的圖像采集處理平臺的軟件設(shè)計。TMS320C5402作為控制器,主要負(fù)責(zé)人機(jī)交互界面的控制,它與TMS320DM6437通過多通道緩沖串口通信,控制器主要對鍵盤數(shù)據(jù)的讀入和LCD數(shù)據(jù)的輸出。同時系統(tǒng)還添加了遠(yuǎn)程控制模塊,通過PC發(fā)送控制指令調(diào)度DM6437處理器,能夠完成切換算法,調(diào)停當(dāng)前狀態(tài)等功能,系統(tǒng)總體架構(gòu)如圖1所示。

3 基于DSP/BIOS的系統(tǒng)軟件設(shè)計
    視頻圖像采集處理軟件平臺對任務(wù)復(fù)雜、時序要求苛刻,采用基于DSP/BIOS的實時調(diào)度內(nèi)核事先配置線程優(yōu)先級以及線程觸發(fā)、掛起、阻塞等相應(yīng)條件,軟件流程如圖2所示。DSP/BIOS內(nèi)核調(diào)度是整個系統(tǒng)的核心。BIOS首先需要初始化DSP,硬件上電復(fù)位LOAD程序入口地址,然后需要調(diào)用BIOS_Init對BIOS初始化,仍然要在main( )函數(shù)中對片內(nèi)外設(shè)等常見DSP配置初始化,這時不能對SWI、TSK等線程操作,因為還沒啟動BIOS,仍沒有起用調(diào)度組件,調(diào)用BIOS_start完成對BIOS的啟動就可進(jìn)入IDL_loop空閑循環(huán),等待HWI、SWI、TSK等線程的就緒[4]。

    本系統(tǒng)硬件中斷(HWI)有兩個:一是DM6437和C5402通信過程所用的McBSP,鍵盤數(shù)據(jù)讀入時觸發(fā)中斷;另一個是UART中斷,PC上位機(jī)有控制指令發(fā)送時就會觸發(fā)UART中斷,進(jìn)入UART中斷服務(wù)程序?qū)⒕途wUART接收數(shù)據(jù)軟中斷,第一個中斷服務(wù)程序中和第二個中斷觸發(fā)的軟中斷中都將就緒TSK1,讀取控制指令,選定算法模式,記錄最終選擇的狀態(tài),并對Mail_box賦新值。因為多個算法任務(wù)都處于掛起狀態(tài),一旦mail_box對應(yīng)自身之前的Pend值,對應(yīng)的算法任務(wù)將會立即就緒,如果當(dāng)前線程的優(yōu)先級都小于對應(yīng)算法優(yōu)先級,算法線程將會立即執(zhí)行。
    視頻圖像處理算法完成后,還可以實現(xiàn)對圖像的濾波、LCD顯示關(guān)鍵信息。線程處理完成后視頻圖像輸出任務(wù)就緒,還原視頻信號,回放處理后的視頻[5]。
4 常見視頻圖像處理算法的移植
    為了測試基于DSP/BIOS的多任務(wù)視頻圖像處理平臺,移植幾種算法來驗證處理效果。軟件平臺上常見算法的移植有圖像增強(qiáng)算法移植、圖像閾值算法移植、邊沿檢測算法移植和圖像濾波算法移植等。
    如圖2所示,圖像增強(qiáng)算法移植包括任務(wù)2執(zhí)行的單直方圖算法移植和任務(wù)3執(zhí)行的雙直方圖算法移植。任務(wù)3在任務(wù)2的基礎(chǔ)上增添了對整幅圖像提取最佳閾值提取(OTSU),以此閾值將原圖像劃分為兩個子圖,分別均衡[6]。
    邊沿檢測算法移植使用任務(wù)5的圖像邊沿檢測算法。相對于其他任務(wù),圖像的邊沿檢測任務(wù)為獨立任務(wù),可用來檢測任務(wù)之間的切換實時性。
    圖像濾波算法移植采用了任務(wù)7的滑動平均濾波算法。任務(wù)7作為非必需任務(wù),可根據(jù)按鍵選擇是否添加在任務(wù)1~任務(wù)6后。
5 系統(tǒng)測試結(jié)果及分析
5.1 PC與TMS320DM6437通信結(jié)果

 PC與TMS320DM6437串口通信采用波特率為19.2 kHz,傳輸數(shù)據(jù)格式為1 bit停止位,8 bit數(shù)據(jù)位,無校驗位。在PC接收數(shù)據(jù)時,接收200個8 bit數(shù)據(jù),均與TMS320DM6437內(nèi)存中存儲的數(shù)據(jù)相同,可見傳輸過程誤碼率極低。如果PC發(fā)送數(shù)據(jù),TMS320DM6437接收成功,LCD會相應(yīng)顯示,同時處理器切換不同算法。LCD顯示串口接收成功界面顯示如圖3所示,上位機(jī)界面如圖4所示。

 

 

5.2 多線程通信及同步結(jié)果
    本系統(tǒng)中多線程最高優(yōu)先級為UART接收和McBSP中斷,其次為軟中斷UART數(shù)據(jù)讀入和UART發(fā)送,最后為任務(wù),任務(wù)中劃分為多個算法的任務(wù),其相互間通過按鍵或PC指令切換,其線程間根據(jù)Mail_box(n)通信,其同步是根據(jù)SEM(m),在DSP/BIOS調(diào)試界面可見多線程間切換示意圖,如圖5所示,可見程序運行正常。

5.3 視頻圖像處理效果及人機(jī)顯示
    本視頻圖像采集處理平臺軟件上移植了多種視頻圖像處理算法,以下將演示每一個圖像處理算法在本系統(tǒng)平臺所表現(xiàn)的效果,如圖6~圖8所示。

    圖6(a)中最左邊的一幅圖像為原始圖像,中間及右邊中的圖像為經(jīng)過單直方圖處理后的結(jié)果,中間和右邊的圖像區(qū)別為均衡系數(shù)不同,可見經(jīng)過單直方圖增強(qiáng)后前景和背景區(qū)別明顯增強(qiáng)。圖6(b)中左邊的一幅圖像為原始圖像,中間及右邊的圖像為經(jīng)過雙直方圖處理的結(jié)果,中間和右邊的圖像區(qū)別為雙直方圖中的均衡系數(shù)不同??梢?經(jīng)過雙直方圖增強(qiáng)后,不僅前景和背景區(qū)別明顯增強(qiáng),而且保持原背景亮度信息。
    圖7(a)中圖像信息依次分別為原始圖像、二值化后圖像。系統(tǒng)采用最佳閾值提取算法,提取合適閾值。由圖可見,二值化后的圖像有噪點,由于閾值上下有波動或光線原因,因此采用3×3滑動平均濾波,對局部噪聲濾除,圖7(b)即為濾波后的圖像,可見噪點明顯降低,圖像連續(xù)性較好。
    如圖8所示,本系統(tǒng)對邊沿檢測算法處理時采用對整幀圖像處理,圖8(a)為原始圖像,圖8(b)為拉普拉斯邊沿檢測結(jié)果,可見系統(tǒng)已經(jīng)檢測到圖像的邊沿。
    該軟件平臺實時性相對高,在視頻圖像播放處理數(shù)據(jù)時不會出現(xiàn)明顯的延時和卡頓;在用鍵盤或PC發(fā)送控制指令切換算法時同步效果很好,無可視延時。多任務(wù)的調(diào)度和同步不容易出現(xiàn)死循環(huán),當(dāng)改變調(diào)度次序時也能夠繼續(xù)正常工作。人機(jī)交互界面LCD顯示能夠隨著平臺狀態(tài)變化及時顯示提醒。TMS320DM6437通過UART向PC發(fā)送數(shù)據(jù)時誤碼率低。平臺上處理的常見圖像處理算法均能夠獲得良好的效果,可見該視頻圖像采集處理平臺軟件性能總體上優(yōu)異。
參考文獻(xiàn)
[1] 王俊. 基于嵌入式系統(tǒng)的圖像處理軟件平臺的實現(xiàn)[J].儀表技術(shù), 2006(2):10-22.
[2] 李彬.基于DSP/BIOS的RTDX 實時信號處理系統(tǒng)的實現(xiàn)[J]. 科技信息前沿報, 2009,33(2):33-41.
[3] 劉家兵. 基于DSP/BIOS的圖像采集處理平臺軟件設(shè)計研究[D].哈爾濱:哈爾濱工程大學(xué), 2008.
[4] 張葉.基于TMS320C6x系列DSP/BIOS平臺的實時電視跟蹤系統(tǒng)設(shè)計[J]. 電子器件, 2007,30(1):300-302.
[5] 祝佳磊. 基于Linux平臺的圖像采集系統(tǒng)的設(shè)計與實現(xiàn)[J]. 計算機(jī)工程與設(shè)計,2012,33(6):2334-2337.
[6] 周杰. DSP/BIOS實時多任務(wù)操作系統(tǒng)內(nèi)核的研究[J].科技傳播, 2010(12):208-220.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。