微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 消费类电子 > 用IXP网络处理器设计的数字家庭媒体中心系统

用IXP网络处理器设计的数字家庭媒体中心系统

时间:02-12 来源:21IC 蔡 斌 谢长生 吴 伟 吴 明 张洪涛 点击:


图2 DHMCS中IXP子系统和ESS子系统的结构

DHMCS完成一个用户的请求涉及以下7个步骤:① ESS子系统将用户请求网络媒体文件的按键转换为一个请求信息,并且按照一定格式写入DPRAM中,然后ESS子系统使能相应的中断,通知IXP子系统DPRAM中的数据就绪;② IXP子系统从DPRAM中读取就绪的数据,获取用户的请求信息;③ IXP子系统根据获取的请求信息和指定的服务器,建立Ethernet/WiFi网络连接;④ 服务器返回请求的媒体数据到IXP子系统中;⑤ IXP子系统将返回的数据通过相应的应用函数接口写入DPRAM;⑥ IXP子系统使能相应的中断,通知ESS子系统用户请求的数据已返回;⑦ ESS子系统解码返回的媒体数据,并通过音频/视频接口输出。
为了实现DHMCS的网络功能,将IXP子系统的软件功能划分为以下3层: 应用层、操作系统层和驱动层。应用层主要提供网络功能模块以及和ESS子系统通信所需的模块,具体来说,包括UPnP协议、DHCP协议、PPPoE客户端、FTP客户端、HTTP客户端,以及通信协议模块。操作系统层基于MontaVista v3.0的Linux内核,具有内存管理、进程调度、设备管理、文件系统、中断处理和网络协议栈等功能。驱动层主要提供各种设备的驱动,包括以太网驱动、无线WiFi驱动、Flash驱动、DPRAM驱动、I2C驱动,以及USB驱动。图3描述了上述软件结构。


图3 IXP子系统的软件结构

2.2 IXP子系统的应用层设计
用户发出的请求主要有3类: 文件类请求(包括目录列表等请求)、系统的设置或者命令请求,以及UPnP媒体流请求。对应于以上请求,将IXP子系统的应用层划分为:应用代理模块、媒体文件下载模块(负责通过TCP/IP协议取得请求文件)、UPnP媒体流模块(负责处理UPnP请求)、用户远程设置模块(负责处理系统设置请求),以及与ESS子系统进行数据传输和命令控制的通信协议模块。应用代理模块层在DHMCS系统中处于枢纽位置,它将各种网络应用(如FTP、HTTP、UPnP以及用户远程设置)有效地连接起来,起到应用代理的作用。应用代理模块首先从通信协议模块接收ESS子系统发送的用户请求;然后交给相应的模块处理;最后将服务器返回的数据和响应通过通信协议模块返回给ESS子系统。图4描述了IXP子系统应用层的模块划分。


图4 IXP子系统应用层的模块划分

IXP子系统和ESS子系统之间的数据传输和命令控制则由通信协议模块和通信驱动模块共同完成。通信协议模块主要负责IXP子系统和ESS子系统之间通信协议的实现,它将用户的请求或者服务器返回的媒体数据构造成数据包(Packet),并将每个Packet拆分为几个更小的mPacket,以便通信驱动模块的传输,另外两个子系统之间的确认消息也在这一层实现;而通信驱动模块主要负责具体的硬件传输,它直接控制I2C总线和DPRAM硬件,能够将信息准确无误地传输到ESS子系统中。参考OSI标准的7层模型,将IXP子系统和ESS子系统之间的通信协议划分为以下4个层次:应用层进行ESS子系统的请求消息和IXP子系统的响应消息的交互,完成消息的解析和处理;传输层主要是对要传输的数据进行分段重组(SAR),实现媒体文件和命令端到端的传输;链路层主要是进行DPRAM内存块的读/写以及I2C总线上的控制命令传输,提供两端访问DPRAM和I2C总线的通信机制;DPRAM提供双端口读/写内存块的通道,I2C提供命令控制通道。整个过程如图5所示。


图5 IXP子系统和ESS子系统之间通信协议的层次划分

3 IXP子系统的实现

本节将详细介绍IXP子系统中UPnP媒体流模块以及IXP子系统和ESS子系统之间的媒体数据传输功能的实现。系统中其他模块的实现相对容易,在此不做描述。
3.1 UPnP媒体流模块的实现
我们实现的UPnP媒体流模块符合Intel的网络多媒体产品规范[3](Networked Media Product Requirements:NMPR v1.0)。NMPR规范将媒体设备划分为3部分: 媒体服务器(Media Server)、播放器(Renderer)和控制点(Control Point),并且利用UPnP协议完成这3部分之间媒体数据和控制命令的传输。我们实现的UPnP媒体流模块实际上包含了Renderer和Control Point这两部分,媒体服务器可以是符合NMPR规范的任意的PC机。


图6 UPnP媒体流模块的实现

图6描述了UPnP媒体流模块的实现过程。首先应用代理模块向控制点发送用户的数据请求,控制点接收到用户的请求后就与媒体服务器进行通信;然后将媒体服务器的响应信息返回给应用代理模块,随后媒体服务器将用户所请求的媒体数据传输给Renderer;最后Renderer将这些数据返回给应用代理模块,再由通信协议模块传输给ESS子系统,再由ESS子系统对这些媒体数据进行解

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top