大家好,我的vpfe设置如下:
width = 1280;
height = 720;
//IPIPEIF配置
IPIPEIF_CFG1 = 0x00000300; //数据源、时钟选择、模式设定
IPIPEIF_RSZ = 0x00000010; //调整大小,Ratio=16/RSZ=1
IPIPEIF_INIRSZ = 0x00002000;
IPIPEIF_CLKDIV = 0; //时钟配置
IPIPEIF_CFG2 = 0x00000009; //VD、HD极性、中断源选择等
IPIPEIF_ENABLE = 0x00000003;
//ISIF 配置
ISIF_SYNCEN = 0x0000; // Disable VPFE during setup
ISIF_MODESET = 0x1000; // Progressive, VD priority as positive, 16-bit YCbCr
ISIF_HDW = 10;//水平同步信号宽度
ISIF_VDW = 10; //垂直同步信号宽度
ISIF_PPLN = 2752; //一帧列数
ISIF_LPFR = 2004; //一帧行数
ISIF_SPH = 674-10; //起始列
ISIF_LNH = width-1; // 行数=LNH+1
ISIF_HSIZE = width >> 4; // Horizontal line offset
ISIF_SLV0 = 666-50; //奇偶场起始行
ISIF_SLV1 = 666-50;
ISIF_LNV = height-1; // 列数=LNH+1
ISIF_CULH = 0xffff; // Disable culling
ISIF_CULV = 0x00ff;
ISIF_VDINT0 = height; //VDINT 中断时间(行数)
ISIF_VDINT1 = 0;//height;
ISIF_VDINT2 = 0;//height;
ISIF_SDOFST = 0x0000;
ISIF_CADU = 0x0400; // ISIF视频数据输出到SDRAM的地址高位
ISIF_CADL = 0x0000; // ISIF视频数据输出到SDRAM的地址低位
ISIF_REC656IF = 0x0001; // REC656 enabled
/*
* Input format is Cb:Y:Cr:Y, w/ Y in odd-pixel position
*/
ISIF_CCDCFG = 0x0800; // CCD configuration
ISIF_FMTCFG = 0x0000; // Disable formatter
ISIF_SYNCEN = 0x0003; // Enable ISIF
在内存0x80000000上看到了视频数据:
用CCS的Image Analyzer 观察到以下图像
属性设置:
请问:出现这种现象的原因是什么?
Chris Meng:
你好,
9p031是12-bit有效数据,你CCS里面配置的是8-bit,这里有问题吧。同样component mask也需要做相应的修改。
Zhongwei Zhang1:
回复 Chris Meng:
你好,
我的9p031小板子上加了4位的信号线分别是0100,与12位的有效数据合起来作为16位的数据,所以内存中视频数据都是4XXX4XXX。我不明白为什么数据中间有那么多的40004000,而不符合我设置的1280X720.。还有就是CCS配置成16-bit的话,图像基调变成灰色一片,component mask 我不理解这是什么,该怎么填写?谢谢!
Zhongwei Zhang1:
回复 Chris Meng:
你好,
我的9p031小板子上加了4位的信号线分别是0100,与12位的有效数据合起来作为16位的数据,所以内存中视频数据都是4XXX4XXX。我不明白为什么数据中间有那么多的40004000,而不符合我设置的1280X720.。还有就是CCS配置成16-bit的话,图像基调变成灰色一片,component mask 我不理解这是什么,该怎么填写?谢谢!
Chris Meng:
回复 Zhongwei Zhang1:
你好,
你有参考过下面10bit有效数据的例子么?如果是12bit有效数据,component mask应该配置0x0FFF。就是采集的高4为会被清零。
http://processors.wiki.ti.com/index.php/Image_Analyzer#Examlpes
Bayer File:Bayer.zip
bayer720480_8of16_prop.txt: size 720 x 480 pixels, even B lines, GR/BG order, 8 bits out of 16 bits
bayer720480_10of16_prop.txt: size 720 x 480 pixels, even B lines, GR/BG order, 10 bits out of 16 bits
Zhongwei Zhang1:
回复 Chris Meng:
你好,
谢谢你的帮助。我看了下配置,然后改了component mask 为0x0fff。出来的图像是这样的。如同好几份被压缩的画面组成的,缺了好多信息。这是为什么?是不是我IPIPEIF部分的寄存器没有设置完全?还是其他原因?