<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          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ò) 收藏
          進(jìn)行數(shù)據(jù)處理之后,卻無(wú)法將緩沖區(qū)返回設(shè)備程序。于是TI公司在推出DM6北這一款主要用于處理的芯片的同時(shí),對(duì)GIO進(jìn)行了改進(jìn),提出了專(zhuān)門(mén)針對(duì)設(shè)備的FVID。FVID是建立在GIO模型之上的,以FVID_alloc、FVID_exchangc、FVID_free函數(shù)對(duì)GIO模型中的GIO_submit函數(shù)進(jìn)行封裝,解決了GIO模型中程序不能回收緩沖區(qū)的問(wèn)題。

          本文引用地址:http://www.ex-cimer.com/article/150653.htm

          此外FVID模型還專(zhuān)門(mén)設(shè)計(jì)了FVID_frame結(jié)構(gòu)。此結(jié)構(gòu)中包含了常用的信號(hào)的信息,如行數(shù)、列數(shù)、YUV結(jié)構(gòu)、場(chǎng)頻等,很適合描述視頻數(shù)據(jù)幀。但FVID主要是針對(duì)DM64X系統(tǒng)設(shè)計(jì)的,DM64X的很多功能在F2812 上都不具備。所以本設(shè)計(jì)針對(duì)F2812 視頻處理系統(tǒng),對(duì)FVID模型進(jìn)行了一定的簡(jiǎn)化,保留類(lèi)程序,而重寫(xiě)了迷你驅(qū)動(dòng)層程序。

          3.2 視頻處理程序運(yùn)行流程

          在設(shè)計(jì)完成的視頻驅(qū)動(dòng)程序基礎(chǔ)上,一個(gè)典型的視頻處理應(yīng)用程序,其運(yùn)行流程如圖3所示。首先使用FVID_create函數(shù)建立GIO_capture和GIO_play兩個(gè)視頻通道.再以GIO_capture通道的FVID_control函數(shù)發(fā)出cmd_start,采集到1幀視頻數(shù)據(jù)。應(yīng)用程序以GIO_capture通道的FVID_alloc函數(shù)向驅(qū)動(dòng)程序申請(qǐng)采集到的數(shù)據(jù)幀,進(jìn)行處理后再以FVID_exchange函數(shù)將修改后的數(shù)據(jù)幀返回驅(qū)動(dòng)程序,最后再調(diào)用GI0_play通道的FVID_control函數(shù)發(fā)出cmd_display命令將數(shù)據(jù)幀輸出。由圖3可以看到,應(yīng)用程序調(diào)用的這些FVID_XXX接口函數(shù)會(huì)自動(dòng)由類(lèi)驅(qū)動(dòng)程序?qū)訉酉蛳掠成?,到達(dá)迷你驅(qū)動(dòng)層程序;而迷你層程序可以直接操縱底層硬件設(shè)備,來(lái)完成整個(gè)視頻的采集、處理和顯示的過(guò)程。

          3.3 迷你驅(qū)動(dòng)程序的設(shè)計(jì)

          迷你層驅(qū)動(dòng)程序足整個(gè)設(shè)計(jì)的重點(diǎn)所在,下面詳細(xì)介紹其實(shí)現(xiàn)方法。迷你層驅(qū)動(dòng)程序主要由表1所列的幾個(gè)函數(shù)組成。

          對(duì)各個(gè)函數(shù)的具體實(shí)現(xiàn)如下:

          ①mdBindDev函數(shù)。在應(yīng)用程序建立設(shè)備接口(如FVID_create函數(shù))時(shí)被調(diào)用,完成對(duì)外部設(shè)備的初始化。而與其對(duì)應(yīng)的是md_UBindDev函數(shù),使用nadUBindDev函數(shù)會(huì)使設(shè)備處于無(wú)效狀態(tài),不能再使用。

          ②mdCreateChan函數(shù)。使用此函數(shù)為應(yīng)用程序和驅(qū)動(dòng)程序建立通信通道,同時(shí)為每個(gè)通道申請(qǐng)緩沖區(qū)。在TI公司發(fā) 布的FVID模型中,為每個(gè)通道都分配了3個(gè)緩沖區(qū),輪流與外部設(shè)備交換數(shù)據(jù),每個(gè)緩沖區(qū)對(duì)應(yīng)1幀視頻數(shù)據(jù),這樣的設(shè)計(jì)在DM642這樣可以外擴(kuò)大容量SDRAM的系統(tǒng)中是完全可行的。但是對(duì)于本系統(tǒng),F(xiàn)2812DSP外部只擴(kuò)展了512K×16位的SRAM,既要做視頻輸入的幀緩存,義要存放一部分程序,這樣存儲(chǔ)空間就不夠了。所以本設(shè)計(jì)中進(jìn)行了簡(jiǎn)化,對(duì)視頻輸入設(shè)備采用兩緩沖區(qū)輪轉(zhuǎn)的機(jī)制,如圖4(a)所示。而對(duì)于視頻輸出設(shè)備,以AL422 FIFO作為硬件幀緩存,而不在SRAM中再為其分配緩沖區(qū)。與mdCreateChan對(duì)應(yīng)的是md-DeleteChan函數(shù),用于刪除設(shè)備通道,釋放緩沖區(qū)資源。



          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();