嵌入式系统案例 —— 机顶盒

21
1 2011 嵌嵌嵌嵌 嵌嵌 ——嵌嵌嵌 嵌嵌嵌嵌 嵌嵌 ——嵌嵌嵌 嵌嵌嵌嵌嵌嵌嵌 嵌嵌嵌嵌嵌 嵌嵌嵌嵌嵌嵌嵌 嵌嵌嵌嵌嵌嵌嵌

Upload: illiana-hunter

Post on 01-Jan-2016

136 views

Category:

Documents


16 download

DESCRIPTION

嵌入式系统案例 —— 机顶盒. 机顶盒需求分析 机顶盒设计 机顶盒功能实现 机顶盒性能调优. 机顶盒需求分析. 硬件: CPU 、网络接口( ADSL Modem 、网卡等)、图像解压缩器、音频解压缩器、 NTSC/PAL/SECAM 解码器、 RGB 编码器、远程控制接口、只读存储器( ROM )、随机存储器( RAM )。 软件:配合硬件,尽可能挖掘硬件的处理能力,实现各个模块的功能,并给用户一个友好的操作界面。 目标:最佳性能价格比. 机顶盒网络视频点播功能要求. 视频格式为: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 嵌入式系统案例 —— 机顶盒

1 2011嵌入式系统案例——机顶盒

嵌入式系统案例——机顶盒

机顶盒需求分析

机顶盒设计

机顶盒功能实现

机顶盒性能调优

Page 2: 嵌入式系统案例 —— 机顶盒

2 2011嵌入式系统案例——机顶盒

机顶盒需求分析 硬件: CPU 、网络接口( ADSL Modem 、

网卡等)、图像解压缩器、音频解压缩器、NTSC/PAL/SECAM 解码器、 RGB 编码器、远程控制接口、只读存储器( ROM )、随机存储器( RAM )。

软件:配合硬件,尽可能挖掘硬件的处理能力,实现各个模块的功能,并给用户一个友好的操作界面。

目标:最佳性能价格比

Page 3: 嵌入式系统案例 —— 机顶盒

3 2011嵌入式系统案例——机顶盒

机顶盒网络视频点播功能要求

视频格式为:Mpeg4 ISO/IEC 14496-2:1999 + Cor 1:2000 + Cor 2:2001 ; Simple

Profile @ Level 1 ; Typical Visual Session Size is QCIF(176*144) Mpeg4 ISO/IEC 14496-2:1999 + Cor 1:2000 + Cor 2:2001 ; Advanced

Simple Profile @ Level 3 ; Typical Visual Session Size is CIF(352*288) ; Maximum bitrate is 1.5 Mbps

音频格式为:Mpeg-4 ISO/IEC 14496-3:1999 and AMD1 2000 ; High Quality Audio

Profile @ Level 2 Up to 2 Channels Up to 48000Hz Sampling rate ; This profile contains both CELP and Low Complexity AAC

传输标准为:ISMA ( Internet Streaming Media Alliance Implementation

Specification )标准 网络传输协议为: UDP 或 TCP

Page 4: 嵌入式系统案例 —— 机顶盒

4 2011嵌入式系统案例——机顶盒

机顶盒网页浏览功能要求

网页格式标准: HTML 4.0

可以解析部分 JavaScript 支持快捷键浏览: 使用 STB 用户可以通过 STB 遥控器的简单按键

来进行网页的浏览操作,如前进、后退、打开主页和关闭主页等。

Page 5: 嵌入式系统案例 —— 机顶盒

5 2011嵌入式系统案例——机顶盒

机顶盒功能需求列表需求类别 需求名称 需求简要描述

流媒体回放回放类型

MPEG4 over RTSP

回放控制 播放、暂停、停止、静音、保存播放点、快进、快退、定位等

网页浏览

网页显示 支持 720×572 分辨率非标准网页正常显示

网页操作支持热键控制网页的前进、后退、返回主页等操作;支持数字键选择影片

配置接口

网络配置 配置静态 IP 或动态 IP ,配置网卡 MAC 地址,配置网络掩码等参数

用户配置 用户登录名,用户密码等配置参数

服务商配置 服务商 IP ,服务商主页等参数

Page 6: 嵌入式系统案例 —— 机顶盒

6 2011嵌入式系统案例——机顶盒

设计时的考虑

是否需要操作系统支持1. 首先确定是否使用操作系统2. 其次确定使用哪个操作系统,精简的 Linux 、 Win CE ,

