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