《電子技術應用》
您所在的位置:首頁 > 其他 > 业界动态 > 基于和欣嵌入式操作系统的数字电视OSD工具开发

基于和欣嵌入式操作系统的数字电视OSD工具开发

2008-04-28
作者:黄玉婷,顾伟楠

  摘 要: 討論了和欣嵌入式操作系統" title="嵌入式操作系統">嵌入式操作系統上數字電視OSD工具的開發,采用EZCOM技術構建OSD中間件,設計實現了基于SDA55XX芯片的OSD開發工具" title="開發工具">開發工具,并以此芯片為例,重點介紹了數字電視OSD開發工具的設計思想、體系結構以及基于此工具的OSD開發方法。
  關鍵詞: OSD 數字電視 構件技術" title="構件技術">構件技術 中間件 ezCOM


  數字電視服務的最大特點是除了支持傳統的音頻、視頻業務外,還提供了電視增值業務,如視頻點播、數據廣播、個性化交互電視、遠程教育、Internet、三網合一、電視電子商務和日常信息綜合服務等。而所有電視增值業務,都是建立在強大的軟件開發" title="軟件開發">軟件開發能力上的。在諸多數字電視要素中,在屏顯示系統OSD(On Screen Display)是貫穿整個數字電視應用和增值業務的主線,所有的增值業務及數字電視控制都是通過OSD展現在用戶面前。因此,OSD開發是數字電視軟件" title="數字電視軟件">數字電視軟件開發中最關鍵的要素。
  目前國內普遍采用外國廠商提供的與芯片捆綁銷售的操作系統及在此系統上的OSD開發工具。受國外操作系統技術封閉的影響,國內廠商將很難做到自主開發,必須高度依賴國外廠商的技術支持。為了更好地發展我國的數字電視產業,一方面要采用具有自主知識產權的操作系統,另一方面還必須加快對數字電視軟件平臺相關技術的研究和開發。和欣嵌入式操作系統是863課題“網絡化嵌入式支撐技術”的研究成果,是具有自主知識產權的操作系統。本課題是863課題“基于構件、中間件技術的因特網操作系統及跨操作系統的構件、中間件運行平臺”的一部分。因此,本文對基于和欣數字電視OSD軟件開發的研究,不僅具有重要的理論意義,還具有廣闊的應用前景。
1 和欣嵌入式操作系統及其構件技術
  和欣嵌入式操作系統技術體系所包括的ezCOM構件技術、構件運行平臺技術以及開發應用軟件所需的集成開發環境,是一個完整的面向構件的應用軟件開發平臺。
  和欣是32位嵌入式操作系統。操作系統基于微內核,具有多進程、多線程、搶占式、基于線程的多優先級任務調度等特性。它提供FAT兼容的文件系統,可以從軟盤、硬盤、Flash ROM啟動,也可以通過網絡啟動。系統體積小,速度快,適合網絡時代的絕大部分嵌入式信息設備。
  和欣操作系統完全面向構件技術,提供的功能模塊全部基于ezCOM構件技術,因此是可拆卸的構件。應用系統可以按照需要剪裁組裝,或在運行時動態加載必要的構件。
  從傳統的操作系統體系結構的角度看,和欣操作系統可以看成是由微內核、構件支持模塊、系統服務器組成的。
2 SDA55xx芯片簡介
  SDA55xx微控制器是Micronas公司出品的一款主要用于電視機控制以及提供圖形圖像顯示的電視芯片。SDA55xx不僅能夠提供解碼全球圖文電視系統WST (World System Teletext)功能,同時支持解碼其他諸如視頻演放系統VPS(Video Programming System)、節目傳送控制PDC(Program Delivery Control)以及用于PAL-plus(歐洲新電視播出制式)播放的寬屏幕信令WSS(Wide Screen Signalling)。SDA55xx的數據分割器以及顯示部分支持非常廣泛的電視制式,包括PAL、NTSC以及上面提到的VPS、WSS、PDC、TTX和隱蔽字幕數據(Closed Caption Data)。
3 DTV OSD工具的設計
3.1 設計思想

  DTV OSD Developer是建立在DTV中間件平臺上的可視化開發工具,它根據數字電視軟件開發的特點,把界面設計中使用頻繁的對象封裝為控件,以方便用戶調用。在開發過程中所看到的用戶界面框架與程序運行時的界面基本相同,這就使軟件設計可以在脫離真機的情況下完成,而不必把大量的時間用于重復下載程序到芯片以及頻繁開機調試,從而提高軟件開發效率。
3.2 體系結構
  嵌入式操作系統和DTV軟件開發平臺中間件構成了基于嵌入式操作系統的數字電視系統的開發運行環境。嵌入式實時操作系統及設備的上層應用接口通過驅動程序控制相應設備,并對中間件提供系統服務。在數字電視軟件系統中,DTV軟件平臺中間件基于操作系統為應用軟件提供運行支持,同時對操作系統提供的設備控制接口進行適當封裝,由此形成的新接口解除了不同應用提供商與不同的數字電視中特定的硬件和軟件細節間的高度藕合關系,從而實現了內容只需創作一次即可在“任何”地方運行。
  DTV軟件開發平臺采用立體層次結構,作為系統構件運行在操作系統中間件運行平臺上,由于構件與外部應用程序及操作系統的交互完全通過接口進行,保證了構件的實現細節不會影響到使用構件的程序,使得它可以不斷根據功能需求和所支持應用類型增加新的功能和要求。其層次結構如圖1所示。


3.3 基于SDA55xx的OSD開發
  在基于SDA55xx的OSD開發中,由于開發資料只有Micronas公司提供的關于SDA55xx的詳細DATASHEET及開發環境,包括一套Windows下的集成開發環境(WINIDEA)軟件和一套模擬器設備,所以所有的開發都從零開始。要開發基于SDA55xx的OSD系統,就必須熟悉DATASHEET,掌握其內部特殊寄存器的功能、內部XRAM的分配、DRCS的結構以及構造方法。根據這些情況,筆者將基于SDA55xx的OSD開發設計為以下流程:(1)OSD設計階段。主要進行OSD界面設計,此時設計的OSD界面就是最終呈現給用戶的界面,所以對于美觀及實用要求很高;(2)模塊設計階段。根據OSD設計階段設計的OSD界面,分析其中包括的主要元素,然后將每個元素的繪制封裝成一個個模塊。此階段的主要任務是:明確風格OSD界面中的元素,定義每個模塊的結構等;(3)具體實現階段。這一階段主要實現每個模塊的繪制功能,其工作是分配XRAM、構造DRCS及配置特殊寄存器。模塊繪制功能實現后,由主程序調用繪制模塊完成OSD菜單系統。圖2是基本系統結構。此結構中OSD界面及模塊設計都很重要,但主要工作是最后的DRCS的構造、XRAM的分配及特殊寄存器的賦值。


3.4 系統構成
  DTV Visual Developer主要由四個工作區組成:
  (1)OSD TreeView:是編輯菜單狀態的主要場所,菜單狀態采用樹狀結構表示,父菜單與子菜單的關系通過父節點與子節點的關系模擬。
  (2)Menu Designer:是用戶界面設計的工作區, 在這里設計的用戶界面框架與程序運行時的圖形界面基本相同,它提供了添加、刪除以及調整控件形狀和位置的功能。
  (3)Items Window: 其中每一項都對應于一個菜單的狀態,它包含了這個菜單狀態下的所有控件,無論該控件是可見或不可見的。
  (4)Properties Window:可以編輯選中控件的各種屬性和行為。
  此外,DTV Visual Developer還提供了諸如變量表、字符串表和顏色表等方便用戶使用的功能。同時,這個集成開發環境也是可配置的,例如控件的種類、每種控件的屬性以及程序中使用的字庫等都可以根據用戶的需要定制。這就保證了對開發工具的靈活性和適應性的要求。
3.5 DTV OSD Developer的設計要點
  在DTV OSD Developer中,所有菜單狀態均被抽象為OSD TreeView中的一個樹節點,每個狀態都對應一個惟一編號。編號中除最后兩位外,其余每兩位代表一個菜單層次,如“01FFFFFF01”表示這個程序中的菜單深度最大為四層,而最后兩位則表示此菜單狀態所對應的通道,如01代表TV,02代表AV等。子菜單狀態標號的前幾位應與父菜單狀態標號的相應位一致,如菜單狀態“01FFFFFF01”的第一個子菜單編號應該是“0100FFFF01”,這樣,當程序在各菜單狀態中跳轉時可以方便地通過它們的狀態編號進行調度。
  每個菜單狀態都被封裝成為一個枚舉結構,如TV通道下的主菜單狀態可由以下結構表示:
  enum
  {
  MAIN_DLG_TV_ITEM_ID_BEGIN = DLG_ID_END,
  MAIN_DLG_TV_ITEM_ID_PICTURE=
  MAIN_DLG_TV_ITEM_ID_BEGIN,
  MAIN_DLG_TV_ITEM_ID_AUDIO,
  MAIN_DLG_TV_ITEM_ID_TUNER,
  MAIN_DLG_TV_ITEM_ID_CONFIG,
  MAIN_DLG_TV_ITEM_ID_TIMER,
  MAIN_DLG_TV_ITEM_ID_END
  };
  #define MAIN_DLG_TV_ITEM_ID_COUNT
  (MAIN_DLG_TV_ITEM_ID_END-MAIN_DLG_TV_ITEM_
  ID_BEGIN)
  主程序在查找一個菜單狀態時,可以通過狀態編號定位到一個數組結構,根據此結構找到對應子狀態的內存地址和子狀態數目。如TV通道下的主菜單數組結構為:
  rsSubMenuItemArray ROM pTVSubMenuItemArray[]=
  {
  rsNoVGAPicSubMenuItemIdArray,PICTURE_ITEM_TV_COUNT,
  rsAudioSubMenuItemIdArray,AUDIO_ITEM_COUNT,
  rsTunerSubMenuItemIdArray,TUNER_ITEM_COUNT,
  rsConfigSubMenuItemIdArray,CONFIG_ITEM_COUNT,
  rsTimerSubMenuItemIdArray,TIMER_ITEM_COUNT
  };
4 基于DTV OSD Developer的數字電視軟件開發方法
  在使用可視化開發工具DTV OSD Developer的數字電視軟件開發過程中,所有的DTV應用程序都將抽象成為控件集合+資源集合的模式,如圖3所示。


  這種開發模式的應用使得軟件功能的實現不再以各個功能模塊的實現為標志,而是按照“創建用戶界面-設置控件對象的屬性-編寫事件響應代碼”的流程進行。這不僅極大地提高了軟件開發的效率,同時也使所開發的應用程序邏輯性更強也更易于維護。
  本文結合863課題“基于構件、中間件技術的因特網操作系統及跨操作系統的構件、中間件運行平臺”,在和欣嵌入式操作系統上,通過開發基于ezCOM的OSD中間件,最終形成 OSD應用程序、OSD中間件、和欣構件運行平臺、和欣操作系統、硬件平臺這一五層系統架構下的OSD開發方式,并且實現了一個完全構件化的系統架構。
  采用OSD中間件系統進行開發,隔離了很多具體細節的實現,用簡單的方法定制具有特色的OSD軟件,從而在提高開發效率、減少開發成本的同時能夠跟上技術的發展,將應用的開發變得更加便捷,使產品的開放性和可移植性更強。
參考文獻
1 張俊.中間件——數字電視軟件平臺.中國廣電技術論文,2004
2 科泰世紀有限公司.《和欣1.1》資料大全.2003
3 William Stallings著,魏迎梅,王涌譯.操作系統——內核與設計原理(第四版).北京:電子工業出版社,2001
4 Sivaraman G,Cesar P,Vuorimaa P.System software for digital television applications.The IEEE International Conference on Multimedia and Expo,Tokyo,Japan,2001

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 91精品国产高清| 亚洲专区国产精品| 自拍日韩亚洲一区在线| 一区二区高清视频| 欧美中文在线视频| 日本久久亚洲电影| 日产国产精品精品a∨| 日韩不卡视频一区二区| 日韩久久久久久久久久久久| 114国产精品久久免费观看| 不卡视频一区二区| 国产日韩欧美在线播放| 日本精品福利视频| 99精品视频网站| 国产精品91视频| 国产精品高潮视频| 国产精品久久久av久久久| 亚洲午夜精品一区二区| 免费在线观看日韩视频| 国产成人精品自拍| 欧美日韩亚洲一区二区三区在线观看| 91久久精品国产91久久| av免费精品一区二区三区| 日韩中文字幕亚洲| 国产精品久久亚洲| 无码av天堂一区二区三区| 国产精品一区二区免费在线观看| 国产亚洲精品自在久久| 日产精品高清视频免费| 亚洲日本欧美在线| 97久久国产亚洲精品超碰热| 国产精品对白刺激久久久| 亚洲精品在线免费看| 国产熟女高潮视频| 日韩av免费一区| 国产日韩综合一区二区性色av| 亚洲国产精品综合| 国产在线观看不卡| 成人精品网站在线观看| 国产精品高潮在线| 国产精品美女网站|