首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

基于DSP和CPLD的智能相机系统设计与研制

基于DSP和CPLD的智能相机系统设计与研制

  0、 引言:
  在工业生产中,生产设备的自动化程度在很大程度上决定着生产的效率。同时,高技术高科技的生产设备,对提高产品的档次也有很大的作用。在工业生产现场,有许多工作是重复简单的劳动,或工作环境是不适合人进行处理的。这时,可以设计一种智能仪器,代替人进行这种简单重复的工作或在恶劣的工作环境下进行工作。智能相机系统就是这样的一种自动化仪器。它以其工作效率高、性能稳定、能适合复杂和恶劣的工作环境而越来越受到工业生产的重视。本文将介绍一款用于工业生产现场产品质量控制的智能相机的设计方案,并给出该相机的实际工作情况。
  
1、系统整体设计:
  进行相机系统设计,首要考虑的问题是工业现场生产速度和相机处理速度的匹配问题。系统的整体设计必须以需要处理的数据量为基础来选择需要的处理器类型、外围接口元器件工作速度、以及选择传感器的型号和参数等 。工业生产速度一般以每分钟多少个产品来计算,必须将其换算为以秒为单位。综合各方面的因素,在本智能相机系统设计中,图像传感器采用美国国家半导体公司(National Semiconductor)生产的CMOS单色VGA格式图像传感器LM9617
,系统的逻辑控制和地址发生器则采用LATTICE公司生产的CPLD ispLSI1048C ,中央处理器采用美国德州仪器(TI)公司的高速数字信号处理器TMS320VC5402 ,显示器件则采用台湾元太公司生产的液晶显示屏PD064VT5 。在传感器和图像缓存间采用LVDS电平转换以提高长距离传输时的传输能力和抗干扰能力。在选定系统各部分的工作器件后,对系统的整体结构设计如图1所示。

  图1 系统整体结构简图
  由传感器输出的图像数据和对传感器的控制信号,经过LVDS电平转换后,分别送入到CPLD逻辑缓存控制单元和传感器。CPLD在DSP的控制下,完成对图像的缓存和传输以及传感器的配置。中央处理器DSP对缓存图像进行处理,完成后,将处理结果图像写入到显示缓存中。当处理结果写入完毕后,由显示驱动控制器完成处理结果图像的显示。
  2、系统各部分及功能描述:
  (一)、图像传感器单元:
  图像传感器主要完成光信息信号向电信号转换,从而获得图像信息。考虑到普通的工业生产线的工作情况,在本系统中,图像传感器采用美国国家半导体公司(National Semiconductor)生产的CMOS单色VGA格式图像传感器LM9617,其工作电压为3.3V,有效像元为648×488,像素尺寸可 。在时钟频率为48MHz时,输出图像为30FPS。由于采用了CMOS工艺,传感器的输出直接是图像的数字信号,输出的图像数据可以是8位、10位或12位。其控制和工作方式配置是在DSP的控制下,通过CPLD和传感器的I2C总线来完成。该CMOS图像传感器采用PLCC48封装 ,其管脚定义和典型应用电路如图2所示:

  图2 LM9617引脚和典型应用电路
  从典型应用电路图可以看出,该传感器外围电路简单,只需少量的阻容元件就可以完成传感器电路的设计。其控制和寄存器的配置通过传感器的相机控制引脚和串行总线(I C)控制引脚进行,也显得简单方便。
  (二)、逻辑和控制单元:
  由于传感器产生的图像数据量很大,每秒产生的数据量为648×488×30Byte,在考虑中央处理器DSPVC5402的处理速度的情况下,决定对图像采取双路缓存,分路处理技术。进行图像缓存时,采用CPLD来实现地址发生器和逻辑控制功能。在本系统中,地址发生器和逻辑控制单元采用LATTICE公司生产的大规模复杂可编程逻辑器件ispLSI1048C来完成。ispLSI1048C是具有8000逻辑门,96个I/O口,12个专用输入口,四个时钟输入口,内部具有288个寄存器和48个GLB单元,其工作时钟可达50MHz 。缓存时,存储器的地址和数据隔离均由1048C来实现。同时,当DSP从缓存中读取数据时,数据信号和地址信号的隔离也由1048C来实现。另外,缓存通道的读写控制逻辑是在DSP的主控下,由1048C来完成,并实现和DSP进行数据缓存的通信。该部分的设计如图3所示:

  图3 逻辑控制单元结构简图
  系统上电初始化后,由DSP向1048C发出写图像命令,1048C接到命令后,先根据场信号判断是否为一帧图像到来,然后根据像素时钟和行信号产生地址,对图像进行缓存。当一幅图像缓存完毕后,向DSP发出图像缓存完毕信号。DSP在接到图像缓存完毕后,一方面,控制1048C继续对下一帧图像进行缓存,另一方面,对缓存完毕后的图像进行检测。
返回列表