采用图像传感器的CPLD视觉系统设计方法

发布者:yanfeng00最新更新时间:2018-02-21 来源: eefocus关键字:图像传感器  CPLD  视觉系统 手机看文章 扫描二维码
随时随地手机看文章

  目前,关于视觉系统的研究已经成为热点,也有开发出的系统可供参考。但这些系统大多是基于PC机的,由于算法和硬件结构的复杂性而使其在小型嵌入式系统中的应用受到了限制。上述系统将图像数据采集后,视觉处理算法是在PC机上实现的。随着嵌入式微处理器技术的进步,32位ARM处理器系统拥有很高的运算速度和很强的信号处理能力,可以作为视觉系统的处理器,代替PC机来实现简单的视觉处理算法。下面介绍一种基于ARM和CPLD的嵌入式视觉系统,希望能分享嵌入式视觉开发过程中的一些经验。

      1  系统方案与原理

  在嵌入式视觉的设计中,目前主流的有以下2种方案:

方案1图像传感器+微处理器(ARM或DSP)+SRAM
方案2图像传感器+CPLD/FPGA+微处理器+SRAM

  方案1系统结构紧凑,功耗低。在图像采集时,图像传感器输出的同步时序信号的识别需要借助ARM的中断,而中断处理时,微处理器需要完成程序跳转、保存上下文等工作[1],降低了图像采集的速度,适合对采集速度要求不高、功耗低的场合。

  方案2借助CPLD来识别图像传感器的同步时序信号,不必经过微处理器的中断,因而系统的采集速度提高,但CPLD的介入会使系统的功耗提高。

  为了综合以上2种方案的优势,在硬件上采用“ARM+CPLD+图像传感器+SRAM”。该方案充分利用了CPLD的可编程性,通过软件编程来兼有方案1的优势,具体体现在以下方面:

  ① 功耗的高低可以控制。对于功耗有严格要求的场合,通过CPLD的可编程性将时序部分的接口与ARM的中断端口相连,仅仅是组合逻辑的总线相连,可以降低CPLD的功耗从而达到方案1的效果;对于采集速度要求高而功耗要求不高的情况,可以充分发挥CPLD的优势,利用组合与时序逻辑来实现图像传感器输出同步信号的识别,并将图像数据写入SRAM中。
  ② 器件的选择可以多样。在硬件设计上,所有总线均与CPLD相连;在软件设计上,不同的模块单独按功能封装。这样以CPLD为中心,系统的其他器件均可更换而无需对CPLD部分程序进行改动,有利于系统的功能升级。

  作为本系统的一种应用,开发了视觉跟踪的程序,可以在目标和背景颜色对比强烈的情况下对物体进行跟踪。通过对CMOS摄像头采集来的数据进行实时处理,根据物体的颜色计算出被追踪物体的质心坐标。下面分别描述系统各部分的功能。

2  系统硬件

2.1  硬件组成及连接

  系统的硬件主要有4部分:CMOS图像传感器OV6620、可编程器件CPLD、512 KB的SRAM和32位微处理器LPC2214。

  OV6620是美国OmniVision公司生产的CMOS图像传感器,以其高性能、低功耗适合应用在嵌入式图像采集系统中,本系统图像数据的输入都是通过OV6620采集进来的;可编程器件CPLD采用ALTEra公司的EPM7128S,用Verilog硬件编程语言在QUARTusII下编写程序;作为系统的数据缓冲,SRAM选用的是IS61LV5128,其随机访问的特性为图像处理程序提供了便利;而LPC2214在PLL锁相环)的支持下最高可以运行在60 MHz频率下,为图像的快速处理提供了硬件支持。

  OV6620集成在一个板卡上,有独立的17 MHz晶振。输出3个图像同步的时序信号:像素时钟PCLK、帧同步VSYNC和行同步HREF。同时,还可以通过8位或16位的数据总线输出RGB或YCrCb格式的图像数据。

  在硬件设计上,有2个问题需要解决:

  ① 图像采集的严格时序同步;
  ② 双CPU共享SRAM的总线仲裁。

  解决第一个问题的关键在于如何实时、准确地读取OV6620的时序输出信号,据此将图像数据写入SRAM中。这里采用的解决方案是用CPLD来实现时序信号的识别以及图像数据的写入。CPLD在硬件上可以识别信号的边沿,速度更快,通过Verilog语言编写Mealy状态机来实现图像数据的SRAM写入,更加稳定。

  对于双CPU共享SRAM,可以通过合理的连接方式来解决。考虑到CPLD的可编程性,将OV6620的数据总线,LPC2214的地址、数据总线以及SRAM的总线都连接到CPLD上。通过编程来控制总线之间的连接,只要在软件上保证总线的互斥性,即在同一时刻有且仅有一个控制器(CPLD或者LPC2214)来操作SRAM的总线,就可以有效地避免总线冲突。这样,硬件上的仲裁就可以通过软件来保证,该过程可以通过在CPLD中编写多路数据选择器来实现。

  各器件之间的连接关系如图1所示。

