OpenEdv-开源电子网

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

关于STM32接收大图片数据保存的问题

[复制链接]

0

主题

3

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2020-10-13
在线时间
4 小时
发表于 2020-10-13 15:27:31 | 显示全部楼层 |阅读模式
3金钱
本帖最后由 y414286079 于 2020-10-14 09:28 编辑

最近在做一个项目,使用STM32F105驱动摄像头GC6153并接受数据,结构是这样的,通过MCO给GC6153工作时钟,然后启动后通过IIC发送配置信息,配置完成后GC6153就会通过SPI来发送图片数据。
数据量特别大,320*240*2,一共150K,此芯片的RAM为64K,内部FLASH为124K。所以我想了个方法,因为150K是分包发的,一包的数据量是240*2加上一些包头包尾,所以我在接收完一包后立刻对数据进行提取再保存,提取出来的数据总量为75K,这样就能把空间省到只需要一包数据的缓冲区和75K的储存空间。每包数据之间的时间间隔为1.7MS,提取算法目前已经实现,能处理得过来,但是在添加了提取完每包数据后将数据写入FLASH的代码后,发现处理不过来了,导致后面接收的数据乱了,理论推导计算了一下写入FLASH所用的时间是大于每包的间隔时间的。
目前SPI的接收方式为中断接收,我想尝试使用DMA的方法来接收SPI,这样能否将CPU空闲出来处理FLASH的写入?但是感觉很悬啊,因为DMA同样是会占用掉总线,导致不能写入FLASH。还没实际测试过效果,不知道大家还有什么方法可以推荐给我吗?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2020-10-13
在线时间
4 小时
 楼主| 发表于 2020-10-14 16:00:38 | 显示全部楼层
有没有大佬提供点建议
回复

使用道具 举报

5

主题

152

帖子

0

精华

高级会员

Rank: 4

积分
777
金钱
777
注册时间
2016-7-15
在线时间
119 小时
发表于 2020-10-14 17:26:09 | 显示全部楼层
没有,1.7ms太快了
好好学习,天天向上。
回复

使用道具 举报

22

主题

2251

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4480
金钱
4480
注册时间
2013-4-22
在线时间
337 小时
发表于 2020-10-14 19:00:13 | 显示全部楼层
没有办法了
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手上路

积分
23
金钱
23
注册时间
2020-10-13
在线时间
4 小时
 楼主| 发表于 2020-10-15 09:47:50 | 显示全部楼层

好吧,那这样只能把GC6153的工作频率降下来了,尽量降低传输速率扩大包与包的间隔时间...
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-20 03:48

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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