<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于DSP的視頻采集驅動(dòng)程序的設計

基于DSP的視頻采集驅動(dòng)程序的設計

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

終端的核心是圖像的數字化處理模塊。PC機的數字處理,給出了算法研究的途徑,而高速的應用模塊才提供了實(shí)時(shí)嵌入式處理的可能。然而,的海量視頻數據的實(shí)時(shí)處理的關(guān)鍵則是實(shí)時(shí)、合理的視頻數據。本文針對自行研制的基于TMS320DM642(以下簡(jiǎn)稱(chēng)DM642)的視頻處理板卡,使其在C64x系列DSP的實(shí)時(shí)操作系統DSP/BIOS的環(huán)境下運行,實(shí)現基于類(lèi)/微驅動(dòng)模型的視頻,并進(jìn)一步描述采用EDMA(增強的直接存儲器存取控制器)的數字視頻圖像信號的實(shí)時(shí)傳輸。

本文引用地址:http://dyxdggzs.com/article/150128.htm

  1 類(lèi)/微模型

  C64x系列的DSP系統給出了類(lèi)/微驅動(dòng)模型[1] 的結構,采用該模型進(jìn)行驅動(dòng)程序,應用程序可以復用絕大部分相似設備的驅動(dòng)程序,從而提高驅動(dòng)程序的開(kāi)發(fā)效率。類(lèi)/微驅動(dòng)模型結構如圖1所示,該模型在功能上將驅動(dòng)程序分為依賴(lài)硬件層(微驅動(dòng))和不依賴(lài)硬件層(類(lèi)驅動(dòng))兩層,并在兩層之間給出通用接口。上層的應用程序不直接控制微驅動(dòng),而是通過(guò)類(lèi)驅動(dòng)對其進(jìn)行控制。每一個(gè)類(lèi)驅動(dòng)在應用程序代碼中表現為一個(gè)API函數,并通過(guò)標準微驅動(dòng)的接口IOM與微驅動(dòng)進(jìn)行通信。


  在類(lèi)/微驅動(dòng)模型中,類(lèi)驅動(dòng)通常用于完成多線(xiàn)程I/O請求的序列化功能和同步功能,同時(shí)對設備實(shí)例進(jìn)行管理。類(lèi)驅動(dòng)通過(guò)每個(gè)外部設備獨有的微驅動(dòng)對設備進(jìn)行操作。微驅動(dòng)采用芯片支持庫[2]控制外設的寄存器、內存和中斷資源。微驅動(dòng)程序必須將特定的外部設備有效地表示給類(lèi)驅動(dòng)。

  類(lèi)驅動(dòng)使用DSP/BIOS中的API函數[3]實(shí)現諸如同步等的系統服務(wù),DSP/BIOS定義了三種類(lèi)驅動(dòng)模塊:管道管理模塊(PIP)、流輸入輸出管理模塊(SIO)和通用輸入輸出模塊(GIO)。在PIP和SIO類(lèi)驅動(dòng)中,調用的API函數已經(jīng)存在于DSP/BIOS的PIP和SIO模塊中了,這些API函數需將參數傳給相應的適配模塊,才能與微驅動(dòng)交換數據。而在GIO類(lèi)驅動(dòng)中,調用的API函數則直接與微驅動(dòng)通信。

  2 基于DM642的視頻驅動(dòng)

  2.1 硬件結構

  筆者利用TI公司的多媒體處理芯片DM642自行研制了嵌入式視頻處理板卡??ㄉ系闹饕M成模塊有視頻采集模塊、視頻處理模塊以及網(wǎng)絡(luò )發(fā)送模塊,其中視頻采集模塊主要由DSP芯片DM642[4]、視頻A/D 轉換芯片SAA7115和同步動(dòng)態(tài)存儲器芯片SDRAM等組成,如圖2所示。來(lái)自攝像頭的視頻信號通過(guò)SAA7115進(jìn)行數字化處理,輸出的數字視頻信號經(jīng)過(guò)視頻端口的內部FIFO緩沖后,由DM642通過(guò)EDMA將數據傳送到片外SDRAM中,以便供視頻應用程序使用。


  主芯片DM642的處理能力達到4800MIPS,它的最大特點(diǎn)是芯片內部集成了三個(gè)可配置的視頻端口[5],這些視頻端口提供了與通用視頻A/D轉換芯片的無(wú)縫接口,因而無(wú)需外加CPLD(復雜可編程邏輯器件)和FIFO就可以滿(mǎn)足系統的要求。SAA7115支持六路CVBS(復合模擬視頻輸入)或三路S-VIDEO (S端子信號)輸入,支持多種格式的數字RGB和YUV視頻信號輸出。DM642通過(guò)IIC總線(xiàn)控制SAA7115的內部寄存器。

  采用類(lèi)/微驅動(dòng)模型編寫(xiě)DM642芯片視頻端口的視頻采集驅動(dòng)程序,驅動(dòng)必須滿(mǎn)足如下幾個(gè)基本功能:

  · 可同時(shí)處理DM642的三個(gè)視頻端口;
  · 支持應用程序配置視頻采集的參數,支持獲取圖像數據;
  · 支持場(chǎng)圖像的采集,支持對CVBS和S-VIDEO兩種模擬信號的采集。

  在視頻采集過(guò)程中,最重要的是對視頻數據進(jìn)行實(shí)時(shí)控制和有效的傳輸,因此需要使用硬件中斷,并在中斷服務(wù)程序中,根據視頻端口內部FIFO的狀態(tài)通過(guò)EDMA完成視頻數據的讀入。


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

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>