当前位置:首页 > 单片机 > 单片机
[导读] 1 引言计算机多媒体技术和网络技术飞速发展使得基于流媒体的多媒体应用也被运用在多种领域,特别是网络可视电话、远程监控、视频点播领域。伴随着计算机多媒体压缩技术的成熟和网络传输技术的发展,开发

1 引言


计算机多媒体技术和网络技术飞速发展使得基于流媒体的多媒体应用也被运用在多种领域,特别是网络可视电话、远程监控、视频点播领域。伴随着计算机多媒体压缩技术的成熟和网络传输技术的发展,开发实时可靠、多功能、数字化、操作简单的基于计算机网络通讯技术和多媒体应用的网络化流媒体播放器已成为计算机、通信、消费电子产品领域(3C 产业-Computer、CommunICation、Consumer EleCTRonics)技术发展的主要方向之一。


2 系统硬件设计


本文使用TQ2440 开发板作为硬件平台。


S3C2440AL 是控制核心,负责控制所有辅助设备。存储器采用SDRAM 和Flash 两种类型,能满足系统运行和调试的需要。基本端口包括以太网接口、USB 接口、两个RS232 的串口。A/D和D/A模块主要用于现场数据的采集与控制信号的输出。DC/DC 模块主要负责整个系统的供电。


S3C 2440AL 是三星公司设计开发的基于精简指令集的ARM9 核的CPU, 工作频率可以达到400MHz,且具有丰富的内部设备,其中主要包括:存储器管理单元MMU、16kB 的指令缓冲器和16kB 数据缓冲器、存储器控制器(SDRAM 控制器)、NANDFlash 和NOR Flash 控制器、4 通道的外部DMA请求控制、3 个串行口、SD 存储卡读取接口、USB 主机、USB 设备、5 个脉宽调制定时器。目前,S3C2440AL 已广泛地应用于PDA、智能手机、数字多媒体等方面。

3 系统的软件设计


系统的软件组成包括:嵌入式Linux 操作系统、设备驱动程序、图形界面和浏览器程序,这些只是IPTV 机顶盒软件组成的关键部分。

本系统采用Linux 作为操作系统,并选用Linux2.6内核在嵌入式微处理器S3C2410 上移植,具体移植方法如下:


(1)准备Linux2.6 内核移植所必需的文件(内核压缩包linux-2.6.tar.bz2 及交叉编译器arm -linuxgCC-3.4.1.tar.bz2),这些文件可到Linux 官方网站免费下载。


(2)利用Linux 命令(mkdir,tar,mv 及export)安装交叉编译器arm-linux-gcc-3.4.1.


(3)修改Makefile 文件及相关硬件文件。由于内核的编译是根据Makefile 文件的指示进行的,Makefile 文件来组织内核的各模块之间的关系,记录了各个模块之间的相互联系和依赖关系。所以,开发人员要首先修改Linux2.6 根目录下的Makfile 文件,修改的主要内容是目标代码的类型和为编译内核指定一个编译器。


(4)运用Make 命令编译内核生成内核镜像文件zImage 文件,通过相应的固化软件把这个文件固化在系统相应的存储器中,完成Linux2.6 内核在ARM 微处理器上的移植。


3.2 媒体播放器的总体架构


系统实现原理:在嵌入式微处理器S3C2440AL的控制下,TQ2440 开发板通过网络接口接收来自内容服务提供商的音视频广播信息,之后运行图形界面程序获取音视频信息,并在此基础上生成音视频节目清单,将信号传至显示屏进行显示,将节目呈现给用户。用户利用显示系统提供的图形界面和浏览器使用键盘、鼠标进行控制,观看节目,其总体架构如图1 所示。

  

图1 媒体播放器的总体架构


3.2.1 媒体播放器与网络接口的实现


媒体播放器播放网络上的多媒体文件时最大的特点是边下载边播放的“流式”特性。在IPTV 应用中,因为多媒体数据的流式特性需要媒体播放器与媒体服务器之间进行信息交互,所以它们之间须共同遵循一个交互协议标准。本系统播放器采用RTSP 协议与服务器之间建立及管理RTSP 会话,通过网络传输协议接收来自网络上的媒体数据。媒体播放器数据接收流程如图2 所示。

  

图2 媒体播放器数据接收流程


3.2.2 TS 流解析实现


在MPEG-2 系统中根据传输媒体的质量不同定义了两种复合信息流:传送流(TS:Transport Stream)和节目流(PS:Program Stream)。TS 流与PS 流的区别在于TS 流的包结构是固定长度的,而PS 流的包结构是可变长度的。PS 包TS 包在结构上的这种差异,致使TS 流比PS 流对传输误码的抵抗能力更强,因此在本设计中的网络多媒体数据采用了TS 的封装格式。TS 包的结构如图3 所示,由包头和包数据两部分组成,包头长度占4B,自适应区和包数据共占184B,整个TS 包长度相当于4 个ATM 包长。

  

图3 TS 包的结构


