您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> bf548的ch7024配置 cvbs输出不同尺寸图片到... 
本帖共有780个阅读者
发表帖子 发表投票 回复主题
bf548的ch7024配置 cvbs输出不同尺寸图片到显示器的问题
木杉是彬彬(论坛新手)
木杉是彬彬
头衔:社区公民
帮派:无帮无派
帖数:14
金钱:227
积分:21
注册时间:2015/9/15
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
bf548的ch7024配置 cvbs输出不同尺寸图片到显示器的问题
调试cvbs输出时,遇到一个问题,请各位大神指教:

摄像头输入448*448尺寸的8bit灰度图,将每个像素点的灰度值放在rgb的r位置,g、b位置都赋值0,生成448*448尺寸的24bit的rgb图,然后配置给ch7024通过dma输出到显示器。

ch7024寄存器配置文件生成如下图:(选择500*500的)
上传的图片
  201511241034115.jpg [ 106.82 KB 724×562 ] (缩略时请点击查看原图)

 


寄存器配置如下:(dma和eppi的配置都有参考配置文档和datasheet)
void InitDMA(void)
{  
*pDMA12_START_ADDR = (void*)imgbuf_rgb;
*pDMA12_X_COUNT = 448*3/4;//448*3/2;// //跟实际buf大小相关
*pDMA12_X_MODIFY = 0x4;
*pDMA12_Y_COUNT = 448;
*pDMA12_Y_MODIFY = 0x4;
*pDMA12_CONFIG = DI_EN |WDSIZE_32 | DMA2D | SYNC |FLOW;//flow?
ssync();
}
其中pEPPI0_FS1W_HBL和pEPPI0_FS2W_LVB不知道到底应该配多少,保留了之前的配置值。
void InitEPPI0()
{
*pEPPI0_CLKDIV = 3; //100/(2*(3+1))=12.5MHz
     *pEPPI0_LINE = 500; //ch7024的hti和vti
*pEPPI0_FRAME = 500;
*pEPPI0_HCOUNT = 448;
*pEPPI0_VCOUNT = 448;
*pEPPI0_FS1P_AVPL = 500;//与hti一致
*pEPPI0_FS2P_LAVF = 250000;//hti*vti
*pEPPI0_FS1W_HBL = 336;
*pEPPI0_FS2W_LVB = 5760;
*pEPPI0_VDELAY  = 0;  
*pEPPI0_HDELAY  = 0;  
//*pEPPI0_CONTROL = 0x1<<1 | 0xB<<2 | 0x1<<9 | 0x1<<10 | 0xC<<11 | 0x5<<15 | 0x1<<20 | 0x1<<26 | 0xD<<27;
*pEPPI0_CONTROL = 0x6C12E62E;
}

显示效果问题如下图,左边为buffer图片通过vdsp的viewer保存下来的,右边是输出到显示器上的。
右边的图片左右有一部分颠倒,上面好像少了一部分,下面补齐了,中间有一小截图片也不对。
上传的图片
  2015112410164915.jpg [ 152.50 KB 1354×615 ] (缩略时请点击查看原图)

 


不知道是eppi、dma的寄存器配置有问题还是ch7024配置有问题,大神能不能从显示效果上看出到底哪里有问题?多谢!



这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2015/11/24 10:39:35
木杉是彬彬(论坛新手)
木杉是彬彬
头衔:社区公民
帮派:无帮无派
帖数:14
金钱:227
积分:21
注册时间:2015/9/15
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
andy有时间帮忙看看,多谢啦 @andy

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2015/11/24 10:41:18
木杉是彬彬(论坛新手)
木杉是彬彬
头衔:社区公民
帮派:无帮无派
帖数:14
金钱:227
积分:21
注册时间:2015/9/15
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
将下面两个寄存器改成如下值,图片左右正常了,但是上面被裁剪掉大约三四十行,下面补齐了。
这俩寄存器的配置还是没搞清楚,不知道到底咋配置。
*pEPPI0_FS1W_HBL = 470;//336;
*pEPPI0_FS2W_LVB = 8000;//5760;

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2015/11/24 11:45:14
木杉是彬彬(论坛新手)
木杉是彬彬
头衔:社区公民
帮派:无帮无派
帖数:14
金钱:227
积分:21
注册时间:2015/9/15
3信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
上面修改生成的图片如下图,和原图还是有区别。


上传的图片
  2015112411461491.jpg [ 229.23 KB 1280×960 ] (缩略时请点击查看原图)

 


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2015/11/24 11:46:36
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5195
金钱:34806
积分:6378
注册时间:2011/6/7
4信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
andy最近有点忙,晚上回复!

我是OP...
等级:管理员 参考IP地址:*.*.*.*
2015/11/24 15:27:55
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
5信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
*pEPPI0_VDELAY  = 0;  
*pEPPI0_HDELAY  = 0;  
这两个是控制输出有效数据延时的,你看缺多少行,就配置*pEPPI0_VDELAY  等于多少,试试看行不。

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2015/11/24 21:56:31
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.159947 Call, 1 Queries, Processed in 0.171875 second(s),