999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

適用于嵌入式系統的DTV Linux設備框架構建

2017-04-13 01:34:40
軟件導刊 2017年3期
關鍵詞:嵌入式設備系統

龍 芬

(咸寧職業技術學院 工學院,湖北 咸寧 437100)

適用于嵌入式系統的DTV Linux設備框架構建

龍 芬

(咸寧職業技術學院 工學院,湖北 咸寧 437100)

構建了一種用于支持和控制DTV硬件的Linux設備驅動架構。之前LinuxTV由于用于PC TV卡而被廣泛認可,但在發布Linux DVB API V3時,卻沒有面向嵌入式系統應用的計劃。通過改善和代替Linux DVB,開發出具有簡化內核驅動定義良好的APIs層次化軟件體系。

DVB;LinuxTV;Linux DVB API;嵌入式Linux

0 引言

在數字視頻廣播早期,STBs和iDTV的主要功能是接收、選擇和顯示數字視頻,這些基本功能那時就出現了互動服務,如局部互動(請求視頻)、連接其它消費服務及訪問Internet[1]。軟件必須靈活適應TV服務,并能支持各種新的多媒體格式。為了適應硬件平臺較短的生命周期,軟件體系必須確保新的硬件平臺推出時最少能適應現有軟件。然而,即使已經被確立為TV市場中領先的嵌入式操作系統,Linux內核仍然不能對一個數字TV系統功能完全支持。數字TV設備的內核支持僅限于LinuxTV工程,但它主要側重于基于PC的系統,而不是嵌入式TV平臺。

本文對DTV linux設備框架進行了改進,并命名為嵌入式LinuxTV(LTVe)。LTVe框架在LinuxTV工程基礎上進行了擴展,使其更適用于嵌入式Linux平臺,支持PC DVB擴展卡,專用于機頂盒(STB)芯片組和集成數字電視(IDTV)。

1 框架設備組成

1.1 設備類型

Linux設備依據其功能可劃分為幾類,這些分類關系到設備如何與上層Linux文件系統和其它內核模塊集成。像大多數UNIX系統一樣,字符設備有許多功能調用,執行像read()、write()、ioctl()等操作[2]。根據這一機制,LTVe讓單個硬件塊以字符設備的形式訪問,圖1為典型SOC電視系統設備映射圖。

圖1 典型SOC電視系統的設備映射

LTVe設備類型如表1所示。在大多數TV系統中,一般通過硬件塊來定義。硬件支持的數據流方式都可以選擇合適的硬件功能塊。

表1 LTVe 設備類型

通常情況下,poll()和select()的系統調用一般發生在字符設備標志信息有效時,且將觸發應用程序[3-4]。實際上,由于沒有生成事件序列,這種方法效率非常低。為了實現DTV系統事件隊列,允許源和類型事件過濾,引入了特殊設備。同理,為克服用戶驅動程序太復雜,引入了驅動橋。該設備作為一種內核接口類型,是導出用戶空間DTV設備驅動框架的主要部分。

1.2 設備控件

對每一功能都定義了一套控件組。一般有兩個主要控件組:一個用于通用設備,另一個指定給補充設備。

1.2.1 連接

連接指通過傳遞源設備進行定義的源同步類型文件描述符。這些控件用來定義一個設備如何互相連接,以及如何同步數據流。每個連接遵循 “單輸入-多輸出”規則。因此,每次只能有一個輸入設備。

1.2.2 數據訪問

數據訪問是指訪問用戶應用程序的數據處理接口。為了獲得流設備數據,應用程序必須使用read()調用,或內存設備的mmap()調用以及直接訪問數據。后一種方法優化了數據的訪問,因為沒有將數據額外復制到應用程序緩沖區。為了從之前的mmap()區域訪問數據,應用程序需要執行3個步驟:①從定位數據的設備獲得信息;②讀數據;③釋放讀出的數據。

1.2.3 內存輸入

