新闻中心

EEPW首页 > 消费电子 > 设计应用 > 基于SOPC的运动视觉处理系统的设计与实现

基于SOPC的运动视觉处理系统的设计与实现

作者: 时间:2011-01-03 来源:网络 收藏

2 视频采集模块

该模块主要负责视频图像的采集,摄像头参数的设置和云台步进电机的控制。其中,通过 I2C总线可以设定摄像头内部控制寄存器。在 FPGA中, I2C总线控制器的途径有两种:一种是在 Nios II中用软件模拟;另一种是采用第三方,比如 Sciworx,CAST,Digital Core Design等公司提供的 IP核。这些 IP核具有工作参数,可以根据需要进行设定。以 CAST公司提供的 I2C总线控制器为例,传输速率最高为 100Kbps,可以工作在 4种模式下,分别是主发送器模式、主接收器模式、从发送器模式和从接收器模式。双路 CMOS图像传感器接口控制视频图像采集的时序,帧同步和行同步;云台控制信号是根据视频图像后的结果,控制云台的两个步进电机的转动。这两个模块需要自己开发,形成具有自主知识产权的 IP核。

  3 视频图像模块

  该模块包括 NiosII 32位嵌入式器,数字信号处理块,数字图像与数字视频处理 IP MegaCore,以及其他一些逻辑电路,这是处理与控制 SoPC的重点和核心,分别分以下几个部分介绍。

  (1) Nios II嵌入式处理器

  Nios II嵌入式处理器是一款通用的 RISC结构的 CPU,它定位于广泛的嵌入式应用。在 Nios II IDE集成开发环境中,按照操作提示添加、设置相关参数,在几分钟之内就能生成一个 Nios II嵌入式处理器。其硬件开发过程为:

  ① 分析系统所要完成的功能、达到的性能

  ② 启动 Builder,选取具体的 FPGA型号

  ③ 定义 CPU,外围器件,存储系统等模块

  ④ 为各个模块分配基地址和中断请求号(IRQ)

  ⑤ 生成 Nios系统模块,引脚锁定,编译软件开发过程为:

  ① 在 Builder中启动 Nios II IDE

  ② 创建 C/C++软件工程,并指定目标硬件

  ③ 利用工程模本编写相应的程序

  ④ 编译后,即可下载到硬件中运行

  Nios II IDE中可以采用 C/C++或者汇编语言进行程序的编写,其文件扩展名分别为 .c和.s。一个单独的 Nios II/f CPU大约需要占用 1800个 LEs,如果再添加一些定时器,外围器件等,那么占用的逻辑单元会进一步增加。

  (2)数字信号处理块

  Stratix II系列 FPGA内部具有数字信号处理块( DSP Blocks,DSP块)。数字信号处理块可以支持不同数据宽度的乘法器( 9×9、18×18、36×36)和操作模式(乘法运算、复数乘法运算、乘加运算和乘法累加运算),每个 DSP块提供了 2.8 GMACS的 DSP数据吞吐量。最大 Stratix II器件 EP2S180内部含有 96个数字信号处理块,能够提供了 284 GMACS的吞吐量,可以支持 384个 18×18乘法器。此外,数字信号处理块增加了新的舍入和饱和支持,便于将 DSP固件代码导入FPGA。一些应用如话音处理,由于存放数据的存储缓冲是固定宽度,可以使用舍入和饱和。现在采用了支持舍入和饱和的数字信号处理块,可以很方便地将 DSP处理器的导入到 FPGA中进行

  在 Altera的可编程器件上进行 DSP系统,需要有同时支持高级的算法和硬件描述语言的开发工具。MathWorks的 MATLAB和 Simulink系统级的设计工具具备了算法开发、仿真、验证能力。Altera的 DSP Builder将这些工具与 Altera的开发工具组合在一起,提供了一个系统设计、算法设计和硬件设计共享的 DSP开发平台。

  (3)视频图像处理

IP核第三方提供有许多应用于通信、图像编解码、视频处理的可定制 IP核。合理地利用这些 IP核,在保证性能与可靠性的同时,可以大大缩短开发时间。下面介绍的是色彩空间转换 IP。



评论


相关推荐

技术专区

关闭