sd card的写入速度
Posted: Thu Feb 24, 2022 2:13 pm
我在做的DSP产品,采样率是44100,16BIT,通过i2s采样音频,再输出到i2s。中间进行DSP。为了降低音频延迟,我是128个sample读写一次i2s.
在将音频样本保存的sd card上(WAV格式),遇到写入速度不够的问题。(sd卡用的mmc,40mhz的速度)
如果直接在i2s_read和i2s_write之间调用fwrite, 就会非常卡, 声音也是卡顿的。
没办法,我就开了两个线程, 在i2s 读写之外,另一个线程用xRingbufferReceive去读取i2s线程写入的ringbuffer,然后,等到8192个字节以后,再一次性调用 fwrite ,可是每个几秒,sd卡还是会卡一下,这一次的fwrite延迟高达170多毫秒,我换了很多张sd卡都有类似现象。
请问这个该如何解决?
在将音频样本保存的sd card上(WAV格式),遇到写入速度不够的问题。(sd卡用的mmc,40mhz的速度)
如果直接在i2s_read和i2s_write之间调用fwrite, 就会非常卡, 声音也是卡顿的。
没办法,我就开了两个线程, 在i2s 读写之外,另一个线程用xRingbufferReceive去读取i2s线程写入的ringbuffer,然后,等到8192个字节以后,再一次性调用 fwrite ,可是每个几秒,sd卡还是会卡一下,这一次的fwrite延迟高达170多毫秒,我换了很多张sd卡都有类似现象。
请问这个该如何解决?