创龙教仪实验教程详解:6-1 基于CMOS数字摄像头采集LCD显示实验
一、案例详情:
实验平台
创龙教仪嵌入式教学实验箱:TL6748-PlusTEB(点击查看详情)
实验名称
基于 CMOS 数字摄像头采集 LCD 显示
实验目的
掌握 OV2640 摄像头的工作原理
掌握 VPIF 总线的工作原理
实现 VPIF 总线控制 摄像头采集图像,并显示在 LCD 上
二、实验原理:
1、OV2640摄像头
OV2640 是世界上第一个 1/4 英寸 2 百万像素视频传感器,同时是 OmniVision 最新的2.2 微米 OmniPixel2™架构的视频传感器,可支持 200 万像素,分辨率可高达 1600x1200,帧率可达 30 帧/秒,最高帧率可达 60 帧/秒。

OV2640摄像头采集图像时,会先经过感光元件,采样的信号经过运放,再进行AD转换,AD量化之后得到数字化的视频信号会进行控制调整,最终通过视频输出接口输出。除此之外还有其他的一些信号接口,比如时钟输入,像素时钟,行同步信号,帧同步信号,时序产生和逻辑控制单元等等。

图像数据在HREF为高的时候输出,当HREF变高后,每一个PCLK时钟,输出一个字节数据。比如我们采用UXGA时序RGB565格式输出,每2个字节组成一个像素的颜色(低字节在前,高字节在后),这样每行输出总共有1600*2个PCLK周期,输出1600*2个字节。

帧输出时序则是当HREF输出高电平时开始读取一行像素点,当低电平时不操作,重复操作即可读取一帧图像。OV2640支持:RGB565或JPEG输出。RGB565输出时,时序如图所示。JPEG输出时,PCLK大大减少,且HREF不连续,数据流以0XFF,0XD8开头,以0XFF,0XD9结束。

2、VPIF接口
Video Port Interface (VPIF), 是一种视频接口。VPIF的通道0和通道1只能用于接收数据,通道2和通道3只能用于发送数据。
(路径:VPIF的详细介绍可以查看光盘资料“Datasheet\CPU“目录下的TMS320C6748 DSP Technical Reference Manual.pdf文档的第34小节。)

VPIF 接口主要支持三种协议的传输:BT-656、BT-1120和Raw Capture mode。

其中,VPIF 端口接收通道支持BT-656、BT-1120和Raw Capture mode三种协议。

VPIF 端口发送通道只支持BT-656和BT-1120两种协议。

VPIF 支持三种格式:NTSC、PAL和普通图像格式。

3、程序流程
程序流程设计中首先要进行外设使能配置,接着进行DSP中断初始化和LCD的初始化,然后初始化配置I2C和OV2640摄像头,初始化VPIF总线。最后摄像头采集接收数据并将数据显示在LCD上。

4、程序框架详解
(1)打开工程,查看工程的主函数。
(2)在程序中首先初始化计数器,用于性能测试,测试输出视频的帧率。

(3)配置外设使能;
在PSC初始化中使能VPIF总线。
(4)进行DSP中断初始化;
先初始化 DSP 中断控制器;
再使能 DSP 全局中断。

(5)进行硬件中断初始化;
首先注册LCD中断服务函数,用于显示;
然后映射LCD中断事件到INT5可屏蔽中断;
最后使能INT5可屏蔽中断;
接着注册I2C中断服务函数,用于配置摄像头模块的寄存器;
然后映射I2C中断事件到INT6可屏蔽中断;
最后使能INT6可屏蔽中断。
(6)进行LCD初始化;
首先使能LCD模块;
调用LCD引脚复用配置函数;
接着初始化LCD相关配置,例如LCD时钟配置、DMA控制器配置、模式配置和光栅控制器的配置等。

(7)进行I2C引脚复用配置。
(8)接着初始化I2C相关配置;
I2C复位;
配置总线速度为 100KHz;
设置从器件地址为0x30;
使能I2C。

(9)复位OV2640摄像头,为软复位。
(10)加入一个延时。
(11)初始化OV2640摄像头;
通过I2C配置摄像头寄存器为SVGA 800*600,数据缓存格式是RGB565。

(12)初始化VPIF;
首先进行VPIF引脚复用配置;
接着禁用中断和捕获。
配置VPIF寄存器,例如数据位宽、存储模式、接受模式、捕获方式等。
接收的数据会先存到FIFO,当数据达到256字节的时候触发EDMA进行数据搬移。
(13)进入While(1)循环。使用查询方式,查询中断的产生。完成图像捕获并送到LCD显示。
(14)接收的数据按帧存储到一个区域,有两个接收缓存数组rxBuf0和rxBuf1(乒乓类型),轮流接收数据。读取的时候也是一帧一帧的读取。
(15)rxBufPtr是接收缓存的数据。
(16)srcBuff是接收到的数据。
(17)dstBuff是LCD显示的数据。
(18)最后帧率计算和显示。

三、实验设备

硬件:TL2640I 摄像头

四、实验步骤
1、DSP开发流程
开发过程中,首先选择CCS的工作区,接着导入、编译工程,完成软件开发后进行硬件连接,再配置仿真器文件,加载GEL文件,最后将CCS连接实验箱,加载并运行程序。

2、硬件连接
(1)将 TL2640I 摄像头模块连接到实验板的 VPIF 接口;
(2)连接仿真器和电脑的USB接口;
(3)将拨码开关拨到DEBUG模式01111,连接实验箱电源,拨动电源开关上电。

3、软件操作
(1)导入工程,选择Demo文件夹下的对应工程;
(2)编译工程;
(3)将CCS连接实验箱并加载程序;

(4)点击运行程序;
(5)在LCD屏幕上会显示摄像头采集的图像,并显示帧率;
(6)实验结束后,先点击黄色按钮暂停程序运行,再点击红色按钮退出CCS与实验箱的连接,最后实验箱断电即可。
