DIY小发明:打造你自己的流媒体播放器,解决方案、硬件框图
项目背景及可行性分析
- 项目名称、项目的主要内容及目前的进展情况
我们的项目名称叫做流媒体播放器,项目的主要内容为利用Xilinx的Virtex-2 Pro FPGA 上丰富的逻辑资源来实现一个自定义的模块,该模块能作为流媒体播放过程中的一个功能部件。我们已经能在XUP Virtex-2 Pro FPGA里基于PowerPC的平台上进行软件解码音视频文件,但是对于分辨率在640x480以上的视频解码和音视频同步解码上,系统的性能还不尽理想,接下来我们想对该系统进行一个剖析,以决定系统哪些方面需要完善。
- 项目关键技术及创新点的论述;
整个系统采用了IBM的CoreConnect的总线架构,该架构采用了PLB/OPB/DCR三级总线结构,富于灵活性和简便性的总线接口使得各种外设可以挂载在能够发挥它们最大效能的总线上。并且,在XC2VP30里内嵌了两颗PowerPC405。在双核概念流行的当今,我们也可以尝试建立一个简单的SMP系统,这是我们项目的创新点之一。另外,我们也会在系统中添加触控技术,编写一个触摸板控制器为市场上流行的各种触摸板提供统一的接口,以提供更友好的人机界面。这也是我们项目的另外一个创新点。
在这里,我们还有另外一个设想,或许在我们的系统中,我们还可以尝试一下将MicroBlaze或者PicoBlaze这样的微处理器/微控制器添加进来,组成一个异构多核系统,由于MicroBlaze也采用了CoreConnect的部分架构,加上PicoBlaze只占用较少的逻辑资源,这里面或许有很大的潜力可以挖掘。
- 技术成熟性和可靠性论述:
我们的系统目前仍处在原型验证阶段,即能够实现基本的音视频播放功能,但正如我们前面所述,这只是为我们提供了一种实现的可能性验证。系统采用的模型为CPU+OS+Application,或许这样的结构还不尽合理,没有将资源使用到合适的地方。也许采用CPU+Co-Processor+Application的结构更合适,因此我们还需要对音视频(或许主要是视频)处理技术进行深入的研究以及运用ESL的设计方法学,以便我们更好地对系统模型结构进行更好地选择。
项目实施方案
1.方案基本功能框图及描述
图 1 系统结构图
系统基本功能描述:该流媒体播放器的应用场合为超市。在悬挂的大屏幕平板电视后面安装有我们的流媒体播放器终端,该终端与超市内部的局域网的流媒体服务器相连接。顾客可以通过触摸板来选择他感兴趣的商品的广告信息,同通过我们的播放器播放显示在平板电视上。
2.需要的开发平台
目标 FPGA开发平台:XUP Virtex-2 Pro (XC2VP30)
该平台内嵌双PowerPC硬核,30816 Logic Cell的规模非常适合音视频处理。当然,XC2V5000的FPGA平台也适合我们设计自定义功能模块。
配套开发工具:
硬件:Xilinx Platform USB Cable
软件:ISE 8.2i;
EDK 8.2i;
System Generator 8.2
ModelSim;
ChipScope 8.2i;
PlanAhead
2.方案实施过程中需要开发的模块
在我们项目中需要开发的功能模块主要有:
音频功能——使用AC97 codec 以及opb ac97 controller, Linux用过ALSA驱动调用AC97 controller播放声音。
触摸屏LCD功能——LCD 作为整个系统的主要显示设备,而触摸屏必须要能够识别出几个基本的输入动作,比如单击,双击,拖曳等等。作为主要的输入设备,触摸屏会被用来控制Slice Show和媒体播放。
媒体播放功能——将一段分辨率为320*240的视频短片复制到文件系统里面以后,Mplayer应该能够通过Frame Buffer和音频解码流畅的输出图像和声音。
网络和点播功能——建立一个流媒体点播的服务器,用网线连接服务器和开发板以后,MPlayer 应该能够流畅的播放服务器上的流媒体格式。
3.系统最终要达到的性能指标
我们的开发板能够通过网络流畅的点播mms格式640×480的带mp3音频的视频文件,通过LCD触摸屏实现与用户的互动。
需要的其它资源
1.设计输入输出功能子板
6.4 inch LCD 触摸屏模块,以及配套的逆变器,接口电缆。
3.方针、开发工具
列出在方案实施过程中所需要的仿真、开发工具等。
表 1 硬件需求
Hardware | Exact Version |
Xilinx XUPV2P 开发板 | Rev 03 |
台式机 (Windows XP) (可选) | Windows XP SP2, AMD Sempron 2200+ 512MB RAM |
USB JTAG 下载线 | N/A |
串口延长线 | N/A |
DDR266 or PC2100 SDRAM | KINGMAX 256MB or 512MB(可选) |
网线 | RJ45 |
CF卡 | SanDisk(可选) |
带触摸屏的TFT LCD | 3.5 or 6.5 Inch(可选) |
表 2 软件需求
Software | Exact version |
Xilinx ISE Foundation | 8.2i |
Xilinx EDK | 8.2i |
ModelSim | 6.1e SE |
Favorite Linux Distribution | SUSE 10.1 |
MontaVista PowerPC Linux Developer Edition | 2.4 or 2.6 (可选) |
BusyBox | 1.2.0 or 1.0.0 |
DIY 流媒体播放器 Virtex-2Pro FPGA 相关文章:
- DIY之乐:基于PIC32的以太网音箱设计案例,硬件框图、器件选型、数据结构、软件流程(04-09)
- DIY小设计:智能闹钟的简单软硬件实现(04-14)
- DIY智能家居之多功能一体化触屏遥控器的设计实现(04-14)
- DIY智能家居:基于AVR的智能节能插排的系统解决方案(04-16)
- DIY你的电子玩具:网络音乐电台,给你系统解决方案、软硬件设计实现(04-16)
- DIY机器人:神通广大的核辐射探测机器人设计方案,完整流程框图(05-04)