日韩无码一级视频,久久久久久人妻一区精品,欧美va亚洲va日韩va,国产高清在线精品一区二区app电影,天堂影院一区二区三区四区

IPTV數(shù)字電視機(jī)頂盒的升級(jí)方案——設(shè)計(jì)及實(shí)現(xiàn)

發(fā)布時(shí)間:2010-11-14 閱讀量:2806 來源: 發(fā)布人:

中心議題
??? * 提出了一種IPTV數(shù)字電視機(jī)頂盒的升級(jí)方案
??? * 給出了具體設(shè)計(jì)和實(shí)現(xiàn)
解決方案
??? * 將Flash從邏輯上劃分為引導(dǎo)區(qū)、升級(jí)分區(qū)、工作分區(qū)和備份分區(qū)
??? * 直接對(duì)Flash的地址范圍進(jìn)行燒寫

1 IPTV
數(shù)字電視機(jī)頂盒概述

IPTV機(jī)頂盒的軟件系統(tǒng)是一種基于嵌入式操作系統(tǒng)的嵌入式軟件系統(tǒng)。在實(shí)際使用中,為了解決軟件中存在的問題,提高機(jī)頂盒運(yùn)行性能,進(jìn)一步擴(kuò)展機(jī)頂盒的功能,需要對(duì)機(jī)頂盒的軟件系統(tǒng)及時(shí)進(jìn)行更新。由于終端產(chǎn)品數(shù)量巨大,分布分散,所以一般采用遠(yuǎn)程自動(dòng)升級(jí)的方法。

目前用于機(jī)頂盒的在線升級(jí)方案中,Flash大多采取主、備分區(qū)的方式,當(dāng)機(jī)頂盒斷電造成工作于主分區(qū)的系統(tǒng)崩潰時(shí),從備份分區(qū)直接進(jìn)入升級(jí)系統(tǒng),恢復(fù)主系統(tǒng)。這樣做雖然節(jié)省了Flash空間,在一定程度上解決了機(jī)頂盒升級(jí)時(shí)斷電造成系統(tǒng)崩潰的問題,但是仍然存在不足。如果在對(duì)Flash進(jìn)行多次擦寫后備份分區(qū)出現(xiàn)壞塊導(dǎo)致不可用時(shí),只要斷電,整個(gè)系統(tǒng)就會(huì)崩潰,并且無法自我修復(fù),用戶便無法正常體驗(yàn)IPTV業(yè)務(wù)。筆者針對(duì)這點(diǎn)不足進(jìn)行了改進(jìn),設(shè)計(jì)了一套具備自愈機(jī)制的升級(jí)方案,通過改良Flash空間分配和Linux系統(tǒng)引導(dǎo)加載程序,使用戶在斷電時(shí)不能自我修復(fù)的情況下仍能夠正常體驗(yàn)IPTV業(yè)務(wù)。并且,對(duì)實(shí)現(xiàn)后的升級(jí)方案進(jìn)行了有針對(duì)性的測(cè)試,驗(yàn)證了該升級(jí)方案的可靠性和穩(wěn)定性。

2基于嵌入式LinuxIPTV數(shù)字電視機(jī)頂盒系統(tǒng)

該機(jī)頂盒以美國(guó)德州儀器(TI)公司提供的ARM嵌入式系統(tǒng)作為硬件平臺(tái),包括一個(gè)以ARM為內(nèi)核的處理器、存儲(chǔ)器、外部接口與設(shè)備以及一個(gè)DSP。其中,Flash存儲(chǔ)器是一種可在線多次擦除的非易失性存儲(chǔ)器,承載嵌入式系統(tǒng)中的主要數(shù)據(jù)和程序。

