尤物精品在线_h网站在线播放_国产精品一区二区三区不卡_国产精品久久久久免费视频_乱一色一毛一片_www.欧美国产

搜索新聞

基于Hi2011的DVB-C機頂盒設計與實現

軟件體系設計
來源:電子產品世界 更新日期:2008-06-09 作者:佚名
內容導航:  分頁瀏覽 | 全文瀏覽

 

    3.軟件體系設計

    DVB-C軟件體系采用分層結構,首先對系統的軟件進行分層,然后進行模塊化的層次劃分。

    3.1軟件層次結構

    按照機頂盒軟件系統中不同軟件功能和作用,將軟件系統按層次進行劃分,可分為操作系統層、驅動層、中間層和應用層

    其中操作系統層主要包括操作系統內核、硬件平臺抽象和操作系統抽象;硬件平臺抽象又叫硬件抽象層,主要是將CPU的相關操作和功能部分進行封裝,以提供給上層調用,從而避免直接與硬件直接相關性,同時為系統軟件的移植、操作系統的更換等帶來極大的方便;操作系統抽象主要是將與操作系統直接相關的操作進行抽象化、模塊化,以提供給應用程序簡單方便的接口,同時使軟件系統具有良好的可移植性。

   在硬件平臺和軟件結構基本構建好以后,就選擇適合高效的多任務系統環境的嵌入式實時操作系統,而μC/OS-II采用基于優先級的多任務搶占式調度策略;內核短小,實時性好,能進行快速的上下文切換(小于5µs),效率高;內存要求低鑒于這些特點,在本系統中,選擇嵌入式實時多任務操作系統為μC/OS-II,作為該機頂盒的操作系統,并將其移植于Hi2011系統上,同時設計操作系統抽象層,封裝操作系統與用戶相關的操作。

    3.2操作系統

    在硬件平臺和軟件結構基本構建好以后,就選擇適合該系統的嵌入式實時操作系統。在選擇嵌入式實時操作系統(real-timeoperationsystem,RTOS)時,應該具有以下特征的RTOS:基于優先級的多任務搶占式調度策略;內核短小,實時性好,能進行快速的上下文切換(小于5µs),效率高;開放源代碼,并且支持一系列的處理器芯片;低的內存要求;具有可裁剪、可移植性。

    因為這樣的RTOS是高效率的操作系統,能夠為DVB-C提供高效的多任務環境,包括任務調度管理、時鐘管理、內存管理、中斷處理、通過信號量實現同步和互斥、以及通過消息隊列實現消息通信等等。比如μC/OS-II、μCLinux、Vxworks、OS20等操作系統,都具有上述特征。

    在本系統中,選擇嵌入式實時多任務操作系統為μC/OS-II,作為該機頂盒的操作系統,并將其移植于Hi2011系統上,同時設計操作系統抽象層,封裝操作系統與用戶相關的操作。

    3.3軟件模塊和任務的劃分

    根據DVB-C硬件模塊的一致性可知,其軟件模塊主要包括初始化啟動模塊、端口處理模塊、解復用模塊、解擾模塊、節目存貯模塊、Flash模塊、音視頻操作模塊、用戶界面控制模塊、頻道轉換控制、系統升級模塊、EPG模塊、中文字體模塊和SDRAM模塊等。

    依據DVB-C要實現的功能和模塊劃分,將系統的任務劃分為10個主要的任務,并為每個任務分配不同的優先級。每個任務都完成相應的功能,并將任務的調度交于操作系統實現。其中系統的初始化啟動模塊和設備驅動模塊在主函數中調用相應的函數來實現其對應的功能。具體劃分如下:Task2完成處理遠程電源管理、清屏、主菜單鍵和傳遞按鍵給鍵值處理模塊等功能;Task3完成系統的音視頻處理;Task4完成頻道更新;Task5處理頻道節目的編輯和刷新等;Task6調度開機LoGo;Task7處理機頂盒各種顯示任務;Task8調度游戲和日歷等;Task9處理各種表單,如節目單和解復用單等;Task10處理處理OSD和PMT。而Task1啟動其他任務和開機Logo。

    3.4數據庫構建

    基于DVB-C的數字機頂盒的數據庫構建,主要構建本地臨時數據庫和數據庫管理兩個方面。其中本地臨時數據庫包括:節目表ProgramList、附加節目表TransponderList和節目數據結構,ProgramList和TransponderList的構建在搜臺時完成,當用戶作頻道管理時,需要作相應的更新并寫Flash即可。

   數據庫管理主要是為管理和訪問各數據庫里的數據,數據庫管理分為頻點數據庫管理、節目數據庫管理和系統數據庫管理三個方面。頻點數據庫管理主要是完成對頻點數據的管理,包括頻點信息單元和數據塊頭、鏈表兩個方面。節目數據庫管理主要管理節目信息單元和數據塊頭、鏈表,由于節目數據庫的數據量十分龐大,因此,在定義節目數據庫的結構時,不能將節目信息置于一個結構中,以免超出編譯器的64KB的界線。

    3.5搜臺模塊

    搜臺十分重要,不僅要找出頻道列表,還要解析出一定程度的各頻道的相關信息。搜臺算法分為手動搜臺和自動搜臺算法。因為自動搜臺是通過手動搜臺對頻率的for循環來實現的,所以研究手動搜臺。在搜臺之前,首先搜索各種節目信息表,因此搜索各種表時的順序十分重要,這將影響到搜索節目的時間和效率。在搜臺時,有以下幾種搜索表:PAT:提供PMT的pid,所以要先于PMT的搜索;PMT:提供每個節目(service_id)的包括音視頻pid等信息;SDT:提供節目的屬性信息,包括節目名字、節目運行狀態等屬性,在PAT之后搜索;NIT:提供網絡的信息,包括網絡標識號和網絡名稱,保存在頻點數據庫中;NIT還提供此網絡下其他頻點的參數信息,根據這個可以增加頻點數據庫。

    采用搜索算法思想為:首先調用驅動層封裝好的相應API,設定Tuner頻點、符號率等參數,根據數據更新的方式決定是否要清除ProgramList和TransponderList,然后搜索解析PAT表,PAT表解析完后對Program逐個解析PMT表和SDT表,所有的Program都完成后,解析NIT表獲得網絡信息,更新TransponderList,最后成功返回。

    3.6系統主函數實現

    μC/OS-II操作系統是使用標準C語言編寫的,因此,整個系統軟件中,又且僅有一個main()函數。在本系統中,也只有一個main()函數。在實現main()時,必須考慮系統的效率。在本系統設計中,采用了Task1來開啟其他任務的方式,來減少主函數的代碼,提高主函數的運行效率。其代碼如下:

    main()

    {…

    OSInit();//操作系統初始化

    sys_init();//系統初始化

    System_mail_Set=OSMboxCreate(0);//系統消息初始化

    sysflag=OSFlagCreate(0x81,&err_main);//系統標志初始化

    OSTaskCreate(task1,(void*)&Task1_Stk[TASK1_STK_SIZE-1],TASK1_PRIO);//任務調度開始

    OSStart();//操作系統開始

    …}

 

 標簽:
本文導航
  • 第2頁:軟件體系設計
推薦液晶電視品牌
廣告聯系:010-82755684 | 010-82755685 手機版:m.pjtime.com官方微博:weibo.com/pjtime官方微信:pjtime
Copyright (C) 2007 by PjTime.com,投影時代網 版權所有 關于投影時代 | 聯系我們 | 歡迎來稿 | 網站地圖
返回首頁 網友評論 返回頂部 建議反饋
快速評論
驗證碼: 看不清?點一下
發表評論
主站蜘蛛池模板: 国产精品久久久久久久av大片 | 少妇无码精品在线观看 | 精品国产粉嫩内射白浆内射双马尾 | 吖v国产高清在线播放 | 久久久er热这里只有精品2 | 免费视频一区二区 | 超碰97人人在线 | 国产人成无码视频在线观看 | 1000部精品久久久久久久久 | 视频一区二区在线观看 | 精品超清无码视频在线观看 | 巨大黑人极品video | 囯产乱色国产精品免费视频 | 久久精品在这里 | 欧美成人不卡 | 国产在线视频网 | 国产精品久久国产精麻豆99网站 | 4399午夜理伦免费播放大全 | 久久99精品久久久久久秒播九色 | 国产无套乱子伦精彩无码视频 | 毛片精品| 涩爱av色老久久精品偷偷鲁 | 久久精品国产一区二区三区 | 97在线成人自拍视频 | 亚洲精品久久激情国产片 | 潮喷大喷水系列无码精品视频 | 在线免费av网站 | 日韩av免费一区二区 | 日韩精品午夜视频一区二区三区 | 久久综合九色综合久久久精品综合 | 国产特级淫片免费看欧美日韩中文 | 91精品国产一区二区无码 | 国产成人无码A区在线观看免费 | 精品一区二区三区成人精品 | 国产精品成熟老妇女 | 激情三级| 久久国产精品久久久久久久久久 | 中文字幕在线一区二区三区 | 色哟哟免费网站 | 亚洲999| 亚洲精品少妇30p |