一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

將中間件JavaVM移植到數(shù)字電視機頂盒上的實現(xiàn)方案研究

電子設(shè)計 ? 來源:郭婷 ? 作者:電子設(shè)計 ? 2019-07-01 08:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

數(shù)字電視是當前IT產(chǎn)業(yè)的熱點,作為一項即將在全國范圍內(nèi)開播的信息服務,它融合了計算機、多媒體、通信網(wǎng)絡(luò)等眾多技術(shù)。隨著數(shù)字電視近幾年的發(fā)展,交互式電視越來越受重視。交互式電視可以為用戶提供豐富的互動功能,包括電子節(jié)目指南、視頻點播、股票信息、互動游戲等。目前,數(shù)字電視機頂盒是基于有線電視網(wǎng)絡(luò)傳輸?shù)?a href="http://www.www27dydycom.cn/analog/" target="_blank">模擬電視機接收數(shù)字電視節(jié)目和數(shù)字信息的主要接入平臺。要實現(xiàn)交互式電視的功能,數(shù)字電視中間件技術(shù)是必不可少的條件,它已成為交互式電視的核心技術(shù)。我國已制定了數(shù)字電視中間件標準,利用該標準開發(fā)具有自主知識產(chǎn)權(quán)的中間件系統(tǒng)是非常必要的。

本文以目前較為成熟的數(shù)字電視機頂盒技術(shù)為參考背景,提出了一種將中間件JavaVM移植到數(shù)字電視機頂盒上的方案,詳細介紹了整個方案的原理以及具體實現(xiàn)過程。

1 有線數(shù)字電視機頂盒技術(shù)

有線數(shù)字電視機頂盒結(jié)構(gòu)如圖1所示。

將中間件JavaVM移植到數(shù)字電視機頂盒上的實現(xiàn)方案研究

普通(民用)有線數(shù)字機頂盒是傳統(tǒng)HFC網(wǎng)絡(luò)與傳統(tǒng)模擬電視之間的數(shù)字橋梁。在HFC網(wǎng)絡(luò)的前端,數(shù)字復接器將各種已編碼的數(shù)字電視節(jié)目信號與數(shù)據(jù)廣播信號復接,經(jīng)過組幀、QAM調(diào)制和載波調(diào)制成DVB-C信號流,通過HFC網(wǎng)絡(luò)向用戶廣播。用戶則通過數(shù)字機頂盒鎖定電視節(jié)目頻道,經(jīng)過QAM解調(diào)、解復用、解壓縮、解密和收費控制等過程完成節(jié)目接收。機頂盒的核心模塊(如STi5512)是數(shù)字電視解碼器,它是一個嵌入式系統(tǒng),一般有以下硬件模塊:MIPSCPU、解調(diào)器、解復用器、A/V解碼器、模擬A/V編碼器等。

本方案中選用ST公司的Sti5516芯片,該芯片的CPU為ST20-C2。

2 中間件技術(shù)

從硬件技術(shù)看,CPU速度越來越高,處理能力越來越強;從軟件技術(shù)看,應用程序的規(guī)模不斷擴大,特別是因特網(wǎng)的出現(xiàn),使計算機的應用范圍更為廣闊,許多應用程序需在網(wǎng)絡(luò)環(huán)境的異構(gòu)平臺上運行。這一切對新一代軟件的開發(fā)提出了新的需求。在這種分布異構(gòu)環(huán)境中,通常存在多種硬件系統(tǒng)平臺(如PC、工作站、小型機等),在這些硬件平臺上又存在各種各樣的系統(tǒng)軟件(如不同的操作系統(tǒng)、數(shù)據(jù)庫、語言編譯器等),以及多種風格各異的用戶界面,這些硬件系統(tǒng)平臺還可能采用不同的網(wǎng)絡(luò)協(xié)議和網(wǎng)絡(luò)體系結(jié)構(gòu)連接。如何把這些系統(tǒng)集成并開發(fā)新的應用是一個非?,F(xiàn)實而困難的問題。

