基于FPGA和RTOS的嵌入式码流分析设计方案
时间:11-09
来源:互联网
点击:
针对传统数字视频广播系统码流分析仪价格昂贵、使用不方便的问题,本文提出一种性价比较好的补充设计方案,它以通用的FPGA和RTOS为基础、基于嵌入式硬件平台来实现码流分析功能。文中还阐述了码流采集、码流分析和信息显示等多项关键技术。
码流分析仪可用作数字电视设备的调试工具,如检测MPEG编码器、复用器、调制解调器等设备的输入输出码流是否符合MPEG-2/数字电视广播(DVB)标准等。作为标准检验设备,码流分析仪是整个数字电视系统的不可缺少的重要设备。实际使用中的数字电视集成系统是一项庞大、复杂的系统工程,从前端到后端,无论哪个环节出了差错,都将导致整个系统的瘫痪,为了迅速有效地找出故障源,需要在各测试点使用码流分析仪。如图1所示,可以在测试点1-4插入码流分析仪,组成对传输(TS)码流互联层的监控、测试和报警。
国外码流分析仪的研究工作开展比较早,在MPEG-2标准制定的同时,就有码流分析仪问世,惠普、WG、RS和泰克等公司都推出了各自的码流分析仪。这几家公司的产品各有特点,而其核心都是基于PC硬件平台。虽然性能较稳定,但产品价格均比较昂贵,操作不便。随着应用范围和规模的扩大,在一个应用场合下,可能会需要对较多的测试点进行长时间的实时码流分析、监控、系统信息采集和报警管理工作,昂贵的基于PC的测试设备显然无法满足这种要求。
为了解决这一缺陷,国内外主要生产厂商都转向选择在便携式工控机上开发。便携式工控机虽然没有复杂的外设连线,但是也存在设备体积较大和硬件成本昂贵,功能受限于PC硬件和操作系统平台稳定性等问题。另外,市场上还有一种手持式的测试仪,有较好的移动性,但是也无法满足以较低的成本完成实时监控的要求。针对中国目前的应用现状和发展状况,我们提出以通用的FPGA和RTOS为基础、基于嵌入式硬件平台的设计方法,该模块可以实现稳定和长期的可靠工作,具有很好的性价比,可以在现实应用场合广泛应用。
码流分析功能设计
功能设计将完全符合以下标准:MPEG-2;ISO/IEC 13818-2(System);DVB;ETS 300 468( DVB SI);EN 50083-9(DVB SPI,ASI);ETR 154(Implementation guidelines for MPEG2 systems);ETR 290(Measurement Guidelines);ETR 211( DVB SI Recommendation)。
作为一种测试仪器,无论是软件还是硬件都要保证稳定可靠。同时考虑采用网络通信技术,容许用户通过任何一台计算机的网络浏览器访问图形化的用户界面,将码流分析结果以最直观的方式显示给用户。嵌入式测试设备的设计目标根据实际需要提出,设计目的是TS码流系统监测设备,在操作和使用的问题上要方便,故障的监测和定位要快速准确,模块化的设计要求结构紧凑,接口简单。针对这种需要,设计目标至少要实现以下功能:
1.对码流数据进行同步字节提取和包序错误检查,并进一步对数据根据ETR290标准进行三个优先级别的语法错误的检查;对数据流进行实时监测,及时纪录出错的时间和错误的情况;同时还可根据用户的需要制订硬件触发模式,选择不同的监测项目。
2.实时统计各路PID的当前带宽占用情况,当前的TS包的总数量和传输码率。
3.将TS包中的PSI/SI信息提取并拼接成段,分析段头部的信息并存储在特定的数据结构中。
4.提取TS流中的PCR信息,计算其传输的间隔,同时作PCR抖动的分析,出现错误及时报错。
5.从PES 段中提取PES头信息以及各路视音频的基本信息。
6.分析视音频数据,根据TS流中的PCR、PTS和视音频数据来分析其解码时各路视音频传输流标准目标解码器中缓冲器模型的情况,当缓冲器出现排空和上溢的错误时及时报错。
这些功能将满足运营环境的现场监测要求。实际应用中这些分析的结果需要以某种方式提交给用户观察。因此,以下的信息显示是必须的。
1.基本信息:主要向用户提供关于TS流的最基本的信息,如TS流的传输速率、同步错误、TS包长度、视音频比例、PSI表的简要信息等。
2.实时监测:本界面按照DVB ETR290标准规定的3级检错内容而设计。
3.节目信息:显示描述一个节目内容的PMT、SDT和EIT的具体信息。
4.带宽信息:基于PID的带宽统计信息。
5.复用结构:TS流中最基本的节目复用信息。
6.PSI/SI信息:将2进制形式的PSI/SI信息翻译成文字,以树的形式显示,TS流的层次结构一目了然。
7.PCR分析:分析PCR传送的间隔和抖动。
硬件结构
如图2所示,本设计方案选用Altera公司的FPGA――根据实际的设计容量可以选择具体的型号和系列。这里我们将讨论输入输出、过滤逻辑和控制系统的设计思想。
FPGA与TS接口连接的2个数据总线接口TS IN 和TS OUT都是标准的DVB_SPI(EN 50083-9)接口。TS IN 接收外部的TS码流,送入码流过滤逻辑系统做进一步处理。TS OUT接口将从TS IN收到的码流环出,这样在进行码流分析的同时就不会对传输码流造成任何影响。DVB_SPI接口是LVDS电平信号,可在FPGA上直接接入(参考ALTERA的硬件手册)。
如果采用DVB_ASI接口,也可以通过Altera提供的IP核来实现串/并和并/串转换。所以,原则上除去传输变压器和保护电路无需其他接口逻辑芯片。DVB标准的输入接口有ASI和SPI两种,两者的定义和标准不尽相同。针对输入接口的不同需要对输入信号进行调整和统一。要从ASI接口的信息中提取TS码流同步信号,调整信号脉冲的占空比使ASI的输出接口信号和SPI的相类似。另外,ASI接口输出有平滑和突发2种数据串数模式。为了满足突发模式的工作需要,可以将FPGA?片内的RAM BLOCK定义成FIFO进行高速缓存,使接口满足不同速率的突发输入,最高应该可以满足27MHz并行突发方式(ASI接口216MHz)的输入要求。
在FPGA的码流过滤逻辑单元部分需要设计一些重要的硬件控制模块。MPEG2标准规定了各压缩级别TS码流的速率。经过TS码流复用后实际应用中传输的串行码流速率可能>200MHz。因此考虑到NIOS的工作主频和加载操作系统后的实际工作效率,我们需要将输入码流降低后输入分析系统。故而硬件中设计多种硬件触发机制和硬件过滤器来满足这种需求。
根据ETR290的标准定义,码流分析功能不是并行处理的模式,而是有先后次序的相对关系。根据不同的优先级,先完成同步和连续性的分析,然后提取PSI信息,最后根据解析后的PSI信息对不同PID的节目TS流进行解码,分析详细的PES流信息。输入信息量的控制可以通过软件控制的方式实现。FPGA过滤逻辑设计了各种TS流的PID过滤器,将这些丰富的PID过滤器有机地组合在一起。控制模块可以通过写入命令来控制这些PID过滤器的工作方式和组合结构。
根据分析流程控制要求,当分析不同的信息部分时控制模块可以按需要发送命令改变硬件组合,保证输入的码流只与当前分析工作有关。这样可以完成对输入码流流量的控制而不影响完成设计要求。当然,这样设计是以牺牲分析实时性为代价的平衡措施,但是获得的好处也是可预见的。
Altera公司的FPGA上提供了纯软件设计的CPU内核NIOS模块。针对该内核Altera同时提供了相应的编译器和调试工具。在NIOS内核上我们可以移植一个小的操作系统。在这个实时操作系统上实现多任务调度和复杂的计算。该公司还提供用于FPGA设计的其他功能模块如:UART、TIMER等。软件支持方面提供了在NIOS内核上工作的TCP/IP协议等。
这些资源很方便的满足了设计要求,利用它们实现分析结果的输出要求。我们可以根据不同的应用场合选择采用不同的通讯接口如RS232/RS485、以太网等。同时,我们可以进一步在操作系统上设计SNMP协议,使码流分析模块能够在网络环境和现有的管理系统进行连接。这有利于网络管理和控制。同样,在操作系统上设计简单的WEB SERVER功能也是可行的。用户通过浏览器可以马上得到分析结果而无需安装任何分析软件。这些功能设计为用户的实际应用提供了方便,用户可以根据不同的现场环境选择不同的控制方法。
码流分析仪可用作数字电视设备的调试工具,如检测MPEG编码器、复用器、调制解调器等设备的输入输出码流是否符合MPEG-2/数字电视广播(DVB)标准等。作为标准检验设备,码流分析仪是整个数字电视系统的不可缺少的重要设备。实际使用中的数字电视集成系统是一项庞大、复杂的系统工程,从前端到后端,无论哪个环节出了差错,都将导致整个系统的瘫痪,为了迅速有效地找出故障源,需要在各测试点使用码流分析仪。如图1所示,可以在测试点1-4插入码流分析仪,组成对传输(TS)码流互联层的监控、测试和报警。
国外码流分析仪的研究工作开展比较早,在MPEG-2标准制定的同时,就有码流分析仪问世,惠普、WG、RS和泰克等公司都推出了各自的码流分析仪。这几家公司的产品各有特点,而其核心都是基于PC硬件平台。虽然性能较稳定,但产品价格均比较昂贵,操作不便。随着应用范围和规模的扩大,在一个应用场合下,可能会需要对较多的测试点进行长时间的实时码流分析、监控、系统信息采集和报警管理工作,昂贵的基于PC的测试设备显然无法满足这种要求。
为了解决这一缺陷,国内外主要生产厂商都转向选择在便携式工控机上开发。便携式工控机虽然没有复杂的外设连线,但是也存在设备体积较大和硬件成本昂贵,功能受限于PC硬件和操作系统平台稳定性等问题。另外,市场上还有一种手持式的测试仪,有较好的移动性,但是也无法满足以较低的成本完成实时监控的要求。针对中国目前的应用现状和发展状况,我们提出以通用的FPGA和RTOS为基础、基于嵌入式硬件平台的设计方法,该模块可以实现稳定和长期的可靠工作,具有很好的性价比,可以在现实应用场合广泛应用。
码流分析功能设计
功能设计将完全符合以下标准:MPEG-2;ISO/IEC 13818-2(System);DVB;ETS 300 468( DVB SI);EN 50083-9(DVB SPI,ASI);ETR 154(Implementation guidelines for MPEG2 systems);ETR 290(Measurement Guidelines);ETR 211( DVB SI Recommendation)。
作为一种测试仪器,无论是软件还是硬件都要保证稳定可靠。同时考虑采用网络通信技术,容许用户通过任何一台计算机的网络浏览器访问图形化的用户界面,将码流分析结果以最直观的方式显示给用户。嵌入式测试设备的设计目标根据实际需要提出,设计目的是TS码流系统监测设备,在操作和使用的问题上要方便,故障的监测和定位要快速准确,模块化的设计要求结构紧凑,接口简单。针对这种需要,设计目标至少要实现以下功能:
1.对码流数据进行同步字节提取和包序错误检查,并进一步对数据根据ETR290标准进行三个优先级别的语法错误的检查;对数据流进行实时监测,及时纪录出错的时间和错误的情况;同时还可根据用户的需要制订硬件触发模式,选择不同的监测项目。
2.实时统计各路PID的当前带宽占用情况,当前的TS包的总数量和传输码率。
3.将TS包中的PSI/SI信息提取并拼接成段,分析段头部的信息并存储在特定的数据结构中。
4.提取TS流中的PCR信息,计算其传输的间隔,同时作PCR抖动的分析,出现错误及时报错。
5.从PES 段中提取PES头信息以及各路视音频的基本信息。
6.分析视音频数据,根据TS流中的PCR、PTS和视音频数据来分析其解码时各路视音频传输流标准目标解码器中缓冲器模型的情况,当缓冲器出现排空和上溢的错误时及时报错。
这些功能将满足运营环境的现场监测要求。实际应用中这些分析的结果需要以某种方式提交给用户观察。因此,以下的信息显示是必须的。
1.基本信息:主要向用户提供关于TS流的最基本的信息,如TS流的传输速率、同步错误、TS包长度、视音频比例、PSI表的简要信息等。
2.实时监测:本界面按照DVB ETR290标准规定的3级检错内容而设计。
3.节目信息:显示描述一个节目内容的PMT、SDT和EIT的具体信息。
4.带宽信息:基于PID的带宽统计信息。
5.复用结构:TS流中最基本的节目复用信息。
6.PSI/SI信息:将2进制形式的PSI/SI信息翻译成文字,以树的形式显示,TS流的层次结构一目了然。
7.PCR分析:分析PCR传送的间隔和抖动。
硬件结构
如图2所示,本设计方案选用Altera公司的FPGA――根据实际的设计容量可以选择具体的型号和系列。这里我们将讨论输入输出、过滤逻辑和控制系统的设计思想。
FPGA与TS接口连接的2个数据总线接口TS IN 和TS OUT都是标准的DVB_SPI(EN 50083-9)接口。TS IN 接收外部的TS码流,送入码流过滤逻辑系统做进一步处理。TS OUT接口将从TS IN收到的码流环出,这样在进行码流分析的同时就不会对传输码流造成任何影响。DVB_SPI接口是LVDS电平信号,可在FPGA上直接接入(参考ALTERA的硬件手册)。
如果采用DVB_ASI接口,也可以通过Altera提供的IP核来实现串/并和并/串转换。所以,原则上除去传输变压器和保护电路无需其他接口逻辑芯片。DVB标准的输入接口有ASI和SPI两种,两者的定义和标准不尽相同。针对输入接口的不同需要对输入信号进行调整和统一。要从ASI接口的信息中提取TS码流同步信号,调整信号脉冲的占空比使ASI的输出接口信号和SPI的相类似。另外,ASI接口输出有平滑和突发2种数据串数模式。为了满足突发模式的工作需要,可以将FPGA?片内的RAM BLOCK定义成FIFO进行高速缓存,使接口满足不同速率的突发输入,最高应该可以满足27MHz并行突发方式(ASI接口216MHz)的输入要求。
在FPGA的码流过滤逻辑单元部分需要设计一些重要的硬件控制模块。MPEG2标准规定了各压缩级别TS码流的速率。经过TS码流复用后实际应用中传输的串行码流速率可能>200MHz。因此考虑到NIOS的工作主频和加载操作系统后的实际工作效率,我们需要将输入码流降低后输入分析系统。故而硬件中设计多种硬件触发机制和硬件过滤器来满足这种需求。
根据ETR290的标准定义,码流分析功能不是并行处理的模式,而是有先后次序的相对关系。根据不同的优先级,先完成同步和连续性的分析,然后提取PSI信息,最后根据解析后的PSI信息对不同PID的节目TS流进行解码,分析详细的PES流信息。输入信息量的控制可以通过软件控制的方式实现。FPGA过滤逻辑设计了各种TS流的PID过滤器,将这些丰富的PID过滤器有机地组合在一起。控制模块可以通过写入命令来控制这些PID过滤器的工作方式和组合结构。
根据分析流程控制要求,当分析不同的信息部分时控制模块可以按需要发送命令改变硬件组合,保证输入的码流只与当前分析工作有关。这样可以完成对输入码流流量的控制而不影响完成设计要求。当然,这样设计是以牺牲分析实时性为代价的平衡措施,但是获得的好处也是可预见的。
Altera公司的FPGA上提供了纯软件设计的CPU内核NIOS模块。针对该内核Altera同时提供了相应的编译器和调试工具。在NIOS内核上我们可以移植一个小的操作系统。在这个实时操作系统上实现多任务调度和复杂的计算。该公司还提供用于FPGA设计的其他功能模块如:UART、TIMER等。软件支持方面提供了在NIOS内核上工作的TCP/IP协议等。
这些资源很方便的满足了设计要求,利用它们实现分析结果的输出要求。我们可以根据不同的应用场合选择采用不同的通讯接口如RS232/RS485、以太网等。同时,我们可以进一步在操作系统上设计SNMP协议,使码流分析模块能够在网络环境和现有的管理系统进行连接。这有利于网络管理和控制。同样,在操作系统上设计简单的WEB SERVER功能也是可行的。用户通过浏览器可以马上得到分析结果而无需安装任何分析软件。这些功能设计为用户的实际应用提供了方便,用户可以根据不同的现场环境选择不同的控制方法。
FPGA 嵌入式 数字电视 编码器 泰克 解码器 Altera 总线 LTE 变压器 电路 C语言 DSP MCU VHDL 相关文章:
- 基于FPGA的片上系统的无线保密通信终端(02-16)
- 基于Virtex-5 FPGA设计Gbps无线通信基站(05-12)
- 基于FPGA的DVI/HDMI接口实现(05-13)
- 基于ARM的嵌入式系统中从串配置FPGA的实现(06-09)
- 采用EEPROM对大容量FPGA芯片数据实现串行加载(03-18)
- 赛灵思:可编程逻辑不仅已是大势所趋,而且势不可挡(07-24)