OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 15961|回复: 9

STM32F4 DCMI DMA TVP5150问题?

[复制链接]

9

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2012-5-31
在线时间
4 小时
发表于 2012-6-5 18:14:24 | 显示全部楼层 |阅读模式

     为什么我配置的DCMI接收TVP5150传输到内存中数据一直是2048位,PAL制信号输入好像不是2048啊,是720*576,开的缓存是4K,数据来源是视频信号接入TVP5150传输出来的!求高手解答?我配置TVP5150裁剪也没什么反应?
配置方式如下:
    DCMI配置如下:
    DCMI_InitStructure.DCMI_CaptureMode = DCMI_CaptureMode_Continuous;
    DCMI_InitStructure.DCMI_SynchroMode = DCMI_SynchroMode_Hardware;
    DCMI_InitStructure.DCMI_PCKPolarity = DCMI_PCKPolarity_Falling;
    DCMI_InitStructure.DCMI_VSPolarity = DCMI_VSPolarity_High;
    DCMI_InitStructure.DCMI_HSPolarity = DCMI_HSPolarity_High;
    DCMI_InitStructure.DCMI_CaptureRate = DCMI_CaptureRate_All_Frame;
    DCMI_InitStructure.DCMI_ExtendedDataMode = DCMI_ExtendedDataMode_8b;

    DCMI_Init(&DCMI_InitStructure);

    DMA配置如下:
     DMA_InitStructure.DMA_Channel = DMA_Channel_1;       //选择DMA通道
     DMA_InitStructure.DMA_PeripheralBaseAddr = DCMI_DR_ADDR;//DCMI_BASE; //DMA选择外设基址
     DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)&video_dma_buf[0];     //DMA数据传入内存的基址
     DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory;            //外设到存储器
     DMA_InitStructure.DMA_BufferSize =4000;                              //空间大小  传送最大数据空间
     DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;    //外设递增不使能
     DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;   //内存递增使能

     DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word; //数据位 
     DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word;   //内存数据

     DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;          //循环模式
     DMA_InitStructure.DMA_Priority = DMA_Priority_High;
     DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Enable;
     DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_Full;
     DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single;
     DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single;

    TVP5150数据:
 { /* 0x00  1*/                                                                      
            0x00,0x00         //视频输入源选择寄存器                                    
    },                                                                                
    { /* 0x01  2*/                                                                      
            0x01,0x8f         //模拟通道控制寄存器                                        
    },                                                                                
    { /* 0x02  3*/                                                                      
            0x02,0x00         //操作模式控制寄存器                                         
    },                                                                                
    { /* 0x03  4*/                                                                      
            0x03,0x7f         //杂项控制寄存器  //0d                                           
    },          
    { /* 0x04  5*/                                                                      
            0x04,0xc0                                               
    },                                                                                
    { /* 0x06  6*/                                                                      
            0x06,0x10                                           
    },                                                                                
    { /* 0x07  7*/                                                                      
            0x07,0x40                                              
    },                                                                                
    { /* 0x08  8*/                                                                      
            0x08,0x00                                              
    },                                                                                
    { /* 0x09  9*/                                                                      
            0x09,0x80                                                   
    },                                                                                
    { /* 0x0a 10*/                                                                      
            0x0a,0x80                                               
    },                                                                                
    { /* 0x0b 11*/                                                                      
            0x0b,0x00                                                      
    },                                                                                
    { /* 0x0c 12*/                                                                      
            0x0c,0x80                                                 
    },                                                                                
    { /* 0x0d 13*/                                                                      
            0x0d,0x40    //47                                        
    },                                                                                
    { /* 0x0e 14*/                                                                      
            0x0e,0x00                                              
    },                                                                                
    { /* 0x0f 15*/                                                                      
            0x0f,0x08  //0x08                                              
    },                                                                                
    { /* 0x11 16*/                                                                      
            0x11,0x00           
    },                                                                                
    { /* 0x12 17*/                                                                      
            0x12,0x00       
    },                                                                                
    { /* 0x13 18*/                                                                      
            0x13,0x00       
    },                                                                                
    { /* 0x14 19*/     
            0x14,0x00                                          
    },                                                                                
    { /* 0x15 20*/                                                                      
            0x15,0x01                                                      
    },                                                                                
    { /* 0x16 21*/                                                                      
            0x16,0x80                                             
    },                                                                                
    { /* 0x18 22*/                                                                      
            0x18,0x00                                          
    },                                                                                
    { /* 0x19 23*/                                                                      
            0x19,0x00                                           
    },                                                                                
    { /* 0x1a 24*/                                                                      
            0x1a,0x0c                                            
    },                                                                                
    { /* 0x1b 25*/                                                                      
            0x1b,0x14                                            
    },                                                                                
    { /* 0x1c 26*/                                                                      
            0x1c,0x00                                              
    },                                                                                
    { /* 0x1d 27*/                                                                      
            0x1d,0x00                                             
    },                                                                                
    { /* 0x1e 28*/                                                                      
            0x1e,0x00                                            
    },                                                                                
    { /* 0x28 29*/                                                                      
            0x28,0x00                                                    
    },                                                                                
    { /* 0x2e 30*/                                                                      
            0x2e,0x0f                                           
    },                                                                                
    { /* 0x2f 31*/                                                                      
            0x2f,0x01                                          
    },                                                                                
    { /* 0xbb 32*/                                                                      
            0xbb,0x00                                             
    },                                                                                
    { /* 0xc0 33*/                                                                      
            0xc0,0x00                                             
    },                                                                                
    { /* 0xc1 34*/                                                                      
            0xc1,0x00                                             
    },                                                                                
    { /* 0xc2 35*/                                                                      
            0xc2,0x04                                                     
    },                                                                                
    { /* 0xc8 36*/                                                                      
            0xc8,0x80                                           
    },                                                                                
    { /* 0xc9 37*/                                                                      
            0xc9,0x00                                                   
    },                                                                                
    { /* 0xca 38*/                                                                      
            0xca,0x00                                              
    },                                                                                
    { /* 0xcb 39*/                                                                      
            0xcb,0x4e                                            
    },                                                                                
    { /* 0xcc 40*/                                                                      
            0xcc,0x00                                           
    },                                                                                
    { /* 0xcd 41*/                                                                      
            0xcd,0x01                                                
    },                                                                                
    { /* 0xcf 42*/                                                                      
            0xcf,0x00                                           
    },                                                                                
    { /* 0xd0 43*/                                                                      
            0xd0,0x00                                                    
    },                                                                                
    { /* 0xfc 44*/                                                                      
            0xfc,0x7f                                          
    }   
    


