《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于GIO/FVID的F2812DSP的視頻處理系統
基于GIO/FVID的F2812DSP的視頻處理系統
Icbuy
Icbuy
摘要:  隨著時代的發展,DSP技術在遠程監控、可視電話、工業檢測等視頻處理領域得到了廣泛的應用,對于不同的視頻處理系統,會使用不同的視頻設備,所以有必要為視頻沒備設計驅動程序,為高層應用程序提供統一的接口來操作底層硬件。只要是遵循此驅動程序接口標準開發的高層應用程序,都可以在具有相同接口的不同硬件平臺上運行,具有很好的通用性和可移植性。同時高層應用程序設計人員只要會使用設備驅動程序提供的API接口,就不必了解底層硬件的具體實現,可以大大提高整個視頻系統的開發效率。
Abstract:
Key words :
  隨著時代的發展,DSP技術在視頻處理系統、可視電話、工業檢測等視頻處理領域得到了廣泛的應用,對于不同的視頻處理系統,會使用不同的視頻設備,所以有必要為視頻沒備設計驅動程序,為高層應用程序提供統一的接口來操作底層硬件。只要是遵循此驅動程序接口標準開發的高層應用程序,都可以在具有相同接口的不同硬件平臺上運行,具有很好的通用性和可移植性。同時高層應用程序設計人員只要會使用設備驅動程序提供的API接口,就不必了解底層硬件的具體實現,可以大大提高整個視頻系統的開發效率。

  對于視頻設備,TI公司也提出了對應的視頻設備驅動程序模型,但這些模型主要是針對6000系列高端DSP,甚至是DM64X這樣的視頻處理專用DSP設計的。而TMS320F2812(簡稱F2812)DSP這樣的低端處理器,內部存儲空間較小,且沒有DM64X那樣專用的視頻接口。本文針對這類問題,提出了對TI視頻驅動模型進行簡化和改造的方法,使視頻設備驅動程序占用盡量少的系統資源,來完成對視頻硬件設備的操作。這種視頻驅動模型的裁減方法,對于使用低端處理器的視頻處理系統具有借可鑒性。

  1、基于DSP/BIOS的外設 驅動開發模型

  TI公司為開發DsP的外設驅動程序,推出了DSP/BIOS Device Driver kit,定義了標準的設備驅動模型,并提供了一系列的API接口。如圖1所示,外設驅動程序分為兩層:

 ?、兕愹寗?class driver)。類驅動程序用來為應用程序提供接口。這部分程序與設備無關,主要功能包括維護設備數據緩沖區,向上提供API接口供應用層程序調用,并協調應用程序對外設操作的同步和阻塞;向下提供適配層與迷你驅動層相連,實現API接口函數到迷你驅動層程序的映射。類驅動程序與硬件無關,只要外設驅動模型選定了,類驅動程序就定下來了,不需要做多少修改。

 ?、诿阅泸寗?mini driver)。迷你驅動程序與設備相關,所以設計迷你驅動程序是外設驅動開發中的重點。迷你驅動程序與類驅動層的接口格式是統一的,但迷你驅動程序對底層硬件的操作是根據硬件平臺的不同而變化的。迷你驅動接收類驅動層發出的IOM_Packet命令包,決定對底層硬件進行什么樣的操作。

  外設驅動程序模型又可以分為以下3類:

 ?、貾IP/PI0模型。基于數據管道的I/O模型,每個管道都在維護自己的一個緩沖區。當數據寫入緩沖區,或從緩沖區取出數據時,便會激發notifyReader和notifyWriter函數實現數據的同步。

 ?、赟IO/DIO模型?;跀祿鞯腎/O模型,一個數據流是單向的,要么是輸入,要么是輸出,而且SIO/DIO模瓔使用異步方式來操作I/0,對于數據的讀寫、處理可以同時進行。

 ?、跥I0模型。通用的I/O模型,靈活性很強,且沒有適配層,直接操作迷你驅動程序,主要用來設計新型的設備驅動模型。

  2、視頻處理系統硬件平臺

  硬件平臺如圖2所示。系統以TI公司的F2812 DSP作為中心處理器,以模擬攝像機進行視頻信號采集,再使用SAA7111視頻解碼芯片將其轉換為BT601格式的數字視頻信號。DSP將數字視頻信號處理后,再寫入輸出幀緩存AL422中,并控制視頻編碼芯片ADV7177,將其轉換為模擬電視信號輸出。整個系統以l片CPLD——IspMachLC4128來協調各個芯片之間的時序關系。

  3、視頻設備驅動程序開發

  3.1 設備驅動程序模型的選擇

  如上文介紹,常用的驅動程序模型包括3類:PIO、SIO和GIO。比較這3種模型可以知道:PIO支持更底層的通信,適合設計比較簡單的外設驅動程序。例如在TI公司的6X11DSK板上實現的音頻采集和回放,一般都是基于PIO模型的。而SIO模型具有很好的緩沖器分配回收機制,比較適合描述視頻設備,但是SIO的很多功能在本系統中使用不到,而且GIO模型設計的目的就是針對特殊硬件的新型設備,所以最終考慮使用GIO設備驅動模型。

  TI公司最初設計的GIO模型其實是有缺陷的,主要在數據緩沖區管理的問題上,應用程序在取得緩沖區進行數據處理之后,卻無法將緩沖區返回設備驅動程序。于是TI公司在推出DM6北這一款主要用于視頻處理的DSP芯片的同時,對GIO模型進行了改進,提出了專門針對視頻設備的FVID模型。FVID模型是建立在GIO模型之上的,以FVID_alloc、FVID_exchangc、FVID_free函數對GIO模型中的GIO_submit函數進行封裝,解決了GIO模型中驅動程序不能回收緩沖區的問題。

  此外FVID模型還專門設計了FVID_frame結構。此結構中包含了常用的視頻信號的信息,如行數、列數、YUV結構、場頻等,很適合描述視頻數據幀。但FVID主要是針對DM64X系統設計的,DM64X的很多功能在F2812 DSP上都不具備。所以本設計針對F2812 DSP視頻處理系統,對FVID模型進行了一定的簡化,保留類驅動程序,而重寫了迷你驅動層程序。

  3.2 視頻處理程序運行流程

  在設計完成的視頻驅動程序基礎上,開發一個典型的視頻處理應用程序,其運行流程如圖3所示。首先使用FVID_create函數建立GIO_capture和GIO_play兩個視頻通道.再以GIO_capture通道的FVID_control函數發出cmd_start,采集到1幀視頻數據。應用程序以GIO_capture通道的FVID_alloc函數向驅動程序申請采集到的數據幀,進行處理后再以FVID_exchange函數將修改后的數據幀返回驅動程序,最后再調用GI0_play通道的FVID_control函數發出cmd_display命令將數據幀輸出。由圖3可以看到,應用程序調用的這些FVID_XXX接口函數會自動由類驅動程序層層向下映射,到達迷你驅動層程序;而迷你層程序可以直接操縱底層硬件設備,來完成整個視頻的采集、處理和顯示的過程。

  3.3 迷你驅動程序的設計

  迷你層驅動程序足整個設計的重點所在,下面詳細介紹其實現方法。迷你層驅動程序主要由表1所列的幾個函數組成。

  對各個函數的具體實現如下:

  ①mdBindDev函數。在應用程序建立設備接口(如FVID_create函數)時被調用,完成對外部設備的初始化。而與其對應的是md_UBindDev函數,使用nadUBindDev函數會使設備處于無效狀態,不能再使用。

 ?、趍dCreateChan函數。使用此函數為應用程序和驅動程序建立通信通道,同時為每個通道申請緩沖區。在TI公司發 布的FVID模型中,為每個通道都分配了3個緩沖區,輪流與外部設備交換數據,每個緩沖區對應1幀視頻數據,這樣的設計在DM642這樣可以外擴大容量SDRAM的系統中是完全可行的。但是對于本系統,F2812DSP外部只擴展了512K×16位的SRAM,既要做視頻輸入的幀緩存,義要存放一部分程序,這樣存儲空間就不夠了。所以本設計中進行了簡化,對視頻輸入設備采用兩緩沖區輪轉的機制,如圖4(a)所示。而對于視頻輸出設備,以AL422 FIFO作為硬件幀緩存,而不在SRAM中再為其分配緩沖區。與mdCreateChan對應的是md-DeleteChan函數,用于刪除設備通道,釋放緩沖區資源。

 ?、踡dSubmitChan函數。負責管理緩沖區。分別接受應用程序發出的FVID_ALLOC、FVID_EXCHANGE、FVID_FREE三個命令并進行處理。其中FVID_ALLOC命令對應圖4中(a)到(b)的過程,應用程序從兩個緩沖區中取出最新的一幀視顴數據,塒其中的數據做處理,而只剩下一個緩沖區用來接受外部設備輸入的數據。FVID_EXCHANGE對應圖4中(b)到(c)的過程,應用程序處理完1幀數據,將這1幀數據返回驅動程序,準備用來顯示,同時再讀入新的l幀數據進行處理。FVID_FREE對應圖4中(c)到(a)的過程,應用程序將處理完的數據幀返回驅動程序,而不再向驅動程序申請新的數據幀。以上3個命令足針對視頻輸入接口GIO_capture而言的,而對于輸出設備接口GIO_play,在SRAM中沒有分配緩沖區,所以其nldSubmitChan函數內部設為空函數。

 ?、躮dControlChan函數。用來操作外部視頻設備,完成對視頻數據的采集和輸出。對于GIO_capture和GIO_play這兩個設備接口的mdControlChan函數接受的命令是不同的:

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

  3.4 視頻驅動模型裁剪的一般方法

  TI公司設計的GIO/FVID視頻設備驅動原型相對復雜,且占用較多的系統資源,要使其可以應用于更通用的低端處理器系統,就必須進行改造和裁減。在改造中要注意以下幾個方面:

 ?、僮枞腎/0操作。TI公司6000系列的DSP具有FDMA功能,傳輸數據不需要CPU的干預,而DM64X還具有專用的視頻接口,傳輸數據不會占用外部擴展總線,所以視頻數據的處理和輸入輸出是可以并行的。而低端處理器是不具備這樣功能的,視頻設備一般都是通過外部擴展總線連接的,所以對視頻設備的操作必須設計為阻塞型的I/O操作,視頻數據輸入/輸出的過程是由CPU來完成,且要保證對視頻設備的操作不會被其他操作中斷。

 ?、趯σ曨l數據緩沖區的管理。GIO/FVID視頻設備驅動原型中使用的3緩沖區模型,雖然功能很完善,卻占用了太多的存儲空間,所以對于實際的視頻處理系統就要進行調整,改為兩緩沖區甚至是單緩沖區模型。對于具有獨立硬件緩存的輸出設備,可以考慮不再為其分配動態緩沖區。

  ③對視頻設備的操作。mdControlChan函數主要用來操作外部視頻設備,只要保留對實際系統有用的操作就足夠了,而GI0/FVID視頻設備驅動原犁中定義的很多操作都可以省略。

  4、小結

  本文介紹了基于DSP/BIOS的外設驅動程序模型,并針對基于F2812DSP的視頻處理系統這一具體的硬件平臺,重點介紹了開發GIO/FVID設備驅動的流程和針對低端處理器系統的視頻驅動模型裁減方法。本視頻驅動程序為開發各種視頻處理應用程序(如JPEG圖像EPA控制網絡中ZigBee壓縮、MPEG視頻壓縮、視頻監控程序等)提供了有力的支持。本文介紹的設備驅動程序的開發方法,對于同類視頻處理系統,特別是對于使用TI2000系州DSP這樣系統資源比較有限的視頻處理系統,具有很好的可借鑒性。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          一二三四社区欧美黄| 久久视频一区| 在线精品观看| 久久午夜视频| 嫩草国产精品入口| 国产日本欧美视频| 亚洲电影观看| 亚洲午夜91| 欧美fxxxxxx另类| 欧美视频四区| 亚洲视频在线视频| 亚洲欧洲精品一区二区| 亚洲先锋成人| 午夜精品久久久久久久99热浪潮| 日韩小视频在线观看| 国产一区二区三区四区在线观看| 欧美r片在线| 欧美黑人在线播放| 国产一区二区三区电影在线观看| 伊人成人在线视频| 亚洲欧美综合精品久久成人| 欧美精品一卡二卡| 一区二区三区精品在线| 一区二区不卡在线视频 午夜欧美不卡'| 亚洲日本欧美天堂| 一区二区三区免费看| 久久久一区二区三区| 欧美日韩在线观看一区二区| 久久久久久综合网天天| 免费一级欧美在线大片| 亚洲在线观看视频网站| 亚洲精品资源| 亚洲欧美成人精品| 国产精品美女久久久久aⅴ国产馆| 韩国成人理伦片免费播放| 欧美一区二视频| 夜夜嗨一区二区三区| 亚洲大黄网站| 免费在线观看成人av| 极品av少妇一区二区| 一二三区精品| 国产精品99久久久久久久久久久久| 亚洲国产婷婷香蕉久久久久久99| 国内精品视频在线观看| 欧美日韩免费一区| 激情综合激情| 国产自产v一区二区三区c| 一区二区精品在线| 国产精品婷婷午夜在线观看| 国产日本欧美一区二区| 亚洲视频一区二区在线观看| 欧美高清在线精品一区| 欧美连裤袜在线视频| 亚洲国产日韩精品| 一区二区三区日韩欧美| 国产精品女人毛片| 欧美国产大片| 亚洲国产精品v| 欧美日韩在线播放一区| 亚洲国产午夜| 亚洲在线成人| 国内揄拍国内精品少妇国语| 欧美午夜剧场| 久久综合伊人77777尤物| 久久久99久久精品女同性| 亚洲经典视频在线观看| 国产精品videosex极品| 国产精品国产馆在线真实露脸| 亚洲精品欧美| 国产精品都在这里| 亚洲美洲欧洲综合国产一区| 蜜臀av国产精品久久久久| 午夜精品影院在线观看| 国产日韩欧美三级| 久久青青草综合| 亚洲亚洲精品在线观看| 国产欧美在线观看一区| 国产精品久久久久9999吃药| 欧美日韩色综合| 亚洲一区欧美二区| 欧美日韩一区二区在线视频| 欧美大色视频| 国产免费成人在线视频| 好吊日精品视频| 日韩亚洲一区在线播放| 日韩亚洲一区在线播放| 欧美成人中文字幕在线| 亚洲影院免费观看| 国产亚洲一区在线| 欧美日韩成人综合天天影院| 国产精品欧美经典| 亚洲欧美日韩系列| 欧美色图首页| 亚洲欧洲精品一区二区三区| 尤物视频一区二区| 国产精品久久999| 欧美成人精品1314www| 亚洲一区二区三区在线播放| 国产亚洲一级高清| 免费久久99精品国产自在现线| 噜噜噜久久亚洲精品国产品小说| 免费成人网www| 亚洲美女视频网| 国产精品99一区| 欧美日韩情趣电影| 亚洲第一黄色网| 欧美午夜精品电影| 国产一区成人| 久久精品人人做人人爽电影蜜月| 亚洲亚洲精品在线观看| 亚洲欧美日韩精品一区二区| 激情av一区| 亚洲一级在线观看| 男女激情视频一区| 久久综合久久综合九色| 韩国免费一区| 午夜精品99久久免费| 欧美一区亚洲一区| 欧美国产精品| 亚洲精品一区二区三区99| 国产午夜精品理论片a级探花| 欧美日韩亚洲三区| 亚洲视频axxx| 国产精品久久久久久亚洲调教| 久久国产精品一区二区三区| 一区二区在线观看av| 久久精品国产亚洲a| 欧美色精品天天在线观看视频| 欧美特黄一区| 亚洲欧美日韩成人高清在线一区| 欧美久久久久久蜜桃| 欧美粗暴jizz性欧美20| 午夜精品久久久久久99热软件| 久久国产精品72免费观看| 亚洲激情成人网| 久久久亚洲人| 欧美成人dvd在线视频| 亚洲国产精品成人精品| 国产精品嫩草影院一区二区| 亚洲一区高清| 在线视频免费在线观看一区二区| 狠狠色丁香久久婷婷综合_中| 亚洲精品久久久久久久久久久久| 欧美黄色aa电影| 亚洲精品久久久久久久久久久久| 亚洲网站在线播放| 免费亚洲一区二区| 欧美成人中文| 久久国产欧美精品| 欧美三区视频| 国内精品视频666| 国产在线视频欧美一区二区三区| 久久综合国产精品| 亚洲精品久久久久久久久久久久| 亚洲国产婷婷| 欧美激情女人20p| 欧美日韩另类字幕中文| 欧美性猛交一区二区三区精品| 亚洲精品美女在线| 国产一区二区无遮挡| 一区二区三区在线视频观看| 在线成人h网| 国产婷婷97碰碰久久人人蜜臀| 黄色av日韩| 欧美成人高清| 亚洲一区影音先锋| 欧美电影在线播放| 亚洲欧洲精品一区二区| 国产精品swag| 亚洲综合社区| 一本色道久久综合亚洲精品按摩| 中文无字幕一区二区三区| 欧美四级剧情无删版影片| 中日韩高清电影网| 香蕉久久久久久久av网站| 狠狠色丁香久久婷婷综合_中| 欧美在线观看一二区| 久久最新视频| 国产精品国产三级国产a| 国产精品黄页免费高清在线观看| 欧美午夜无遮挡| 久久人人97超碰国产公开结果| 欧美日韩中文字幕在线| 激情小说亚洲一区| 一本色道久久综合亚洲精品小说| 国产欧美精品国产国产专区| 亚洲欧美一区二区三区极速播放| 亚洲蜜桃精久久久久久久| 欧美日韩视频专区在线播放| 亚洲国产日韩欧美在线99| 国产视频一区在线观看| 可以免费看不卡的av网站| 欧美成人一二三| 欧美日韩另类综合| 国产精品稀缺呦系列在线| 欧美亚洲在线播放| 黑丝一区二区| 伊人成综合网伊人222| 免费亚洲网站| 亚洲黄页视频免费观看| 午夜精品久久久| 精品999日本| 狠狠综合久久av一区二区小说| 欧美r片在线| 亚洲男人的天堂在线观看| 亚洲欧美日本视频在线观看| 亚洲欧美中文另类| 狼狼综合久久久久综合网| 91久久精品国产| 国内精品伊人久久久久av影院| 欧美国产日韩一区二区在线观看| 狠狠入ady亚洲精品| 91久久国产精品91久久性色| a4yy欧美一区二区三区| 一区二区精品国产| 亚洲国产成人在线| 一区二区国产精品| 午夜精品久久久久久99热| 欧美紧缚bdsm在线视频| 亚洲美女区一区| 99在线|亚洲一区二区| 欧美精品色综合| 国内精品视频666| 国产精品视频免费| 亚洲免费视频一区二区| 欧美二区乱c少妇| 国产亚洲激情在线| 麻豆国产va免费精品高清在线| 亚洲一区二区免费在线| 欧美mv日韩mv国产网站| 亚洲激精日韩激精欧美精品| 亚洲天堂成人在线观看| 久久精品视频免费观看| 国产精品久久久久一区| 久久影院午夜论| 久久三级福利| 欧美一级夜夜爽| 一本色道久久综合亚洲精品婷婷| 久热爱精品视频线路一| 欧美日韩国产一级| 99re6热在线精品视频播放速度| 欧美日韩八区| 欧美日韩中文字幕在线| 欧美日韩中文字幕在线| 久久激情综合网| 国产精品久久国产精麻豆99网站| 欧美日韩国产小视频| 欧美成人激情视频免费观看| 欧美人与禽性xxxxx杂性| 亚洲黄色视屏| 国产精品美女久久久久av超清| 在线综合亚洲| 一区二区不卡在线视频 午夜欧美不卡'| 免费视频最近日韩| 国产日韩一区二区三区| 日韩亚洲欧美一区| 国产精品美女久久久久久免费| 国产日韩欧美视频在线| 欧美sm重口味系列视频在线观看| 国内精品久久久久久久影视蜜臀| 国产精品久久777777毛茸茸| 亚洲最新中文字幕| 国产香蕉久久精品综合网| 影音先锋另类| 国产在线精品一区二区中文| 国产午夜精品麻豆| 麻豆视频一区二区| 国产精品中文字幕在线观看| 欧美区二区三区| 91久久久久久| 嫩草国产精品入口| 欧美日韩在线高清| 欧美亚男人的天堂| 亚洲一区欧美一区| 亚洲日本中文字幕免费在线不卡| 久久视频在线免费观看| 精品1区2区| 亚洲三级视频| 玖玖玖国产精品| 欧美a级在线| 亚洲香蕉在线观看| 久久久久久久久蜜桃| 国产精品成人免费| 亚洲天堂成人在线视频| 久久噜噜亚洲综合| 国产精品试看| 国产精品狼人久久影院观看方式| 伊人精品成人久久综合软件| 欧美在线免费| 老**午夜毛片一区二区三区| 一区二区国产精品| 日韩一区二区高清| 国产精品一区二区三区久久久| 日韩视频国产视频| 国产婷婷色一区二区三区在线| 国产精品久久久久久模特| 亚洲色图自拍| 欧美午夜电影在线观看| 欧美成人影音| 久久视频免费观看| 亚洲国产精品高清久久久| 国产精品sss| 久久精品水蜜桃av综合天堂| 欧美国产日韩一区二区| 欧美成人性网| 国内精品**久久毛片app| 亚洲精品一区二区三区婷婷月| 亚洲欧美国产日韩中文字幕| 性做久久久久久久免费看| 国产精品www.| 欧美福利视频一区| 国产亚洲精品v| 久久人人97超碰国产公开结果| 国产日韩精品在线播放| 亚洲精品三级| 欧美丰满高潮xxxx喷水动漫| 国产精品久久毛片a| 91久久嫩草影院一区二区| 性欧美videos另类喷潮| 一本色道久久88综合亚洲精品ⅰ| 精品999成人| 欧美三级精品| 久久精品国产999大香线蕉| 欧美日韩亚洲一区二区三区在线| 欧美+日本+国产+在线a∨观看| 国产农村妇女精品| 亚洲国产成人av| 久久国产精品久久久久久电车|