基于嵌入式Linux的機(jī)頂盒軟件系統(tǒng)由以下部分構(gòu)成:引導(dǎo)加載程序(boot load program)、Linux內(nèi)核和文件系統(tǒng)。首先,系統(tǒng)加電復(fù)位后,處理器將執(zhí)行存放在復(fù)位地址處的引導(dǎo)加載程序。通過它可以初始化硬件設(shè)備、建立或檢測(cè)內(nèi)存空間的映射圖,為運(yùn)行操作系統(tǒng)提供基本的運(yùn)行環(huán)境,并將所選的操作系統(tǒng)內(nèi)核裝載到RAM中合適的位置上。接著,運(yùn)行內(nèi)核啟動(dòng)參數(shù),裝載必須的驅(qū)動(dòng)。實(shí)際上,Linux內(nèi)核僅包含了基本的硬件驅(qū)動(dòng),在系統(tǒng)安裝過程中會(huì)檢測(cè)系統(tǒng)硬件信息,根據(jù)安裝信息和系統(tǒng)硬件信息將一部分設(shè)備驅(qū)動(dòng)寫入initrd中。這樣在以后啟動(dòng)系統(tǒng)時(shí),一部分設(shè)備驅(qū)動(dòng)就放在initrd中來加載。當(dāng)初始化開始后,執(zhí)行系統(tǒng)初始化腳本,對(duì)系統(tǒng)進(jìn)行基本的配置,掛載根文件系統(tǒng)及其他文件系統(tǒng),并最終運(yùn)行操作系統(tǒng)。

3 IPTV數(shù)字電視機(jī)頂盒系統(tǒng)軟件升級(jí)方案設(shè)計(jì)

機(jī)頂盒加電或復(fù)位后,首先根據(jù)版本信息判斷機(jī)頂盒系統(tǒng)是否需要升級(jí),如需升級(jí),應(yīng)能對(duì)系統(tǒng)內(nèi)核和文件系統(tǒng)進(jìn)行自動(dòng)更新。然后,將需要更新的文件系統(tǒng)生成映像文件后燒寫到Flash中。當(dāng)機(jī)頂盒出現(xiàn)斷電、系統(tǒng)崩潰等異常情況不能正常升級(jí)時(shí),需要解決機(jī)頂盒自我修復(fù)問題,對(duì)機(jī)頂盒進(jìn)行緊急升級(jí)。當(dāng)緊急升級(jí)不成功時(shí),為了保證用戶仍能夠正常使用所有業(yè)務(wù),需要將機(jī)頂盒還原到升級(jí)之前正常使用的工作狀態(tài),使用戶仍能夠體驗(yàn)IPTV業(yè)務(wù)。

為了保證機(jī)頂盒在軟件升級(jí)時(shí)自動(dòng)恢復(fù),保證用戶正常使用,該升級(jí)方案將Flash從邏輯上劃分為引導(dǎo)區(qū)、升級(jí)分區(qū)、工作分區(qū)和備份分區(qū)。將系統(tǒng)引導(dǎo)信息存入引導(dǎo)區(qū),將只具有升級(jí)功能的系統(tǒng)存放到升級(jí)分區(qū),將包含升級(jí)功能和正常業(yè)務(wù)功能的系統(tǒng)存入工作分區(qū),將升級(jí)成功后工作分區(qū)中的系統(tǒng)備份放入備份分區(qū)。在該機(jī)頂盒的Flash中,系統(tǒng)的空間安排方式如圖1所示。

圖1

Flash空間劃分為不同功能的分區(qū),每個(gè)區(qū)的大小應(yīng)該是Flash擦除塊大小的整數(shù)倍。各分區(qū)可以單獨(dú)地操作,每個(gè)分區(qū)有唯一標(biāo)識(shí)的相關(guān)信息,包括相對(duì)Flash基地址的偏移量和分區(qū)大小。因此,可以直接對(duì)Flash的地址范圍進(jìn)行燒寫。在Flash中存放內(nèi)核時(shí),在內(nèi)核內(nèi)容的前面加一段標(biāo)識(shí)有效性的值,加載內(nèi)核時(shí)就能夠判斷出從指定地址讀取的內(nèi)核是否有效,如果無效,則在升級(jí)標(biāo)志中使用內(nèi)核無效標(biāo)識(shí)。

