OpenEdv-开源电子网

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

SAA7113H+STM32F407+SSD1963做视频监控方案问题

[复制链接]

11

主题

110

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2015-11-17
在线时间
6 小时
发表于 2015-11-17 16:15:17 | 显示全部楼层 |阅读模式
5金钱
买的原子的开发板,是摄像头+407+SSD1963,试了下挺流畅的。但是摄像头是配置为RGB565格式直接输出到DCMI,无需格式转换,可以直接给SSD1963刷屏。

现在公司要做的模拟摄像头CVBS输入,所以前面加了解码芯片SAA7113H把CVBS转成YCBCR422。通过网上搜索资料得知,需要把YCBCR422转成RGB888,然后把RGB888转成RGB565

现在不知道从何下手,比如如果接收和提取DCMI里面DMA的数据,把数据进行格式转换,是否要先存放在SRAM里,如何存放?而且DCMI是8bit数据,如果转换成24bit,再转成16bit,数据处理的过程和需要用到的存储空间不太明白。

不知道原子或者其他群友是否做过类似的项目,恳请赐教。

最佳答案

查看完整内容[请看2#楼]

基本解决了,使用双DMA乒乓传输。下一步就是考验STM32F407的格式转换速率了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

11

主题

110

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2015-11-17
在线时间
6 小时
 楼主| 发表于 2015-11-17 16:15:18 | 显示全部楼层
基本解决了,使用双DMA乒乓传输。下一步就是考验STM32F407的格式转换速率了。
回复

使用道具 举报

11

主题

110

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2015-11-17
在线时间
6 小时
 楼主| 发表于 2015-11-17 16:35:17 | 显示全部楼层
貌似DMA的中断有个64k大小的限制……
回复

使用道具 举报

11

主题

110

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2015-11-17
在线时间
6 小时
 楼主| 发表于 2015-11-17 16:36:24 | 显示全部楼层
现在是每次收到DMA中断然后取数据存储,总会错过一部分数据
回复

使用道具 举报

11

主题

110

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2015-11-17
在线时间
6 小时
 楼主| 发表于 2015-11-17 16:52:06 | 显示全部楼层
找到一个类似这样问题的


烦恼啊 !
DMA_InitStructure.DMA_BufferSize 最大才65536个数据项数目,做320*240的分辨率设置成:
DMA_InitStructure.DMA_BufferSize = 320*240/2;
DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word;
这样功能正常,正常摄像。但是想到改成640*480分辨率我就头大了 ,640*480/2 > 65536,设置不了这么大 如果我设置DCMI中断,再设置
DMA_InitStructure.DMA_BufferSize = 320*240/2; 这样就只能得到1/4的数据  再DCMI中断重设DMA ,结果DCMI是一帧中断的, 设的4个DMABUFF得到的不是同一帧数据,于是我换成DMA中断,更改如下:
DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;        
DMA_NVIC_Config();
DMA_ITConfig(DMA2_Stream1,DMA_IT_TC,ENABLE);
DMA_Cmd(DMA2_Stream1,ENABLE);                        

//拷贝自神舟开发板例程  结果相机就没有数据输出  唉 !我的天 STM32F4 有没有弄出480*640的分辨率的相机的大师 给个代码让我瞧瞧是用了什么办法
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-11-17 22:24:04 | 显示全部楼层
只能软件处理了.
估计速度很旋.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

11

主题

110

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2015-11-17
在线时间
6 小时
 楼主| 发表于 2015-11-18 09:38:22 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
你的意思是不用DMA?
反正用DMA等中断取数据就会丢。
回复

使用道具 举报

15

主题

99

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
366
金钱
366
注册时间
2012-5-23
在线时间
123 小时
发表于 2015-11-19 20:52:40 | 显示全部楼层
帧数估计很低,模拟视频信号不像数字摄像头,一幅图像是分奇偶场的,407需要去识别奇偶场。另外回来的图像是要做处理的。407做视频监控比较难。
回复

使用道具 举报

11

主题

110

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2015-11-17
在线时间
6 小时
 楼主| 发表于 2015-11-20 08:55:16 | 显示全部楼层
回复【8楼】ztzjl2010:
---------------------------------
目前实现了不从DMA直接推送到1963,而是经过SRAM中转这个过程,目测现在帧数20左右吧
回复

使用道具 举报

15

主题

99

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
366
金钱
366
注册时间
2012-5-23
在线时间
123 小时
发表于 2015-11-20 13:20:20 | 显示全部楼层
不知道你分辨率做到多大的。如果分辨率做到720*576,能实现20帧蛮快的了
回复

使用道具 举报

11

主题

110

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2015-11-17
在线时间
6 小时
 楼主| 发表于 2015-11-23 15:55:15 | 显示全部楼层
回复【10楼】ztzjl2010:
---------------------------------
没有格式转换,800X480
回复

使用道具 举报

15

主题

99

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
366
金钱
366
注册时间
2012-5-23
在线时间
123 小时
发表于 2015-11-23 20:16:04 | 显示全部楼层
回复【11楼】liuhuamin007:
---------------------------------
SAA7113H最大只有720*576的吧。
回复

使用道具 举报

11

主题

110

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2015-11-17
在线时间
6 小时
 楼主| 发表于 2015-11-24 15:46:03 | 显示全部楼层
回复【12楼】ztzjl2010:
---------------------------------
反正源最终是CVBS的几十万像素摄像头,到时候拉伸也无所谓,不一定点对点
回复

使用道具 举报

11

主题

110

帖子

0

精华

初级会员

Rank: 2

积分
187
金钱
187
注册时间
2015-11-17
在线时间
6 小时
 楼主| 发表于 2015-11-24 17:00:04 | 显示全部楼层
格式一转换就搞不定了,打算改用STM32F429了
回复

使用道具 举报

10

主题

40

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
244
金钱
244
注册时间
2012-7-20
在线时间
65 小时
发表于 2015-12-22 21:26:04 | 显示全部楼层

请问楼主解决好次问题了吗?找到什么芯片能直接把CVBS直接转成RGB565的芯片没?我也是在做一个既要显示cvbs 摄像头上面的信号,又需要显示其他数据(用GUI实现的),也遇到楼主遇到的问题。谢谢

回复

使用道具 举报

29

主题

246

帖子

0

精华

高级会员

Rank: 4

积分
968
金钱
968
注册时间
2014-10-9
在线时间
95 小时
发表于 2015-12-23 16:20:09 | 显示全部楼层
楼主牛逼,我之前也在纠结这个问题,后来没用那个芯片saa7113h,因为我接收cvbs的信号只需要显示,不需要保存
淘宝小店,没事可以点一下增加点流量http://shop69767205.taobao.com/
回复

使用道具 举报

11

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
109
金钱
109
注册时间
2016-4-30
在线时间
44 小时
发表于 2016-4-30 13:00:18 | 显示全部楼层
楼主大大,求问最后用STM32F429结果,还有最后怎么解决这个问题,我现在手头也有这个项目。听你这么一说用F407是不可能了
回复

使用道具 举报

owenyuan 该用户已被删除
发表于 2017-4-19 11:22:10 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

31

主题

187

帖子

0

精华

高级会员

Rank: 4

积分
699
金钱
699
注册时间
2014-9-19
在线时间
193 小时
发表于 2017-4-19 11:31:34 | 显示全部楼层
cvds视频显示呗,一般都是用arm和fpga做图像,代码也比较成熟的。视频也可以转成h264存储到sd卡,也可以拍照截图,转成bmp存储到sd卡。软解h264一般不行,mfc硬解可以实现上面的所有东西的。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-18 01:43

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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