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

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

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

    本文所設(shè)計(jì)的實(shí)時(shí)視頻圖像采集處理平臺(tái)主要在CCD攝像頭、DEC6437開發(fā)板、仿真器、顯示器、USB轉(zhuǎn)串口線和PC等搭建的硬件平臺(tái)上,仿真器硬件設(shè)備是SEED-XDS510PLUS,由于此平臺(tái)的RTOS調(diào)試,算法移植都是在集成開發(fā)軟件CCS 3.3下設(shè)計(jì)完成的,CCS需要在PC中運(yùn)行,并且調(diào)試UART時(shí),需要在PC上觀察上位機(jī)軟件接收和發(fā)送狀態(tài)[2]。
    TMS320DM6437是TI公司的一款DaVinci系列處理器,是專為各種視頻圖像處理應(yīng)用而開發(fā)的獨(dú)立模塊,能夠支持高解析度的視頻編碼,同時(shí)其性價(jià)比很高。
1.2 軟件開發(fā)平臺(tái)
    在圖像采集處理系統(tǒng)的設(shè)計(jì)過程中采用了TI開發(fā)在CCS中集成的實(shí)時(shí)操作系統(tǒng) DSP/BIOS。
  BIOS是一個(gè)可擴(kuò)充、可裁剪的RTOS,主要可以分成分片實(shí)時(shí)內(nèi)核、實(shí)時(shí)評(píng)測(cè)工具(RTDX)和芯片自帶庫(CSL)三部分。DSP/BIOS內(nèi)包括常見嵌入式通用庫和API。DSP/BIOS即時(shí)庫包括搶占式多線程調(diào)度、任務(wù)通信及同步、中斷優(yōu)先級(jí)配置、I/O服務(wù)和存儲(chǔ)器內(nèi)存管理。DSP/BIOS根據(jù)功能可分為4個(gè)主要模塊,DSP/BIOS確保硬件中斷(HWI)、軟件中斷(SWI)、任務(wù)(TSK)和后臺(tái)線程(IDL)4種線程運(yùn)行在線程間,允許通信和同步,并且使能高優(yōu)先級(jí)線程搶占低優(yōu)先級(jí)線程[3]。
2 實(shí)時(shí)視頻圖像采集處理平臺(tái)的總體架構(gòu)設(shè)計(jì)
    本文采用雙DSP芯片,其中TMS320C5402為控制器,TMS320DM6437為算法處理器,以CCS 3.3為軟件開發(fā)背景,完成了基于DSP/BIOS的圖像采集處理平臺(tái)的軟件設(shè)計(jì)。TMS320C5402作為控制器,主要負(fù)責(zé)人機(jī)交互界面的控制,它與TMS320DM6437通過多通道緩沖串口通信,控制器主要對(duì)鍵盤數(shù)據(jù)的讀入和LCD數(shù)據(jù)的輸出。同時(shí)系統(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è)計(jì)
    視頻圖像采集處理軟件平臺(tái)對(duì)任務(wù)復(fù)雜、時(shí)序要求苛刻,采用基于DSP/BIOS的實(shí)時(shí)調(diào)度內(nèi)核事先配置線程優(yōu)先級(jí)以及線程觸發(fā)、掛起、阻塞等相應(yīng)條件,軟件流程如圖2所示。DSP/BIOS內(nèi)核調(diào)度是整個(gè)系統(tǒng)的核心。BIOS首先需要初始化DSP,硬件上電復(fù)位LOAD程序入口地址,然后需要調(diào)用BIOS_Init對(duì)BIOS初始化,仍然要在main( )函數(shù)中對(duì)片內(nèi)外設(shè)等常見DSP配置初始化,這時(shí)不能對(duì)SWI、TSK等線程操作,因?yàn)檫€沒啟動(dòng)BIOS,仍沒有起用調(diào)度組件,調(diào)用BIOS_start完成對(duì)BIOS的啟動(dòng)就可進(jìn)入IDL_loop空閑循環(huán),等待HWI、SWI、TSK等線程的就緒[4]。

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

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

 

 

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

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

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