您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> BF53x技术支持专区 -> BF533/BF531入门教程-CVBS-IN-MDMA
本帖共有2014个阅读者
发表帖子 发表投票 回复主题
BF533/BF531入门教程-CVBS-IN-MDMA
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5195
金钱:34806
积分:6378
注册时间:2011/6/7
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
BF533/BF531入门教程-CVBS-IN-MDMA

开发平台

ADSP-EDU-BF533:http://item.taobao.com/item.htm?spm=a1z10.3.17.23.3104e6&id=10663122452

AD-CVBS-IN:http://item.taobao.com/item.htm?spm=a1z10.3.17.27.1226b1&id=16742008469

AD-HP510ICE-FULL:http://item.taobao.com/item.htm?spm=a1z10.3.17.17.f64021&id=8842330668

代码实现功能

电视视频是奇场合偶场交替传输的,所以通过CVBSIN 模块采集到的图像如上实验所看到的,是奇场和偶场分离的图像,不方便做视频处理。这个代码实现了通过CVBSIN 子卡板采集一帧YUV 格式的奇偶场分离的图像数据,通过启动MemoryDMA 将这个图像数据交织在一起,形成一幅完整的图像。运行代码后,代码会不断的采集图像进行交织,并打印完成信息。待看到打印的完成信息时,即可停下代码查看内存中的数据。

代码使用说明

在 CMOS 采集到一帧图像之后,会进入DMA0 的中断函数,在中断函数中,启动MemoryDMA,通过MemofyDMA 将图像进行交织。

EX_INTERRUPT_HANDLER(DMA0_PPI_ISR) //CMOS DMA0 中断函数
{
*pDMA0_IRQ_STATUS = 0x1; //清除中断标志
*pPPI_CONTROL &= 0xfffe; //关闭PPI
Init_MDMA_Interrupt(); //初始化MDMA 中断
Init_MDMA((void*)&video_buffer_temp[0],(void*)&video_buffer[0]); //设置DMA 的源和目的缓存
MDMA_Enable(); //使能MDMA
}
MemoryDMA 初始化配置:
*pMDMA_S0_START_ADDR = (void *)pSrc; //设置源地址
*pMDMA_S0_X_COUNT = 720; //传输次数
*pMDMA_S0_X_MODIFY = 2; //地址修改增量2,16bit 模式一次读2 个byte
*pMDMA_S0_Y_COUNT = 312; //传输次数
*pMDMA_S0_Y_MODIFY = 2; //Y修改增量
*pMDMA_D0_START_ADDR = (void *)pDest; //目的地址
*pMDMA_D0_X_COUNT = 720; //传输次数
*pMDMA_D0_X_MODIFY = 2; //地址修改增量2,16bit 模式一次读2 个byte
*pMDMA_D0_Y_COUNT = 312; //传输次数
*pMDMA_D0_Y_MODIFY = 1442; //Y 修改增量,目的地址需要空出偶(奇)场的数据空
间,所以设置1442,即空出一行720*2 个字节,再偏移已传输过的2 个字节。
*pMDMA_S0_PERIPHERAL_MAP = 0x0040; //配置使用的DMA 通道
*pMDMA_D0_PERIPHERAL_MAP = 0x0040;
*pMDMA_S0_CONFIG = 0x0034; //配置源DMA 工作模式
*pMDMA_D0_CONFIG = 0x00b6; //配置目的DMA 工作模式

代码实验步骤

1. 将仿真器(ICE)与ADSP-EDU-BF53x 开发板和计算机连接好,将CVBS_IN 子卡板按板上“圆圈”符号提
示,插入板卡。正确插入后,莲花头视频接口朝板外。
2. 将视频信号源通过莲花头接入 CVBS_IN 子卡板上黄色的接口,并确保信号源正在传输视频信号。
3. 先给 ADSP-EDU-BF53x 开发板上电,再给仿真器(ICE)上电。
4. 运行 VisualDSP++ 5.0 软件,选择合适的BF53x 的session 将仿真器与软件连接。
5. 加载 VisualDSP++ 5.0 工程文件BF53x_CVBSIN_MDMA.dpj 文件,编译并全速运行。


我是OP...
等级:管理员 参考IP地址:*.*.*.*
2012/9/29 11:40:27
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5195
金钱:34806
积分:6378
注册时间:2011/6/7
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

代码实验结果

代码运行完成后,会出现以下打印,当看到这些信息时,可停下代码查看内存数据。

上传的图片
  201292911411663.jpg [ 44.42 KB 494×567 ] (缩略时请点击查看原图)

 

在 Image Viewer 工具窗口中查看采集到的CVBS 图像。
按如上图配置完成后,点“OK”,稍等片刻就可以在VDSP 窗口中看到一帧已经交织好奇偶场的图像。

上传的图片
  201292911415863.jpg [ 58.46 KB 741×581 ] (缩略时请点击查看原图)

 



我是OP...
等级:管理员 参考IP地址:*.*.*.*
2012/9/29 11:41:21
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.159467 Call, 1 Queries, Processed in 0.031250 second(s),