按此在新窗口浏览图片
图1  系统结构框图

  由图1可见,微处理器的总线接在CPLD上,在对功耗有严格要求的场合中,只需要在CPLD中,将OV6620的同步时序信号所对应的引脚与LPC2214连接在CPLD上的中断引脚相连,系统就可以转换成方案1的形式。对CPLD而言,引脚相连的仅仅是组合逻辑,降低了功耗。方案1的具体工作过程可见参考文献[1]。而对于采集速度要求较高的场合,CPLD部分的程序源代码见本刊网站按此在新窗口浏览图片
图2  OV6620输出时序图

  在Verilog语言中,对上升沿的检测是通过always语句来实现的。例如检测时钟信号cam_pclk的上升沿:按此在新窗口浏览图片
图3  行处理得到的线形图

  根据得到的结果,可以计算出更多关于跟踪物体的信息:

① 计算区域面积。计算每条线段的长度l(n),然后将l(n)进行累积叠加,即可获得跟踪区域面积值S。

按此在新窗口浏览图片

② 计算质心横坐标。

按此在新窗口浏览图片

③ 计算质心纵坐标。

按此在新窗口浏览图片

④ 识别物体的形状。根据得到的每行跟踪点的长度,以及同一行中有几段符合要求的连续跟踪点,可以得知物体从摄像头角度看到的形状。特别是在检测平面上线条时,可以识别是否有分支,这一点是帧处理模式无法做到的。

  需要指出的是,行处理模式虽然会得到关于跟踪目标的更多信息,但是每行处理的方式增大了处理器的负担,处理速度也没有帧处理快。

      4  提高系统的工作速率

  目前,系统工作在帧处理模式下的工作速率是25帧/s,作为系统功能的验证,这里采用的算法是颜色跟踪。如果仅做纯粹的图像采集,而不做图像处理,那么系统可以达到OV6620的最高工作速率,即60帧/s。而在图像处理方面,不同的图像处理程序效率对系统的工作频率有较大的影响。下面给出在通用ARM处理器下提高程序效率的几个建议:

  ① 内嵌(inline)可通过删除子函数调用的开销来提高性能。如果函数在别的模块中不被调用,一个好的建议是用statIC标识函数;否则,编译器将在内嵌译码里把该函数编译成非内嵌的。
  ② 在ARM系统中,函数调用过程中参数个数≤4时,通过R0~R3传递;参数个数>4时,通过压栈方式传递(需要额外的指令和慢速的存储器操作)。通常限制参数的个数,使它为4或更少。如果不可避免,则把常用的前4个参数放在R0~R3中。
  ③ 在for(), while() do…while()的循环中,用“减到0”代替“加到某个值”。比如:

  for (loop = 1; loop <= total; loop++) //ADD和CMP
  替换为:for (loop = total; loop != 0; loop--) //SUBS

  第1种方式比较需要2条指令ADD和CMP,而第2种方式只需一条指令SUBS。

  ④ ARM核不含除法硬件,除法通常用一个运行库函数来实现,运行需要很多个周期。一些除法操作在编译时作为特例来处理,例如除以2的操作用左移代替余数的操作符“%”,通常使用模算法。如果这个值的模不是2的n次幂,则将花费大量的时间和代码空间避免这种情况的发生。具体办法是使用if()作状态检查。

  比如,count的范围是0~59:
  count = (count+1) % 60;
  用下面语句代替:
  if (++count >= 60) 
  count = 0;

  ⑤ 避免使用大的局部结构体或数组,可以考虑用malLOC/free代替。
  ⑥ 避免使用递归。

  结语

  本文介绍了一种基于ARM和CPLD的嵌入式视觉系统,可以实现颜色跟踪。在硬件设计上,图像采集和图像处理分离,更利于系统功能的升级。而视觉处理算法更注重处理的效率和实时性,同时根据不同的需要有两种模式可供选择。最后给出了提高程序效率的一些建议和方法。与基于PC机的视觉系统相比,该系统功耗低、体积小,适合应用于移动机器人等领域。