系統(tǒng)加電或復(fù)位后,所有CPU都會(huì)從某個(gè)地址開始執(zhí)行,這是由處理器設(shè)計(jì)決定的。ARM處理器在復(fù)位時(shí)從地址0x00000000取第1條指令。嵌入式系統(tǒng)的開發(fā)板都要把板上的ROMFlash映射到這個(gè)地址。因此,必須把引導(dǎo)加載程序存儲(chǔ)在相應(yīng)的Flash位置,系統(tǒng)加電后,CPU將首先執(zhí)行這一步驟。初始化存儲(chǔ)器系統(tǒng)是引導(dǎo)加載程序代碼中的一個(gè)重要部分,許多操作系統(tǒng)在開始運(yùn)行之前,希望了解存儲(chǔ)器的組織情況。存儲(chǔ)器系統(tǒng)初始化是通過軟件設(shè)定FlashRAM存儲(chǔ)器的地址范圍以及數(shù)據(jù)總線寬度。初始化存儲(chǔ)器系統(tǒng)部分代碼如下:

程序段1

程序段2

?

機(jī)頂盒終端啟動(dòng)時(shí),首先將引導(dǎo)區(qū)信息載入內(nèi)存,并根據(jù)標(biāo)志有效性的值判斷升級(jí)分區(qū)、工作分區(qū)和備份分區(qū)中的系統(tǒng)是否正常。使用中通常包括以下情況:

1)當(dāng)判斷出工作分區(qū)中的系統(tǒng)正常時(shí),使用該系統(tǒng)從升級(jí)服務(wù)器下載升級(jí)文件,更新工作分區(qū)中的內(nèi)核和文件系統(tǒng)。接著,更新升級(jí)分區(qū)中的系統(tǒng),成功后擦寫標(biāo)志位將其值置為有效。然后,將升級(jí)成功的系統(tǒng)備份到備份分區(qū)中,成功后擦寫標(biāo)志位將其值置為有效,完成升級(jí)。重啟后,從工作分區(qū)進(jìn)入系統(tǒng)。

2)當(dāng)判斷出工作分區(qū)中的系統(tǒng)被破壞,而升級(jí)分區(qū)和備份分區(qū)中的系統(tǒng)正常時(shí),可以使用升級(jí)分區(qū)中的系統(tǒng)進(jìn)行緊急升級(jí),從升級(jí)服務(wù)器下載正常運(yùn)行的系統(tǒng)鏡像,更新工作分區(qū)中的內(nèi)核和文件系統(tǒng),成功后擦寫標(biāo)志位將其值置為有效。機(jī)頂盒自動(dòng)重啟,使用工作分區(qū)中的系統(tǒng)從升級(jí)服務(wù)器下載升級(jí)軟件,更新工作分區(qū)中的內(nèi)核和文件系統(tǒng),并且更新升級(jí)分區(qū)中的系統(tǒng),成功后擦寫標(biāo)志位將其置為有效。然后,將升級(jí)成功的系統(tǒng)備份到備份分區(qū)中,成功后擦寫標(biāo)志位將其置為有效,完成升級(jí)。如果用戶不想升級(jí),可以直接從備份分區(qū)運(yùn)行系統(tǒng),體驗(yàn)IPTV業(yè)務(wù)。這樣做有效地解決了機(jī)頂盒斷電時(shí)的自我修復(fù)問題,同時(shí),在自我修復(fù)不成功時(shí),還能夠回退到上一次正常使用的狀態(tài),不需要維護(hù)人員干預(yù)。

3)當(dāng)判斷出工作分區(qū)和升級(jí)分區(qū)中的系統(tǒng)都被破壞時(shí),可以從備份分區(qū)運(yùn)行系統(tǒng),將系統(tǒng)恢復(fù)到被破壞之前的使用狀態(tài),保證用戶的正常使用。若要升級(jí),可以使用該系統(tǒng)從升級(jí)服務(wù)器下載正常運(yùn)行的系統(tǒng)鏡像來更新工作分區(qū)中的內(nèi)核和文件系統(tǒng),擦寫標(biāo)志位。接著,更新升級(jí)分區(qū)中的系統(tǒng),成功后擦寫標(biāo)志位將其值置為有效。然后,將工作分區(qū)中正常狀態(tài)下的系統(tǒng)重新備份到備份分區(qū)中,完成升級(jí)。

從以上3種情況可以看出,Flash3個(gè)分區(qū)的系統(tǒng)構(gòu)成了一套完整的自愈機(jī)制,保證了在各種情況下,機(jī)頂盒都能夠完成自動(dòng)升級(jí),并且保證了用戶總能夠正常體驗(yàn)IPTV業(yè)務(wù),因此該系統(tǒng)具有高可靠性和自我修復(fù)能力。

