基于FPGA与色敏传感器的颜色识别系统

发布者:幸福家园最新更新时间:2009-09-22 来源: 孙涛 耿立华 李子扬 李哲英关键字:FPGA  色敏传感器  颜色识别  NioslI  CLS9032 手机看文章 扫描二维码
随时随地手机看文章

  1 概 述

  在当今的社会生活中,颜色识别得到越来越广泛的应用。各个领域的广泛应用需求使颜色识别技术有了长足的发展,结合其他技术,可为工业控制、产品制造等多个行业更好地服务。目前,颜色识别技术主要是通过结构简单、使用方便的单片机来实现,而本设计选用FPGA来实现,该系统可应用于印染、油漆、汽车等行业,也可以装在自动生产线上对产品的颜色进行监测。这样选择的好处有以下几点:

  ①FPGA芯片是并行运算的,每个振荡周期都可以执行任务,而单片机(如8051系列)的每条指令都需要12个振荡周期。例如,单片机I/O端口的变化最快也需要24个振荡周期,而FPGA只需要2个振荡周期,所以同样的振荡周期下,FPGA速度更快。

  ②FPGA有丰富的I/O资源(一般有数百个I/O口),容易实现大规模系统,可以方便地连接外设(比如多路A/D、D/A等)。而单片机的I/O口有限,要进行仔细的资源分配、总线隔离。

  ③FPGA可以进行硬件重构,在功能扩展或性能改善方面也非常容易。

  本设计选用了Altera公司的:NioslI软核,使用SOPC的软硬件综合解决方案。与传统的设计方法完全不同,从硬件和软件整体设计上进行了极大的改进,使硬件电路更加简单、有效、易于理解,软件设计更轻松、可移植性更强。

  2 设计原理

  如图1所示,颜色识别系统主要由模拟和数字两部分组成。模拟部分主要用来转换光电信号、放大信号和滤除噪声。数字部分主要用来对A/D采样进来的数字信号实现中值滤波、查对数表、求对数比,以及显示等操作。

颜色识别系统总体框图

  3 模拟部分

  3.1 颜色采集模块

  本设计中采用的色敏传感器是CLS9032。该传感器有2个垂直连接的PN结,其厚度可以给色敏传感器起到一个光学滤波器的作用。波长较短的光在硅的表面就被吸收了,而波长较长的光到达深一些的位置才会被吸收。基于这种光谱的敏感性,根据光的波长来选择信号(颜色)。使用2个光电二极管之间的对数电流比作为信号处理的方法。不同颜色的光照射时,该色敏传感器红、绿、蓝区3个引脚都会输出电流信号,但是相应颜色的引脚输出的电流信号会比其他引脚输出的电流信号强。利用这种原理能够有效地避免外界环境造成的输出电流的起伏,因此这种器件具有较高的可靠性。

  在距离色敏传感器1.5 cm处,分别用红、绿、蓝3种颜色的光源直接照射,检测经过模拟部分处理后的输出电压信号。实际测试数据如表1所列。

RGB三个通道输出的电压[page]

  3.2 放大模块

  图2是模拟部分制成PCB后的实物图。选取了有代表性的红、绿、蓝3种颜色,分别用相应颜色的发光二极管来代表。使颜色识别系统有充足的光线照射,便于探测。

模拟部分制成PCB后的实物图

  色敏传感器负责把不同颜色的光信号转换成电流信号,但是电流信号只是几十到几百nA的数量级,需要放大电路来放大到所需要的程度。不同颜色产生的微弱电流信号传送到对应的线路通道上,通过以下3级放大,把nA级的电流信号转换成V级的电压信号。具体电路如图3所示。

3级放大电路

  ①第1级是在电流放大的模式下工作,运放选用高精度、低噪声的高精密运放OP177。经过放大的信号大致能达到几十mV。这个幅度的电压还太小,不能输入到数字系统,因此还要对电压信号进行进一步的放大。

  ②第2级放大为同相的电压放大,选用高精度的集成运放OP07。放大后的电压幅度大致为几百mV,且放大的输出为负。

  ③第3级放大要采用反相的电压放大,运放同样选用OP07。输出的信号幅度为几伏,能够满足输入数字系统的要求。

  3.3 滤波模块

  经过放大后的直流信号,因为有噪声的干扰,还有一些毛刺。经过查阅参考文献和实际的实验测试,最终采用20 Hz二阶有源低通滤波器,可以为后面的级联使用提供干净的信号。

  4 数字部分

  本次设计的核心地方是数字部分,系统的搭建是基于Altera公司的NiosII处理器。

  电压信号经过滤波处理,被传送到A/D转换器,经过A/D转换得到数字信号,为数字部分对信号的识别处理作准备。根据所选用的色敏传感器的工作原理,用 SOPC系统进行控制,对3路模拟电路信号进行同步的A/D转换以增强系统准确性。在保证可靠性和精度的前提下,为降低系统成本,满足对输入数字信号倍数的要求,A/D转换器选用8位串行输出的ADC0809转换器。采用NiosII软核搭建的FPGA系统处理数字信号,主要经过以下操作:

  ①中值滤波,进一步去除干扰信号;

  ②查对数表,查数据所对应的对数值;

  ③求对数比,对分别采集到的2个数据求对数比,为判断是哪种颜色提供依据;

  ④显示颜色识别结果,亮不同的灯来表明所识别出来的不同颜色。[page]

  4.1 硬件设计

  在FPGA芯片上搭建一个NiosII处理器系统,包括可配置的NiosIICPU软核、与CPU相连接的片内设备和存储器,以及与片外设备和存储器相连的接口等。

  NiosII处理器是Altera公司的第二代用户可配置的通用32位RISC软核微处理器,是Altera公司特有的基于通用FPGA架构的CPU软核。NiosII系统是在。NiosII处理器基础上添加片上(FPGA)设备、存储器以及片外设备和存储器接口所组成的系统。Ni-osII具有明显的优势:

  ①NiosII处理器具有灵活的外设配置和地址映射。由于NiosII处理器和片上设备及接口具有软核特性,设计者可以为设计目标量身定做合适的 NiosII处理器系统,既可以增加CPU的功能,提高处理器的系统性能,也可以对不必要的处理器性能和外设进行剪裁,以满足低成本的小型系统设计。另外,访问存储器和外设的软件一般与地址分配无关。

  ②NiosII系统可以自动创建,Altera的SOPC Biulder设计工具使处理器的配置全自动完成,能自动产生并编程FPGA的硬件设计。系统的创建不需要设计者进行任何的底层原理图和硬件描述语言(HDL)设计。

  ③NiosII处理器系统可以定制指令,从而增强系统的性能。

  正是基于这些优点,本设计最终选用NiosII处理器系统来完成颜色信号的处理和识别。如图4所示,NiosII处理器系统的片上系统包括NiosII CPU、片上RAM、定时器、ADC接口、Avalon总线、Avalon三态桥、PIO、JTAGUART等部分。另外,在片外扩展了Flash(用来存放程序和相应的数据)和SSRAM(相当于内存)。

NiosII处理器系统框图

  具体器件的选择如表2所列。

具体器件的选择

  ⑤比较计算值与预存颜色值,即可实现对各种颜色的识别;比较计算值与不同时间值,即可实现对颜色变化的识别。

  在使用过程中,总有某些时刻系统处于非探测工作期。但此时系统还处于工作状态,SOPC还会控制A/D转换器进行采样,而SOPC本身也会对转换后的数字信号进行处理,并产生有色差的警报。为了消除这种误报警,需控制放大器的放大倍数。相差几十nm的入射光经过放大后,其电信号的差值很大,经A/D转换后的数值会溢出或接近溢出。利用这一特性,设定一个上限值,如果数值比这个上限值大,则系统做出非探测工作期的判断,程序重新开始执行。

  结 语

  随着新技术、新材料的不断涌现,在现代化工业生产中,颜色识别系统的应用越来越多,也越来越复杂。以色敏传感器为探测器,使用内嵌NiosII软核处理器的FPGA作为运算、控制核心的颜色识别系统,具有结构简单、可靠性高、使用方便、扩展性强等优点。利用FPGA快速强大的处理功能,能够快速、准确地实现颜色的识别。利用现代信息融合技术,采用新型、高灵敏、响应快的色敏传感器,一定能使颜色识别更加精确、更加可靠。

关键字:FPGA  色敏传感器  颜色识别  NioslI  CLS9032 引用地址:基于FPGA与色敏传感器的颜色识别系统

上一篇:赛灵思实现对多通道杜比数码专业编码功能的支持
下一篇:基于CPLD的OMA-L137与ADS1178数据通信设计

推荐阅读最新更新时间:2024-05-02 20:52

第三方软件快速实现FPGA嵌入式系统设计
FPGA问世已经超过20年,现在FPGA在复杂逻辑电路以及数字信号处理领域中扮演着越来越重要的角色,SoC以其低功耗、高性能、低成本、高可靠性等优点成为嵌入式系统的发展趋势。不过,对于很多设计者来讲这还是“新鲜事物”。学习并掌握一项新的技术或具备某种能力,比如学习FPGA开发技术并将其应用到实际系统中,这是一项艰巨任务。Altium Designer 提供了一种简单轻松的方法,可以帮助软/硬件工程师共同应对FPGA嵌入式系统开发的挑战。Altium designer拥有强大的嵌入式系统设计功能以及非常便捷的设计流程,它在FPGA 及嵌入式智能方面有如下优势: 1) 完整功能、统一的设计环境   a) 简单易
[嵌入式]
第三方软件快速实现<font color='red'>FPGA</font>嵌入式系统设计
IBERT在FPGA中的应用
    随着高速数字系统的发展,高速串行数据被广泛使用,内嵌高速串行接口的FPGA也得到大量应用,相应的高速串行信号质量的测试也越来越频繁和重要。通常用示波器观察信号波形、眼图、抖动来衡量信号的质量,Xilinx提供的IBERT(Integrated Bit Error Ratio Tester)作为一种高速串行信号测试的辅助工具,使得测试更便捷,其具有不占用额外的I/O管脚和PCB空间、不破环接口信号的完整性、无干扰、使用简单和价格低廉等特点。 1 IBERT简介     IBERT是Xilinx提供用于调试FPGA芯片内高速串行接口比特误码率性能的工具,具备实时调整高速串行接口的多种参数、与系统其他模块通信及测量多通道误比特率等
[单片机]
IBERT在<font color='red'>FPGA</font>中的应用
中低密度芯片覆盖汽车应用,高云半导体高密度FPGA展望ADAS
11月3日至5日, 2020慕尼黑华南电子展盛大开幕,作为慕尼黑展唯一的视频直播合作方,电子发烧友网记者在展会期间,通过现场直播方式采访了汽车电子领域内众多企业,就相关的行业、技术、市场和产品等话题进行了广泛的交流。 广东高云半导体科技股份有限公司是一家拥有完全自主知识产权的国产 FPGA 厂商,公司致力于提供FPGA芯片、软件、IP、参考设计、开发板以及FPGA整体解决方案。公司核心研发成员来自于 Lattice , Altera , Can dence等全球知名公司,平均具备15年以上的FPGA软硬件研发经验,熟悉从产品架构,模块设计到软硬件一体化全自主开发流程。 在 5G 与人工智能的促进下,汽车电子行业虽然在今年早期受到
[汽车电子]
中低密度芯片覆盖汽车应用,高云半导体高密度<font color='red'>FPGA</font>展望ADAS
基于DSP Builder数字信号处理器的FPGA设计
DSP技术广泛应用于各个领域,但传统的数字信号处理器由于以顺序方式工作使得数据处理速度较低,且在功能重构及应用目标的修改方面缺乏灵活性。而使用具有并行处理特性的FPGA实现数字信号处理系统,具有很强的实时性和灵活性,因此利用FPGA实现数字信号处理成为数字信号处理领域的一种新的趋势。 以往基于FPGA的数字信号处理系统的模型及算法采用VHDL或VerilogHDL等硬件描述语言描述。但这些硬件描述语言往往比较复杂,而采用Altera公司推出的专门针对数字信号处理器设计工具DSP BuildIer则可大大简化设计过程,提高设计效率。 1 基于DSP Builder的数字信号处理器设计流程 DSP Builder是一个系统级(或者说算
[嵌入式]
基于DSP Builder数字信号处理器的<font color='red'>FPGA</font>设计
10月20日-百度数据中心采用Xilinx FPGA加速机器学习应用
2016年10月20日,北京 All Programmable技术和器件的全球领先企业赛灵思公司(Xilinx, Inc. (NASDAQ:XLNX))宣布,全球领先的中文互联网搜索引擎提供商百度正在采用赛灵思FPGA加速其中国数据中心的机器学习应用。两家公司正合作进一步扩大FPGA加速平台的部署规模。新兴应用的快速发展正日渐加重计算工作的负载,数据中心也因而开始转向采用加速器来满足低时延、高吞吐量的需求,同时保持合理的功耗水平。 赛灵思FPGA所提供的功耗效率让加速器能部署于整个数据中心,而且可将单位功耗性能比提升10-20倍。百度优化的FPGA平台是专门针对图像和语言识别等机器学习应用而精心打造。此外,百度还计划采用这些平台
[嵌入式]
TD-SCDMA系统基带处理的DSP+FPGA实现方案
引言 和传统的CDMA系统相比,第三代移动通信的最大特点在于能支持多种速率的业务,从话音到分组数据,再到多媒体业务,并能根据具体的业务需要,提供必要的带宽,数据处理量非常大。然而,对不同速率业务的基带处理,所需的存储量、运算量以及处理延时差异很大。因此,采用何种硬件结构才能有效地处理各种业务是本文所要探讨的问题。 本文首先介绍TD-SCDMA系统无线信道的基带发送方案,说明其对多媒体业务的支持及实现的复杂性。然后,从硬件实现角度,进行了DSP和FPGA的性能比较,提出DSP+FPGA基带发送的实现方案,并以基站分系统(BTS)的发送单元为例,具体给出了该实现方案在下行无线信道基带发送单元中的应用。 TD-SCDMA基带发送方
[网络通信]
Xilinx宣布弹性计算云F1实例已广泛采用 Virtex UltraScale+ FPGA
2017年4月24日,北京—All Programmable技术和器件的全球领先企业赛灵思公司(Xilinx, Inc.,(NASDAQ:XLNX))今天宣布,其高性能Xilinx® Virtex® UltraScale+™ 系列FPGA现已在亚马逊弹性计算云(Amazon Elastic Compute Cloud,EC2)F1实例中应用。该实例除了利用FPGA提供可编程的硬件加速器之外,还支持用户最佳化他们的计算资源以满足其作业负载的特殊需求。 当亚马逊云端网络服务在云端提供安全且可调整的运算规模时,F1实例让用户利用FPGA部署硬件加速器更容易。因为FPGA具有可编程能力,用户无需重新设计任何硬件,即可拥有充分的灵活性升
[传感器]
FPGA助力高速未来
超级高铁技术是一种十分新潮的交通概念,它有望以其高速、低压系统重新定义移动出行的未来。 超级高铁的核心是在密封管网络中,乘客舱在磁悬浮和电力推进下,以超高速度行驶。 确保如此复杂系统的无缝运行和安全性需要先进的控制和监控功能,而这正是FPGA的用武之地。 FPGA提供无与伦比的灵活性、安全性和高性能,可处理各类复杂任务,包括管理超级高铁网络中的推进、导航和通信等。凭借自身的可重新编程性、行业领先的安全功能和实时数据处理能力,FPGA在优化超级高铁运输系统的效率和可靠性方面发挥着关键作用,为更快、更安全、更可持续的旅行方式铺平了道路。 Swissloop原型车亮相2023年苏黎世公开活动 Swissloop是一个由苏
[嵌入式]
<font color='red'>FPGA</font>助力高速未来
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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