打印
[STM32F4]

关于SDIO写SD卡的问题,还有LCD图像保存BMP的问题

[复制链接]
1463|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
njpanyi|  楼主 | 2015-8-9 07:17 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32F4DIS那个官方camera程序拍照写进SD卡保存成bmp的程序里面SDIO不是很懂。
想请问SDIO写进SD卡的速度是和什么有关系呢?假如我SDIO的CLK是24MHZ的话, SDIO_InitStructure.SDIO_BusWide = SDIO_BusWide_1b
是不是就是说我每1/24000000秒写1bit的数据呀?我感觉好像其实没有写那么快呢~

然后就是如果我是LCD_ReadRAM然后按照LCD里从左到右从上到下写文件嘛,是不是读取LCD内存这个也是耗时间的一个原因呢?

还有一个问题是我如果直接在LCD上显示一个静态的一行字什么的,然后我LCD_ReadRAM然后保存成bmp是反着的,一开始是上下左右都反,后来我改了改就是上下反着但是转180就可以了。写的顺序就是开一个文件然后先写header然后j就是LCD的高240,i就是列320,就下面那段。但是我把i改成240减到0列还是没有反过来,就是我的图像还是倒的,有没有大神可以指导一下原因啊~谢谢谢谢~

ret = f_write(&file, bmp_header, 70, &bw);
LCD_SetCursor(0,0);
LCD_WriteRAM_Prepare();
LCD_ReadRAM();
  for (j = 0; j < 240; j++)
        { for(i=320;i>0;i--)
                {
      data_temp = LCD_ReadRAM();
      image_buf[i*2-1] = (data_temp&0xff00) >> 8;
      image_buf[i*2-0] = data_temp & 0x00ff;
    }
                ret = f_write(&file, image_buf, 640, &bw);
  }
沙发
njpanyi|  楼主 | 2015-8-9 07:40 | 只看该作者
然后程序里这句:LCD_WriteRAM_Prepare();
所以是不是这个保存的搞成是先把LCD上显示的东西保存到LCD的RAM去然后又读出来才写成BMP的,所以就消耗时间比较长这样子?
因为我是在一张图片上上面320*160是camera的图像,下面320*80是RTC时间还有点别的文字性的东西,所以才用LCD来存图片,如果直接存buffer的话觉得一张图片显示不好弄,主要是自己技术太差。
然后反正现在一秒就能存1张图这样。

所以说存图片速度上不去是不是原因在于:1.一个是BMP的话16位本身就比较大150KB,然后JPEG就会快点(但我这个摄像头不支持JPEG,然后直接压缩心有余力不足。。。)2.就是写LCD读LCD耗时间了,如果是直接DMA的话就会快,但是就不便于把信息保存在同一张图片上。3.就是写卡速度和SD卡自身也有一定关系。

不知道自己想的这个对不对,大神们给点意见谢谢啦~谢谢啦~

使用特权

评论回复
板凳
abbcdbcdda| | 2015-9-6 15:12 | 只看该作者
楼主的帖子大概问了三个问题:
1 通讯速率跟时钟的关系
  通讯速率的有效数据传输率是要慢于时钟的,原因很简单:协议开销和设备的响应速度。

2 保存下来的LCD图像反转
  这个问题要查一下,可能是编程或摄像头设置问题。其实ST提供了一个将摄像头图像显示在LCD上并按照bmp格式保存到U盘的例子,楼主可以参考一下。

3 保存速度慢
  这个问题较大的可能出在SDIO写入部分,下面是我的试验:
  - LCD显存用SDRAM(32位)
  - 利用DMA2D将LCD显存中的内容拷贝并转换为RGB格式存储到另外一个Buffer(同样位于SDRAM)中
  - 上述操作用掉的时间大概是6ms(通过读SysTick中断中的计数器)
  所以主要时间应该是被SD卡的写操作占用了。

建议楼主:
1 用DMA2D代替CPU在SDRAM中传递数据,一来减轻CPU的负担,二来可以并避免其他中断占用CPU
2 取得LCD显存拷贝操作,以及SD卡写入操作占用的时间(通过反转GPIO观察波形或者利用定时器中断)来进一步了解问题,做到有的放矢。

预祝楼主取得成功,记得到时跟大家分享一下

使用特权

评论回复
地板
拉克丝| | 2015-9-7 19:16 | 只看该作者
stm32估计不行吧,视频处理不过来,1s至少24帧图片才能成视频

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

7

帖子

0

粉丝