单片机控制ADDA转换器实现视频采集创新研修报告.docx
- 文档编号:4931659
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:22
- 大小:771.13KB
单片机控制ADDA转换器实现视频采集创新研修报告.docx
《单片机控制ADDA转换器实现视频采集创新研修报告.docx》由会员分享,可在线阅读,更多相关《单片机控制ADDA转换器实现视频采集创新研修报告.docx(22页珍藏版)》请在冰豆网上搜索。
单片机控制ADDA转换器实现视频采集创新研修报告
2011春季学期创新研修报告
姓名:
李声勇
学号:
1080510123
实验地点:
主楼903
指导教师:
任广辉
实验时间:
2011年7月
实验目的:
通过配置SAA7111和SAA7120两款A/D、D/A芯片,实现以下功能:
摄像头采集模拟信号,输入到SAA7111芯片中将模拟信号转变为数字信号,将数字信号通过一片FPGA,FPGA对信号进行处理后再输入到SAA7120中,数字信号再次变为模拟信号,通过监视器就可以看到处理过后的图像。
SAA7111和SAA7120的配置由80C51单片机完成。
实验原理:
1、SAA7111简介
SAA7111的外观图片如图1所示
图1
SAA7111是philips公司生产的可编程视频处理器。
该芯片集A/D与解码功能于一身,片内附有锁相、自动钳位、自动增益控制、时钟产生、多制式解码等电路,另外,SAA7111还可对亮度、对比度和饱和度进行控制。
它既能支持PAL电视制式,又可支持NTSC电视制式。
SAA7111A内部含有I2C接口,故可通过I2C总线对SAA7111A的工作方式进行设定。
SAA7111A的场同步信号VREF、行同步信号HREF、奇偶场信号RESO、象素时钟信号LLC2都可由引脚直接引出,从而可省去时钟同步电路,且其可靠性和方便性也有了很大的提高,故可广泛地应用于放映机、数字电视、DVD录像机和游戏机等许多系统中。
SAA的主要特点如下:
1四路输入,支持CVBS和Y/C
2支持PAL、NTSC等多种制式
3亮度、对比度、饱和度等在线可调
4YUV、RGB等多种输出格式
5I2C总线控制
SAA7111的内部功能方框图如图2所示。
从SAA7111的四个模拟输入端AI11、AI12、AI21、AI22的某一引脚输入的视频图像信号经模拟处理后,一路可通过缓冲器输出到AOUT端用于监视,另一路经A/D转换器后则产生数字色度信号和亮度信号。
在分别进行亮度信号处理和色度信号处理后,其亮度信号处理结果的一路将送到色度信号处理器进行综合处理,产生的Y和UV信号经格式化后从VPO(16位)输出;另一路则进入同步分离器,并经数字PLL产生相应的行和场同步信号HS和VS,同时,PLL将驱动时钟发生器,以产生HS锁定的时钟信号LLC和LLC2。
SAA7111的所有功能均是在I2C总线控制下完成的,其中SCL为串行时钟,SDA为串行数据信号。
SAA7111的引脚分为五大部分,时钟引脚,模拟量输入,数字量输出,同步输出,I²C相关信号,分别如图3,4,5,6,7所示。
模拟量输入引脚连接示意图
图3
时钟输出引脚简介
图4
数字量输出引脚简介
图5
同步信号引脚简介
图6
I²C相关信号引脚简介
图7
其它引脚的简介如图8所示
图8
典型应用电路如图9所示
图9
本实验中,SAA7111需要对视频信号不加处理地输出为数字信号,对各寄存器的配置便是实验需要完成的任务,在此模式下,各寄存器的配置如下表所示。
2、SAA7120简介
实验中采用的模数转换芯片为ADC7170,其配置方法等与SAA7120类似,这里简单描述一下SAA7120的配置相关。
SAA7120的引脚作用于SAA7111基本类似,这里不做重复讨论。
SAA7120具有以下特点:
1支持PAL及NTSC制式
2支持CVBS和YC输出
3支持主模式和从模式
4可产生测试用彩条信号
5I2C总线控制
其主要组成框图如图10所示
图10
SAA7120具有两个模式,主模式和从模式
典型连接电路如图11
图11
SAA7120模式设置如下表所示
3、I2C总线简介
本实验使用的芯片完全是基于I2C总线传输协议设计的,SAA7111与ADC7170的各寄存器的设置也都将通过I2C总线传输到目的端。
I2C总线的控制由一块8051单片机完成。
本实验通过伟福实验模拟装置完成对单片机的配置,也就完成了实验的内容。
I2C总线的特点:
①串行总线,只有SCL、SDA两条线
②传输速率标准模式最高100kb/s,高速模式最高3.4Mb/s
③器件间相互独立,单个器件的增减不影响整个系统的工作
④抗噪能力好,电压范围宽
图中各器件均与总线中的SCL时钟信号线和SDA数据信号线相连,通信过程为:
通信发起方将需要访问的从机的地址放在数据总线上,与该地址匹配的从机做出响应,其它无关的设备关闭自己的通信端口。
主机再将需要传输的数据放在数据总线上,从机得到数据后做出相应的响应。
I2C的通信流程如下图所示:
根据电平需要,在单片机中,开始与结束的电平信号设置程序段如下:
开始程序:
Sda1=1;结束程序:
Scl1=0;
Scl1=1;Sda1=0;
Sda1=0;Scl1=1;
Scl1=0;Sda1=1;
程序段:
#include
#include
#include
longi,j;
#defineucharunsignedchar
#defineuintunsignedint
#defineAddWr71110x48/*视频AD器件7111地址选择及写标志*/
#defineAddRd71110x49/*视频AD器件7111地址选择及读标志*/
#defineAddWr71700xD6/*视频DA器件7170地址选择及写标志*/
#defineAddRd71700xD7/*视频DA器件7170地址选择及读标志*/
#defineulongunsignedlong
sbitSda1=P1^6;/*串行数据7111*/
sbitScl1=P1^7;/*串行时钟7111*/
sbitSda2=P1^4;/*串行数据7170*/
sbitScl2=P1^5;/*串行时钟7170*/
voiddelay(void)
{
unsignedchari;
i=20;
while(i--)
{}
}
voidWr7170(unsignedchara,unsignedcharb,unsignedcharc)
{
inttemp,d;
intflag=0;
Sda2=1;
Scl2=1;
delay();
Sda2=0;
delay();
Scl2=0;
delay();
d=0xD6;
for(i=0;i<8;i++)
{
temp=0x80&&d;
if(temp==0)
{
Sda2=0;
}
elseSda2=1;
delay();
Scl2=1;
delay();
Scl2=0;
delay();
d<<=1;
}
delay();
for(i=0;i<8;i++)
{
temp=0x80&&b;
if(temp==0)
{
Sda2=0;
}
elseSda2=1;
Scl2=1;
delay();
Scl2=0;
delay();
b<<=1;
}
for(i=0;i<8;i++)
{
temp=0x80&&c;
if(temp==0)
{
Sda2=0;
}
elseSda2=1;
Scl2=1;
delay();
Scl2=0;
delay();
c<<=1;
}
Scl2=0;
Sda2=0;
Scl2=1;
Sda2=1;
delay();
}
voidWr7111(unsignedchara,unsignedcharb,unsignedcharc)
{
inttemp,d;
intflag=0;
Sda2=1;
Scl2=1;
Sda2=0;
Scl2=0;
delay();
d=AddWr7111;
for(i=0;i<8;i++)
{
temp=0x80&&d;
if(temp==0)
{
Sda2=0;
}
elseSda2=1;
delay();
Scl2=1;
delay();
Scl2=0;
delay();
d<<=1;
}
delay();
for(i=0;i<8;i++)
{
temp=0x80&&b;
if(temp==0)
{
Sda2=0;
}
elseSda2=1;
Scl2=1;
delay();
Scl2=0;
delay();
b<<=1;
}
for(i=0;i<8;i++)
{
temp=0x80&&c;
if(temp==0)
{
Sda2=0;
}
elseSda2=1;
Scl2=1;
delay();
Scl2=0;
delay();
c<<=1;
}
Scl2=0;
Sda2=0;
Scl2=1;
Sda2=1;
delay();
}
voidInitializeA()//unsignedcharMyData[4]
{
Wr7111(1,0x2,0xc0);//c0
(1)c2
(2)
Wr7111(1,0x3,0x23);//23
Wr7111(1,0x4,0x00);//00
Wr7111(1,0x5,0x00);//00
Wr7111(1,0x7,0xe0);//e0
Wr7111(1,0x8,0x80);//80
Wr7111(1,0x9,0x01);//01
Wr7111(1,0xa,0x80);//20
Wr7111(1,0xb,0x20);//302010
Wr7111(1,0xc,0x30);//30
Wr7111(1,0xd,0x00);//00
Wr7111(1,0xe,0x01);//01
Wr7111(1,0x10,0x43);//03YVU422->0x43
Wr7111(1,0X11,0x0d);//0d
Wr7111(1,0x12,0x01);//05
(1)06
(2)
}
voidInitializeC()//unsignedcharMyData[4]
{
Wr7170(1,0x0,0x05);
Wr7170(1,0x1,0x38);
Wr7170(1,0x2,0x00);
Wr7170(1,0x3,0x00);
Wr7170(1,0x4,0x00);
Wr7170(1,0x7,0x0c);//0c模式二的从模式,0d模式二的主模式,0a模式一的从模式
Wr7170(1,0x8,0x00);
Wr7170(1,0x9,0xCB);
Wr7170(1,0xa,0x8A);
Wr7170(1,0xb,0x09);
Wr7170(1,0xc,0x2A);
}
voidmain(void)
{
InitializeA();
InitializeC();
while
(1)
{
Scl2=1;
Sda2=1;
Scl1=1;
Sda1=1;
}
}
实验心得与体会:
通过此次创新研修课的学习,我对视频信号的采集,处理,传输有了新的认识和了解。
同时进一步了解了I2C总线工作过程的时序和步骤,为以后使用I2C总线进行更加复杂设备的控制打下了基础。
通过对单片机的配置,巩固了我们单片机的知识。
相信在以后的学习和工作中,本课程的学习将使我们受益匪浅。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 控制 ADDA 转换器 实现 视频 采集 创新 研修 报告