关键字:图像传感器  CPLD  视觉系统 引用地址:采用图像传感器的CPLD视觉系统设计方法

上一篇:嵌入式实现地铁杂散电流监测装置
下一篇:嵌入式系统U盘实时启动技术

推荐阅读最新更新时间:2024-03-16 15:55

视觉系统在汽车门锁检测中的应用
  1 引言   汽车门锁具有型号规格多, 结构差异大, 检测项目多,部分结构松散易变形的特点;汽车门锁装配检测生产线要求设备检测速度快、故障率低,并允许产品检测内容具有一定的扩展性。   过去大多采用将检测项分解到各分站分别检测的办法,这往往造成各分站设备结构复杂,操作繁琐,设备设计周期长, 故障率高等缺陷, 而且因车锁结构松散不宜接触, 某些检测需要依靠人工目测, 不仅操作员劳动强度大, 而且因存在人工因素, 容易出错。   随着工业化生产的发展,自动化设备的制造水平也日益提高,机器视觉(以下简称视觉)系统的引入很好地解决了这些问题。   2 视觉技术简介   视觉技术就是用机器代替人眼来做测量和判断,它通过
[嵌入式]
豪威集团2022年国际消费电子展演示首款图像传感器系统
豪威集团在2022年国际消费电子展上演示业界首款用于汽车前视摄像头系统的800万像素图像传感器系统 由赛灵思MPSoC和Motovis IP协助打造的OX08B40提供更大的检测范围和更宽的视角,让汽车驾驶辅助系统更加安全 拉斯维加斯–2022年1月5日–豪威集团,全球排名前列的先进数字成像、模拟、触摸和显示技术等半导体解决方案开发商,当日在2022年国际消费电子展上首次演示了800万像素汽车前视摄像头系统。 该系统采用新一代OX08B40 CMOS图像传感器,由赛灵思MPSoC和Motovis IP协助打造。 此次现场概念验证演示突显出这个分辨率更高的800万像素系统能够实现更大的检测范围和更宽的视角。 “我们
[传感器]
豪威集团2022年国际消费电子展演示首款<font color='red'>图像传感器</font>系统
利用可编程逻辑器件设计有限冲激响应滤波器
1 引 言   一个模拟集成运算放大器可实现一个二阶滤波器,高阶滤波器可由二阶滤波器串联而成。然而,无源元器件实现滤波器的误差值为1.5%或更高,这需要提高元器件的性能。滤波器的典型的调试方法是不断的更换元器件值。而且,运算放大器要获得高的增益带宽,需要相位漂移保持最小或要保持闭环系统的稳定,这必然增加工程中实现滤波器的难度。   随着数字信号处理的发展,数字滤波器比传统的模拟滤波器在设计的选择中更有吸引力。因为数字系统的信号是数字量,他相对于模拟滤波器更容易进行滤波代数运算。而且,数字滤波器没有模拟滤波器随时间、温度、电压漂移的优点。他能很容易地实现过滤低频信号的设计目的。还有,数字滤波器能实现近似的理想响应和线性的相位。
[半导体设计/制造]
英飞凌携手pmd,共同推出超长测量距离3D图像传感器
游戏、虚拟电子商务、3D线上教育等应用,采用 3D 深度传感器打造沉浸式增强现实(AR)体验,连接现实与数字世界,且市场需求强劲。英飞凌科技股份公司(FSE:IFX/OTCQX:IFNNY) 与 pmdtechnologies携手开发采用飞行时间 (ToF) 技术的 3D深度传感器,其性能远高于市场上的其他解决方案,主要面向能够以创新的方式普遍为消费者带来易用性的各种应用。至 2024 年,后置摄像头搭载 3D 传感器的智能手机出货量预计将达到每年 5 亿部以上。 英飞凌资深副总裁 Philipp von Schierstaedt 表示:“英飞凌和pmdtechnologies 最新推出的 3D图像传感器可实现新一代应用。其目
[传感器]
突破智能相机与嵌入式机器视觉系统的边界
机器视觉在智能工厂中扮演着重要的角色,可以有效增加产能、提升产品合格率。在选择小型机器视觉系统时,传统工业智能相机的优势是体积小、集成度高、便于开发使用;嵌入式机器视觉系统的优势则在于配置相当弹性,可配备较高等级的CPU处理器,支持多通道相机,以及具备高扩展性。是否有更新型态的小型机器视觉系统,可以兼具两者的优点,同时具备降低成本,满足需求越来越严苛与快速的视觉应用考验?本文将带您从系统选择、软硬件整合与成本考虑等方面一一剖析。 小型机器视觉系统概述 随着智能工厂概念的兴起,机器视觉系统能够提升产能与确保产品质量,因而在智能工厂的配置中,扮演能够达到系统成功导入的重要角色。其中小型机器视觉系统以其体积小,集成度高等优势备受
[嵌入式]
CPLD为控制核心16位高精度数字电压表设计
   1 引言   CPLD ( Complex Programmable Logic Device ) 是新型的可编程逻辑器件,与传统ASIC相比,具有设计开发周期短、设计制造成本低、开发工具先进等优点,特别适合于产品的样品开发和小批量生产。传统的数字电压表多以单片机为控制核心,芯片集成度不高,系统连线复杂,难以小型化,尤其在产品需求发生变化时,不得不重新布版、调试,增加了投资风险和成本。而采用CPLD进行产品开发,可以灵活地进行模块配置,大大缩短了开发周期,也有利于数字电压表向小型化、集成化的方向发展。    2系统原理及组成   系统组成原理框图如图1所示。系统的控制核心是一片CPLD芯片,它由三个功能模块构成: A/
[嵌入式]
<font color='red'>CPLD</font>为控制核心16位高精度数字电压表设计
Altera增强MAX II系列,拓展其CPLD应用
Altera公司今天宣布,提供工业级温度范围以及功耗更低的MAX IIZ器件,从而进一步增强了MAX II® CPLD系列。MAX IIZ CPLD完美的结合了逻辑密度、I/O和小外形封装,静态功耗降低了55%,非常适合低成本和低功耗应用。这些新功能拓展了MAX IIZ CPLD的市场应用,例如工业、计算机和办公自动化、医疗和消费类等领域。 Altera公司器件产品市场资深总监Luanne Schirrmeister评论说:“Altera第一次在市场上推出MAX IIZ CPLD时,主要是面向便携式和手持式设备。通过提供工业级温度范围以及功耗更低的MAX IIZ CPLD,Altera帮助设计人员减小了电路板面积和功
[嵌入式]
思特威推出1600万像素手机图像传感器新品SC1620CS
2024年3月14日,中国上海 — 思特威(上海)电子科技股份有限公司, 推出Cellphone Sensor(CS)Series手机应用1600万像素图像传感器升级新品——SC1620CS 。作为1.0μm像素尺寸背照式(BSI)图像传感器,SC1620CS基于思特威SmartClarity®-3技术打造,搭载思特威先进的小像素尺寸技术SFCPixel-SL®,集优异的高感度、高动态范围、低噪声等性能优势于一身,为智能手机后置主摄、后置超广角及前摄应用提供优质影像。 低噪声高动态范围,兼顾日夜场景拍摄 为满足智能手机面对多样光线场景的拍摄需求, SC1620CS搭载思特威先进的SFCPixel-SL®技术,通过创新的像
[传感器]
思特威推出1600万像素手机<font color='red'>图像传感器</font>新品SC1620CS
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

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