嵌入式流媒体携带式系统的设计及改进

发布者:幸福之舞最新更新时间:2012-03-23 来源: 微计算机信息 关键字:流媒体  RISC处理器  Linux系统  PCI接口 手机看文章 扫描二维码
随时随地手机看文章

1 引言

进入20世纪90年代以来,计算机多媒体技术和网络技术飞速发展,基于流媒体的多媒体应用也被运用在多种领域,特别是在图像监控系统和视频点播系统中。目前在便携式流媒体系统发展领域上,竞争的公司主要有三个:Microsoft、Real Networks、Apple,而相应的产品就是:Windows Media、Real Media、QuickTime[2]。本文提出设计的系统优点在于:使用高速低功耗的32位Intel PXA270嵌入式处理器,成本低,稳定性好,实时性好等特点,并对PXA270处理器的接口进行了改进,使系统支持PCI总线协议,具有很好的系统移植性。

2 系统总体结构

基于高速低功耗的32位RISC嵌入式处理器的流媒体携带式系统如图1所示。

图1  携带式流媒体系统总体结构图

该系统有多个流媒体播放终端,这些播放终端通过无线接入点与计算机网络连接;流媒体服务器通过其以太网接口与计算机网络连接。流媒体服务器可以将从网络上获得的音视频数据转换为流格式的文件;携带式播放终端向流媒体服务器发送请求,流媒体服务器响应请求后,播放终端对服务器发送过来的流媒体数据进行解码和播放,完成工作。

3 流媒体系统的硬件设计

3.1系统的硬件结构

流媒体携带式系统以Intel公司的嵌入式处理器PXA270为核心。Intel PXA270处理器是一个高性能、低价格、低功耗的32位ARM* V.5TE RISC处理器,它集成了I2S,SSP,AC97 等一系列多媒体处理模块,非常适用于多媒体处理、手持设备、PDA等应用领域,是Intel Xscale 系列的第三代的实现。它有一个改进的LCD控制器,一个可扩展的插件接口,摄像采集接口,一个Intel核处理器以及更具保护性的电源管理功能部件等。这个核处理器通过添加MMX和SSE功能单元和附加的音视频处理操作来扩展Intel Xscale微型结构的功能[4]。GEC2410开发板套件

该系统的播放终端需要运行嵌入式操作系统,接收从无线以太网(WLAN)传输过来的音视频数据流,对音视频数据流进行MPEG4解码,输出视频数据和AC97格式的音频数据,并集成触摸屏/键盘输入、USB主控、实时时钟等功能。其硬件结构如图2所示。

图2  流媒体系统的硬件结构图[page]

3.2 PCI接口设计

在该流媒体系统设计过程中所使用的PXA270处理器本身并不支持PCI总线协议,为了使系统能够支持PCI总线协议,需要对处理器的接口进行改进,在这里提出使用FPGA来设计PCI总线接口控制器。设计在ModelSim环境下对Verilog HDL源程序进行前仿真,在Xilinx ISE环境下进行逻辑综合、布局布线后下载到Xilinx公司生产Spartan-3 FPGA XC3S200芯片内。GEC2410开发板套件

PCI接口控制器的设计中,核心设计部分有时序控制和配置空间两部分。时序控制保证了PCI接口控制器能按正常的PCI时序工作。配置空间部分保证了板卡的即插即用功能。

3.2.1 PCI接口配置空间的实现

PCI总线定义了3种物理地址空间,分别是存储器地址空间、I/O地址空间和配置地址空间。配置空间是PCI所特有的一种空间,其长度为256字节并且有特定记录结构的地址空间,可以在系统自举时访问,也可在其他时间访问[3]。其它一些寄存器配置如下:GEC2410开发板套件

厂商ID使用芯片最初的生产厂商ID值;设备ID可为除00000000H和0FFFFFFFFH中的任意值;命令寄存器中位1、6、8在本设计中均被设置为0;基地址寄存器用来映射设备的存储器地址空间,与设备地址空间大小相应的低位被强制为0,故此在配置写过程中,配置软件通过对这个寄存器的所有位写1,然后再读出该寄存器的值来决定设备存储器所占用的地址范围,位0被设为低表示存储器映射;类代码寄存器:设置为018000H,即设备为大容量存储控制器;首部类型寄存器:设置为0,表示其为单功能设备且首部类型为0。

3.2.2 时序控制的实现

   在时序控制程序中采用状态机模型来实现不同时序的转换。各种命令,数据交换、控制均在状态机的管理下进行工作。PCI总线上的信号是并行工作的,因此,对应每个状态必须明确其执行的任务,这些任务用Verilog语言的进程语句来描述所发生的事件。GEC2410开发板套件

   本设计中的状态机共使用了6种状态,如图3所示,分别为空闲状态(idle),准备状态(Ready),DEVSEL# 和TRDY#均为高电平状态(DevTrHi),DEVSEL#为低电平且TRDY#为高电平状态(DevLoTrHi),DEVSEL#和TRDY#均为低电平状态(DevTrLo)以及操作结束状态(OprOver)。

图3  PCI接口状态机

  注: state0表示pci_frame_i= ’1’ and pci_irdy_i =’1’, state 1表示pci_frame_i= ’1’ and pci_irdy_i=’0’ and irdy_i=’0’。

  当系统接到复位信号后对系统进行复位,然后转入空闲状态。在空闲状态中采样总线,并根据总线的变化来决定下一个时钟上升沿后状态机转人何种状态,这些时序和程序中用到的信号都是基本且必须的,在进行开发时可以根据需要增添必要的状态和信号。编写完整的代码,之后将代码导入ModelSim完成仿真,用Xilinx公司自带工具ISE进行综合布线,生成bit文件下载到FPGA器件。GEC2410开发板套件

4 系统的软件模块设计

该流媒体携带式系统的软件平台采用小体积、高性能的嵌入式Linux操作系统,它由一个内核和一些可以定制的系统模块组成,如文件系统模块、内存驱动模块等[5]。针对本应用,进行了重新剪裁和配置,只包含系统所需的模块。

对于该携带式系统的播放终端,其软件应用程序结构如图4所示,分别是图形用户界面模块、系统管理主控模块和音视频解码器三部分。音视频解码器模块可看作是系统管理主控模块的插件(plug-in),从主控模块获得编码的音视频数据并对其解码,解码后返发送给系统管理主控模块。本文主要介绍系统管理主控模块。

图4  播放终端应用程序结构图[page]

系统管理主控模块是便携式多媒体播放终端上的主要功能实现模块,它从网络上接收多媒体服务器发送来的多媒体数据,这些多媒体数据是完全符合 RTCP、RTSP等标准数据传输协议。接收到多媒体数据后调用RTSP工具集等工具对接收到的多媒体数据进行解析,获得流媒体播放的一切必要信息,针对其中解析获得的音视频格式通过音视频解码插件管理。在音视频码流分离后通过音频解码器调用或者视频解码器调用分别调用音视频解码器模块的MP3音频和 MPEG4视频解码算法对编码的音频数据和视频数据进行解码。解码后的音频数据和视频数据分别由音频输出和视频输出负责播放和显示。音视频同步控制同时和音频解码调用、音频输出、视频解码调用、视频输出交互,其主要负责音频解码、播放和视频解码、显示的同步,以音频的解码、播放进程为基准以图像去同步声音,必须保证音频输出是连贯的,当系统非常繁忙时视频图像的显示允许在一定程度上的跳帧。

5 流媒体服务器设计

由于该流媒体携带式系统选用RTSP作为流媒体播放所用的协议,这个协议普遍应用于多种流媒体应用中。运用这种协议的多媒体服务器软件已经有了比较成熟的表现。在该系统的设计当中,服务器端可以选择VLC Media Player。GEC2410开发板套件(开发板+培训教程+源码+开发工具)

Video LAN是一项软件工程,是为视频而生产的免费软件,由GNU发行[1]。原名叫Video LAN Client的VLC Media Player是解决VideoLAN工程的一个主要的方案[1]。 VLC的优点主要有:可以运行在多种平台上,如Linux,Windows,Mac OS以及QNX等等;可以播放各种格式的文件,如MPEG1,MPEG4, DVD以及Audio CD等;支持各种类型的网络流,如UDP单播/多播(MPEG-TS),HTTP,RTP/RTSP等;既可以作为流服务器,也可以作为客户机,并且接收网络流。VLC能将它所能读出的各种格式的文件都转化为流格式文件。

6 结论

