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

发布者:熙风细雨最新更新时间:2010-09-24 来源: 微计算机信息 关键字:运动视觉  视频图像  SOPC  FPGA 手机看文章 扫描二维码
随时随地手机看文章

引言

  随着深亚微米工艺的发展, FPGA的容量和密度不断增加,以其强大的并行乘加运算(MAC)能力和灵活的动态可重构性,被广泛应用于通信、图像等许多领域。但是在复杂算法的实现上,FPGA不如嵌入式处理器方便,所以在设计具有复杂算法和控制逻辑的系统时,往往需要和嵌入式处理器结合使用,这就是 SOPC(System on a Programmable chip,可编程片上系统)技术。 SoPC是 SoC和 FPGA结合的产物,由单个可编程重构的芯片完成整个系统的主要功能。SoPC设计灵活多变,可以用原理图,硬件描述语言甚至是 C/C++高级语言进行设计;同时还具有可重构、可裁减、可扩充等特点,升级方便。 SoPC兼备 SoC和 FPGA二者的优点,具有如下特点:

  ●丰富的 IP核资源,包括通用 IP核和专用的 IP核

  ●在系统可编程,设计、编译、下载与调试简单方便

  ●内置嵌入式软核处理器,存储器,外设接口控制器

  ●大量可编程重构的逻辑资源

  ●功能强大的时钟管理电路

  ●支持多种 I/O接口标准

  此外,由于减小了处理器和存储器之间的传输线距离,SoPC无论在速度,还是信号完整性,电磁兼容等方面,比板级系统都有明显的优越性。

1 功能框图

  在数字视频视觉采集与处理板级系统开发的基础上,本文采用 SoPC实现运动视觉处理与控制系统的设计方案。硬件采用 Altera公司 StratixII系列 FPGA,软件开发工具包括 QuartusII,NiosII5.1 IDE,DSP Builder,MegaCore IP Library5.1和 Matlab7.0等。整个 SoPC系统工作原理为:摄像头采集的视频图像数据由图像传感器接口进来;数字信号处理块和数字图像与数字视频处理 IP核完成视频图像的处理,如运动检测、分割、特征提取、压缩等; Nios II嵌入式处理器主要完成整个系统的控制功能;I2C总线用于访问 CMOS图像传感器的内部寄存器;PC机可以通过 USB接口访问 SoPC,如果距离较远的话,可以通过以太网口进行数据的传输;视频图像及其处理后的结果既可以通过外部存储器接口存放在 CF卡, FLASH等存储介质中,也可以通过 LCD显示器接口在液晶显示屏上直接显示。该运动视觉 SoPC的功能框图如图 1所示:

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系统模块,引脚锁定,编译软件开发过程为:

  [page]

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

  CSC(Color Space Convertorr)是 Altera公司提供的 MegaCore IP库文件中的一个专门用于图像色彩空间转换的 IP核,与软件转换相比,其具有明显的速度优势和灵活性:

  ● 每个时钟周期完成一个像素点的转换

  ● 在 Stratix系列 FPGA中,时钟频率大于 200MHz

  ● 支持 RGB和 YCbCr、YUV之间的互换

  ● 用户可以自定义转换矩阵的相关系数

  ● 支持有符号数和无符号数

4 RAM数据缓冲区

  输入输出的数据宽度为 2~32b 4 RAM数据缓冲区 Stratix II系列 FPGA最多包含有 9Mb的片上 RAM。这些 RAM采用 TriMatrix存储结构,包括三种大小的嵌入式存储器块,分别为: 512b的M512块,4Kb的M4K块和512Kb的M-RAM块,每个都可以配置支持各种特性,如单端口 RAM,双端口 RAM,FIFO等,为大存储量应用提供解决方案。

5 外部存储器和外设接口

  Stratix II系列 FPGA为外部存储器的可靠数据传送而进行了优化设计,支持最新的存储接口访问片外存储器。开发人员使用 Stratix II先进的器件特性和可定制的 IP核,能够快速和方便地将各种大容量存储器件集成到复杂的系统设计中。Stratix II支持各种最新的存储接口。Stratix II系列 FPGA片内处理器与外设之间是通过 Avalon交换式总线连接的。 Avalon交换式总线是 Altera开发的一种专用内部连线技术,使用最少的逻辑资源来支持数据总线的复用、地址译码、等待周期的产生、外设的地址对齐、中断优先级的指定等。外设接口可定制的 IP核有 USB、I2C、Ethernet、PCI等控制器,这些 IP核大多是由第三方提供的,可以免费试用,也可支付部分费用购买。本系统采用的 USB2.0控制器和以太网接口控制器均由 Mentor公司提供。

