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 流媒体体系的硬件结构图
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),从主控模块取得编码的音视频数据并对其解码,解码后返发送给体系办理主控模块。本文首要介绍体系办理主控模块。