本文将C2H技术应用于视频监控系统的数据存储功能部分,有效的加快了数据的读写速度,使系统的性能得到大幅度的提升。
1、C2H技术介绍
1.1C2H的特点
C2H是一种可以直接对ANSIC函数定制硬件加速的技术,在推出短短的一年时间内就得到了嵌入式及FPGA设计者的广泛使用。C2H编译器能分析程序要加速实现的存储器接口类型,生成硬件加速器逻辑以及合适的Avalon(总线互联架构)的主机和从机接口,达到与存储器延时的匹配。这样,分担了处理器的数据计算和存储器访问任务,使处理器能够更好的处理其他任务。数据表明,与未采用C2H加速的系统相比,采用NiosIIC2H编译器加速的系统性能提高了10到45倍,而耗费的逻辑资源仅比处理器本身多出0.7至2.0倍。NiosIIC2H编译器是基于Eclipse的NiosII集成开发环境(IDE)中的一个插件。同时,C2H编译器具有识别并行运行事件的功能,能在硬件中同时运行相互独立的事件。与前面结果无关的事件将被尽早的执行。软件调用以线程的方式进行加速——每个加速器完全并行运行,真正的多任务系统(CPU,硬件加速器)。
1.2C2H的使用流程
C2H的使用需要进行反复的调试,直到性能符合设计要求。具体流程如下:
(1)在NiosII中开发和调试C程序;
(2)分析C程序,找到最适合加速的部分;
(3)将需要加速的代码段写成一个独立的子函数;
(4)指定这个函数为硬件加速的函数;
(5)在NiosIIIDE中重新编译整个工程;
(6)分析硬件加速的结果,观察C2H*估报告;[nextpage]
2、视频监控系统的设计
设计中选用的是Altera公司生产的CycloneII系列中的EP2c35FPGA。CycloneII系列是低成本嵌入式处理解决方案,具有可以扩展外设集、存储器、I/O的特点。同时Altera公司免费提供NiosII嵌入式处理器。NiosII软核是一个32位RISC嵌入式处理器,性能超过200MIPS,满足当前系统的设计要求。Altera公司提供了一整套针对NiosII软核的SOPC开发工具,轻松实现从底层的硬件设计到上层的软件开发。
2.1视频监控系统的总体设计
本文中设计的视频监控系统的基本构成是现场实时采集图像的摄像机、视频解码芯片AD7181B、视频D/A芯片ADC7123、VGA控制器、Flash、SDRAM控制器及控制核心NiosIICPU。整个系统除A/D和D/A采用专用芯片外,其余部分均在FPGA上实现。视频监控系统的硬件设计框图如下图1所示:
▲
图1系统硬件设计框图
各模块功能描述如下:NiosII软核CPU是32位的RISC嵌入式处理器,为整个系统的中枢;SDRAM,是系统大容量的数据缓冲存储区域;Flash,存储系统的硬件和软件的系统上电配置数据;视频处理模块,实现对视频流的ITU656解码、去隔行、格式转换等功能。
2.2C2H在视频监控系统的应用
下图1.2详细表示出了系统中视频数据流的处理过程。
▲
图2视频数据流处理过程图