6 时钟管理电路

  Stratix II系列 FPGA具有多达 48个高性能的低偏移全局时钟,它可以用于高性能功能或全局控制信号;多达 12个可编程锁相环( PLL),具有完备的时钟管理和频率合成能力,包括时钟切换、PLL重配置、扩频时钟、频率综合、可编程相位偏移、可编程延迟偏移、外部反馈和可编程带宽。Stratix II有两类通用的 PLL:增强型 PLL和快速型 PLL。增强型 PLL功能丰富,支持外部反馈、扩频时钟、可编程带宽等;快速型 PLL针对高速差分 I/O接口进行了优化,具有动态相位调整( DPA)功能。这些高速时钟网络和丰富的 PLL结合起来,为系统在最小的时钟偏移下工作提供有力的保证。

7 SOPC的其他组成部分

  FPGA配置接口用于 SOPC的配置、编译和在线调试; LCD显示接口可以外接液晶显示屏;报警信号是在检测和识别出运动目标时,发出的声音或光电信号,可用于安防;标准I/O口则是预留的,用于日后的升级扩展。

创新点

  SoPC概念提出以前,电子系统的集成设计主要以板级为主,这种设计方法随着系统时钟频率的不断提高和电路功能的日趋复杂,实现的难度越来越大,电磁干扰和信号完整性问题日益突出。仅靠优化 PCB的布局和布线,已经不能满足高速信号的传输和处理要求。随着半导体工业的不断发展,可编程片上系统以其较高的性能、可靠性,较低的功耗、成本和良好的便携性将成为未来电子产品开发设计的主流。而运动视觉 SoPC更好地解决了板级电路的一系列问题,并可广泛应用于安防监控、视觉导航、智能交通等众多领域,必定会有良好的市场前景。

 

关键字:运动视觉  视频图像  SOPC  FPGA 引用地址:基于SOPC的运动视觉处理系统的设计与实现

上一篇:新型INS/GPS组合导航系统设计
下一篇:辅助全球定位系统(A-GPS)革命及其消费市场

推荐阅读最新更新时间:2024-03-16 10:54

智慧的车越来越离不开FPGA
关于 FPGA 是否会被替代的讨论时常会出现,近期甚至有FPGA企业在推出新产品时会特别强调“无需FPGA知识背景即可上手”,令人怀疑FPGA的未来市场前景。然而,这类诞生于上世纪80年代、在 半导体 极度追求高算力的背景下存在感稍弱的品类,正在汽车向智能化、定制化、新能源化转型的路上崭露头角,呈现出不可替代的作用。 智能座舱定制化需要更高灵活度 “智能座舱是本年度国内车企讨论最多的话题之一。” AMD 大中华区汽车业务系统架构师毛广辉在接受《中国电子报》采访时表示。智能座舱作为直接与用户对话的第一窗口,其设计和体验感直接影响到用户购买意愿。而在实现更优座舱体验的过程中,车厂也发现既有 汽车电子 产品不能完全满足客户需求。
[汽车电子]
采用EEPROM对大容量FPGA芯片数据实现串行加载
    摘要: 通过对比多种FPGA数据加载方式,从可靠性、经济性及PCB设计等几个方面说明了串行加载的优越性,分析了目前串行加载所面临的问题。为解决串行加载新面临的问题,提出了采用EEPROM与9500系列CPLD相结合实现串行加载的构想,并通过实际设计,成功地实现了该构想。     关键词: FPGA CPLD EEPROM 并-串转换 自大规模现场可编程逻辑器件问世以来,先后出现了两类器件,一类是基于SRAM体系结构的FPGA系列,如XILINX公司4000系列和最新的Virtex系列;另一类 基于fastFLASH技术的CPLD器件,如XILINX公司9500系列和Lattic公司的ispLSx
[半导体设计/制造]
FPGA的光纤通道接口控制芯片设计
   引 言   作为通道技术和网络技术结合的产物,光纤通道(fibre channel)是一种具有高实时性、高可靠性、高带宽,高性价比的开放式网络。任何需要接入到光纤通道网络的设备都需要相应的网络接口卡(NAC),而网络接口卡的核心是接口控制芯片。目前市场上商用的光纤通道接口控制芯片寥寥可数且价格昂贵,并且核心技术都掌握在国外公司;而军用的光纤通道接口控制芯片更由于众所周知的原因在市场上根本就买不到。因此,根据光纤通道标准设计出拥有自主知识产权的光纤通道网络接口控制芯片,对于我国的经济和军事发展具有极其重要的意义。   由于光纤通道标准是一簇十分庞大而复杂的协议,不同的特性适用于不同的应用环境;又因为光纤通道标准目前仍处于发
