AD采集写入SD卡,用FATFS文件系统

2019-07-20 07:52发布

由于AD采集的速度很快(10KHz*2路输入,12位精度),我打算先采集10秒,写入一个存储器,之后停止采集,再用FATFS文件系统,写入SD卡。
10K*2路*16bit精度=320000bit/s=320Byte/s=0.32MB/s
我应该先写入哪个存储器?SRAM?我现在的板子是探索者F407+miniF103。探索者的板子上SRAM是1Mb,先采集一秒也行,否则存不下。
SRAM地址应该如何分配?
下面是原子哥的FATFS读写程序,如何将AD采集的数据写入?红字部分是字符串啊?还是const类型?好像有一个函数是连续写入函数?
/********************start*************************/       
        res=f_open (&fil,"0:/message.txt", FA_CREATE_ALWAYS|FA_WRITE);       
         
        f_write (&fil, "alientek test", 50, &bww);             //const void *buff
       
        f_close(&fil);
       
        res=f_open (&fil,"0:/message.txt", FA_READ);

    f_read (&fil, buf,100,&bww);       
        f_close(&fil);
       
        LCD_ShowString(10,210,230,24,24,(u8 *)buf);
/********************end***************************/


谁有没有比较好的建议,或者是编程思路,或者是有类似程序?我小白一个,希望大家不吝赐教!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
szczyb1314
1楼-- · 2019-07-20 10:35
 精彩回答 2  元偷偷看……
nanxinda02
2楼-- · 2019-07-20 16:25
用DMA,因为写入SD卡需要时间
marble
3楼-- · 2019-07-20 22:00
 精彩回答 2  元偷偷看……
lishuaiwanm
4楼-- · 2019-07-21 01:29
使用DMA模式,可以自己开辟一个数组什么的,存储起来
正点原子
5楼-- · 2019-07-21 04:11
在外部sram,建立一个循环FIFO,每个FIFO大小是1K字节。 这样,你采集的时候,数据就往这个循环FIFO里面写,而同时,MCU通过FATFS,读取FIFO数据往SD卡写 ,这样应该可以达到持续采集的目的。
marble
6楼-- · 2019-07-21 09:19
 精彩回答 2  元偷偷看……

一周热门 更多>