或 QNX 视频播放支持1. 可以选择采用软件解码播放器如 MPlayer ,也可以使用

解码芯片即硬件解码方式。 2. 采用软件解码方式,升级方便,升级成本较低;必须有比

较强的 CPU 支持,同时也一定要有一块支持 TV out 的显示卡,以及声卡芯片

3. 采用硬件解码方式, CPU 主频不需要很高,解码速度也有保证;但是解码子系统的升级可能性受限于芯片厂商提供的驱动程序

Page 7: 嵌入式系统案例 —— 机顶盒

7 2011嵌入式系统案例——机顶盒

设计时的考虑

网页浏览支持1. 需要一个精简功能的网络浏览器,能够完全解析

符合 HTML4.0 标准网页,同时对网页上的 java script 能够有一定的支持。

2. 浏览器同采用的操作系统相关。如果是在 Win CE 中,我们可以直接采用 IE 浏览器。而在Linux 下我们有更多的选择:Mozilla 、 Konqueror 和 Opera 等

网络支持 为了能够进行网络点播和主页浏览,必须有网络

的软硬件支持,基本上包括一个 TCP/IP 协议栈和相配合的网络硬件驱动程序。

Page 8: 嵌入式系统案例 —— 机顶盒

8 2011嵌入式系统案例——机顶盒

机顶盒的结构设计

低能耗嵌入式通用 CPU 廉价而功能强大的 Linux 操作系统 硬件音频 / 视频解码单元 引入了硬件解码芯片之后,对 CPU 性能的要求不必很高,只要够用

就可以了。由此带来的好处是,外围电路和外围设备的规格档次可以随之降低。比如,因为简单的嵌入式处理器发热量小,散热装置在这种配置中就不是必需的。

低价的网络单元 输入设备采用 USB 界面 系统其他功能采用软件实现

Page 9: 嵌入式系统案例 —— 机顶盒

9 2011嵌入式系统案例——机顶盒

机顶盒的硬件配置

CPU :采用嵌入式 CPU(SC1100) ,主频为 233MHz 专用的视频解压芯片: SigmaDesign 的 EM8471 内存: 64M SDRAM 外存: 64M Compact Flash (可以减到 32M ) 机顶盒用 CF 卡作为外部存储器,这样可以降低硬件成本,而且便于将来软件的升级。

不过,它仍然是硬件成本的瓶颈 外部接口: Ethernet 、 S-Video 、 USB (x2) 、 RCA for

Composite video 、 RCA for analog stereo audio output (x2)

遥控接收装置:遥控器

Page 10: 嵌入式系统案例 —— 机顶盒

10 2011嵌入式系统案例——机顶盒

Set Top Box for VOD over TCP/IP

Page 11: 嵌入式系统案例 —— 机顶盒

11 2011嵌入式系统案例——机顶盒

Page 12: 嵌入式系统案例 —— 机顶盒

12 2011嵌入式系统案例——机顶盒

机顶盒的软件组成

Bootstrap ,操作系统初始进程 具备内存管理、进程管理和定时器服务的内核 文件系统 ( 或许放在 ROM 或 RAM 中 ) 硬件的驱动程序 TCP/IP 网络协议栈 图形化用户界面 因特网浏览器 Web 服务器 MPEG4 流媒体文件播放器 提供给流媒体 codec 驱动的底层库

Page 13: 嵌入式系统案例 —— 机顶盒

13 2011嵌入式系统案例——机顶盒

机顶盒软件体系结构

Page 14: 嵌入式系统案例 —— 机顶盒

14 2011嵌入式系统案例——机顶盒

嵌入式 GUI 比较

framebuffer+Micro Windows+Mozilla framebuffer+Micro Windows+ViewML(fltk) framebuffer+QT/Embedded +

Konqueror/Embedded TinyX/ 其他微型 X+微型窗口管理器 +某种

Web 浏览器 X11 +微型窗口管理器 + Web 浏览器

Page 15: 嵌入式系统案例 —— 机顶盒

15 2011嵌入式系统案例——机顶盒

嵌入式 Web 浏览器选择

作为机顶盒用户界面使用的 Web 浏览器,必须具有以下特性:

1. 支持 HTML4 标准2. 支持 CSS

3. 支持 JavaScript

4. 支持 Cookies

5. 支持 SSL

6. 支持中文网页显示7. 支持 Flash

Page 16: 嵌入式系统案例 —— 机顶盒

16 2011嵌入式系统案例——机顶盒

嵌入式 Web 浏览器速度比较

装载时间(秒) 页面刷新时间(秒)

