TI中文支持网
TI专业的中文技术问题搜集分享网站

LCDKC6748开发板写SD卡速度较慢,请问是否驱动配置有问题?

所用平台:官方LCDKC6748

主频:300MHz

SDIO_CLK频率:25MHz(用示波器测量过)

例程模板:C:\ti\pdk_omapl138_1_0_6\packages\ti\drv\mmcsd\example\fatfs_console

TF卡:Kingston Class 4    8GB

功能:实现了文件的正常读写。

测试MMCSD写卡速度的代码:

#defineBUF_SIZE(72ul<<10)
unsigned char test_Buf[BUF_SIZE];

static void fill_buf(unsigned char *buf)
{unsigned int i;for(i=0; i<BUF_SIZE; i++) {*buf++ = i;}
}
void SD_wr_speed_test(void)
{FRESULT res;UInt i;unsigned int bytes_writed;res = f_open(&rec_file, "rec_ch1.txt", FA_CREATE_ALWAYS | FA_WRITE);if(FR_OK != res) {return;}fill_buf(test_Buf);i= 1024;while(i--) {f_write(&rec_file, test_Buf, BUF_SIZE, &bytes_writed); // BUF_SIZE=72KBf_sync(&rec_file);}rec_wav_file_close(&rec_file);
}

文件写入正确,文件大小72MB,耗时约106秒。写入速度约695KB每秒。

Shide Lu:

MMCSD的初始化配置参数,直接使用例程原来引用的MMCSD_soc.c文件,所在目录是C:\ti\pdk_omapl138_1_0_6\packages\ti\drv\mmcsd\soc\omapl138。

参数未作任何修改,如下图:

后来查看C:\ti\pdk_omapl138_1_0_6\packages\ti\drv\mmcsd\src中的驱动文件,发现需要定义宏MMCSD_EDMA_ENABLED以支持MMCSD使用EDMA。

在工程属性中添加了该宏:

测试速度不变,约695KB/s。

我们目前产品是6通道录音,96k/24bit采样,需要写入速度至少1.7MB/s。当前速度无法满足需求。

请问,如何修改配置参数,才能提高SD卡写入速度?

Nancy Wang:

回复 Shide Lu:

看一下这个帖子,检查一下是不是lib里面buffer的大小限制了速度。
e2e.ti.com/…/463253

Shide Lu:

回复 Nancy Wang:

我无法访问这个网址,能否直接告诉我解决方法?谢谢!

另外,如果我已经自己移植了FATFS,也就是直接使用FATFS源文件,又该修改哪个地方呢?

Shide Lu:

回复 Nancy Wang:

我可以打开那个网页了。
其中描述的setvbuf()是stdio.h中的函数,但是我使用的是pdk_omapl138_1_0_6中的fatfs函数,并不是stdio.h的函数。
也就是和例程C:\ti\pdk_omapl138_1_0_6\packages\ti\drv\mmcsd\example\fatfs_console是一样的。

请问速度受限于什么因素?

Shide Lu:

回复 Nancy Wang:

您所发的帖子链接中,有如下描述:(raw SD例程的写入速度可达6MB/s)

请问StarterWare或者PDK有MMCSD的raw写入例程吗?如果有,我可以自己移植到FATFS。

我在C:\ti\C6748_StarterWare_1_20_04_01和C:\ti\pdk_omapl138_1_0_6没有找到。

【注:我使用的IDE是CCS 7.4.0】

赞(0)
未经允许不得转载:TI中文支持网 » LCDKC6748开发板写SD卡速度较慢,请问是否驱动配置有问题?
分享到: 更多 (0)