OpenEdv-开源电子网

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

STM32F407+摄像头+TCP sever,图像花了!

[复制链接]

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2014-3-20
在线时间
4 小时
发表于 2014-5-25 17:37:19 | 显示全部楼层 |阅读模式
5金钱
目的:
      通过网络将,摄像头采集的图像传到电脑上并保存!

过程:
       首先,通过DMA将DCMI的摄像头数据直接传送到SRAM,然后通过TCP Sever将一帧图像数据发送到电脑,并用网络调试助手接收并保存数据。
      当然在DMA将数据发送到SRAM后,又通过FSMC将此数据发送到TFT屏显示。
问题:
      首先,将DCMI数据经SRAM过渡一下后,再到TFT屏显示,出现了花屏,如下图所示,


     2,将SRAM数据通过网络发送到电脑并保存后。利用matlab恢复此数据得到的图像,效果也有问题,但要比TFT屏显示的效果好,如下图所示


明显由matlab恢复出的图像,有好多斑点,好像类似花屏!
             
请各位大神,帮忙掌掌眼,问题在哪里呢?有什么解决办法呢?谢谢!(出来现在这效果已经折腾我快一个月了!)

最佳答案

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

回复【7楼】buliuxing: --------------------------------- http://www.openedv.com/posts/list/0/28812.htm#241410,在我的这个帖子里我,贴出了程序!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2014-3-20
在线时间
4 小时
 楼主| 发表于 2014-5-25 17:37:20 | 显示全部楼层
回复【7楼】buliuxing:
---------------------------------
http://www.openedv.com/posts/list/0/28812.htm#241410,在我的这个帖子里我,贴出了程序!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-5-26 00:41:47 | 显示全部楼层
直接DCMI DMA到液晶,有没有花屏现象?你的摄像头用的什么型号的?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2014-3-20
在线时间
4 小时
 楼主| 发表于 2014-5-28 15:28:36 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
直接从DCMI 到DMA 再到TFT没有花屏! 很清楚!摄像头是OV9655的!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-5-28 23:19:50 | 显示全部楼层
回复【3楼】ichina:
---------------------------------
是不是数据覆盖了,你传输一帧后,等传输完成再开启DMA传输下一帧试试.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
70
金钱
70
注册时间
2014-3-20
在线时间
4 小时
 楼主| 发表于 2014-5-29 10:47:45 | 显示全部楼层
 回复【4楼】 正点原子 :
---------------------------------
因为我设置的DMA buffer为  DMA_DoubleBufferModeConfig(DMA2_Stream1, Bank1_SRAM3_ADDR+(0x4b00*4),DMA_Memory_0); //DMA double buffer configure
双缓存,所以,可以在缓存同时对数据操作,应该不会被覆盖。
这个花屏问题我通过修改FSMC的设置,解决了!
  p.FSMC_AddressSetupTime = 0;
   p.FSMC_AddressHoldTime = 0;
   p.FSMC_DataSetupTime = 4;
 
//  p.FSMC_AddressSetupTime = 1;
//  p.FSMC_AddressHoldTime = 0;
//  p.FSMC_DataSetupTime = 2;
上面注释的部分为原来FSMC的设置,改为上面的参数后,花屏问题解决了!
谢谢,原子的指教!


为什么,改了一下FSMC的这几个参数就没有花屏了呢?
揭秘:
右击,去看了一下这几个参数的definition,如下:

  uint32_t FSMC_AddressSetupTime;       /*!< Defines the number of HCLK cycles to configure
                                             the duration of the address setup time. 
                                             This parameter can be a value between 0 and 0xF.
                                             @note This parameter is not used with synchronous NOR Flash memories. */

  uint32_t FSMC_AddressHoldTime;        /*!< Defines the number of HCLK cycles to configure
                                             the duration of the address hold time.
                                             This parameter can be a value between 0 and 0xF.
                                             @note This parameter is not used with synchronous NOR Flash memories.*/

  uint32_t FSMC_DataSetupTime;          /*!< Defines the number of HCLK cycles to configure
                                             the duration of the data setup time.
                                             This parameter can be a value between 0 and 0xFF.
                                             @note This parameter is used for SRAMs, ROMs and asynchronous multiplexed NOR Flash memories. */
FSMC_AddressSetupTime,用来配置FSMC地址建立时间的长短;
FSMC_AddressHoldTime,用来配置FSMC地址保持时间的长短;
FSMC_DataSetupTime,用来配置数据建立时间的长短。
而STM32处理器正是通过FSMC(flexible static memory controller,可变静态存储控制器)总线来访问SRAM的,所以,FSMC的正确配置才能保证发出正确的地址、控制信号类型来匹配信号的速度。
仔细观察对FSMC配置的修改,只改了FSMC_AddressSetupTime=0和FSMC_DataSetupTime=4,也就是把FSMC地址建立时间缩短了和数据建立时间变长了,后来我又改为FSMC_AddressSetupTime=1而FSMC_DataSetupTime=4,即只把数据建立时间变长了,FSMC地址建立时间跟原来一样,结果跑了一下程序,花屏照样没有,说明之前花屏问题是因为数据建立的时间太短了,造成了像原子说出现了数据的覆盖吧!
是不是我分析的这样呢!请各位大神指正!谢谢!

回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-5-29 22:54:29 | 显示全部楼层
回复【5楼】ichina:
---------------------------------
你看看你SRAM的访问周期是多少的?我用的62WV51216,是55ns的,一个HCLK是6ns,必须设置9才可以.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2014-5-12
在线时间
1 小时
发表于 2014-7-14 17:06:31 | 显示全部楼层
楼主的MATLAB程序可以共享下
回复

使用道具 举报

2

主题

23

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
213
金钱
213
注册时间
2014-7-15
在线时间
44 小时
发表于 2014-7-15 12:43:06 | 显示全部楼层
学习了 谢谢
回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
21
金钱
21
注册时间
2014-12-25
在线时间
0 小时
发表于 2014-12-25 16:44:57 | 显示全部楼层
楼主你好,可以将你的DCMI和DMA的配置还有OV9655的配置共享一下吗?? 我最近自在研究这个东西,也是想把OV9655的数据存在外部SRAM中,搞了好些天也没搞好,
所以想参考一下楼主的,谢谢了啊。
我的邮箱地址是:china_cczy@163.com
另外,OV9655的手册网上下载的只有比较简单的内容,手册中并没有说VGA和QVGA或SXGA等这些模式要怎么具体配置,不知道楼主是不是拿到了内部手册?
回复

使用道具 举报

0

主题

2

帖子

0

精华

新手入门

积分
24
金钱
24
注册时间
2015-4-28
在线时间
0 小时
发表于 2015-12-23 17:20:23 | 显示全部楼层
楼主能联系一下吗,最近毕设做一个差不多的求指点  QQ:314490505
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
49
金钱
49
注册时间
2016-4-28
在线时间
16 小时
发表于 2016-11-19 20:41:46 | 显示全部楼层
楼主,你好!最近也在做STM32F407+摄像头+TCP sever,上位机显示图像也是花的,图片显示不完全,帧率只有0.6左右。弄了好久了,楼主可以交流一下吗?可以分享一下代码资源吗?谢谢
qq:1030209266;邮箱:1030209266@qq.com
回复

使用道具 举报

3

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
63
金钱
63
注册时间
2017-4-18
在线时间
22 小时
发表于 2017-4-18 15:31:57 | 显示全部楼层
可以分享一下代码资源吗?谢谢!!
1141403260@qq.com
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

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

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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