嵌入式系统案例 —— 机顶盒
-
Upload
illiana-hunter -
Category
Documents
-
view
132 -
download
16
description
Transcript of 嵌入式系统案例 —— 机顶盒
1 2011嵌入式系统案例——机顶盒
嵌入式系统案例——机顶盒
机顶盒需求分析
机顶盒设计
机顶盒功能实现
机顶盒性能调优
2 2011嵌入式系统案例——机顶盒
机顶盒需求分析 硬件: CPU 、网络接口( ADSL Modem 、
网卡等)、图像解压缩器、音频解压缩器、NTSC/PAL/SECAM 解码器、 RGB 编码器、远程控制接口、只读存储器( ROM )、随机存储器( RAM )。
软件:配合硬件,尽可能挖掘硬件的处理能力,实现各个模块的功能,并给用户一个友好的操作界面。
目标:最佳性能价格比
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
4 2011嵌入式系统案例——机顶盒
机顶盒网页浏览功能要求
网页格式标准: HTML 4.0
可以解析部分 JavaScript 支持快捷键浏览: 使用 STB 用户可以通过 STB 遥控器的简单按键
来进行网页的浏览操作,如前进、后退、打开主页和关闭主页等。
5 2011嵌入式系统案例——机顶盒
机顶盒功能需求列表需求类别 需求名称 需求简要描述
流媒体回放回放类型
MPEG4 over RTSP
回放控制 播放、暂停、停止、静音、保存播放点、快进、快退、定位等
网页浏览
网页显示 支持 720×572 分辨率非标准网页正常显示
网页操作支持热键控制网页的前进、后退、返回主页等操作;支持数字键选择影片
配置接口
网络配置 配置静态 IP 或动态 IP ,配置网卡 MAC 地址,配置网络掩码等参数
用户配置 用户登录名,用户密码等配置参数
服务商配置 服务商 IP ,服务商主页等参数
6 2011嵌入式系统案例——机顶盒
设计时的考虑
是否需要操作系统支持1. 首先确定是否使用操作系统2. 其次确定使用哪个操作系统,精简的 Linux 、 Win CE ,
或 QNX 视频播放支持1. 可以选择采用软件解码播放器如 MPlayer ,也可以使用
解码芯片即硬件解码方式。 2. 采用软件解码方式,升级方便,升级成本较低;必须有比
较强的 CPU 支持,同时也一定要有一块支持 TV out 的显示卡,以及声卡芯片
3. 采用硬件解码方式, CPU 主频不需要很高,解码速度也有保证;但是解码子系统的升级可能性受限于芯片厂商提供的驱动程序
7 2011嵌入式系统案例——机顶盒
设计时的考虑
网页浏览支持1. 需要一个精简功能的网络浏览器,能够完全解析
符合 HTML4.0 标准网页,同时对网页上的 java script 能够有一定的支持。
2. 浏览器同采用的操作系统相关。如果是在 Win CE 中,我们可以直接采用 IE 浏览器。而在Linux 下我们有更多的选择:Mozilla 、 Konqueror 和 Opera 等
网络支持 为了能够进行网络点播和主页浏览,必须有网络
的软硬件支持,基本上包括一个 TCP/IP 协议栈和相配合的网络硬件驱动程序。
8 2011嵌入式系统案例——机顶盒
机顶盒的结构设计
低能耗嵌入式通用 CPU 廉价而功能强大的 Linux 操作系统 硬件音频 / 视频解码单元 引入了硬件解码芯片之后,对 CPU 性能的要求不必很高,只要够用
就可以了。由此带来的好处是,外围电路和外围设备的规格档次可以随之降低。比如,因为简单的嵌入式处理器发热量小,散热装置在这种配置中就不是必需的。
低价的网络单元 输入设备采用 USB 界面 系统其他功能采用软件实现
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)
遥控接收装置:遥控器
10 2011嵌入式系统案例——机顶盒
Set Top Box for VOD over TCP/IP
11 2011嵌入式系统案例——机顶盒
12 2011嵌入式系统案例——机顶盒
机顶盒的软件组成
Bootstrap ,操作系统初始进程 具备内存管理、进程管理和定时器服务的内核 文件系统 ( 或许放在 ROM 或 RAM 中 ) 硬件的驱动程序 TCP/IP 网络协议栈 图形化用户界面 因特网浏览器 Web 服务器 MPEG4 流媒体文件播放器 提供给流媒体 codec 驱动的底层库
13 2011嵌入式系统案例——机顶盒
机顶盒软件体系结构
14 2011嵌入式系统案例——机顶盒
嵌入式 GUI 比较
framebuffer+Micro Windows+Mozilla framebuffer+Micro Windows+ViewML(fltk) framebuffer+QT/Embedded +
Konqueror/Embedded TinyX/ 其他微型 X+微型窗口管理器 +某种
Web 浏览器 X11 +微型窗口管理器 + Web 浏览器
15 2011嵌入式系统案例——机顶盒
嵌入式 Web 浏览器选择
作为机顶盒用户界面使用的 Web 浏览器,必须具有以下特性:
1. 支持 HTML4 标准2. 支持 CSS
3. 支持 JavaScript
4. 支持 Cookies
5. 支持 SSL
6. 支持中文网页显示7. 支持 Flash
16 2011嵌入式系统案例——机顶盒
嵌入式 Web 浏览器速度比较
装载时间(秒) 页面刷新时间(秒)
Opera 15 39
Konqueror 28 57
Konqueror/Embedded 10 74
Mozilla 28 71
Galeon 23 64
Netscape 19 86
17 2011嵌入式系统案例——机顶盒
系统裁减和压缩
系统微型化 一种方案是从某个 Linux 发布版本的最小化安
装开始由上向下裁减,另外一种是以某个小型化Linux 发行版本作为基础,由底向上构建
文件系统压缩 JFFS2 , Cloop 和 CramFS 的比较 网络设计 机顶盒的网络连接是通过 PPPoE 来实现的 IP 地址分配则有 DHCP 动态分配和静态 IP 分配
两种方案
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 分发版。
自由软件
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
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
21 2011嵌入式系统案例——机顶盒
系统优化
提高系统启动速度 例如,在检测 IDE 接口时,内核一共做出了 10
次类似的尝试,它支持拥有 10 个 IDE 接口的系统。
系统定制,删除不需要的功能模块 当我们把系统裁减到 32M ,系统从开机到进入
Konqueror/E 图形界面所需要的时间由原来的 55秒缩短为 20秒
内核态 PPPoE DHCP 进行用户身份认证和加密