Opera 15 39

Konqueror 28 57

Konqueror/Embedded 10 74

Mozilla 28 71

Galeon 23 64

Netscape 19 86

Page 17: 嵌入式系统案例 —— 机顶盒

17 2011嵌入式系统案例——机顶盒

系统裁减和压缩

系统微型化 一种方案是从某个 Linux 发布版本的最小化安

装开始由上向下裁减,另外一种是以某个小型化Linux 发行版本作为基础,由底向上构建

文件系统压缩 JFFS2 , Cloop 和 CramFS 的比较 网络设计 机顶盒的网络连接是通过 PPPoE 来实现的 IP 地址分配则有 DHCP 动态分配和静态 IP 分配

两种方案

Page 18: 嵌入式系统案例 —— 机顶盒

18 2011嵌入式系统案例——机顶盒

几款重要的嵌入式 Linux

名称 说明 版权

EmbeddedLinux Red Hat公司推出的一款嵌入式 Linux发行版本 商业软件

Hard Hat Linux 由老牌嵌入式 Linux公司 MontaVista推出,能够运行在多种嵌入式体系结构上,包括交叉开发工具集和诸如 Internet 浏览器等许多应用程序。

商业软件

BlueCat 由 LynuxWorks公司推出,支持包括 X86, PowerPC, ARM, MIPS 在内的许多嵌入式体系结构, 商业软件

Embedix Lineo公司推出,支持从无 MMU 支持的 CPU到 X86, PowerPC, ARM, MIPS 等多种体系结构,同时具有良好的实时特性。

商业软件

ETLinux 设计用于小型工业计算机,尤其是 PC/104 模块上运行的 Linux 的完全分发版。 自由软件

LEM 运行在 386 上的小型( <8 MB )多用户、网络 Linux版本。 自由软件

LOAF 即“ LinuxOn A Floppy” 分发版,运行在 386 上。 自由软件

μClinux 在没有 MMU 的系统上运行的 Linux 。目前支持 Motorola 68K 、 MCF5206 和 MCF5207

ColdFire 微处理器。自由软件

ULinux 在 386 上运行的 TinyLinux 分发版。 自由软件

ThinLinux 面向专用的照相机服务器、 X-10 控制器、 MP3 播放器和其它类似的嵌入式应用的最小化的Linux 分发版。

自由软件

Page 19: 嵌入式系统案例 —— 机顶盒

19 2011嵌入式系统案例——机顶盒

从 LFS(Linux From Scratch) 自底向上构建

目录 大小 (1k-blocks) 说明

Bin 300 就是 BusyBox ,所以基本 Linux命令都有了

Boot 1327 Linux内核

Dev 246 设备文件,可以进一步裁减

Etc 17 系统配置文件

Font 273 播放器的字体

Opt 19112 8.9MB 的 Konqueror/Embedded 和 3.2MB 的本地 ipg 页面与帮助页面, 4.5MB 的 RMF 驱动和2.5MB 的 qt 字体文件

Root 17

Sbin 1

Tmp 10

Var 0

总和 21303

Page 20: 嵌入式系统案例 —— 机顶盒

20 2011嵌入式系统案例——机顶盒

从 BusyBox/uClibc 自上而下裁减目录 大小 (1k-

blocks)说明

bin 1210

boot 1335 主要是内核

sbin 451 基本命令目录,包括静态编译的 BusyBox,mount 等,还有 insmod, PPPoE 相关程序与脚本, dhcp 相关的pump

dev 246

etc 110

font 273 播放器的字体

lib 2761 glibc 的最基本的库

opt 19112 8.9MB 的 Konqueror/E 和 3.2MB 的本地 ipg 页面与帮助页面, 4.5MB 的 RMF 驱动和 2.5MB 的 qt 字体文件

root 126

tmp 3

usr 1159 网页和帮助文档全部都包含在 /usr 目录下面,另外还有几个有用的库,如 libjpeg , libpng , libstdc++

var 8

总和 29417

Page 21: 嵌入式系统案例 —— 机顶盒

21 2011嵌入式系统案例——机顶盒

系统优化

提高系统启动速度 例如,在检测 IDE 接口时,内核一共做出了 10

次类似的尝试,它支持拥有 10 个 IDE 接口的系统。

系统定制,删除不需要的功能模块 当我们把系统裁减到 32M ,系统从开机到进入

Konqueror/E 图形界面所需要的时间由原来的 55秒缩短为 20秒

内核态 PPPoE DHCP 进行用户身份认证和加密