微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > FPGA和CPLD > 基于FPGA和RTOS的嵌入式码流分析设计方案

基于FPGA和RTOS的嵌入式码流分析设计方案

时间:11-09 来源:互联网 点击:
软件结构

软件设计基于一个实时操作系统。目前,有很多商业化的RTOS供选择,同时,也有Altera的第三方开发商提供的可在NIOS上运行的操作系统。本文介绍另外一种完整的嵌入式的实时内核μC/OS-II以及应用程序结构。μC/OS-II源代码绝大部分是用C语言写的,汇编部分只有200行左右。这说明该实时内核可以方便的移植到几乎所有的嵌入式应用类CPU上。事实上它已经被成功的移植在DSP、16/32位MCU上。通过针对堆栈指针、出入堆栈管理、中断控制等汇编的修改,可以将μC/OS-II移植到NIOS的平台上。如图3所示,软件设计基于μC/OS-II操作系统,设计给出了多进程设计的软件设计结构。



下面简单分析不同进程的主要功能:

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就可以迅速提高工作性能。所以,性能的提升和功能的扩展都有广阔的前景。

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

网站地图

Top