新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DSP/BIOS的外設(shè)驅(qū)動(dòng)開(kāi)發(fā)模型及DSP視頻驅(qū)動(dòng)程序

基于DSP/BIOS的外設(shè)驅(qū)動(dòng)開(kāi)發(fā)模型及DSP視頻驅(qū)動(dòng)程序

作者: 時(shí)間:2011-06-04 來(lái)源:網(wǎng)絡(luò) 收藏

③mdSubmitChan函數(shù)。負(fù)責(zé)管理緩沖區(qū)。分別接受應(yīng)用程序發(fā)出的FVID_ALLOC、FVID_EXCHANGE、FVID_FREE三個(gè)命令并進(jìn)行處理。其中FVID_ALLOC命令對(duì)應(yīng)圖4中(a)到(b)的過(guò)程,應(yīng)用程序從兩個(gè)緩沖區(qū)中取出最新的一幀視顴數(shù)據(jù),塒其中的數(shù)據(jù)做處理,而只剩下一個(gè)緩沖區(qū)用來(lái)接受外部設(shè)備輸入的數(shù)據(jù)。FVID_EXCHANGE對(duì)應(yīng)圖4中(b)到(c)的過(guò)程,應(yīng)用程序處理完1幀數(shù)據(jù),將這1幀數(shù)據(jù)返回程序,準(zhǔn)備用來(lái)顯示,同時(shí)再讀入新的l幀數(shù)據(jù)進(jìn)行處理。FVID_FREE對(duì)應(yīng)圖4中(c)到(a)的過(guò)程,應(yīng)用程序?qū)⑻幚硗甑臄?shù)據(jù)幀返回程序,而不再向程序申請(qǐng)新的數(shù)據(jù)幀。以上3個(gè)命令足針對(duì)輸入接口GIO_capture而言的,而對(duì)于輸出設(shè)備接口GIO_play,在SRAM中沒(méi)有分配緩沖區(qū),所以其nldSubmitChan函數(shù)內(nèi)部設(shè)為空函數(shù)。

④mdControlChan函數(shù)。用來(lái)操作外部設(shè)備,完成對(duì)數(shù)據(jù)的采集和輸出。對(duì)于GIO_capture和GIO_play這兩個(gè)設(shè)備接口的mdControlChan函數(shù)接受的命令是不同的:

視頻輸入GIO_capture接口的mdControlCham函數(shù)只接受cmd_start命令,完成1幀視頻數(shù)據(jù)的采集;而視頻輸出GIO_play接口的mdControlChan函數(shù)只接受cmd_display命令.完成視頻信號(hào)的輸出。

3.4 視頻驅(qū)動(dòng)裁剪的一般方法

TI公司設(shè)計(jì)的GIO/FVID視頻設(shè)備驅(qū)動(dòng)原型相對(duì)復(fù)雜,且占用較多的系統(tǒng)資源,要使其可以應(yīng)用于更通用的低端處理器系統(tǒng),就必須進(jìn)行改造和裁減。在改造中要注意以下幾個(gè)方面:

①阻塞的I/0操作。TI公司6000系列的具有FDMA功能,傳輸數(shù)據(jù)不需要CPU的干預(yù),而DM64X還具有專(zhuān)用的視頻接口,傳輸數(shù)據(jù)不會(huì)占用外部擴(kuò)展總線(xiàn),所以視頻數(shù)據(jù)的處理和輸入輸出是可以并行的。而低端處理器是不具備這樣功能的,視頻設(shè)備一般都是通過(guò)外部擴(kuò)展總線(xiàn)連接的,所以對(duì)視頻設(shè)備的操作必須設(shè)計(jì)為阻塞型的I/O操作,視頻數(shù)據(jù)輸入/輸出的過(guò)程是由CPU來(lái)完成,且要保證對(duì)視頻設(shè)備的操作不會(huì)被其他操作中斷。

②對(duì)視頻數(shù)據(jù)緩沖區(qū)的管理。GIO/FVID視頻設(shè)備驅(qū)動(dòng)原型中使用的3緩沖區(qū),雖然功能很完善,卻占用了太多的存儲(chǔ)空間,所以對(duì)于實(shí)際的視頻處理系統(tǒng)就要進(jìn)行調(diào)整,改為兩緩沖區(qū)甚至是單緩沖區(qū)。對(duì)于具有獨(dú)立硬件緩存的輸出設(shè)備,可以考慮不再為其分配動(dòng)態(tài)緩沖區(qū)。

③對(duì)視頻設(shè)備的操作。mdControlChan函數(shù)主要用來(lái)操作外部視頻設(shè)備,只要保留對(duì)實(shí)際系統(tǒng)有用的操作就足夠了,而GI0/FVID視頻設(shè)備驅(qū)動(dòng)原犁中定義的很多操作都可以省略。

4、小結(jié)

本文介紹了/BIOS的驅(qū)動(dòng)程序模型,并針對(duì)F2812的視頻處理系統(tǒng)這一具體的硬件平臺(tái),重點(diǎn)介紹了GIO/FVID設(shè)備驅(qū)動(dòng)的流程和針對(duì)低端處理器系統(tǒng)的視頻驅(qū)動(dòng)模型裁減方法。本視頻驅(qū)動(dòng)程序?yàn)?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/開(kāi)發(fā)">開(kāi)發(fā)各種視頻處理應(yīng)用程序(如JPEG圖像EPA控制網(wǎng)絡(luò)中ZigBee壓縮、MPEG視頻壓縮、視頻監(jiān)控程序等)提供了有力的支持。本文介紹的設(shè)備驅(qū)動(dòng)程序的方法,對(duì)于同類(lèi)視頻處理系統(tǒng),特別是對(duì)于使用TI2000系州DSP這樣系統(tǒng)資源比較有限的視頻處理系統(tǒng),具有很好的可借鑒性。


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