电是一种神奇的东西!!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2012-6-5 18:34:35 | 显示全部楼层
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

33

主题

489

帖子

6

精华

金牌会员

Rank: 6Rank: 6

积分
1565
金钱
1565
注册时间
2011-12-10
在线时间
4 小时
发表于 2012-6-5 18:47:21 | 显示全部楼层
数据一直是2048位是什么意思?
在ITU-R BT.656视频标准中,有效视频数据分为奇、偶场,每场均由288行组成。每行有效数据有1440个取样字,其中有720个亮度Y取样字,360个蓝色色差Cb取样字以及360个红色色差Cr取样字,也就是说每场(奇场或偶场)的数据量是414720字节,即405K,而要完整存储一帧数据就要810K的内存了,不知你开4K的缓存是什么意思。
学习交流请加Q群:242876057(STM32F4交流群)
回复 支持 反对

使用道具 举报

9

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2012-5-31
在线时间
4 小时
 楼主| 发表于 2012-6-6 08:39:58 | 显示全部楼层
回复【3楼】骤雨龙元:
---------------------------------
我只是试验一下一行的数据是否正确,但我也不知道怎么会是2048位一行!可能还是5150寄存器配置有问题。
电是一种神奇的东西!!
回复 支持 反对

使用道具 举报

9

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2012-5-31
在线时间
4 小时
 楼主| 发表于 2012-6-6 08:43:28 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
也多些原子哥··
电是一种神奇的东西!!
回复 支持 反对

使用道具 举报

33

主题

489

帖子

6

精华

金牌会员

Rank: 6Rank: 6

积分
1565
金钱
1565
注册时间
2011-12-10
在线时间
4 小时
发表于 2012-6-6 12:02:32 | 显示全部楼层
怎么数据是按位来算的,而不按字节?
学习交流请加Q群:242876057(STM32F4交流群)
回复 支持 反对

使用道具 举报

2

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2012-7-23
在线时间
0 小时
发表于 2012-8-30 19:16:12 | 显示全部楼层
没看懂
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2014-8-1
在线时间
0 小时
发表于 2014-8-1 16:14:10 | 显示全部楼层
回复【5楼】jxa19890929:
---------------------------------
回复【4楼】jxa19890929:
---------------------------------
你这么配置TVP5150后,输出视频信号不是PAL的是NTSC的。我现在在调试这个,请问你跳出来了吗,可否提供一下DCMI 的配置,因为我按照你这么配置后,采集的数据是1212.
回复 支持 反对

使用道具 举报

15

主题

99

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
366
金钱
366
注册时间
2012-5-23
在线时间
123 小时
发表于 2015-3-9 10:38:31 | 显示全部楼层
回复【4楼】jxa19890929:
---------------------------------
问下楼主是否还记得为什么只接收到2048字节?我现在用SAA7113遇到同样情况
回复 支持 反对

使用道具 举报

0

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
74
金钱
74
注册时间
2013-12-29
在线时间
7 小时
发表于 2015-5-26 18:26:21 | 显示全部楼层
求结果,我也想用STM32F07和TVP5150做视频采集
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-24 18:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表