第3章 GPIO及视频接口3_第1页
第3章 GPIO及视频接口3_第2页
第3章 GPIO及视频接口3_第3页
第3章 GPIO及视频接口3_第4页
第3章 GPIO及视频接口3_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章GPIO及视频接口数字信号处理器原理A西安邮电大学通信与信息工程学院2014年3月目录第3章GPIO及视频接口

3.1概述3.2GPIO寄存器3.3TMS320DM642视频口本章学习目标【学习目标】熟悉通用目的输入输出接口(GPIO)的结构、功能与中断扩控制;掌握GPIO寄存器各字位内容、配置与应用;掌握三个视频口的捕获、显示的模式,视频接口的各寄存器与应用。知识要点:

GPIO寄存器、视频口的配置方法3.3TMS320DM642视频口VP0~VP2视频端口优点复习(引言)视频接口(VP0~VP2)TMS320DM642有三个视频端口外围设备。视频端口外设可作为视频采集端口,视频显示端口,或作为传输流接口(TSI)。此端口由A和B两个通道组成。在两个通道之间存在一个可分开的5120字节的采集/显示缓冲区。整个端口(全部通道)经常被配置成仅仅进行视频采集或者视频显示。(复习1)视频端口概述(VP0—VP2)视频口框图可独立配置为视频捕获口、显示口或TSI捕获口支持多种采集/显示方案和视频标准可以实现与一般视频AD/视频DA的无缝连接EDMA直接搬运图像数据,无CPU开销视频捕获模式通过采样输入引脚的信号并保存到视频口FIFO捕获的数据量达到编程的门限,会触发一个EDMA把数据从FIFO搬运到DSP的内存空间。捕获窗口指定了每帧需要捕获的数据。视频显示模式VP口显示数据低于预设的门限,触发EDMAEDMA把数据从存储器搬运到视频缓存FIFO中VP口把FIFO中的按照视频格式输出(复习2)视频端口概述(1)BT656视频捕获模式BT.656模式捕获混合在一个数据流中的8位或10位4:2:2亮度和色度数据。视频数据按照Cb,Y,Cr,Y,Cb,Y,Cr,…的顺序传输,序列中Cb,Y,Cr表示复合亮度和色度采样。捕获后的数据流将会被分解,每个分量都会写入各自的FIFO中,最后分别传输到DSP内存中相应的Y、Cb和Cr缓冲区。2、视频捕获模式

(1)BT656视频捕获模式(2)Y/C视频捕获模式Y/C捕获模式类似于BT.656捕获模式,但是捕获的是8或10位4:2:2分离的亮度和色度数据流;一个数据流包含Y采样;另一个数据流中,是复合的Cb和Cr采样。为了向DSP内存中的Y,Cb和Cr传输数据,把Y采样写入YFIFO中色度采样拆分后,分别写入Cb和CrFIFO。2、视频捕获模式

(2)Y/C视频捕获模式(3)原始数据捕获模式在原始数据捕获模式中,只有当CAPEN(Channelcaptureenable通道捕获使能)信号有效时才能采样数据;按照发送方的时钟进行捕获,不需要任何解释,也不需要基于数据的值启动或终止捕获。缓冲区中己经捕获到规定数量的新采样后,视频端口会产生一个YEVT(Yevent,Y信号事件)。每产生一个YEVT,DMA都要把数据从缓冲区移动到DSP内存。2、视频捕获模式

(3)原始数据捕获模式

视频显示模式简介1)BT.656视频显示模式2)Y/C视频显示模式3)原始数据显示模式3、视频显示模式1)BT.656视频显示模式BT.656显示模式可以把8或10位比例为4:2:2的视频亮度和色度数据复合在一个数据流中输出;像素将成对输出,每对像素包含两个亮度和两个色度采样。色度采样与第一对亮度采样相伴。按照序列CbYCrY,输出像素在VCKOUT上升沿有效。

3、视频显示模式1)BT.656视频显示模式(补充)BT.656每行的数据结构每行数据包含水平控制信号和YCbCr。视频数据信号排列顺序为Cb-Y-Cr-Y。每行开始的288字节为行控制信号,开始的4字节为EAV信号(有效视频结束),紧接着280个固定填充数据,最后是4字节的SAV信号(有效视频起始)(补充)BT.656每行的数据结构2)Y/C视频显示模式Y/C视频显示模式与BT.656显示模式类似,只是单独输出8或10位亮度和色度数据流。一个数据流包含Y采样,另一个数据流包含复合Cb和Cr采样。从Y采样FIFO缓冲区中读取Y采样数据;从Cb和Cr采样FIFO缓冲区读取Cb和Cr采样数据,并与色度输出结合。3、视频显示模式2)Y/C视频显示模式2、视频显示模式3)原始数据显示模式原始数据显示模式用于向RAMDAC或D/A类型设备输出数据,输出数据通常采用RGB格式。输出数据流中不嵌入时序信息,但输出可选的控制信号可以指定时序。原始数据模式只使用一个5120字节的FIFO存储输出数据。首先DMA向原始数据FIFO填入数据,然后原始数据FIFO再向YFIFO目的寄存器A(YDSTA)写入数据。DMA必须使用YEVTA事件。3、视频显示模式3)原始数据显示模式视频端口配置寄存器按照不同的功能被分成4种不同的类型,分别为:视频端口控制寄存器视频捕获控制寄存器视频显示控制寄存器视频引脚控制寄存器。4、视频端口寄存器视频端口控制寄存器在下表中列出,分为四个。(一)视频端口控制寄存器VPCTL寄存器决定了视频端口的基本操作。(1)视频端口控制寄存器(VPCTL)视频端口状态寄存器表示视频端口当前状况。(2)视频端口状态寄存器(VPSTAT)视频端口中断寄存器使能视频端口DSP的中断源。(3)视频端口中断寄存器(VPIE)视频端口中断状态寄存器显示了视频端口到DSP的中断状态。(4)视频端口中断状态寄存器TMS320DM642有三个视频端口外围设备VP0、VP1和VP2,基准地址分别为01C40000、01C44000和01C48000,书中所列表中缩写名称最后的x表示VP0~VP2中的一个该寄存器的绝对地址=基准地址+地址偏移量。例如:VC_STAT0、VC_STAT1和VC_STAT2的绝对地址分别为01C40100、01C44100和01C48100。(二)视频捕获寄存器视频捕获模式选择视频端口控制寄存器频捕获通道x控制寄存器(1)视频捕获通道x状态寄存器(VCASTAT,VCBSTAT)表示视频捕获通道的当前显示状态。(2)视频捕获通道A控制寄存器(VCACTL)实现对视频捕获通道A控制。(3)视频捕获通道x区域1起始寄存器(VCASTRT1,VCBSTRT1)定义在区域1中捕获到图像的起始。(4)视频捕获通道x区域1终止寄存器(VCASTOPI,VCBSTOPI)定义在区域1中捕获到图像的终止。(二)视频捕获寄存器(5)视频捕获通道x区域2起始寄存器(VCASTRT2,VCBSTRT2)定义在区域2中捕获到图像的起始。(6)视频捕获通道x区域2终止寄存器(VCASTOP2,VCBSTOP2)定义在区域2中捕获到图像的终止。视频捕获通道A场1起始寄存器视频捕获通道A场1终止寄存器视频捕获通道A场2起始寄存器视频捕获通道A场2终止寄存器隔行扫描,1帧图像分为奇偶2场:行、场、帧

电视制式PAL(中国)、NTSC(美/日)、SECAM(法/东欧)PAL:帧频25Hz、场频50Hz、行频15625Hz电视制式有关的一些概念视频显示模式选择视频显示寄存器(三)视频显示模式

隔行消隐间隔和视频区域视频显示帧大小寄存器视频显示场1垂直消隐起始寄存器视频显示场1水平消隐起始寄存器视频显示场2图像位移寄存器视频显示场2图像大小寄存器视频显示寄存器视频显示寄存器推荐值视频引脚控制寄存器装置包括一些必须的寄存器装置,如:外设标识以及仿真控制。Ym

VP_PIDx

外设识别寄存器;VP_PCRx

