基于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嵌入式处理器。其硬件开发过程为:

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

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

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

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

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

  ① 在 SOPC 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。

1 2 3

关键词: 理系 设计 实现 处理 视觉 SOPC 运动 基于

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版