91精品一区二区三区久久久久久_欧美一级特黄大片色_欧美一区二区人人喊爽_精品一区二区三区av

位置:51電子網 » 技術資料 » D S P

用類/微驅動模型開發DSP視頻驅動程序的方法

發布時間:2007/8/23 0:00:00 訪問次數:411

西安理工大學 胡濤 劉穎娟


近年來,DSP運算能力的不斷增強,使其在電子設備方面得到了廣泛的應用。DSP/BIOS是TI公司推出的一個實時操作系統,與TI的CCS(Code Composer Studio)集成在一起。用DSP/BIOS可以大大簡化DSP應用程序的開發和調試,其中與外圍設備的I/O接口是DSP應用開發中不可缺少的重要部分。TI公司為C64x系列DSP的開發者提供了一種類/微驅動模型(class/mini drivermodel)。通過對外圍設備設計驅動程序,為高層應用程序提供統一的接口來操作底層硬件。只要是遵循此驅動程序接口標準開發的高層應用程序,都可以在具有相同接口的不同硬件平臺上運行,從而使DSP軟件系統與硬件系統相分離,提高了軟件的可重用性、可維護性和可移植性,縮短了總體驅動程序的開發周期。

1 DSP的外設驅動開發模型


TI公司為開發DSP的外設驅動程序定義了標準的設備驅動模型,并將設備驅動分為類驅動和微驅動,即依賴于硬件層和不依賴于硬件層。兩層之間使用通用接口進行數據通信,并提供了一系列的API接口,用戶應用程序通過調用API來訪問相應的外部設備。外設驅動開發模型的建立,提高了外設驅動程序的可重用性和模塊化程度,簡化了驅動程序的開發。外設開發模型如圖1所示。



① 類驅動(class driver)。類驅動程序用來為應用程序提供接口。這部分程序與所使用的硬件設備無關,主要功能包括維護設備緩沖區,向上提供API接口供應用程序調用,向下提供適配層與微驅動層相連,實現API接口函數到微驅動層程序的映射。


② 微驅動(mini driver)。微驅動程序與外部硬件設備相關,所以設計微驅動程序是外設驅動開發的重點。微驅動程序與類驅動程序的接口格式是固定的,但微驅動程序對底層硬件的操作則須根據硬件平臺的不同需要做相應的改動。微驅動通過接收類驅動層發出的調用命令來決定對底層硬件進行什么樣的操作。


類驅動通過標準的微驅動接口調用微驅動控制硬件設備。到目前為止,TI共定義了3類驅動:①流輸入輸出模塊(SIO),為每個DSP/BIOS線程提供一個獨立的I/O機制,執行點到點的數據傳送,支持動態創建,通過DIO適配模塊與IOM連接;②管道管理模塊(PIP),提供管理異步I/O的數據管道,每個管道對象都有一塊同樣大小的緩存,PIP模塊通過緩存進行數據傳輸,通過PIO適配模塊與IOM通信;③通用輸入輸出模塊(GIO),基于流輸入/輸出模式的同步I/O,適合大流量數據的傳輸,更適合文件系統。在用戶應用程序中可直接調用GIO的API函數,GIO不需要額外的適配模塊,可直接與IOM進行交互。GIO的這些優點使得通過GIO模塊與外部設備進行數據流傳輸,操作簡單、穩定,所以在視頻采集的類驅動中采用了通用輸入輸出模塊GIO。


GIO模塊實現GIO的類驅動,用于提供一個模塊化的讀寫應用程序接口到應用程序。通過封裝這部分代碼,應用程序可以通過GIO提供的應用程序接口間接調用各種IOM微驅動來減小整體的代碼大小,如圖2所示。



GIO模塊提供下述功能:提供模塊化的讀寫應用程序;用IOM接口與指定設備微驅動實現程序通信;支持多個設備驅動;支持雙向通道;允許用戶配置模塊化功能;支持應用程序增加新的應用領域(如視頻)。其中,最后一項功能很重要。GIO_submit函數對新增加的用戶定制的應用程序接口(API)提供標準通道(如video)。這種用戶定制的類型包括用于文件系統的讀寫應用程序接口模塊,例如UART、DSP視頻幀等的應用。


傳統的文件系統用讀寫應用程序接口來完成應用程序與文件之間的數據傳輸,需要由GIO類驅動和IOM微驅動來完成所需的雙向通道。對GIO接口模塊的擴展可以更加友好和高效地實現視頻抓取和視頻顯示。這種擴展特別滿足了視頻設備存儲空間(例如指定的幀緩存)的分配,而且通過簡單的應用程序調用來更新視頻幀緩存,提供視頻驅動與應用程序之間最新的視頻數據的更新。GIO類驅動具有如下接口,在函數表中指定設備的操作模式:



微驅動IOM通常包括如下函數:通道綁定函數(mdBindDev),通道創建函數(mdCreateChan),通道刪除函數(mdDeleteChan),I/O請求發送函數(mdSubitChan)

西安理工大學 胡濤 劉穎娟