[嵌入式]
<font color='red'>FPGA</font>的光纤通道接口控制芯片设计
基于FPGA低成本数字芯片自动测试仪的完整方案
项目背景及可行性分析 项目名称:基于FPGA低成本 数字芯片自动测试仪 的研发 研究目的:应用V ertexⅡ Pro 开发板系统 实现对 Flash存储器 的功能测试。 研究背景: 随着电路复杂程度的提高和尺寸的日益缩减,测试已经成为迫切需要解决的问题,特别是进入深亚微米以及高级成度的发展阶段以来,通过集成各种IP核,系统级芯片(SoC)的功能更加强大,同时也带来了一系列的设计和测试问题。 测试是VLSI设计中费用最高、难度最大的一个环节。这主要是基于以下几个原因: 1、目前的IC测试都是通过ATE(自动测试仪)测试平台对芯片施加测试的。由于ATE的价格昂贵(通常都是几百万美元每台),因此测试成本一直
[测试测量]
基于<font color='red'>FPGA</font>低成本数字芯片自动测试仪的完整方案
Cray-1 随 FPGA“复兴”
1976 年,迪斯科还大行其道,冷战正处于高潮,而我要到 9 年之后才出生。那年,正是 Cray-1 在计算机领域大显身手之际,个人计算当时还处于发展的初期(MITS Altair 一年前刚刚推出),同时 Control Data 和 IBM 等公司统领高端市场。Cray-1 是人们印象中用于定义“超级计算机”的传奇机器之一。其采用独特的 C 型结构,运行速度高达惊人的 80 MHz,桌面电脑直到 20 年之后才能达到这样的速度。Cray 速度快,也极富吸引力。 现在,让我们把时间快进到 33 年后,那是 2009 年初的一个清晨,我起床后也想拥有一台 Cray 超级计算机。 我首先要回顾一下基于 FPGA 的复古计算机技术。
[嵌入式]
Cray-1 随 <font color='red'>FPGA</font>“复兴”
Ports模式下CY7C68013和FPGA的数据通信
引言 通用串行总线(USB)具有快速、双向、大批量传输、廉价以及可实现热插拔等优点,Cypress公司的FX2系列芯片之一CY7C68013是最早符合USB2.0标准的微控制器,集成了符合USB2.0的收发器、串行接口引擎(SIE)、增强型8051内核以及可编程的外围接口,实现基于USB2.0的接口数据通信,CY7C68013可配置成3种不同的接口模式;Ports(端口模式)、GPIF Master(可编程接口模式)和Slave FIFO(主从模式),其中,后两种模式利用其内部集成的可以独立于微处理器而自动处理USB事务的硬件(USB核),数据的传输通过执行USB本身的协议来完成,微处理器可不参与数据传输,从而使数据的传输速率大
[工业控制]
Lattice:CrossLinkPlus是针对亚太市场推出的高集成桥接方案
日前,在莱迪思半导体(Lattice)CrossLinkPlus FPGA新品发布会上,介绍了全新CrossLinkPlus产品,拥有集成闪存、一个硬MIPI D-PHY、可实现面板瞬时显示的高速I/O以及灵活的片上编程特性。此外莱迪思还提供现成的IP和参考设计来加速实现和增强传感器与显示器的桥接、聚合和分屏功能,这些是工业、汽车、计算和消费电子等应用的常用功能。 在发布会现场,Lattice副总裁兼亚太区总经理徐宏来代表Lattice CEO强调,该新品是由亚太区提出的产品需求,也是针对亚太市场推出的产品,未来Lattice的产品规划及研发方向,都会考虑亚太区的意见,这足见Lattice对于中国及亚太市场的重视程度。 徐宏来同时
[嵌入式]
NiosⅡ系统Avalon总线PWM设计
在NiosⅡ系统的构建过程中,SoPC Builder开发环境集成了许多常用类型的设备模型,供开发者调用。在日新月异的嵌入式系统设计中开发环境所集成的接口设备是非常有限的,有时无法满足开发者的需要,SoPC Builder开发工具允许用户依据规则扩展自己的所需设备,完成系统的设计和开发,开发者按照Avalon总线规范将设备驱动程序集成到SoPC Builder的硬件抽象层(HAL)中,在SoPC Builder环境下加载使用,方便了用户开发一个自定制的片上系统。本文通过在NiosⅡ嵌入式系统内部集成了基于Avalon总线的脉冲宽度调制(PWM)从外设,介绍了自定制Avalon设备的过程。将其应用在嵌入式智能小车监控系统,为采用N
[嵌入式]
NiosⅡ系统Avalon总线PWM设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新安防电子文章

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 视频监控 智能卡 防盗报警 智能管理 处理器 传感器 其他技术 综合资讯 安防论坛

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved