关键词:专用集成电路;数字视频广播;直接存储器访问
近年来,数字电视在全世界范围内得到了推广。计算机与电视是未来家庭中最主要的两种信息获取终端。随着计算机网和广播电视网的融合,两种终端也有融合的趋势,这样就可以利用计算机接收数字视频广播的内容。
数字视频广播(DVB)传输流(TS)接收计算机插卡主要由两块芯片组成:一块完成TS包的过滤和解扰;另一块芯片是完成TS包到PCI总线的传输。文提出了在现场可编程门阵列(FPGA)上完成上述两个功能的方案。
为了提高数据的传输速率和可靠性,降低产品的成本,在此基础上,本文介绍的IP over DVB(简称IPoD)芯片就是利用单块芯片来完成DVB传输流到计算机系统的过滤和传输。
1 软硬件划分策略
根据IP over DVB的标准和MPEG2标准系统层的数据规范,IPoD系统的处理层次由低到高分别为物理接口层、传输流处理层、数据流层和应用层。IPoD是一个软硬件协同的复杂系统,软硬件划分策略是整个系统芯片设汁中很关键的一个步骤,对于系统的整体性能影响巨大。IPoD系统的处理层次和软硬件划分结果如图1所示。
物理接口层完成总线互连,比如Tuner(调谐器)输出的解调后数据与IPoD芯片的连接接口,PCI总线接口等。传输流处理层对DVB的TS包进行处理,包括同步、过滤、解扰等协议处理。以上两层对实时性要求很高,由硬件实现。
数据流层分为两个部分,一部分是基本流数据包的处理,对应MPEG2的音视频数据;另一部分是用于传输信息的数据结构。由于这一层需要处理复杂的数据结构,需要大量的缓冲资源,因此需要软件硬件同时参与处理;同时由于协议处理的速度要求,数据流层也需要芯片内部的处理,所以这一层是软件和硬件接口的层次。最高层应用层完成MPEG2解码和各种数据业务的应用,由软件实现。
2 IPoD芯片硬件结构
IPoD系统硬件的基本结构是基于PCI的内置型计算机插卡,Tuner用来接收天线的数据同时输出TS包,TS数据通过IPoD芯片传送到PCI总线,最终传送到主机。图2是IPoD系统芯片结构。
由图2可以看出,白色矩形区域代表IPoD芯片,宽箭头表示数据通道,窄箭头表示控制通道。数据流是从Tuner到主机的单向流,Tuner接收到天线的数据,经过解调,送入IPoD芯片的Tunet数据接口缓存;然后数据经过包标志(PID)过滤模块,获取需要的TS包;而后数据进入解扰模块,对加扰的TS包进行解扰;经过解扰后的TS包传送到DMA接口,通过DMA控制器的处理,TS包经过PCI核被送到PCI总线上,最终传送到主机的内存中。控制流包括主机对各个硬件模块的控制和各个硬件模块对主机的反馈,因此是双向流。控制流实现的核心是本地总线管理模块,主机可以用发出命令的方式读写PCI总线上的任意地址,PCI核将这一命令传送到芯片内部,再由从模式控制模块把读写命令传送到本地总线管理模块。
2.1 IPoD芯片内部模块
芯片的内部结构由相应的数据通道,控制通道和外围接口构成。主要由以下部分组成:
1)Tuner接口和PID过滤模块
接收并缓存从Tuner进入的数据,用PID过滤电路将输入数据的PID值与过滤表中的数据相比较,保留符合要求的TS包。
2)通用解扰模块
通用解扰模块是按照DVB标准的通用解扰算法设计,输入的加扰数据经过流解密和块解密后从块解密模块输出。
3)PCI核和主从模式控制模块
在IPoD芯片中,集成了Fujitsu公司的PCI核,符合PCl2.2规范。
PCI设备有两种工作模式:主模式和从模式。当IPoD系统工作在主模式下时,主模式控制模块提供DMA控制器和PCI核之间的接口,协助DMA控制器完成DMA传输。PCI核通过主模式控制模块完成PCl的写过程,将数据从芯片送入主机内存。当IPoD系统在从模式下工作时,从模式控制模块提供PCI核和本地逻辑的接口。PCI核通过从模式控制模块可以配置DMA的寄存器,也可以读写本地总线上的各个模块。
4)DMA控制器
DMA控制器与主模式控制器和片内FIFO相连接,提供DMA控制逻辑、寄存器和描述符队列,完成DMA读写。针对高带宽、低延时和大数据量的定长多媒体数据包,设计了基于PCI核的链式DMA控制器,由DMA寄存器,描述符FIFO,DMA状态机和数据通道RAM这4个模块构成。DMA控制器把系统缓存在FIFO中的一个DMA数据包转移到数据通道RAM中,并在主模式下负责把数据通道RAM里的数据包通过PCI总线传送到从设备。
5)本地总线
使用本地总线连接各个模块,便于主机对各个模块的读写。在主机读写芯片内模块时,IPoD芯片作为一个PCI设备工作