近年來,DSP運算能力的不斷增強,使其在電子設備方面得到了廣泛的應用。DSP/BIOS是TI公司推出的一個實時操作系統,與TI的CCS(Code Composer Studio)集成在一起。用DSP/BIOS可以大大簡化DSP應用程序的開發和調試,其中與外圍設備的I/O接口是DSP應用開發中不可缺少的重要部分。TI公司為C64x系列DSP的開發者提供了一種類/微驅動模型(class/mini drivermodel)。通過對外圍設備設計驅動程序,為高層應用程序提供統一的接口來操作底層硬件。只要是遵循此驅動程序接口標準開發的高層應用程序,都可以在具有相同接口的不同硬件平臺上運行,從而使DSP軟件系統與硬件系統相分離,提高了軟件的可重用性、可維護性和可移植性,縮短了總體驅動程序的開發周期。

1 DSP的外設驅動開發模型


TI公司為開發DSP的外設驅動程序定義了標準的設備驅動模型,并將設備驅動分為類驅動和微驅動,即依賴于硬件層和不依賴于硬件層。兩層之間使用通用接口進行數據通信,并提供了一系列的API接口,用戶應用程序通過調用API來訪問相應的外部設備。外設驅動開發模型的建立,提高了外設驅動程序的可重用性和模塊化程度,簡化了驅動程序的開發。外設開發模型如圖1所示。



① 類驅動(class driver)。類驅動程序用來為應用程序提供接口。這部分程序與所使用的硬件設備無關,主要功能包括維護設備緩沖區,向上提供API接口供應用程序調用,向下提供適配層與微驅動層相連,實現API接口函數到微驅動層程序的映射。


② 微驅動(mini driver)。微驅動程序與外部硬件設備相關,所以設計微驅動程序是外設驅動開發的重點。微驅動程序與類驅動程序的接口格式是固定的,但微驅動程序對底層硬件的操作則須根據硬件平臺的不同需要做相應的改動。微驅動通過接收類驅動層發出的調用命令來決定對底層硬件進行什么樣的操作。


類驅動通過標準的微驅動接口調用微驅動控制硬件設備。到目前為止,TI共定義了3類驅動:①流輸入輸出模塊(SIO),為每個DSP/BIOS線程提供一個獨立的I/O機制,執行點到點的數據傳送,支持動態創建,通過DIO適配模塊與IOM連接;②管道管理模塊(PIP),提供管理異步I/O的數據管道,每個管道對象都有一塊同樣大小的緩存,PIP模塊通過緩存進行數據傳輸,通過PIO適配模塊與IOM通信;③通用輸入輸出模塊(GIO),基于流輸入/輸出模式的同步I/O,適合大流量數據的傳輸,更適合文件系統。在用戶應用程序中可直接調用GIO的API函數,GIO不需要額外的適配模塊,可直接與IOM進行交互。GIO的這些優點使得通過GIO模塊與外部設備進行數據流傳輸,操作簡單、穩定,所以在視頻采集的類驅動中采用了通用輸入輸出模塊GIO。


GIO模塊實現GIO的類驅動,用于提供一個模塊化的讀寫應用程序接口到應用程序。通過封裝這部分代碼,應用程序可以通過GIO提供的應用程序接口間接調用各種IOM微驅動來減小整體的代碼大小,如圖2所示。



GIO模塊提供下述功能:提供模塊化的讀寫應用程序;用IOM接口與指定設備微驅動實現程序通信;支持多個設備驅動;支持雙向通道;允許用戶配置模塊化功能;支持應用程序增加新的應用領域(如視頻)。其中,最后一項功能很重要。GIO_submit函數對新增加的用戶定制的應用程序接口(API)提供標準通道(如video)。這種用戶定制的類型包括用于文件系統的讀寫應用程序接口模塊,例如UART、DSP視頻幀等的應用。


傳統的文件系統用讀寫應用程序接口來完成應用程序與文件之間的數據傳輸,需要由GIO類驅動和IOM微驅動來完成所需的雙向通道。對GIO接口模塊的擴展可以更加友好和高效地實現視頻抓取和視頻顯示。這種擴展特別滿足了視頻設備存儲空間(例如指定的幀緩存)的分配,而且通過簡單的應用程序調用來更新視頻幀緩存,提供視頻驅動與應用程序之間最新的視頻數據的更新。GIO類驅動具有如下接口,在函數表中指定設備的操作模式:



微驅動IOM通常包括如下函數:通道綁定函數(mdBindDev),通道創建函數(mdCreateChan),通道刪除函數(mdDeleteChan),I/O請求發送函數(mdSubitChan)

相關IC型號
版權所有:51dzw.COM
深圳服務熱線:13692101218  13751165337
粵ICP備09112631號-6(miitbeian.gov.cn)
公網安備44030402000607
深圳市碧威特網絡技術有限公司
付款方式


 復制成功!
吉木萨尔县| 黄浦区| 陆良县| 沧源| 锡林浩特市| 筠连县| 丹凤县| 弥勒县| 彭山县| 绥江县| 东兴市| 灌南县| 铁岭县| 乃东县| 万宁市| 山阴县| 虎林市| 平武县| 凌源市| 布拖县| 扬州市| 玉林市| 沙田区| 巴彦县| 英德市| 堆龙德庆县| 育儿| 五大连池市| 翁源县| 乐昌市| 宾阳县| 沐川县| 萍乡市| 厦门市| 龙井市| 遂宁市| 耒阳市| 长泰县| 宁波市| 甘肃省| 昭觉县|