為解決分布異構(gòu)問題,提出了中間件(middleware)的概念。

中間件是在應用程序與操作系統(tǒng)、硬件平臺之間嵌入的一個中間層,通常定義成一組較為完整的、標準的應用程序接口。它主要為應用軟件的開發(fā)提供跨操作系統(tǒng)、跨硬件的平臺及層次化、模塊化和可擴展的接口,同時,根據(jù)嵌入式應用的編程特點提供必要的編程工具。

借助中間件,應用程序可以獨立于操作系統(tǒng)和硬件平臺,使產(chǎn)品的開放性和可移植性更強。有了中間件,應用程序不僅可以運行于不同硬件平臺,也可以在不同的操作系統(tǒng)上運行,從而在提高開發(fā)效率、減少開發(fā)成本的同時能夠跟上技術(shù)的發(fā)展,使應用的開發(fā)變得更加簡捷,也為應用程序提供了一個相對穩(wěn)定的高層應用環(huán)境。

對于數(shù)字電視機頂盒,數(shù)字電視中間件是指位于數(shù)字電視機頂盒內(nèi)部實時操作系統(tǒng)與應用程序之間的軟件部分,它將應用程序與底層的操作系統(tǒng)、硬件細節(jié)隔離,使應用不依賴具體的硬件平臺。它在數(shù)字電視中的位置如圖2所示。

將中間件JavaVM移植到數(shù)字電視機頂盒上的實現(xiàn)方案研究

3 Java與Java虛擬機

3.1 Java簡介

對于大多數(shù)開發(fā)語言,需要編譯或解釋。但是Java語言與那些需要編譯或解釋的語言比起來較特殊。通過編譯器,首先程序被翻譯為一種稱為Javabytecode的中間語言,一種在Java平臺上被解釋器解釋的平***立代碼。解釋器解釋計算機上所有的Javabytecode指令。一旦編譯完成,在程序每次執(zhí)行時,系統(tǒng)都會發(fā)生一次解釋過程。圖3演示了該過程。

將中間件JavaVM移植到數(shù)字電視機頂盒上的實現(xiàn)方案研究

每個Java解釋器,不管是一個開發(fā)工具或者是一個運行applet小程序的web瀏覽器,都是Java虛擬機的實現(xiàn)形式。Javabytecodes使得“一次編寫,隨處運行”這種時髦觀點成為可能。bytecodes能夠運行在任何一種Java虛擬機形式上,這就意味著只要計算機上安裝有Java虛擬機, 那么同樣的一個Java程序可以運行在 Windows 2000系統(tǒng)、 Solaris 工作站或者一個Mac系統(tǒng)上。

3.2 Java平臺

一個平臺是程序運行的硬件或者軟件環(huán)境。剛才已經(jīng)提到了一些比較流行的平臺,如Windows2000、Linux、Solaris和MacOS。大多數(shù)平臺可以認為是硬件和操作系統(tǒng)的聯(lián)合體。 Java與其他平臺不同,因為它只是一個運行在其他硬件平臺基礎(chǔ)上的軟件平臺。Java平臺有兩個組件:JavaVM和JavaAPI。圖4為Java平臺結(jié)構(gòu)圖。

基于數(shù)字電視機頂盒的Java虛擬機的移植

3.3 J2ME平臺

Java發(fā)展至今已推廣到各種平臺,針對不同應用平臺SUN公司開發(fā)了四個版本的Java運行環(huán)境,其中如PDA、STB這樣的硬件運算能力不高且存儲有限的各式消費性電子產(chǎn)品專門提出了J2ME版本。

J2ME定義了一套Java的運行環(huán)境和開發(fā)環(huán)境,它包含安裝在各類消費性電子設(shè)備中的Java虛擬機和特別為了各類消費性電子設(shè)備中的核心類庫。而J2ME的主要應用則可以分為兩大類:個人移動設(shè)備和共享固定設(shè)備。前者在Configuration層使用CLDC,其所應用的終端設(shè)備包括移動電話等,在人機接口上比較精簡且內(nèi)存需求較小。后者在Configuration層使用CDC,如車用導航、娛樂設(shè)備、數(shù)字電視機頂盒等。圖5為J2ME平臺結(jié)構(gòu)。

