This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM368采集视频的问题,急!!



DM368用了很长时间了,主要是用于图像传感的采集,现在出现了这样的问题,请达人帮忙看一下。

1):采集OV7725的图像没有问题,MT9P031的图像没问题;

2):最近在调试OV5653(行,场信号与OV7725一样),出现以下问题: 

          A:配置完OV5653寄存器后,V,H,CLK正常输出;

         B:此时VPFE设置正确,但无法采集到数据;

        C:但如果将ISIF.MODSET.HDVDD设置为1,即将HD,VD设为输出,即会看见内存获取数据;

        D:此时再测试VD,HD信号,VD信号电平被拉高约1.5V左右;

        E:这样带来的问题是,其他逻辑电路检测不到VD信号,无法进行帧检测,图像出来非常杂乱,很难调试;

请问有人遇到过这种问题嘛?更改IPIEIF及ISIF的各种设置,只要是ISIF.MODSET.HDVDD设置0(输入),那肯定采不到数据。这事儿太闹心了,弄了好几天也没有搞明白,跪求达人指导,谢谢~~

  • 这个HDVDD设置成输出肯定是不对的。你不是要sensor的sync输入DM368吗?

    我觉得还是VPFE设置有不对吧。  这几个sensor的图像分辨率都不一样啊。

    你看看VS HS的polarity是否设置正确? 有没有收到VD中断?

    Sensor你设置的输出分辨率是什么?你有没有量过,sensor出来的格式分辨率是否和你设置的预期一样?DM368采集的具体参数你设了什么?

  • 是的,sensor的确是要输入到DM368的,之前也调试过其他的sensor 都没有出现过类似的问题;

    其中以前使用过的OV7725是640 x 480的,MT9P031是2592x1944的,目前使用的OV5653也是2592x1944,和其前的区别仅仅是VSYNC的极性不一致而已,按理来说配置完OV 5653 Sensor,以前的MT9P031的VPFE的配置参数就是可以用的。

    VS,HS的极性都调整过,根本不起作用。

    Sensor的输出是2592 x 1944的,我用示波器都测试过,没有问题,和手册的一直。

    以下是配置数据,之前就一直用的,没出过描述的问题。

    ISP5_PCCR = 0x63;//Eable DDR clock,ISIF clock,IPIPEIF clock
    ISP5_BCR = 0x2;//Enable ISIF
    ISP5_INTSEL1 = 0x07050400;
    ISP5_INTSEL2 = 0x13111008;
    ISP5_INTSEL3 = 0x14;
    VPSS_VPBE_CLK_CTRL = 0x00000010; // close on VPBE clk
    /*--------------------------end-------------------------------------*/

    IPIPEIF_ENABLE = 0x0; 
    IPIPEIF_CFG1 = 0x0; //Port selected as Parallel port
    IPIPEIF_DPCM = 0;
    IPIPEIF_CFG2 = 0x2;//YUV 8 bit mode and HSYNC with negative mode
    IPIPEIF_CLKDIV = 1;

    ISIF_SYNCEN = 0x0; // Disable VPFE during setup,disable DWEN and SYEN

    ISIF_HDW = 0x0000; //144 = 0x008F
    ISIF_VDW = 0x0000;
    ISIF_SPH = 0;

    ISIF_MODESET = 0x2F89; // 8bit YUV
    ISIF_PPLN = 0x0CB3;//0x0ABF; //2752 0x0CB3; //3252
    ISIF_LPFR = 0x07AF;//0x07D3; //2004 0x07AF; //1968

    ISIF_LNH = 2560;
    ISIF_HSIZE = Image500wWidth/64;//

    ISIF_SLV0 = 0x0000; //24 // Vertical start line
    ISIF_SLV1 = 0x0000;

    ISIF_LNV = 1944;//<<1; // Vertical lines
    ISIF_CULH = 0xffff; // Disable culling
    ISIF_CULV = 0x00ff;

    ISIF_SDOFST = 0x0249; // Line offset
    ISIF_CADU = video_buffer >> 21; // Frame buffer address high
    ISIF_CADL = video_buffer >> 5; // Frame buffer address low
    ISIF_REC656IF = 0x0000; // REC656 enabled

    {ISIF_CCDCFG = 0x0A12;}

    ISIF_FMTCFG = 0x0000; // Disable formatter
    ISIF_VDINT0 = 479;
    ISIF_VDINT1 = 600;
    ISIF_VDINT2 = 700;

    ISIF_SYNCEN = 0x0003; // Enable CCDC

  • 那我们先假定软件配置上没有问题。先看一下硬件上

    1.   先把PCLK的触发相位反一下试试

    Clock controller can configure to trigger on the rising or falling edge of the PCLK signal
    by setting the bit VPSS_CLK_CTRL.PCLK_INV in SYSTEM module registers.

    2.   检查一下sensor的IO电平和DM368是否一致。   OV这颗可以2.8/1.8的。   9p031是1.8的。估计你的368也是用的1.8吧?

  •         您好!首先非常感谢您的关注及给出的非常有建议性的意见。

           您所提到的建议我之前也确认过了,都没有解决问题,今天下午的时候我已经可以获取图像了,这里讲一下解决的方法,供看到这个帖子的人做为参考,同时也留下自己的一些疑问。

           1:之前提到了ISIF.MODSET.HDVDD的所设置的方向必须是输入,根据手册就一直没有搞定,图像一直没有采到;

           2:后来我就想为什么不可以把VD,HD设为输出呢,只要和Sensor的行,场信号一直即可,电路可以采集到VD信号就OK,于是断了HD,VD的电路连接;

           3:然后调整HDW,VDW,PPLN,LPFR的值(同时参考Sensor手册),使得HD,VD与Sensor的VD,HD一致,然后测试这样做也是可以的,获取图像数据;

          4:无意间又将ISIF.MODSET.HDVDD设为输入,结果惊喜的发现居获也采到图了,只不过图像数在内存的位置与3中差0x500的距离,面且电压抬升的现象也没了;

          5:再修改HDW,VDW,PPLN,LPFR的值,则不能获取图像。

         手册中说VDW等四个寄存器只在SIF.MODSET.HDVDD设为输出时有效,在输入设置时不使用。确实让人不解~~~~~