采集图像不正确,主要是看看时序有没有匹配上,PPI寄存器上配置时序的事POLS和POLC两位。还有就是你的摄像头时序是否满足PPI时序。配置的PPI采集数量和DMA的值是否正确。
给你一个ov9650的配置吧,你参考一下:
void InitPPI2DMA(void)
{
*pDMA14_START_ADDR = CMOS2_DATA_START;
*pDMA14_X_COUNT = 1280;
*pDMA14_X_MODIFY = 0x1;
*pDMA14_Y_COUNT = 480;
*pDMA14_Y_MODIFY = 0x1;
*pDMA14_CONFIG = WNR |DI_EN |WDSIZE_8 | DMA2D | SYNC ;
ssync();
}
#define POLS 0<<13
#define POLC 3<<11
#define DIR_RX 0<<1
#define XFR_TYPE11 3<<2
#define FS_CFG 2<<4
#define DLEN_8 0<<15
#define PACK_EN 1<<20
#define ICLKGEN 1<<9
unsigned int tmp ;
void InitEPPI2()
{
*pEPPI2_CONTROL = POLS| POLC | DLEN_8 | DIR_RX | XFR_TYPE11 | FS_CFG;
ssync();
*pEPPI2_LINE = 1280;
ssync();
*pEPPI2_FRAME = 479;
ssync();
}