將中間件JavaVM移植到數(shù)字電視機頂盒上的實現(xiàn)方案研究

4 移植與實現(xiàn)過程

所做的工作就是將JavaVM的CDC&Foundation移植到前述框圖所描述的數(shù)字電視機頂盒上,見圖6。

將中間件JavaVM移植到數(shù)字電視機頂盒上的實現(xiàn)方案研究

4.1 方案

我國的數(shù)字電視中間件標準明確指出中間件系統(tǒng)要采用Java虛擬機,提供Java應用程序標準接口,使用Java語言編寫交互式應用程序。根據(jù)該標準,結(jié)合有線電視機頂盒的硬件環(huán)境和操作系統(tǒng)等特征,提出了基于有線電視機頂盒的數(shù)字電視中間件的實現(xiàn)方案。

4.2 方案的實現(xiàn)

采用SUN公司在其主頁上公布的免費的Java虛擬機軟件實現(xiàn)代碼,經(jīng)過各方面的修改移植到現(xiàn)有的數(shù)字電視機頂盒上。

4.2.1 環(huán)境搭建

(1)通過修改源碼中的build目錄下的相關(guān)make文件,使得虛擬機源代碼的運行環(huán)境得以正確搭建在機頂盒上,為下一步的代碼調(diào)試奠定基礎(chǔ)。主要表現(xiàn)在編譯器名稱以及路徑、文件后綴名和JDK工具包路徑。為了減少初期移植工作的難度,相應地簡化修改了一些生成Java虛擬機可執(zhí)行代碼的選項。

(2)根據(jù)現(xiàn)有數(shù)字電視機頂盒具體的硬件配置,主要根據(jù)flash的大小修改了相應的硬件配置文件。

4.2.2 代碼調(diào)試

在正確搭建了編譯調(diào)試環(huán)境后,做代碼的調(diào)試。主要有以下幾個方面的修改和代碼重寫:

(1)與操作系統(tǒng)相關(guān)的修改。數(shù)字電視機頂盒采用ST公司提供的嵌入式實時操作系統(tǒng)OS20,而源代碼中是基于Linux操作系統(tǒng)。修改關(guān)于task結(jié)構(gòu)的定義和使用。另外在OS20操作系統(tǒng)內(nèi)核代碼中的關(guān)于支持可變參數(shù)的定義也與Linux中的不同,也要做相應修改。

(2)與CPU有關(guān)的修改。主要是將源代碼中用X86匯編指令寫的匯編文件CVMjniInvokeNative.S用自行設(shè)計的C2匯編指令實現(xiàn)。由于ST20-C2提供的寄存器較少,在實現(xiàn)中采用了局部變量完成數(shù)據(jù)的存儲和傳遞。

(3)調(diào)試中的簡化修改。屏蔽了多線程,給調(diào)試帶來了莫大的方便。去掉動態(tài)加載功能,使需要使用的類都是預先編譯并被本地化成romJava.c。

4.2.3 測試與運行結(jié)果

JavaVM實際上是系統(tǒng)的一個進程,系統(tǒng)會像對待普通進程一樣,為它分配必要資源,包括進程優(yōu)先級、系統(tǒng)需要的內(nèi)存空間等。JavaVM作為系統(tǒng)的進程,將依照自己優(yōu)先級,參與系統(tǒng)的進程調(diào)度。JavaVM系統(tǒng)與其它進程一起,共享包括處理器資源在內(nèi)的系統(tǒng)資源。為此,筆者在main()函數(shù)中創(chuàng)建一個任務來啟動javavm這個任務。將整個修改好的源代碼在新的編譯環(huán)境下編譯連接成可執(zhí)行代碼,通過JTAG口下載到機頂盒目標板中運行。