4 IPTV數(shù)字電視機(jī)頂盒系統(tǒng)的測(cè)試及分析

本方案采用交叉編譯調(diào)試的方式,即編譯調(diào)試環(huán)境建立在宿主機(jī)(即1臺(tái)PC機(jī))上,開發(fā)時(shí)使用宿主機(jī)上的交叉編譯工具鏈(包括編譯、匯編及連接工具)來生成目標(biāo)板上運(yùn)行的二進(jìn)制代碼,然后把可執(zhí)行文件下載到目標(biāo)機(jī)上運(yùn)行。本方案中,以裝有RedHat Linux操作系統(tǒng)的主機(jī)作為宿主機(jī),該宿主機(jī)上安裝了交叉編譯工具鏈unicore-linux-gcc,當(dāng)編譯成功后,通過串口板和USB線下載到機(jī)頂盒開發(fā)板上運(yùn)行,通過視頻線將視頻信號(hào)接入電視機(jī)進(jìn)行用戶體驗(yàn)測(cè)試,通過宿主機(jī)上串口通信程序來監(jiān)視機(jī)頂盒串口輸出信息并可以輸入一些控制命令測(cè)試系統(tǒng)啟動(dòng)信息。調(diào)試環(huán)境如圖2所示。

圖2

本測(cè)試方案的主要目的是進(jìn)行針對(duì)性的測(cè)試,重點(diǎn)測(cè)試機(jī)頂盒斷電后的自我恢復(fù)機(jī)制。通過對(duì)機(jī)頂盒正常升級(jí)時(shí)斷電,恢復(fù)供電后,查看系統(tǒng)能否正常開啟,能否重新升級(jí)。重新升級(jí)后,檢查機(jī)頂盒配置頁面中參數(shù)是否改變。若不能繼續(xù)升級(jí),則檢查能否繼續(xù)體驗(yàn)業(yè)務(wù)。然后進(jìn)行多次斷電、復(fù)位,檢測(cè)本升級(jí)方案的穩(wěn)定性和可靠性。圖3為部分引導(dǎo)加載程序啟動(dòng)信息。

圖3

測(cè)試結(jié)果表明,本升級(jí)方案很好地解決了機(jī)頂盒自我修復(fù)問題,并實(shí)現(xiàn)了安全穩(wěn)定的在線升級(jí)。不足之處在于,機(jī)頂盒只能在復(fù)位時(shí)啟動(dòng)升級(jí)程序來檢測(cè)升級(jí),不能夠?qū)崟r(shí)檢測(cè)并且在不影響用戶使用的情況下后臺(tái)安裝升級(jí)文件。

5小結(jié)

筆者在現(xiàn)有的機(jī)頂盒在線升級(jí)方案基礎(chǔ)上,重新設(shè)計(jì)了基于嵌入式Linux機(jī)頂盒的升級(jí)方案,對(duì)其可靠性和穩(wěn)定性方面進(jìn)行了改進(jìn)。實(shí)際測(cè)試表明,本升級(jí)方案對(duì)解決用戶體驗(yàn)問題非常安全和有效。下一步的工作是改進(jìn)機(jī)頂盒的開機(jī)升級(jí)機(jī)制,加強(qiáng)其對(duì)實(shí)時(shí)性的支持,使用戶在體驗(yàn)業(yè)務(wù)的同時(shí)進(jìn)行自動(dòng)升級(jí)。

相關(guān)資訊
解鎖 AL8866Q:為汽車照明量身定制的高效 LED 驅(qū)動(dòng)方案

Diodes 公司 (Diodes) (Nasdaq:DIOD) 宣布推出AL8866Q LED 驅(qū)動(dòng)器,擴(kuò)大符合汽車標(biāo)準(zhǔn)*的產(chǎn)品組合。這款直流開關(guān) LED 驅(qū)動(dòng)控制器可驅(qū)動(dòng)外部 MOSFET,支持降壓、升壓、降升壓及單端一次側(cè)電感轉(zhuǎn)換器 (SEPIC) 拓?fù)?,適用于高功率 LED 照明系統(tǒng)。產(chǎn)品應(yīng)用包括日行燈 (DRL)、遠(yuǎn)近光燈、霧燈、轉(zhuǎn)向燈、剎車/停車燈等。

基于FPGA技術(shù)的創(chuàng)新:打造高效低功耗模塊化小USB解決方案

USB技術(shù)的開發(fā)面臨著獨(dú)特的挑戰(zhàn),主要原因是需要在受限的設(shè)備尺寸內(nèi)實(shí)現(xiàn)穩(wěn)定互連、高速度和電源管理。各種器件兼容性問題、各異的數(shù)據(jù)傳輸速度以及對(duì)低延遲和低功耗的要求,給工程師帶來了更多壓力,他們需要在嚴(yán)格的技術(shù)限制范圍內(nèi)進(jìn)行創(chuàng)新。工程師必須將USB功能集成到越來越小的模塊中,并在功能與設(shè)計(jì)限制之間取得平衡。 基于FPGA技術(shù)的創(chuàng)新:打造高效低功耗模塊化小USB解決方案 USB技術(shù)的開發(fā)面臨著獨(dú)特的挑戰(zhàn),主要原因是需要在受限的設(shè)備尺寸內(nèi)實(shí)現(xiàn)穩(wěn)定互連、高速度和電源管理。各種器件兼容性問題、各異的數(shù)據(jù)傳輸速度以及對(duì)低延遲和低功耗的要求,給工程師帶來了更多壓力,他們需要在嚴(yán)格的技術(shù)限制范圍內(nèi)進(jìn)行創(chuàng)新。工程師必須將USB功能集成到越來越小的模塊中,并在功能與設(shè)計(jì)限制之間取得平衡。 本文總結(jié)了業(yè)界用于高性能 USB 3 設(shè)備的一些典型解決方案,并介紹了一種新的架構(gòu),這種架構(gòu)既能節(jié)省功耗和面積,又能提高靈活性和易用性。 萊迪思最近發(fā)布了一款帶有原生USB 3.2 Gen 1的新FPGA系列,名為萊迪思CrossLinkU?-NX。除了產(chǎn)品數(shù)據(jù)表之外,本文還將詳細(xì)介紹該器件。CrossLinkU-NX器件的一些

IGBT并聯(lián)設(shè)計(jì)指南:從入門到精通

大功率系統(tǒng)需要并聯(lián) IGBT來處理高達(dá)數(shù)十千瓦甚至數(shù)百千瓦的負(fù)載,并聯(lián)器件可以是分立封裝器件,也可以是組裝在模塊中的裸芯片。這樣做可以獲得更高的額定電流、改善散熱,有時(shí)也是為了系統(tǒng)冗余。部件之間的工藝變化以及布局變化,會(huì)影響并聯(lián)器件的靜態(tài)和動(dòng)態(tài)電流分配。

貿(mào)澤與TE Connectivity 和Microchip Technology聯(lián)手推出 聚焦汽車Zonal架構(gòu)的全新電子書

Zonal架構(gòu)通過將車輛劃分為多個(gè)滿足特定功能需求的獨(dú)立區(qū)域并實(shí)現(xiàn)車輛計(jì)算平臺(tái)來優(yōu)化車輛性能

圖騰柱PFC的傳導(dǎo)電磁干擾解決方法與應(yīng)用

圖騰柱PFC電路是通過兩個(gè)開關(guān)管以互補(bǔ)方式工作來替代傳統(tǒng)二極管整流橋的一種高效轉(zhuǎn)換器結(jié)構(gòu)

台州市| 交城县| 江永县| 昆山市| 富川| 毕节市| 静宁县| 册亨县| 扶沟县| 娄底市| 威宁| 百色市| 甘洛县| 迭部县| 大理市| 黄冈市| 正安县| 宁都县| 丹江口市| 额济纳旗| 华蓥市| 巴中市| 讷河市| 兰考县| 安西县| 泾阳县| 修武县| 临江市| 杂多县| 瑞丽市| 兴隆县| 宕昌县| 牙克石市| 曲水县| 汶上县| 大厂| 塔城市| 灵山县| 叙永县| 泸溪县| 峡江县|