由于類型輸入可讓應用程序寫數據流到設備,因此在重放多媒體內容時可以對硬件進行加速。一般應用中,運行時可配置雙緩沖區作為解碼器輸入,因為只有部分緩沖區能用來發送數據給給定設備。為了考慮這些硬件上的局限,嵌入式內存接口主要依賴于底層硬件模塊,由作為設備源的內存輸入激活。由于用戶內存和任意硬件緩沖區的自由配置需要一個解碼設備輸入的硬件平臺,為了支持這種系統,內存設備類型定義為直接的連接源,分配到其它設備中。

1.2.4 實時控制

控制接口主要用于配置和安裝硬件設備正常運行,一般能控制所有設備活動。實時控制能啟動、停止或暫停設備,同時控制運行狀態,且DTV設備框架能獲得當前設備狀態或狀態變化情況。

2 框架軟件體系

LTVe設備框架由硬件接口和內核編程接口兩部分組成。DTV軟件體系框架如圖2所示。

2.1 LTVe核

該組件使用Linux設備驅動模型和字符設備給用戶空間。它執行系統初始化,對每個框架內的設備進行注冊,以及將一部分用戶空間轉換成LTVe驅動接口[5]。LTV設備作為字符設備應用于 /dev/dvb/adapterN/tree中。

圖2 DTV軟件體系框架

基于Linux的DTV系統中,大部分軟件棧和模塊是從PC系統繼承和吸收過來的。因此,應用程序同時運行不太多,這和之前有較大不同。RTOS被編譯成單一的TV應用程序系統[6]。LTVe利用SysFS接口從系統shell配置框架,在運行應用程序上獨立控制設備活動。對每一個LTVe,都會創建注冊屬性列表的SysFS節點。使用這個接口,可以監視特定設備的運行狀態。

2.2 LTVe管理器

這個組件的創建和控制行為包含在框架里。為了統一LTVe設備行為,定義了一些基本原則:每個設備在寫使用權限時可以同時有限次打開,但對每個設備來說,只能設置一個輸入數據源,且輸入源只能是其它LTVe設備。

LTVe管理模塊實現了對通用邏輯數據流的定義。數據通路通過源設備至目標設備的源文件描述符來創建。LTVe管理將通過文件描述符進行檢查,僅在被識別為LTVe框架時對數據通路進行定義。在初始化連接前,為了確保正確的初始狀態,LTVe幫助設備釋放之前的數據源,此過程中設備處于非激活狀態。

每當要建立數據通路時,LTVe管理會先調用生產設備的set_feed,如果連通可行則執行查詢請求。set_input調用被執行,設備驅動會為輸入接口選擇一個合適的配置。

2.3 LTVe驅動器

該模塊為LTVe驅動開發定義了內核編程接口。圖3描述了LTVe內部結構之間的相互連接,并描述了不同設備類型如何與LTVe通訊。

圖3 LTVe驅動系統

2.4 LTVe橋

LTVe橋是為現有LTVe驅動編程接口的插件[7]。它是一個通用設備節點,模擬被LTVe驅動鉤子轉換的注冊設備類型,ioctl調用被定義為 /bridge設備,每個LTVe驅動鉤子匹配ioctl調用。數據流通過申請mmap()調用內部硬件緩沖區。橋設備的注冊處理將產生兩個設備節點:①dev/dvb/adapterN/bridge 作為用戶通訊接口的通用節點; ②dev/dvb/adapterN/xxxM LTVe設備節點,這里xxx以合適的設備類型代替(如video2)。

當需要在用戶空間運行監聽時,LTVe監聽/bridge設備通過橋接口重構內核調用,且以共享庫形式實現。這種機制確保了系統能夠成功通訊,實現LTVe橋驅動的數據流動。

3 應用

本文提出的DTV驅動框架(LTVe)已成功移植到基于300MHz MIPS32內核的商業SoC數字電視產品線的ICs中,目前LTVe框架電視應用程序可通過第三方商業DVB和MHEG支持的DVB軟件庫來開發,這表明LTVe框架是可行的。

4 結語

為開發數字電視驅動和應用程序接口,本文提出了Linux DVB設備框架軟件架構。本架構優點在于在驅動開發中完全脫離Linux內核,并且對不同硬件平臺有統一的DVB功能表現形式。采用Linux TV能極大縮短設計和開發時間,減少開發成本。

[1] 徐儉.數字電視接收機頂盒淺析[J].有線電視技術,2003(3):152-156.