Java虛擬機的“輸入”是“hello.java”,經(jīng)過Javac編譯后生成類文件“hello.class”。如果代碼調(diào)試成功就應該在顯示終端打出“helloworld”字樣,這是Java虛擬機解釋字節(jié)碼的結(jié)果。說明基于CDC&Foudation配置的Java虛擬機移植成功。

本論文提出的在有線數(shù)字電視機頂盒環(huán)境中實現(xiàn)數(shù)字電視中間件的方案采用Java技術(shù)作為核心,充分體現(xiàn)了Java技術(shù)的優(yōu)點,使交互式電視的應用開發(fā)更加簡捷方便。該方案實現(xiàn)了Java平臺(CDC)的基本功能,為進一步研究和實現(xiàn)Java應用程序標準接口提供了軟件平臺。

當然目前的這個CDC實現(xiàn)還存在部分問題,需要進一步改進以提高其穩(wěn)定性,在此基礎(chǔ)上,可以增加個人簡表和JavaTVAPI為Java應用程序的開發(fā)提供完整的環(huán)境。

以上介紹了嵌入式中間件JavaVM的基本概念及其抽象模型,給出了它在數(shù)字電視機頂盒的移植與實現(xiàn)。通過嵌入式中間件JavaVM,使不同平臺之間的應用程序代碼快速移植成為可能。嵌入式中間件可以適用于不同軟硬件平臺;能夠獨立于平臺和處理器,能移植于不同操作系統(tǒng)與不同微處理器體系結(jié)構(gòu),從而使上層的應用程序移植性更強。我們相信,嵌入式中間件的廣泛使用將使嵌入式應用也能像Java語言一樣,可在各式各樣機器、操作平臺的環(huán)境中開發(fā)應用軟件——“一次編譯,到處運行”。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 機頂盒
    +關(guān)注

    關(guān)注

    4

    文章

    393

    瀏覽量

    55085
  • 數(shù)字電視
    +關(guān)注

    關(guān)注

    3

    文章

    323

    瀏覽量

    45910
  • 計算機
    +關(guān)注

    關(guān)注

    19

    文章

    7658

    瀏覽量

    90734
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    新一代高清數(shù)字電視機頂盒方案

    新一代高清數(shù)字電視機頂盒方案 數(shù)字電視機頂盒在過去幾年中國有線電視的市場中取得了飛速的發(fā)展,目前的中國國內(nèi)有線數(shù)字電視機頂盒市場的保有量已
    發(fā)表于 05-20 16:25 ?1649次閱讀
    新一代高清<b class='flag-5'>數(shù)字電視機頂盒</b><b class='flag-5'>方案</b>

    雙向數(shù)字電視機頂盒的設(shè)計與實現(xiàn)

    雙向數(shù)字電視機頂盒的設(shè)計與實現(xiàn) 摘要: 文章討論了基于DVB 標準的嵌入式雙向數(shù)字機頂盒的有關(guān)問題,在此基礎(chǔ)描述了一個交互式
    發(fā)表于 11-13 19:03 ?1807次閱讀
    雙向<b class='flag-5'>數(shù)字電視機頂盒</b>的設(shè)計與<b class='flag-5'>實現(xiàn)</b>

    數(shù)字電視機頂盒原理

    基礎(chǔ)增加基本中間件軟件系統(tǒng),基于基本中間件可以實現(xiàn)數(shù)據(jù)信息瀏覽、準視頻點播、實時股票接收等多種應用。這款機頂盒已經(jīng)超越了以觀看
    發(fā)表于 06-24 12:23

    數(shù)字電視機頂盒開發(fā)平臺

    軟件設(shè)計   7、機頂盒TS流Loader程序軟件設(shè)計   8、數(shù)字電視條件接收系統(tǒng)移植設(shè)計      三、數(shù)字電視機頂盒(STB)教學硬件開發(fā)平臺:   1、衛(wèi)星
    發(fā)表于 08-14 11:01

    數(shù)字電視機頂盒開發(fā)平臺

    軟件設(shè)計   7、機頂盒TS流Loader程序軟件設(shè)計   8、數(shù)字電視條件接收系統(tǒng)移植設(shè)計      三、數(shù)字電視機頂盒(STB)教學硬件開發(fā)平臺:   1、衛(wèi)星
    發(fā)表于 08-14 11:03

    數(shù)字電視機頂盒開發(fā)平臺

    軟件設(shè)計   7、機頂盒TS流Loader程序軟件設(shè)計   8、數(shù)字電視條件接收系統(tǒng)移植設(shè)計      三、數(shù)字電視機頂盒(STB)教學硬件開發(fā)平臺:   1、衛(wèi)星
    發(fā)表于 08-14 11:05

    數(shù)字電視機頂盒開發(fā)平臺

    軟件設(shè)計   7、機頂盒TS流Loader程序軟件設(shè)計   8、數(shù)字電視條件接收系統(tǒng)移植設(shè)計      三、數(shù)字電視機頂盒(STB)教學硬件開發(fā)平臺:   1、衛(wèi)星
    發(fā)表于 08-14 15:07

    數(shù)字電視機頂盒開發(fā)平臺

    軟件設(shè)計   7、機頂盒TS流Loader程序軟件設(shè)計   8、數(shù)字電視條件接收系統(tǒng)移植設(shè)計      三、數(shù)字電視機頂盒(STB)教學硬件開發(fā)平臺:   1、衛(wèi)星
    發(fā)表于 08-14 15:09

    數(shù)字電視機頂盒開發(fā)平臺

    軟件設(shè)計   7、機頂盒TS流Loader程序軟件設(shè)計   8、數(shù)字電視條件接收系統(tǒng)移植設(shè)計      三、數(shù)字電視機頂盒(STB)教學硬件開發(fā)平臺:   1、衛(wèi)星
    發(fā)表于 08-14 15:10

    數(shù)字電視機頂盒開發(fā)平臺

    軟件設(shè)計   7、機頂盒TS流Loader程序軟件設(shè)計   8、數(shù)字電視條件接收系統(tǒng)移植設(shè)計      三、數(shù)字電視機頂盒(STB)教學硬件開發(fā)平臺:   1、衛(wèi)星
    發(fā)表于 08-14 15:12

    數(shù)字電視機頂盒開發(fā)平臺

    軟件設(shè)計   7、機頂盒TS流Loader程序軟件設(shè)計   8、數(shù)字電視條件接收系統(tǒng)移植設(shè)計      三、數(shù)字電視機頂盒(STB)教學硬件開發(fā)平臺:   1、衛(wèi)星
    發(fā)表于 08-14 15:13

    基于SOA的數(shù)字電視中間件系統(tǒng)的研究實現(xiàn)

    基于SOA的數(shù)字電視中間件系統(tǒng)的研究實現(xiàn)針對數(shù)字電視制播系統(tǒng)應用集成時存在的異構(gòu)問題.對數(shù)字電視
    發(fā)表于 10-06 10:03

    一種數(shù)字電視機頂盒瀏覽器中間件的設(shè)計

    當前數(shù)字電視系統(tǒng)一般需要根據(jù)機頂盒方案集成不同的數(shù)字電視中間件、專用數(shù)字電視瀏覽器以及各種
    發(fā)表于 12-18 16:30 ?32次下載

    電視機頂盒原理與設(shè)計

    本專題為你詳述電視機頂盒的定義原理,網(wǎng)絡(luò)電視機頂盒、數(shù)字電視機頂盒、有線電視機頂盒最新產(chǎn)品,機頂盒安裝與使用,
    發(fā)表于 08-31 11:03
    <b class='flag-5'>電視機頂盒</b>原理與設(shè)計

    Java虛擬機應用于數(shù)字電視機頂盒研究實現(xiàn)

    節(jié)目之外,廣播和交互式多媒體應用功能的要求也應運而生,互動電視成為數(shù)字電視發(fā)展的方向。眾多程序員熟悉的為網(wǎng)絡(luò)廣泛運用的Java語言能很好地滿足機頂盒一些服務應用的要求,因此提出了包含Java虛擬機的
    發(fā)表于 02-12 07:43 ?650次閱讀