日月当空-2044542 发表于 2014-1-8 00:28:38

回复:今天发现一个有趣的问题 stm32f103数据记录器 usb sdio mmc fatfs

回复第 6 楼 于2013-12-28 21:08:26发表:
1,从楼主的问题上感觉像是驱动接口没有配置正确,主要查看CTRL那个接口.
2,高波特率的串口只适用于两通信芯片非常近的电路,如果传输有一定的距离,那么最大波特率保持在115200以下~ 

的确是驱动的问题,波特率没问题的,我测试过。

日月当空-2044542 发表于 2014-1-8 00:37:16

回复:今天发现一个有趣的问题 stm32f103数据记录器 usb sdio mmc fatfs

 
试试不用DMA,效率虽然低了点,看会不会死机,确定问题点再说
 

 

问题找到了,折腾了这么久,看了网上好多说这个的,但都没有完全的说清楚,我自己测才发现,首先SDIO时钟那里设置不能太高,一般用到4或者5,使用DMA时,SD_DATATIMEOUT延时必须加大,将原来的0xffff改为0xfffff甚至更大,这个主要是因为在DMA传输的时候如果这个值不设置大一点会在SDIO中断处理函数里出现超时错误,这样DMA结束标志位就永远收不到了,所以程序就会死在那里。使用4位总线的朋友一定要记得开硬件流控,在设置4位总线那个函数里面设置的,千万不要只是在提高时钟速度的1位总线那个地方改。

wakojosin 发表于 2014-1-8 22:18:42

RE:今天发现一个有趣的问题 stm32f103数据记录器 usb sdio mmc fatfs

顶一个    挺好的问题。:)

日月当空-2044542 发表于 2014-1-9 16:12:33

回复:今天发现一个有趣的问题 stm32f103数据记录器 usb sdio mmc fatfs

最近测试发现一个串口速率低了反而更容易丢数据,都是小块小块的丢,都是8字节的整数倍,也不会超过几十个。高速率是整块整块的丢,开了4K的双缓冲,每次都是丢4K的整数倍。不知道是哪里出现了干扰,原来使用了systick中断,发现优先级太高,我就改用定时器了,并且把优先级设置为最低,可以让sdio嵌套,但是并没有解决根本问题。我还是先看看在写卡的时候是不是有buf满了,但是这样应该是串口速率越低越好啊。不解中

那片清茶 发表于 2014-1-9 16:37:45

回复:【热议】今天发现一个有趣的问题 stm32f103数据记录器 usb sdio mmc fatfs

 这个我没有做过。先给楼主一个赞。我觉得你可以用仿真器实时的跟踪一下,程序在哪里死掉的和一些数据的变化。这样问题就可以找出来了。

日月当空-2044542 发表于 2014-1-9 23:16:01

回复:【热议】今天发现一个有趣的问题 stm32f103数据记录器 usb sdio mmc fatfs

回复第 15 楼 于2014-01-09 16:37:45发表:
 这个我没有做过。先给楼主一个赞。我觉得你可以用仿真器实时的跟踪一下,程序在哪里死掉的和一些数据的变化。这样问题就可以找出来了。
 

现在没想到是什么原因,只能一步一步的排查了,仿真器不知道该怎么来检测问题的原因了,只能编写测试程序一步一步的继续测试了,今天使用460800的波特率记录数据也是会丢块,但大部分都还好。

日月当空-2044542 发表于 2014-1-14 22:16:51

回复:【深入讨论】今天发现一个有趣的问题 stm32f103数据记录器 usb sdio mmc fatfs

测试发现跟文件系统没关系,跟sdio有关系,初步判断为在sdio发送命令的时候被其它中断抢占后会出现错误

日月当空-2044542 发表于 2014-1-19 21:58:34

回复:【深入讨论】今天发现一个有趣的问题 stm32f103数据记录器 usb sdio mmc fatfs

根本原因其实还是因为缓冲区设的不够大,SD、mmc在写数据的时候时间不稳定,有时候会变长,如果在写数据的时候串口数据满了就会丢,如果串口使用
DMA方式接收,则会出现串口溢出错误。将缓冲区设置到24K就没有问题了。其实跟中断影响SDIO发数据什么的没有关系。

日月当空-2044542 发表于 2014-1-19 21:58:14

回复:【深入讨论】今天发现一个有趣的问题 stm32f103数据记录器 usb sdio mmc fatfs

根本原因其实还是因为缓冲区设的不够大,SD、mmc在写数据的时候时间不稳定,有时候会变长,如果在写数据的时候串口数据满了就会丢,如果串口使用
DMA方式接收,则会出现串口溢出错误。将缓冲区设置到24K就没有问题了。其实跟中断影响SDIO发数据什么的没有关系。
页: 1 [2]
查看完整版本: 【深入讨论】今天发现一个有趣的问题 stm32f103数据记录器 usb sdio mmc fatfs