fax629714 发表于 2019-1-16 22:31:42

STM32F767的DCMI+TW9912配置逐行BT656内嵌码同步问题

需要通过stm32的DCMI接口将tw9912解码去隔行的逐行BT656数据流采集到外置的SDRAM中,已经配置好TW9912,其已正常工作,但是配置的stm32的DCMI内嵌码同步出问题了,无论如何修改内嵌码同步值,帧中断频率都100多HZ;去隔行的tw9912的帧率是50Hz,真是让人头大。另外,参考手册上DCMI_ESUR寄存器也不是它说的那种使用方式。以下是DCMI口配置的代码
    DCMI_Handler.Instance=DCMI;
    DCMI_Handler.Init.SynchroMode=DCMI_SYNCHRO_EMBEDDED;    //硬件同步HSYNC,VSYNC
    DCMI_Handler.Init.PCKPolarity=DCMI_PCKPOLARITY_RISING;//PCLK 上升沿有效
    DCMI_Handler.Init.CaptureRate=DCMI_CR_ALTERNATE_4_FRAME;      //全帧捕获
    DCMI_Handler.Init.ExtendedDataMode=DCMI_EXTEND_DATA_8B; //8位数据格式DCMI_OEBS_EVEN
    DCMI_Handler.Init.SyncroCode.FrameEndCode = 0xb6;
    DCMI_Handler.Init.SyncroCode.FrameStartCode = 0xab;
    DCMI_Handler.Init.SyncroCode.LineStartCode = 0x80;
    DCMI_Handler.Init.SyncroCode.LineEndCode = 0x9d;

    DCMI_Handler.Init.JPEGMode = DCMI_JPEG_DISABLE;
    DCMI_Handler.Init.ByteSelectMode = DCMI_BSM_ALL;
    DCMI_Handler.Init.ByteSelectStart = DCMI_OEBS_EVEN;
    DCMI_Handler.Init.LineSelectMode = DCMI_LSM_ALL;
    DCMI_Handler.Init.LineSelectStart = DCMI_OELS_ODD;



    HAL_DCMI_Init(&DCMI_Handler);
    __HAL_DCMI_DISABLE_IT(&DCMI_Handler,DCMI_IT_LINE|DCMI_IT_VSYNC|DCMI_IT_ERR|DCMI_IT_OVR);
    __HAL_DCMI_ENABLE_IT(&DCMI_Handler,DCMI_IT_VSYNC);      //使能帧中断
    __HAL_DCMI_ENABLE(&DCMI_Handler);   

fax629714 发表于 2019-1-16 22:32:47

就是不知道DCMI该如何配置,希望大神指导一下,谢谢。

fax629714 发表于 2019-1-18 09:20:33

有大神做过的吗?指导一下啊
页: [1]
查看完整版本: STM32F767的DCMI+TW9912配置逐行BT656内嵌码同步问题