ST MCU Finder
安装免费手机应用,
寻找理想的ST MCU

[STM32F1] FATFS SDIO 读写SD卡 速度超过2MBPS写失败

[复制链接]
162|14
 楼主 | 2018-11-2 08:59 | 显示全部楼层 |阅读模式
我用的FATFS   SDIO 读写SD卡 发现SDIO低于2M的时钟 比较可靠, 一但高于 写入SD卡就很容易失败
有人碰到这种情况吧,
我怀疑过硬件,但是硬件不知道怎么调整.  是不断加电阻来调整振铃吗?
| 2018-11-2 10:02 | 显示全部楼层
不应该呀,10几M都没有问题的,你怎么弄的?没想法

评论

eydj2008 2018-11-2 13:49 回复TA
我现在时钟 72M/64分频 弄一个16分频 我测试发现 ,过不了一会儿 写入就会失败 我是一直向SD卡里面写 数据, 我查一下 SD CLASS 4 写入读取速度是4MB/S 
huzi2099 2018-11-2 15:40 回复TA
@eydj2008 :你能不能调试一下看看具体出的是什么错误,如果频率太高或信号受干扰及可能出CRC校验错误.另外也可能是卡的问题. 
| 2018-11-2 19:42 | 显示全部楼层
STM32时钟还有 SPI时间是不是低了
 楼主 | 2018-11-4 07:38 | 显示全部楼层
huzi2099 发表于 2018-11-2 10:02
不应该呀,10几M都没有问题的,你怎么弄的?没想法

开始写几K数据正常,  然后就写入失败  FSFAT 报硬件错误. 或是磁盘错误
| 2018-11-5 08:04 | 显示全部楼层
eydj2008 发表于 2018-11-4 07:38
开始写几K数据正常,  然后就写入失败  FSFAT 报硬件错误. 或是磁盘错误

你截一下sdio报告的错误类型
 楼主 | 2018-11-6 10:12 | 显示全部楼层
huzi2099 发表于 2018-11-5 08:04
你截一下sdio报告的错误类型

--->f_read fileIndex=1
===>i=1 BAT Status=1 V= 4061==100!
---> f_open Pen_001.pen
!!打开太多文件。   FR_TOO_MANY_OPEN_FILES
--->OpenFilePageFunc f_open rst=18
--->CloseFilePageFunc f_close rst=9
!!无效的文件或路径。               FR_INVALID_NAME

typedef enum {
        FR_OK = 0,                                /* (0) Succeeded */
        FR_DISK_ERR,                        /* (1) A hard error occurred in the low level disk I/O layer */
        FR_INT_ERR,                                /* (2) Assertion failed */
        FR_NOT_READY,                        /* (3) The physical drive cannot work */
        FR_NO_FILE,                                /* (4) Could not find the file */
        FR_NO_PATH,                                /* (5) Could not find the path */
        FR_INVALID_NAME,                /* (6) The path name format is invalid */
        FR_DENIED,                                /* (7) Access denied due to prohibited access or directory full */
        FR_EXIST,                                /* (8) Access denied due to prohibited access */
        FR_INVALID_OBJECT,                /* (9) The file/directory object is invalid */
        FR_WRITE_PROTECTED,                /* (10) The physical drive is write protected */
        FR_INVALID_DRIVE,                /* (11) The logical drive number is invalid */
        FR_NOT_ENABLED,                        /* (12) The volume has no work area */
        FR_NO_FILESYSTEM,                /* (13) There is no valid FAT volume */
        FR_MKFS_ABORTED,                /* (14) The f_mkfs() aborted due to any parameter error */
        FR_TIMEOUT,                                /* (15) Could not get a grant to access the volume within defined period */
        FR_LOCKED,                                /* (16) The operation is rejected according to the file sharing policy */
        FR_NOT_ENOUGH_CORE,                /* (17) LFN working buffer could not be allocated */
        FR_TOO_MANY_OPEN_FILES,        /* (18) Number of open files > _FS_SHARE */
        FR_INVALID_PARAMETER        /* (19) Given parameter is invalid */
} FRESULT;
| 2018-11-6 11:03 | 显示全部楼层
F1能到这么快?应该时钟不行吧
 楼主 | 2018-11-6 11:07 | 显示全部楼层
小灵通2018 发表于 2018-11-6 11:03
F1能到这么快?应该时钟不行吧

我发现 是有时 硬件出错,  我只好出错后 重新关掉此文件 再打开
| 2018-11-6 13:07 | 显示全部楼层
是否地线处理的不好有干扰呀
 楼主 | 2018-11-8 13:48 | 显示全部楼层
keaibukelian 发表于 2018-11-6 13:07
是否地线处理的不好有干扰呀

我这个板 就只有通讯,  SDIO一路 SPI 二路 串口二路
SDIO是给SD卡, SPI 有一路字库 和 WIFI  二串口 波特率115200
不好排查啊  
我现在写入错误, 我就重新打开此文件,   可是这样就丢数据了 .  频率特别高.  很是郁闷
| 2018-11-8 14:15 | 显示全部楼层
先把波特率降下来试试

评论

eydj2008 2018-11-8 15:27 回复TA
降到1M 时钟 明显 不那么容易出错了 
 楼主 | 2018-11-9 16:56 | 显示全部楼层
另外 还发现一个问题   f_lseek()     有时花很长的时间 才执行完  要40ms之久  
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

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