文章提出设计的基于32位RISC处理器的流媒体携带式系统,一方面采用当前先进的嵌入式技术(包括嵌入式处理器及嵌入式Linux系统)为核心进行设计;另一方面,改进了PXA270处理器的接口及音视频解码模块接口,从而不仅使该系统支持PCI总线协议,也支持优化的音视频硬件解码模块,而且还使系统具有更好的移植性。该系统已经在一定应用场合得到了实践应用,并取得令人满意的结果。GEC2410开发板套件(开发板+培训教程+源码+开发工具)

本文作者创新点:采用32位的Intel PXA 270嵌入式处理器设计流媒体携带式系统,并且对处理器的接口系统进行了改进,使本不支持PCI协议的处理器能够支持PCI协议。

参考文献

[1]VLC Media Player introduction:http://www.videolan.org/ http://www.51kaifa.com/shop/read.php?ID=4832

[2]邓丽娜,基于嵌入式操作系统的流媒体技术的研究与应用[J].中国优秀博硕士学位论文,2006 http://www.51kaifa.com/shop/read.php?ID=4832

[3]周多,陈章进,郑昌陆,PCI协议接口的设计及验证[J].微计算机信息,GEC2410开发板套件(开发板+培训教程+源码+开发工具)2005,5-21:194-196

[4]Intel Corporation. Intel PXA270 Processor Data Sheet, 2005

[5]陈学凯,陈耀武,汪乐宇,基于流媒体的网络化嵌入式多媒体播放系统[J].专题论坛,2005

关键字:流媒体  RISC处理器  Linux系统  PCI接口 引用地址:嵌入式流媒体携带式系统的设计及改进

上一篇:基于Xscale的PC/104 Linux系统构建
下一篇:Inside Secure将展示其防伪芯片

推荐阅读最新更新时间:2024-05-02 21:58

基于IntelPXA270平台的嵌入式流媒体播放器设计
播放器概述  近两年来,车载导航系统在国内悄然兴起,据专家预测,中国车载市场在启动初期需求约为55 万台,折合人民币约27.6 亿。而从长远来看,规模将达到千亿元人民币。但是,当前车载终端的视频播放能力大多比较薄弱,能够支持MPEG-4等新式编码格式的只有少数厂家。而且由于嵌入式系统独有的特点,车载产品存储空间一般都很小,只有流式文件边下载边播放的特性才能满足车载终端上音、视频的播放要求,实时的为车主播放刷新的信息。本产品是基于I P 网络的嵌入式流媒体播放器,不但可以支持MPEG- 4 和主流的流媒体格式,而且可以通过软件升级支持未来的媒体格式。  播放器的底层开发环境  播放器的硬件环境包括:Intel PXA270开发平
[嵌入式]
扬智科技推出Full HD网络流媒体处理器单芯片
机顶盒SoC领导厂商扬智科技,今(3)日发表网络流媒体处理器单芯片M3911,正式宣告将进军IPTV、OTT (Over-The-Top) 等提供网络上丰富影音内容的终端产品市场。除了支持Full HD以及业界主流规格与传输协议外, M3911也是市场上第一颗支持快速待机与恢复功能的网络流媒体处理器单芯片,为全球客户提供兼备高效能、环保、且经济实惠的产品选择。 M3911内建10/100以太网络MAC、连接Wi-Fi接收器的USB接口,以及支持所有主流影音压缩格式,包括MPEG2、 MPEG4、H.264、VC1与 Google推广的VP8等。消费者在不用连接个人计算机的情况下,便可选择以有线或无线的联网方式,尽情地在电视机上
[家用电子]
采用CC1100的多功能流媒体录放器
CC1100是第二代数字多媒体处理器,外形如图1所示。 CC1100采用可编程的多核处理器SoC体系架构设计。主CPU是主频350MHz的超级标量RISC处理器.运行Linux操作系统。它可以每个指令周期执行4条指令,并支持硬件双线程技术。视频编解码工作由3个可编程但不同架构的子处理器(256位的向量处理器,Motion Estimation引擎和Entropy引擎)分阶段协同完成。异构的多DSP架构将复杂的运动图像的处理流程按照其功能和运算复杂度特性分解成多个相对独立的过程,然后用不同架构的处理器去适应和处理运动图像在编解码过程中算法复杂度的变化,平衡性能,灵活性和功耗的矛盾。图2是CC1100的内部结构框架图。 创
[电源管理]
采用CC1100的多功能<font color='red'>流媒体</font>录放器
PCI9030及其PCI总线接口电路设计
PXI总线系统的卓越性能和较低的价格,使得越来越多从事自动测试的工程技术人员开始关注PXI的发展。而PXI总线是PCI总线在仪器领域的扩展,可以将PXI总线分为PCI总线和PXI扩展的总线两部分。将进行PCI总线接口电路的设计,从而为设计 PXI模块仪器,组建PXI总线自动测试系统做好准备。 目前,PCI总线接口电路的实现主要有两种方案:一是采用一片大容量FPGA/CPLD实现PCI总线接口逻辑;另一种是采用ASIC芯片完成PCI总线的接口电路。由于PCI总线速度高,协议复杂,采用第一种方案虽然应用很灵活,但是调试困难,开发周期长,而且采用一片工业级可用于PCI接口的 FPGA/CPLD完成PCI总线接口功能,远比使用PCI接口芯
[电源管理]
<font color='red'>PCI</font>9030及其<font color='red'>PCI</font>总线<font color='red'>接口</font>电路设计
航天地面测试中1553B-PCI接口转换技术实现
  1 引言   1553B 总线是MIL-STD-1553B 总线的简称,其全称为飞机内部时分制指令/响应式多路 传输数据总线,是一种满足实时性、数据完整性和系统可靠性的通用机载串行多路总线标 准,该总线标准首先在航空工业中得到广泛应用。随着卫星技术的发展,1553B 总线在国 内航天领域的应用也日益广泛,作为与之配套的地面检测设备也需要具有1553B 总线接口 的通信板卡。   2 方案设计   本板卡是基于PCI 总线的1553B 总线接口卡,要实现的功能是利用PCI 总线作为媒介, 实现计算机控制1553B 总线BC 端和RT 端进行数据传输的功能,最终在卫星地面测试过程中 实现由计算机对远程终端的设备进行测试
[嵌入式]
PCI总线接口技术及其在高速数据采集系统中的应用
    摘要: 一种基于PCI总线的高速数据采集传输系统的实现,讨论了PCI总线控制器9054的性能及三种传输模式,提供了该系统的硬件实现和采用DMA传输方式实现数据传输的设计。     关键词: PCI总线 PCI 9054总线控制器 DMA 数据采集是数字信号处理中非常重要的环节。对于不同的任务,数据采集要达到的技术指标也不相同。对于瞬态信号,雷达信号和图像处理都需要几MB/s甚至几十MB/s的超高速采集速率。目前用于PC机的数据采集卡大部分是基于ISA总线的,这种结构的最大缺点是传输速率太低,不能实现数据的实现高速传输。PCI总线推出后,以其突出的性能备受计算机和通信业界的青睐,将取代以往的总线,
[应用]
TMS320VC5402 HPI接口PCI总线接口设计
数字信号处理器DSP(Digital Signal Processor)是一种特别适合于进行数字信号处理的微处理器,凭借其运算速度快、功能强等特点,在各个领域的应用越来越广泛。但在很多场合下需要将DSP的各种外围设备同计算机连接,以实现数据传输。通常情况下可利用DSP的串口或I/O口来实现,但无论是接串口还是接I/O口都要占用DSP的硬件资源,同时数据的传输速度有时也不能满足系统的要求。为了解决这一问题,将DSP的HPI口通过PCl2040芯片桥接到PCI总线。本文以TMS320VC5402(简称VC5402)为例,介绍DSP的HPI口及其与PCl2040的接口设计。 1 HPI接口功能及特点 主机接口HPI(Host Pott
[嵌入式]
基于CPLD的单片机PCI接口设计
    摘要: 详细阐述一种利用CPLD实现的8位单片机与PCI设备间的通信接口方案,给出用ABEL HDL编写的主要源程序。该方案在实践中检验通过。     关键词: 单片机 CPLD PCI 8位单片机在嵌入式系统中应用广泛,然而让它直接与PCI总线设备打交道却有其固有缺陷。8位单片机只有16位地址线,8位数据端口,而PCI总线2.0规范中,除了有32位地址数据复用AD 外,还有FRAME、IRDY、TRDY等重要的信号线。让单片机有限的I/O端口来直接控制如此众多的信号线是不可能的。一种可行的方案就是利用CPLD作为沟通单片机与PCI设备间的桥梁,充分利用CPLD中I/O资源丰富,用户可自定制
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved