当前位置:首页 > 演讲稿 > 【二维条码图像采集系统的设计与实现】 嵌入式无线图像采集系统设计与实现
 

【二维条码图像采集系统的设计与实现】 嵌入式无线图像采集系统设计与实现

发布时间:2019-06-26 04:04:21 影响了:

  摘 要:基于MCU(微控制器)+FPGA(现场可编程门阵列)的设计方案,本文设计了一种二维条码图像采集系统。采用Verilog HDL语言对Altera的Cyclone系列的EP1C6Q240C8芯片进行设计。SAA7113用于将模拟信号转为PAL制式数字信号。FPGA内部YCbCr转RGB模块将YUV格式转换为RGB格式,UART模块将RGB格式数据输入ADV7123芯片,得到输出三路同步的R、G、B模拟信号。将数据通过VGA接口送显示器显示图像进行验证,然后送到二维条码解码程序。结果显示该系统实现对二维条码图像的采集。
  关键词:现场可编程门阵列;I2C;视频图像阵列;通用异步接收/发送装置
  1引言
  在物联网的信息识别领域中起到最基本和最关键作用的二维条码技术,随着物联网在推动经济发展过程中的兴起, 必将得到广泛应用[1]。二维条码的图像采集在整个二维条码应用占据重要的地位。数字格式的数据便于采集、加工及存储,所以采集模块采集的模拟信号要进行数字化处理。在大部分图像处理系统中,采集图像处理后需要显示出进行前后比较。那么在传输过程中就需要嵌入式系统的CPU不断地对所传输的图像数据信号进行控制这样就造成了CPU资源的浪费,同时系统也变的较为复杂,并且现场还需要依赖电脑专门进行图像显示控制,从而浪费了人力物力资源[2]。本文介绍了一种基于FPGA的图像采集系统,利用FPGA对视频信号进行实时采集,并且用户可以根据需要对FPGA内部的逻辑模块和I/O模块重新配置,以实现系统的重构;而且采用这种设计方案,便于及时地发现设计中的错误,能够有效的缩短研发时间,提高工作效率,同时实际采集到的很多条码图像中往往夹杂有背景信息,所以对于条码图像采集系统的验证对于后期的解码工作必不可少。
  2图像采集系统技术原理[3]
  2.1条码图像采集平台
  图1 系统硬件方框图
  图1为条码图像采集系统硬件方框图,该系统主要由单片机控制模块、通信模块、视频采集及帧缓存模块、数据格式转换模块、VGA显示模块等组成。
  MCU通过通用异步收发器(UART)与FPGA通信,通信成功后收到FPGA的控制命令,后MCU通过I2C协议初始化SAA7113;SAA7113配置成功后,MCU向FPGA发配置成功信号,SAA7113开始工作。此时通过模拟摄像头获取到的模拟电信号经过视频解码芯片SAA7113后转换为标准的逐行倒相(PAL)制式数字信号。由于数据量过大,所以先由FPGA控制送入帧缓存FIFO中存储,再读入FPGA中进行格式转换,转换为标准的RGB格式(各8位),然后将该RGB数据送往一个三路的数模转换器,最后得到三路同步的R、G、B模拟信号,作为显示源,通过VGA接口送显示器显示验证,然后送到二维码解码程序中进行解码。
  2.2系统各硬件器件选择[4]
  (1)摄像头:采用CCD摄像头,分辨率380线,输入电压9V,兼容NTSC和逐行倒相(PAL)制式,输出图像信号、行与场消隐信号、行与场同步信号等七种模拟视频信号。
  (2)A/D转换:SAA7113是一种视频解码芯片,它可以输入4路模拟视频信号,通过内部寄存器的不同配置可以对4路输入进行转换,输入可以为4路CVBS或2路S视频(Y/C)信号,输出8位“VPO”总线,为标准的ITU656、YUV4:2:2格式。
  7113兼容PAL、NTSC、SECAM多种制式,可以自动检测场频适用的50或60Hz,可以在PAL、NTSC之间自动切换。7113内部具有一系列寄存器,可以配置为不同的参数,对色度、亮度等的控制都是通过对相应寄存器改写不同的值,寄存器的读写需要通过I2C总线进行。
  7113的模拟与数字部分均采用+3.3V供电,数字I/O接口可兼容+5V,正常工作时功耗0.4W, 空闲时为0.07W。7113需外接24.576MHz晶体,内部具有锁相环(LLC),可输出27MHz的系统时钟。芯片具有上电自动复位功能,另有外部复位管脚(CE),低电平复位,复位以后输出总线变为三态,待复位信号变高后自动恢复,时钟丢失、电源电压降低都会引起芯片的自动复位。7113为QFP44封装。
  (3)FPGA:Altera的Cyclone系列的EP1C6Q240C8芯片。
  (4)D/A转换:ADV7123 是高速、高精度数模转换芯片,具有240MHz的最大采样速度,三路10位D/A转换器,单电源+5V/+3.3V工作和低功耗(3V时最小值为30mW)的特点。
  (5)图像缓存:AL422B包括了3MB的DRAM,是393,216个字节× 8位的FIFO(先进先出)。
  (6)MCU:台湾宏晶科技的低电压(3.3V供电)单片机STC89LE516RD+。
  3 软件设计部分[5-7]
  3.1 使用MCU模拟I2C配置初始化SAA7113
  使用MCU模拟的I2C接口可以对SAA7113提供的多个控制字进行读写,从而完全控制SAA7113的运行。对SAA7113控制字的读过程如表1所示。
  表1 对SAA7113控制字的写操作
  I2C协议中器件的地址是7位,加上读写位(写为“0”,读为“1”)构成一个完成的字节。SAA7113的器件地址是0100,101,加上读写位后:器件地址+写=0100,1010即4AH;器件地址+读=0100,1011即4BH。从地址是器件内部分配的地址。SAA7113提供00~1F、40~62共43个控制字。
  SAA7113读控制字的过程如表2所示。
  表2 对SAA7113控制的读操作
  首先完成对器件地址和从地址的写操作;然后发送一个4BH(器件地址+读),可以开始接收数据;数据传输结束时发终止信号。
  图2 SAA7113写配置流程 图3 SAA7113读配置流程

猜你想看
相关文章

Copyright © 2008 - 2022 版权所有 职场范文网

工业和信息化部 备案号:沪ICP备18009755号-3