资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
数字化趋势一种A T M 网络机顶盒的N I U 实现林胜林国辉全子一机顶盒 i 1 2 l 最初出现是一种增强家用电视机功能的附加设备,开始是模拟的,提供一些简单的解调功能。随着微电子技术和数字技术的进步数字机顶盒因为其强九的处理能力和丰富多样的功能而成为时代发展的趋势。同时,网络设施的革薪和人们口益增长的消费需求,使得市场上各种机顶盘设备非常繁荣。不过,且前太多数机顶盒都不是为交互业务而设计的。但是,多媒体交互业务必定是下一世纪最具前途和需求的通信业务之。为此,笔者为北京电信局设f 了一种用于V O D 点播o i 的机顶盒。该V O D 系统采用A T M 作为其骨干网,用户揍人采用A D S L 的接人方式。视频和音频信息的压缩分别采用I S O I E C1 3 8 1 8 - 2 和I S O I E C1 3 8 1 8 - 3 标准,系统符合I S O I E C1 3 8 1 8 1 关于传输流( T s 流) 的定义。用户的身份验证和交互控制命令使用计算机系统通用的T C P I P 协议族。1 机顶盒的协议栈网络通信没计的个重要内容就是协议栈的设计。机顶盒作为一种网络终端,协议栈的设计同样是非常重要的它不仅要考虑网络的体系结构+ 还要考虑上层应用的要求。对于V O D 系统,机顶盒要处理两种类型的网络数据。一种是用于传送下行视频码流的T s 流,这是只需机顶盒接收的单向高速码流,速率大约在2 4 M b p s 之间;另一种是甩于用户接人和交互控制的信息,通过T C P I P 协议进行传递,这是双向的低速码流,速率极低。由于A A L 5 适配层实现简单,承载效率高,国际上通常使用它作为多媒体信息在A T M 网络上传输的适配方式,因此,采用A A L 5 直接将T s 流适配到A T M 网络上传输是适宜的。I P 在A T M 网络上的传输方式则有许多种,如A T M 局域网仿真( 1 A N E ) ,A T M 上的传统I P ( I P O A ) ,A T M 上的多协议( M P O A ) ,多泓议标签交换( M P L S ) 等 6 1 ,从技术的成熟性和实现的难易程度出发,笔者选择了A T M上传统I P 模型来承载I P 数据报【7 】。V O D 系统机顶盒的胁议栈如图l 所示。T C Pt D PT S 流I PC l 聃s i e a lI Po 啊A T MA L 5 适配层& T M 屉物理层一图1 机顶盒的协议栈由于目前的实验还只是使用P V C 的信道,没有实现A T M 的信令协议。如果要实现系统的商用化,A T M 信令协议也是必不可少的。27 r s 流和I P 的A A L 5 封装I T UH 2 2 21 建议了r I s 包到A A L 5 的映射方式,个鸭包使用空的业务相关会聚子层映射成有线电视与网络技术A A L 5 S D U ”1 。每个A A L 5 类型的C P C S - S D U 包含N 个T s 包,除非剩余不到十鹘包,在这种情况下,所有剩余T s 包映射到最后一个C P C S S D U 中。的值通过A T M 信令侨商,缺省的N 值等于2 ,此时,能保证在A A L 5 S D U 包长较短的情况r 数据的传送效率较高。所有设备都应该支持N = 2 的缺省映射方式,以保证基本的瓦联兼容性。图2 给出了=2 时的映射方式。此时不需要加入填充字节,在包长较短的情况下获得了较高的传输效率。文件R F C l 4 8 3 “A T M - A A L 5 卜的多协议封装”定义r 使用A T M 的A A L 5 适配层承载网络数据方法H 。I P 数据报同所有其它的非I S O 路由协议一样,通过紧随L L 头后的S N A P 头进行标识。其中L L C 头0 x A A A A 一0 3 指示后面紧接着S N A P 头,S N A P 头由3B y t e 的O U I 域和2B y t e 的P I D 域的构成。域O U I的值为0 x 0 0 0 0 0 0 标识肚太网类型的P I D 。I E T F 规定I P 协议的P I D 为0 x 0 8 0 0 。1 8 8B v k1 8 8B y t e ! 互 二困 、T S 包的第 一个字节3 7 6B v l e8 丑w e 二至垂亟 二工垂三国I , L C0 x A A - A A 一0 30 U T0 x 0 0 一0 0 0 0I PP D U 最多2 “1 69 字节图2N = 2 时T s 包到A A L 5 的映射方式图3I P 数据报的L L C S N A P 封装格式L L C 封装后的I P 数据报作为A A L 5 的C P C S S D U ,完成到A T M 层的适配。N I U 的软硬件设计都是围绕着解偈流封装和I P 包的封装和解封装进行的。3N 1 U 设计的总体考虑N I U 处理的T s 流和I P 流的性质有显著的区别,前者是可能高达4M b p s 的下行码流,并且是单向、单逻辑通道;而I P 流的速率要求则相比而言要低得多,不过可能是双向多逻辑通道数据。另外,T s 流通过专用接口送给S T U 板由硬件直接处理;而I P 流则要由操作系统的I P 层驱动程序处理。基于成本和功能实现合理性的考虑,没有把N I U 的功能集中在N I U 板上实现,而是将它的一部分功能通过S T U 板上的C P U 来实现。换言之,也可以认为是把N I U 的功能在软件和硬件之问进行了划分,由它们协同完成。由硬件完成速度要求高,功能相对简单的部分;由软件完成速度要求低,但是实现复杂的功能。硬件实现的功能包括:实现A T MF O R U M2 5 6M h p s 标准的物理接口;完成A T M 层的功能;在指定V P I V C I 逻辑信道上实现A A L 5 封装的T s 流的解包;为I P O A 使用的V P I V C I 逻辑信道提供信元缓冲;其它相关控制和状态逻辑。因为O S 9 0 0 0 操作系统已经提供了T C P 1 P 协议驱动程序而L L C S N A P 驱动程序也已向M i e r o w a r e公司购买,所以自编软件只需实现下列功能:硬件寄存器的配置,在I P O A 使用的V P I V C I 逻辑信道上接收和发送信元;实现接收和发送信元的队列管理;软件实现A A L 5 适配层的公共部分会聚于层C P C S 和分段与重组子层的功能;完成上层的L L C S N A P 驱动程序要求的接1 5 1 数据结构的构造。综上所述,N I U 实现的功能主要包括A A L 5 适配层、A T M 层、物理层( P H Y ) 。其中P H Y 层的功能选用I D T 公司的I D T 7 7 1 0 5 实现。A T M 和A A L 5 层的功能在软硬件两个层面上重叠实现,即软件和硬件都实现了相同的功能,但是其处理的数据流不同,硬件处理高速的单向T s 流,软件处理低速双向的I P 流。硬件2 6 1数字化趋势层面在E P L D 中实现,它基于T S 流占用的V P I V c I 值对接收的A T M 信元进行分路过滤并且在E P L D中直接实现对T S 流信元的A A L 5 适配层的组装。其它V P I V C I 逻辑信道则由C P U 进行软件层面的处理,完成对各个逻辑信道的分路,并进行A A L 5 的会聚和组装。4 硬件设计通过对总体设计的分析,可眦画出硬件设计的总体框图,如图4 所示。其中虚框内是用E P L D 编程实现。因为E P 一D 不但需要实现U T O P I A 、T S 流、C P U 局部总线接口,还要实现信元分路、信元缓冲、T S 流的S A R 组装等一系列复杂功能的处理。所以硬件设计的关键是E P L D 的设计。8 豳如到:阿磊司嗣J 孟l提取l r l l l 曝矸新l| 过滤器一玛流缓冲广1P 甄卜型坠图4 硬件设计总体框图在E P L D 设计的各模块中,最复杂的是实现T s 流的A A L 5 分段和重组子层( S A R ) 的功能。在本项目中,采用一种基于c s f l f o 的结构来实现S A R 的重组功能。分路后的A T M 信元,剥去信头后缓存到c s f i f o中。当P D U 的尾信元到来时,就可以通过P D U 的长度域计算出P D U 净荷,从而剥去填充字节和P D U 尾。根据A T M 适配层标准,填充字节的长度为0 4 7 ,因此,填充字节和P D U 尾只能出现在P D U 的最后两个信元,为了节省E P L D 的资源,在任何时刻c s f f f o 中可以只缓冲一个A T M 信元( 不包括A T M 尾信元) 。因为,此前的非尾信元必定是有效数据,因而可以提前输出。当然,为了保证组装进行的过程中到来的信元不致丢失,实际上c s f i f o 的容量需要留有裕量( 大约2 4 个信元所需的字节数) 。组装完成后填充字节和P D U 尾也必须从c s f i f o 中读出,使c s f f f o 为处理下一个P D U 做好准备,只是用一数据有效信号指示当前 输出的是无效数据。“L 5 的S A R 子层的重组模块的实现框图如凰5 所示。 小磊匹 岖歹H 垫图5A A L 5C P C S 组装模块的实现框图5 驱动软件的设计有线电视与网络技术机顶盒的操作系统采用M i c r o w a r e 的实时多任务操作系统0 S 9 0 0 0 。该操作系统经模块优化设计不但对存储器的要求十分低,而且还具有通用、统一、硬件无关的I 0 系统,并且由于该I 0 系统基于模块 化设计,很容易由用户自己扩展。0 S 9 0 0 0 的I 0 子系统由4 种模块构成,i 0 管理器、文件管理器、设备驱动程守3 个模块负责处理各种等级的I 0 服务请求。第四个模块,设备驱动描述子则包含了装配I 0 子系统所需的信息。文件管理器、设备驱动程序、设备驱动描述子都是标准的内存模块,可以在系统运行过程中动态加载或卸载。0 S 9 0 0 0 的网络系统也是一种特殊的I 0 子系统,通过S P F 文件管理器的使用和统一定义的一套函数接口,可以实现驱动程序的任意堆叠,使网络设计非常方便且有很大的自由性。在笔者设计的I P O A网络接口方式下,驱动程序堆叠的层次图如图6 所示。l T c P 驱动l1 U D P 驱动lI P 驱动三壁熏:fA A u 驱动 L - - - - - - - u - u u - - - - - - - - - - - - - - - - - 一 亚亟巫五图60 S 9 0 0 0 网络驱动程序堆叠层次图其中虚框包含的A A L 5 驱动和A T M 硬件驱动是需要自己开发的。A A L 5 驱动程序属于协议驱动,A T M 驱动是硬件驱动。这些驱动程序的设计都是基于事件驱动的,实际上是一些处理倒程的集合,I 0 管理器和S P F 文件管理器会在适当时机调用这些函数。硬件驱动主要完成对硬件设备的初始化,处理发送和接收中断,完成对信元的发送和接收。硬件的初始化包括对P H Y 和E P L D 的相关寄存器进行配置;分配接收队列使用M b u f 数据结构;配置P o w e r P C 的相关寄存器,并登记中断处理程序;最后允许N I U 对应的外部中断。中断处理是硬件驱动程序设计的关键。接收中断处理以信元为单位把接收数据从硬件的接收F I F O 中读出,形成M b u f 链送给上层驱动程序;中断返回前,判断接收M b u f 池是否超过检测门限,如果超过,则从分配的M b u f 队列中回收上层驱动已
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号