中国的一级毛片_H无码精品3D动漫在线观看_9191久久_国产精品永久免费_亚洲精选一区_肉体裸体xxxxx免费观看

基于Hi2011的DVB-C機(jī)頂盒設(shè)計與實現(xiàn)

軟件體系設(shè)計
來源:電子產(chǎn)品世界 更新日期:2008-06-09 作者:佚名
內(nèi)容導(dǎo)航:  分頁瀏覽 | 全文瀏覽

 

    3.軟件體系設(shè)計

    DVB-C軟件體系采用分層結(jié)構(gòu),首先對系統(tǒng)的軟件進(jìn)行分層,然后進(jìn)行模塊化的層次劃分。

    3.1軟件層次結(jié)構(gòu)

    按照機(jī)頂盒軟件系統(tǒng)中不同軟件功能和作用,將軟件系統(tǒng)按層次進(jìn)行劃分,可分為操作系統(tǒng)層、驅(qū)動層、中間層和應(yīng)用層

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

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

    3.2操作系統(tǒng)

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

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

    在本系統(tǒng)中,選擇嵌入式實時多任務(wù)操作系統(tǒng)為μC/OS-II,作為該機(jī)頂盒的操作系統(tǒng),并將其移植于Hi2011系統(tǒng)上,同時設(shè)計操作系統(tǒng)抽象層,封裝操作系統(tǒng)與用戶相關(guān)的操作。

    3.3軟件模塊和任務(wù)的劃分

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

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

    3.4數(shù)據(jù)庫構(gòu)建

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

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

    3.5搜臺模塊

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

    采用搜索算法思想為:首先調(diào)用驅(qū)動層封裝好的相應(yīng)API,設(shè)定Tuner頻點、符號率等參數(shù),根據(jù)數(shù)據(jù)更新的方式?jīng)Q定是否要清除ProgramList和TransponderList,然后搜索解析PAT表,PAT表解析完后對Program逐個解析PMT表和SDT表,所有的Program都完成后,解析NIT表獲得網(wǎng)絡(luò)信息,更新TransponderList,最后成功返回。

    3.6系統(tǒng)主函數(shù)實現(xiàn)

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

    main()

    {…

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

    sys_init();//系統(tǒng)初始化

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

    sysflag=OSFlagCreate(0x81,&err_main);//系統(tǒng)標(biāo)志初始化

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

    OSStart();//操作系統(tǒng)開始

    …}

 

 標(biāo)簽:
本文導(dǎo)航
  • 第2頁:軟件體系設(shè)計
廣告聯(lián)系:010-82755684 | 010-82755685 手機(jī)版:m.pjtime.com官方微博:weibo.com/pjtime官方微信:pjtime
Copyright (C) 2007 by PjTime.com,投影時代網(wǎng) 版權(quán)所有 關(guān)于投影時代 | 聯(lián)系我們 | 歡迎來稿 | 網(wǎng)站地圖
返回首頁 網(wǎng)友評論 返回頂部 建議反饋
快速評論
驗證碼: 看不清?點一下
發(fā)表評論
主站蜘蛛池模板: 久久tv中文字幕首页 | 欧美性猛交99久久久久99 | 午夜丰满少妇性开放视频 | 一级欧美一级日韩 | 精品国产一区二区三区麻豆 | 国产AV办公室丝袜秘书 | 免费视频wwwxx | 国产又黄又硬又粗 | 国产男女性潮高清免费网站 | 91精品国产一区二区在线观看 | 亚洲人成精品免费观看 | 综合自拍 | 小早川怜子痴女在线精品视频 | 久久免费国产精品1 | 日韩精品午夜 | av在线free| 韩国av网站在线观看 | 国产96在线 | 欧美日韩一区二区在线视频播放 | 亚洲精品美女久久久久久久 | 奇米视频在线观看 | 亚洲拍宾馆视频播放 | 国产99国产精偷国产黄在线欧洲 | 浮生影视在线观看免费 | yell视频在线观看免费 | 自拍偷拍99 | 日本黄色中文字幕 | 天堂网在线最新版www | 91热视频在线 | 操操操网| 中文字幕亚洲精品一区 | 色视频亚洲 | 97爱视频 | 高潮岳喷我一脸 | 国产一级揄自揄精品视频 | 日韩欧美视频在线播放 | 91最新 | 国产一级做a爰片在线看免费 | 国产成人手机在线 | 无码欧美多人性站交大战 | 久久久久欧美精品999 |