DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 555|回复: 0
打印 上一主题 下一主题

[工仪] 基于FPGA及RTOS操作系统的码流分析仪设计

[复制链接]
跳转到指定楼层
楼主
发表于 2011-4-25 14:40:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本文提出一种性价比较好的补充设计方案,它以通用的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和视音频数据来分析其解码时各路视音频传输流标准目标解码器中缓冲器模型的情况,当缓冲器出现排空和上溢的错误时及时报错。
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功能也是可行的。用户通过浏览器可以马上得到分析结果而无需安装任何分析软件。这些功能设计为用户的实际应用提供了方便,用户可以根据不同的现场环境选择不同的控制方法。
软件设计基于一个实时操作系统。目前,有很多商业化的RTOS供选择,同时,也有Altera的第三方开发商提供的可在NIOS上运行的操作系统。本文介绍另外一种完整的嵌入式的实时内核μC/OS-II以及应用程序结构。μC/OS-II源代码绝大部分是用C语言写的,汇编部分只有200行左右。这说明该实时内核可以方便的移植到几乎所有的嵌入式应用类CPU上。事实上它已经被成功的移植在


  下面简单分析不同进程的主要功能:
  1.TS流处理进程。该进程完成TS输入,输出和内存管理的功能。类似于通信系统的物理层,面对硬件系统的传输控制。一般情况下,完成从FIFO中读取数据存储在SRAM的不同部分中,并提交地址指针。同时将需要输出的码流从SRAM中读取,按要求写入输出FIFO中。在特殊情况下,根据输入码流速率和内存情况,调整输入数据量。
  2.MPEGII系统层分析器。根据MPEG2系统层标准对输入码流的PSI信息进行分析。对提取的各种表格和PID信息进行分类存储。同时按照SNMP定义的数据结构类型重组数据,根据需要刷新数据,将结果提交给ETR290错误事件触发进程。
  3.ETR290错误监测进程。按照ETR290的标准进行三个优先级分析和统计。根据系统时钟分析实时信息如PCR抖动延时,信息插入间隔等。将分析结果的数据存储成数据结构提交给通信模块。通过预先设计的故障模式实现故障提示和报警。故障模式通过软件设定可以是单个ETR290的错误产生一个报警,也可以是一组错误产生一个报警。太多的错误报警会导致信息堵塞,因此,将相关的错误组合成一个高级的报警信息将有利于问题的判断。
  4.通信服务进程。按照TCP/IP协议和SNMP协议完成以太网的传输控制设计。数据输出按照标准的SNMP协议将统计信息数据库和分析数据库输送到服务器端。同时,通过TCP或UDP协议进行控制命令通信。SNMP传输的统计信息数据可以利用外挂的分析软件进行语义分析。不过要求同时传输硬件本地时钟信息作为参考信息。也可以通过控制台窗口直接显示分析数据。一旦在通信服务中添加WEB SERVER功能,则可通过浏览器在本地直接显示分析结果。
  本文结论
  嵌入式的码流分析设计是完全可行和有效的。目前大部分功能已经实现。FPGA的设计采用VHDL语言结构,分析软件采用C++语言,RTOS操作系统也可在不同的硬件之间移植;因此,设计可以在不同的硬件平台上实现。这为成本的控制留下了灵活的空间。本设计目标不是取代传统的码流分析设备,而是作为一种补充。目前设计的实时分析能力有限,分析数据刷新在500ms左右。但是,提高FPGA的工作频率和性能,选用高速SDRAM就可以迅速提高工作性能。所以,性能的提升和功能的扩展都有广阔的前景。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-6-16 03:36 , 耗时 0.082835 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表