[2] 李叢.基于Linux的嵌入式操作系統的研究與實現[D].北京:北京化工大學,2008.

[3] 田棣.嵌入式Linux下機頂盒驅動程序的開發[D].天津:天津大學,2004.

[4] 王拯.數字電視機頂盒關鍵模塊設計與實現[D].武漢:華中科技大學,2009.

[5] 劉洪濤.基于嵌入式Linux的IPTV機頂盒設計實現與關鍵技術研究[D].西安:西安電子科技大學,2007.

[6] 胡煒.數字機頂盒Linux平臺軟件的設計與實現[D].上海:上海交通大學,2006.

[7] SAN PIL MOON,JOO WOON KIM,KUK-HO BAE,et al.Embeded Linux implementation on a commercial digital TV system[J].Consumer Electronics,2003,49(4):155-159.

(責任編輯:杜能鋼)

龍芬(1984-),女,湖南祁東人,咸寧職業技術學院工學院講師,研究方向為自動測試系統。

10.11907/rjdk.162622

TP319

A

1672-7800(2017)003-0091-03

猜你喜歡
嵌入式設備系統
諧響應分析在設備減振中的應用
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
搭建基于Qt的嵌入式開發平臺
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
原來他們都是可穿戴設備
消費者報道(2014年7期)2014-07-31 11:23:57
主站蜘蛛池模板: 国产尤物jk自慰制服喷水| 亚洲无码高清一区二区| 亚洲午夜福利在线| 亚洲中文字幕手机在线第一页| 午夜精品区| 亚洲va视频| 久久这里只精品国产99热8| 午夜成人在线视频| 99re视频在线| 欧美综合区自拍亚洲综合绿色 | 视频二区亚洲精品| 97成人在线视频| 视频二区亚洲精品| 欧美成在线视频| 国产日本欧美亚洲精品视| 青青久视频| 女人毛片a级大学毛片免费| 国产主播一区二区三区| 1024国产在线| 国产福利一区二区在线观看| 麻豆精品国产自产在线| 国产极品粉嫩小泬免费看| 91久久偷偷做嫩草影院| 一区二区理伦视频| 亚洲欧洲日韩综合色天使| 女人av社区男人的天堂| 青青草a国产免费观看| 小说区 亚洲 自拍 另类| 国产农村精品一级毛片视频| 一区二区无码在线视频| 欧美日韩一区二区在线免费观看| 东京热av无码电影一区二区| 真人免费一级毛片一区二区| 精品夜恋影院亚洲欧洲| 伊伊人成亚洲综合人网7777| 久久久久久尹人网香蕉| 中日韩一区二区三区中文免费视频| 久久久久久尹人网香蕉| 国产在线日本| 国产精品欧美日本韩免费一区二区三区不卡 | 亚洲天堂区| 熟妇无码人妻| 国产精品成人一区二区| 成AV人片一区二区三区久久| 国产精品亚洲一区二区三区z | 国产精品嫩草影院av| 免费人成视网站在线不卡| 久久免费精品琪琪| 欧美中文字幕在线二区| 午夜毛片福利| 999精品在线视频| 九九热精品在线视频| 狠狠色狠狠综合久久| 尤物成AV人片在线观看| 日韩乱码免费一区二区三区| 国产精品无码久久久久AV| 欧美亚洲国产精品久久蜜芽| 国产免费好大好硬视频| 国产精品jizz在线观看软件| 久久青草精品一区二区三区| 97色婷婷成人综合在线观看| 国产91在线|中文| 久久96热在精品国产高清| 狠狠色丁香婷婷| 亚洲无线观看| 国产在线精品99一区不卡| 亚洲福利一区二区三区| 色偷偷男人的天堂亚洲av| 亚洲免费三区| 国产69囗曝护士吞精在线视频| 在线人成精品免费视频| 美臀人妻中出中文字幕在线| 精品国产aⅴ一区二区三区| 国产高清无码麻豆精品| 四虎永久在线| 久草视频精品| 亚洲视频黄| 国产精品大尺度尺度视频| 国模沟沟一区二区三区| 欧美α片免费观看| 国产午夜人做人免费视频中文| 午夜免费视频网站|