外设控制寄存器;VP_PFUNCx

引脚功能寄存器;(四)视频引脚控制寄存器5、基于DM642的视频采集与显示系统视频采集视频显示视频采集通道设计TVP5150是TI推出的一款超低功耗,支持自动识别NTSC/PAL/SECAM制式的视频解码芯片,具有价格低、体积小、使用方便的特点。NTSC/PAL制式的模拟信号送到TVP5150后,按照YCbCr4:2:2的格式转化成数字信号,在本系统中以8bit内嵌同步信号的BT.656格式输出。视频显示通道设计采用Philips公司的SAA7105H作为本地回放的视频编码芯片。SAA7105H可以将数字视频信号(BT.656)编码成普通电视所能接收的NTSC或PAL制式的复合电视信号(CVBS)。SAA7105H还支持VGA输出,通过I2C总线对其内部寄存器设置就可以实现不同的输出。【例1】编写程序,实现图像采集。6、视频应用举例设计分析首先完成显示的行数、采集行数、显示区域大小、采集像素数、采集行的增量设置。之后需对端口进行初始化,配置视频编解码器,将采集数据放入相应的显示缓冲区;等到采集完成,交换缓冲区并通知进行下一次采样。voidtskVideoLoopback(){Intstatus;intn=0;Inti;intm=0; FVID_Frame*capFrameBuf,*temp;FVID_Frame*disFrameBuf;/*设置显示的行数*/IntnumLinesDis=EVMDM642_vDisParamsChan.imgVSizeFld1;/*设置采集的行数*/IntnumLinesCap=SEEDVPM642_vCapParamsChan.fldYStop1-SEEDVPM642_vCapParamsChan.fldYStrt1+1;/*判断是显示区域大,还是采集区域大,取其小者*/IntnumLines=(numLinesDis>numLinesCap)?numLinesCap:numLinesDis;/*设置采集像素数*/程序代码intnumPixels=EEDVPM642_vCapParamsChan.fldXStop1-SEEDVPM642_vCapParamsChan.fldXStrt1+1;/*设置采集行的增量*/intcapLinePitch=SEEDVPM642_vCapParamsChan.fldXStop1-SEEDVPM642_vCapParamsChan.fldXStrt1+1;/*设置显示行的增量*/intdisLinePitch=EVMDM642_vDisParamsChan.imgHSizeFld1;EVMDM642_vDisParamsChan.segId=EXTERNALHEAP;//EXTERNALHEAP;EVMDM642_vDisParamsSAA7105.hI2C=SEEDVPM642_I2C_hI2C;numLines*=2;/*bothfields*/程序代码/******************************************************//*initializationofdisplaydriver初始化*//******************************************************/disChan=FVID_create("/VP0DISPLAY/A/0", IOM_OUTPUT, &status, (Ptr)&EVMDM642_vDisParamsChan, NULL);

程序代码

/******************************************************//*configurevideoencoder&decoder配置编解码器*//******************************************************/FVID_control(disChan, VPORT_CMD_EDC_BASE+EDC_CONFIG,(Ptr)&EVMDM642_vDisParamsSAA7105); /*启动显示*/FVID_control(disChan,VPORT_CMD_START,NULL);/*申请一个空间*/FVID_alloc(disChan,&disFrameBuf);/*loopforever*/程序代码while(1){ if(Ch1run==TRUE) { /*Waitforsemaphoretobepostedbyvp1capture*/ SEM_pend(&vp1sem,SYS_FOREVER); LOG_printf(&trace,"getsem:%x",m++); /*获取当前的队列中的缓冲区*/ if((temp=(FVID_Frame*)QUE_get(&vp1que))!=(FVID_Frame*)&vp1que) { capFrameBuf=temp; /*将数据放入相应的显示缓冲区*/程序代码for(i=0;i<numLines;{DAT_copy(capFrameBuf->frame.iFrm.y1+i*capLinePitch, disFrameBuf->frame.iFrm.y1+i*disLinePitch+360, numPixels);DAT_copy(capFrameBuf->frame.iFrm.cb1+i*(capLinePitch>>

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论