给你一个Bf533上的配置,你参考一下:
#define Line_Length 1716
#define Frame_Length 525
extern uint8_t video_buff[0x100000];
void Init_DMA(void)
{
//Target address of the DMA
*pDMA0_START_ADDR = (int)video_buff;
//Line_Length 16bit transfers will be executed
*pDMA0_X_COUNT = Line_Length;
//The modifier is set to 2 because of the 16bit transfers
*pDMA0_X_MODIFY = 0x1;
//Frame_Length 16bit transfers will be executed
*pDMA0_Y_COUNT = Frame_Length;
//The modifier is set to 1 because of the 16bit transfers
*pDMA0_Y_MODIFY = 0x1;
*pDMA0_CONFIG = 0x1000 | DMAEN | DMA2D ;
// *pDMA0_CONFIG = 0x1090;
// *pDMA0_CONFIG |= DMAEN ;
// *pDMA0_CONFIG = 0x1000 | DMAEN ; //0x1031;
}//end Init_DMA
void Init_PPI(void)
{
//The PPI is set to receive 525 lines for each frame
*pPPI_FRAME = 525;
// output mode, 656 mode
*pPPI_CONTROL = PORT_DIR | PORT_EN;
}//end Init_PPI
BF609不清楚有没有ITU656,你使用没有行场同步的模式就可以了。
ITU656要求的时钟是27M,如果你的PPI时钟没办法配置为27M,就在PPI时钟线上加一个27MH时钟的晶振,让处理器从外部读取PPI时钟即可。