因为在TS 流里可以填入很多东西,所以制定TS流标准的机构就规定了PSI (Program SpecifICInformation)表,其作用是从一个携带多个节目的某一个TS 流中正确找到特定的节目。

  

(1)PAT 表(Program Association Table)即节目关联表,它的主要作用是指出该传输流ID,以及该路传输流中所对应的几路节目流的MAP 表和网络信息表的PID.


(2)PMT 表(Program Map Table)即节目映射表,该表的PID 由PAT 提供,通过该表可以得到一路节目中包含的信息。


(3)CAT 表(Conditional ACCess Table)即条件访问表,PID 是0x01.CAT 携带的是服务器的私有信息(CA 系统就需要使用该表格实现节目的解密)。


(4)NIT 表(Network Information Table) 即网络信息表,该表包括数字电视网中所有的传输流的物理传输网信息,包含节目的频道调谐参数、频率、符号率等,这些信息使得接收机可以按照用户的选择以很少的延时或无延时地改变频道、调谐参数,正确地解码出TS。

所以TS 流解析流程如图4所示:先接收一个负载里为PAT 的数据包,在整个数据包里找到一个PMT 包的ID.然后再接收一个含有PMT 的数据包,在这个数据包里找到有关填入数据类型的ID.之后就在接收到的TS 包里找到含有这个ID 的负载内容就是填入的信息。根据填入的数据类型的ID 的不同,在TS 流复合多种信息,解有这些信息的传输包即可解出音视频的PES 包,最终解出音频流和视频流。

  

图4 TS 流解析流程


由于时间和资源有限,本设计中移植成熟的QT/Embedded 库到机顶盒的嵌入式系统,作为其图形界面类库。Qt/Embedded 采用frame buffer (帧缓冲)作为底层图形接口。同时,将外部输入设备抽象为keyboard 和mouse 输入事件。Qt/Embedded 的应用程序可以直接写内核缓冲帧,这避免开发者使用繁琐的XLIB/Server 系统。界面程序流程图如图5 所示。

  

图5 界面程序流程图


4 结语


本系统利用TQ2440 硬件平台的优势,将Linux2.6.14 内核移植到开发板中,设计实现了一款基于嵌入式Linux 的机顶盒流媒体播放器,完成了其与网络接口的实现,通过TS 流的解析实现,提供了对主流的MPEG-2、MPEG-4、H.264 等格式文件的支持。该系统具有良好的可移植性和可扩展性,能够满足市场需求的不断变化。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

德国康佳特亮相上海工博会,展示多款应用就绪的嵌入式解决方案平台

关键字: 嵌入式 传感器 处理器

双方携手为客户打造以存储为核心的模块化基础架构,支持先进的多裸片架构设计

关键字: 非易失性存储 半导体 嵌入式

本届年会将在上海(11月13-14日)、北京(11月19-20日)和深圳(11月27-28日)举行,面向嵌入式设计工程师推出25门技术课程

关键字: 嵌入式 MCU 模拟

上海2025年9月5日 /美通社/ -- 由纽伦堡会展(上海)有限公司举办的上海国际嵌入式会议将于 2025 年 10 月 16-17 日在上海世博展览馆举办。 此次会议将由三个版块组成:嵌入式技术会议、汽...

关键字: 嵌入式 CE CHINA EMBEDDED

从外部看,电子系统仿佛一个统一的学科或设备,各组成部分协同工作,浑然一体。然而揭开表象,其内在却是另一番景象:一个碎片化、多层次的世界——其中每一层都独立且复杂,衍生出各自特有的工具、专家、工作流程,甚至哲学体系。

关键字: 嵌入式 电子系统 半导体

8位单片机在嵌入式设计领域已经成为半个多世纪以来的主流选择。尽管嵌入式系统市场日益复杂,8位单片机依然不断发展,积极应对新的挑战和系统需求。如今,Microchip推出的8位PIC®和AVR®单片机系列,配备了先进的独立...

关键字: 单片机 嵌入式 CPU

深圳2025年8月28日 /美通社/ -- 8月26日,2025 ELEXCON深圳国际电子展盛大启幕。本届大会以"All for AI"为主题,深圳市德...

关键字: AI 工业级 SSD 嵌入式

深圳2025年8月26日 /美通社/ -- 8月26日,由博闻创意会展主办的 第22届深圳国际电子展暨嵌入式展(elexcon2025)在深圳(福田)会展中心隆重开幕。 作为中国电子与嵌入式技术领域的专业大展,本届展会...

关键字: 嵌入式 电子 高通 AI

模块化设计作为一种将系统拆分为独立、可复用组件的方法,能够在低代码平台中实现功能的灵活组合,并最大限度地提升系统性能。本文将探讨如何通过模块化设计,使得低代码平台既能快速适应变化,又能保持高效稳定的运行。

关键字: 模块化设计 嵌入式

CPU亲和度通过限制进程或线程可以运行的CPU核心集合,使得它们只能在指定的CPU核心上执行。这可以减少CPU缓存的失效次数,提高缓存命中率,从而提升系统性能。

关键字: Linux 嵌入式
关闭