基于DSP5416水表号码图像采集系统的研究

2019-07-31 16:47发布

1引言
随着科学研究对图像采集的要求日益提高,对号码图像采集系统的存储量、速度都提出了越来越高的技术要求。为了实现号码图像的自动读取, 以前采用CCD图像传感器加视频解码芯片SA7113实现号码图像的采集,经过数据缓存器FIFO后存入外扩的随机存储器RAM中, 图像的截取是通过可编程逻辑器件CPLD来实现的[1][2]。虽然该种方法实现了图像的截取,但硬件电路复杂,增加了设计成本。本文使用的信号处理器TMS320VC5416的片上程序存储器ROM为16K,数据存储器RAM为128K,而一幅640*480的灰度图像就有300K左右,显然处理器的存储容量不够。因此本文针对这种情况采用具有图像截取功能的CMOS数字图像传感器OV7620,取代CCD模拟传感器加视频解码芯片SA7113,简化了硬件电路,解决了信号处理器TMS320VC5416的存储容量有限的问题。
2系统采集方案的确定
号码图像采集的方法有一种是采用CCD图像传感器加视频解码芯片,从CCD摄像头出来的视频模拟信号需经过视频解码器转换为视频数字信号,再经过先进先出存储器FIFO缓存,最后通过可编程逻辑器件CPLD进行图像截取才能进入信号处理器(DSP)处理。由于DSP的控制能力比较差,本身的通用I/O口少,而对视频解码器的控制是通过内置的I2C总线来实现的。为了实现对视频解码器的控制,I2C总线是用单片机的P1口模拟完成对视频解码器的初始化,虽然这种方案实现了号码采集,但硬件结构复杂。
TMS320VC5416最大允许访问的数据存储空间为128K,而一幅640*480的灰度图像就需要大约300K的存储空间,因此系统针对信号处理器的TMS320VC5416存储容量有限的特点,选择了内部集成模数转换器A/D且具有图像开窗功能的CMOS图像传感器OV7620。这种传感器具有内部默认工作模式和I2C总线模式,为实现图像截取功能,将TMS320VC5416的主机接口HPI改为通用I/O口,分别用HD2和HD3模拟I2C总线的数据线SDA和时钟线SCL进行I2C总线的设置。通过设置OV7620内部各个寄存器实现开窗等
一系列功能,将感兴趣的图像截取出来,数据输出只采集OV7620低8位(Y7-Y0)亮度数据,减少了TMS320VC5416的数据存储量和处理量,节省了TMS320VC5416的存储空间。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
wangdezhi
1楼-- · 2019-07-31 22:07
3 采集系统硬件设计
3.1号码图像采集系统的基本结构
如图1所示,该号码图像采集系统是由CMOS图像传感器OV7620,信号处理器TMS320VC5416及数据隔离器74LVCH16245A三部分组成。




这里主要介绍图像传感器的确定和图像采集系统的实现过程,系统采用CMOS数字图像传感器OV7620采集水表号码,存入TMS320VC5416内部的RAM中,在OV7620与TMS320VC5416之间采用菲利普公司的74LVCH16245A作为数据隔离芯片。用TMS320VC5416的HD2和HD3分别模拟数据线SDA和时钟SCL, 即在硬件电路上保证图像传感器工作在I2C总线格式,在软件上系统将TMS320VC5416的HP0改为通用I/O口作为水表号码采集的使能。当/1OE为低电平时,74LVCH16245A将数据通道打开,TMS320VC5416开始接收数据从而系统完成水表号码的采集工作。
wangdezhi
2楼-- · 2019-08-01 03:35
3.2图像传感器OV7620
由图2所示,图像传感器OV7620内部集成了行列选择电路、模数转换电路、视频时序产生电路等,并可与I2C总线接口。大大简化了其外围电路设计,外围电路仅有石英晶体和一些电阻、电容等元器件组成。OV7620的开窗特征允许用户根据实际需要设置有效图像数据窗口的大小。其范围从4×2到664×492,并且该窗口能够被置于664×492边界范围内的任何位置,同时窗口大小的变化不会改变输出数据速率和帧速,它仅仅是通过调整行频参考信号的有效时间来实现的。在速度方面可通过设置寄存器11(时钟速率控制)改变采集速度,降低采集速度可为识别处理水表号码提供时间,这对于系统采集有效数据以及提高系统性能等方面都起到了很大帮助,因此系统选用了具有图像截取功能的CMOS数字图像传感器OV7620。


wangdezhi
3楼-- · 2019-08-01 04:33
 精彩回答 2  元偷偷看……
wangdezhi
4楼-- · 2019-08-01 09:54
4号码采集系统中软件设计
4.1通用I/O控制器和通用I/O状态寄存器配置
TMS320VC5416主机接口(HPI)用于在主从模式下,实现DSP与外部器件通信,它具有一个增强型HPI接口,该接口用8-bit数据总线(HD0-HD7)与主机交换信息[3]。通过设置通用I/O控制寄存器(GPIOCR)和通用I/O状态寄存器(GPIOSR)相应位,可以将HD0- HD7转换成通用I/O,再通过软件编程,实现与I2C总线的接口。相关的控制器如图3所示。


wangdezhi
5楼-- · 2019-08-01 11:25
在本系统是将TMS320VC5416的HPIENA直接接地,这时HD7~HD0作为通用I/O口 使用,HD7 ~ HD0的输入输出状态由GPIOCR的相应位(DIR7~DIR0)控制,当DIRx为0时,HDx作为输入脚,当DIRx为1时,DIRx作为输出脚,GPIOSR中的I07 ~ I00作为对应的(HD7~HD0)输入输出数据位。
4.2 I2C总线简介
集成电路芯片间总线I2C [4](Inter – Integrated Circuit)是Philips公司提出的一种允许在简单的二线总线上工作的串行接口和软件协议,主要用于传感器与控制器件间的数据通信。
I2C总线上只有时钟SCL为高电平时的数据才有效,而且SDA上高/低电平的转换只能在SCL为低电平时完成;最后以Stop终止传输,释放总线。


wangdezhi
6楼-- · 2019-08-01 13:37
4.3 软件编程实现HPI与I2C总线接口
首先设置寄存器,将相应的HPI接口改为通用的I/O口,然后通过软件编程实现I2C总线协议[5],在此仅以I2C总线启动为例简单介绍说明如何实现的:(其中HD2为SDA,HD3为SCL)


一周热门 更多>