我将DM648 VP4配置为Display用作图像输出,但是很奇怪,我的输出波形当中,我的VBLNK总是间隔两个之后才有数据输出,这是为什么?如附件的图。
说明:我的VBLNK配置为极性相反,就是说低电平是VBLNK,其中的数据脚我抓的是data4.下面是我的参数设置,看看是否有问题:
谢了谢了,非常感谢!!!
/* Video Port configuration parameters for display.
Using default value.
Note: This variable is used in BIOS TCF file.*/
VPORT_PortParams vDisParamsPort = DIS_PARAMS_PORT_RAW_DEFAULT;
/* Vport Display driver configuration.
Using embedded sync. */
static VPORTDIS_Params vDisParamsChan = DIS_PARAMS_CHAN_VGA_RAW_8BIT;
/*
* VGA 8-bit RAW Display Configuration
*/
#define DIS_VGA_RAW_8BIT_LINE_SZ (640 << 1)
#define DIS_VGA_RAW_8BIT_NUM_LINES (480)
#define DIS_PARAMS_CHAN_VGA_RAW_8BIT { \
VPORT_MODE_RAW_8BIT, /* dmode:3 */ \
VPORT_FLDOP_PROGRESSIVE, /* fldOp:3 */ \
\
VPORT_SCALING_DISABLE, /* scale:1 */ \
VPORT_RESMPL_DISABLE, /* resmpl:1 */ \
VPORTDIS_DEFVAL_ENABLE, /* defValEn:1 */ \
VPORTDIS_BPK_10BIT_NORMAL, /* bpk10Bit:1 */ \
\
VPORTDIS_VCTL1_HBLNK, /* vctl1Config:2 */ \
VPORTDIS_VCTL2_VBLNK, /* vctl2Config:2 */ \
VPORTDIS_VCTL3_FLD, /* vctl3Config:1 */ \
VPORTDIS_EXC_DISABLE, /* extCtl:3 */ \
\
(915 << 1), /* frmHSize */ \
600, /* frmVSize */ \
\
0, /* imgHOffsetFld1 */ \
0, /* imgVOffsetFld1 */ \
DIS_VGA_RAW_8BIT_LINE_SZ, /* imgHSizeFld1 */ \
DIS_VGA_RAW_8BIT_NUM_LINES, /* imgVSizeFld1 */ \
\
0, /* imgHOffsetFld2 */ \
0, /* imgVOffsetFld2 */ \
0, /* imgHSizeFld2 */ \
0, /* imgVSizeFld2 */ \
\
(640 << 1), /* hBlnkStart */ \
0, /* hBlnkStop */ \
\
0, /* vBlnkXStartFld1 */ \
1, /* vBlnkYStartFld1 */ \
0, /* vBlnkXStopFld1 */ \
121, /* vBlnkYStopFld1 */ \
\
0, /* vBlnkXStartFld2 */ \
0, /* vBlnkYStartFld2 */ \
0, /* vBlnkXStopFld2 */ \
0, /* vBlnkYStopFld2 */ \
\
0, /* xStartFld1 */ \
1, /* yStartFld1 */ \
\
0, /* xStartFld2 */ \
0, /* yStartFld2 */ \
\
(680 << 1), /* hSyncStart */ \
(700 << 1), /* hSyncStop */ \
\
(680 << 1), /* vSyncXStartFld1 */ \
4, /* vSyncYStartFld1 */ \
(700 << 1), /* vSyncXStopFld1 */ \
7, /* vSyncYStopFld1 */ \
\
0, /* vSyncXStartFld2 */ \
0, /* vSyncYStartFld2 */ \
0, /* vSyncXStopFld2 */ \
0, /* vSyncYStopFld2 */ \
\
16, /* yClipLow */ \
240, /* yClipHigh */ \
16, /* cClipLow */ \
240, /* cClipHigh */ \
\
0x00, /* Default Y value */ \
0x00, /* Default Cb value */ \
0x00, /* Default Cr value */ \
\
VPORTDIS_RGBX_DISABLE, /* RGB extract disable */ \
1, /* incPix, for raw mode only */ \
\
(DIS_VGA_RAW_8BIT_LINE_SZ >> 4), /* thrld */ \
\
3, /* numFrmBufs */ \
128, /* alignment */ \
VPORT_FLDS_MERGED, /* mergeFlds */ \
\
NULL, /* segId */ \
NULL /* hEdma */ \
}
NO NO4:
求答疑解惑
NO NO4:
回复 NO NO4:
这个帖子我自己来接吧。
如果是有CPU参与操作framebuff的情况下,在FVID_exchange之前需要增加
Memory_cacheWbInv();
Ternence_Hsu:
回复 NO NO4:
谢谢分享