欢迎光临散文网 会员登陆 & 注册

创龙教仪实验教程详解:6-1 基于CMOS数字摄像头采集LCD显示实验

2023-03-03 15:32 作者:创龙教仪  | 我要投稿

一、案例详情:

实验平台

创龙教仪嵌入式教学实验箱:TL6748-PlusTEB(点击查看详情)

实验名称

基于 CMOS 数字摄像头采集 LCD 显示

实验目的

掌握 OV2640 摄像头的工作原理

掌握 VPIF 总线的工作原理

实现 VPIF 总线控制 摄像头采集图像,并显示在 LCD 上


二、实验原理:

1、OV2640摄像头

OV2640 是世界上第一个 1/4 英寸 2 百万像素视频传感器,同时是 OmniVision 最新的2.2 微米 OmniPixel2™架构的视频传感器,可支持 200 万像素,分辨率可高达 1600x1200,帧率可达 30 帧/秒,最高帧率可达 60 帧/秒。

OV2640摄像头



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


OV2640摄像头功能框图



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



OV2640摄像头行输出时序



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


OV2640摄像头帧输出时序




2、VPIF接口

Video Port Interface (VPIF), 是一种视频接口。VPIF的通道0和通道1只能用于接收数据,通道2和通道3只能用于发送数据。

(路径:VPIF的详细介绍可以查看光盘资料“Datasheet\CPU“目录下的TMS320C6748 DSP Technical Reference Manual.pdf文档的第34小节。)


VPIF接口



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


VPIF接口支持协议




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


VPIF接收通道支持协议



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


VPIF发送通道支持协议



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


VPIF 支持格式



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)最后帧率计算和显示。




三、实验设备



软件:CCS5.5


硬件:TL2640I 摄像头


四、实验步骤

1、DSP开发流程

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

DSP开发流程


2、硬件连接

(1)将 TL2640I 摄像头模块连接到实验板的 VPIF 接口;

(2)连接仿真器和电脑的USB接口;

(3)将拨码开关拨到DEBUG模式01111,连接实验箱电源,拨动电源开关上电。

硬件连接


3、软件操作

(1)导入工程,选择Demo文件夹下的对应工程;

(2)编译工程;

(3)将CCS连接实验箱并加载程序;

软件操作


(4)点击运行程序;

(5)在LCD屏幕上会显示摄像头采集的图像,并显示帧率;

(6)实验结束后,先点击黄色按钮暂停程序运行,再点击红色按钮退出CCS与实验箱的连接,最后实验箱断电即可。

实验结果






创龙教仪实验教程详解:6-1 基于CMOS数字摄像头采集LCD显示实验的评论 (共 条)

分享到微博请遵守国家法律