OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5964|回复: 14

ADDA采样后,经由FATFS系统读写数据产生的波形异常

[复制链接]

5

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
82
金钱
82
注册时间
2020-7-13
在线时间
28 小时
发表于 2021-3-20 14:35:42 | 显示全部楼层 |阅读模式
30金钱
使用24K定时器进行ADDA,AD采样直接DA输出的波形没有问题。就是AD采样之后加一部FATFS存储和读取产生的波形会有异常,现在不清楚是写入的采样数据出了问题还是读取数据DA输出出了问题,请大佬们帮忙解决一下。我这个需要用到文件系统,因为后面的功能要有保存录音文件的功能

AA1F7FFB41BA25B585E749E1869D2181.png
ee14eb44d3256c733ef1e1c9d26a977.jpg

最佳答案

查看完整内容[请看2#楼]

你是要AD采样后,DA输出么?凡是加入FATFS,肯定就会打断。解决办法有3个:1,用2个单片机;2,AD采样后,直接DMA到DA;3,AD,DA直接接一起。。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2021-3-20 14:35:43 | 显示全部楼层
你是要AD采样后,DA输出么?凡是加入FATFS,肯定就会打断。解决办法有3个:1,用2个单片机;2,AD采样后,直接DMA到DA;3,AD,DA直接接一起。。。
回复

使用道具 举报

5

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
82
金钱
82
注册时间
2020-7-13
在线时间
28 小时
 楼主| 发表于 2021-3-20 14:36:46 | 显示全部楼层
file:///C:/Users/Admin/Desktop/1616221657(1).jpg
回复

使用道具 举报

5

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
82
金钱
82
注册时间
2020-7-13
在线时间
28 小时
 楼主| 发表于 2021-3-20 14:42:39 | 显示全部楼层
代码在附件图里
7VWD{I_0B$}]HQ@{B~UJ`YN.png

main函数部分代码

main函数部分代码
回复

使用道具 举报

5

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
82
金钱
82
注册时间
2020-7-13
在线时间
28 小时
 楼主| 发表于 2021-3-20 16:27:48 | 显示全部楼层
fatfs系统的函数在执行的时候中断好像无法执行,请问这是怎么回事啊@正点原子     
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2021-3-21 01:31:18 | 显示全部楼层
TTTTTTTTTT 发表于 2021-3-20 16:27
fatfs系统的函数在执行的时候中断好像无法执行,请问这是怎么回事啊@正点原子

我们在底层的时候有开关中断,详见sdio.c里面的代码,有开关中断的。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

5

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
82
金钱
82
注册时间
2020-7-13
在线时间
28 小时
 楼主| 发表于 2021-3-22 08:45:40 | 显示全部楼层
正点原子 发表于 2021-3-21 01:31
我们在底层的时候有开关中断,详见sdio.c里面的代码,有开关中断的。

谢谢,我看到了。那么我这个情况要怎么处理呢,代码的注释写着严禁中断打断SDIO读写
我要怎么完成我的需求
回复

使用道具 举报

5

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
82
金钱
82
注册时间
2020-7-13
在线时间
28 小时
 楼主| 发表于 2021-3-23 13:48:37 | 显示全部楼层
正点原子 发表于 2021-3-23 02:44
你是要AD采样后,DA输出么?凡是加入FATFS,肯定就会打断。解决办法有3个:1,用2个单片机;2,AD采样后,直 ...

所以是FATFS的问题?我改用SPIflash也没用阿。。。
回复

使用道具 举报

5

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
82
金钱
82
注册时间
2020-7-13
在线时间
28 小时
 楼主| 发表于 2021-3-23 13:54:09 | 显示全部楼层
正点原子 发表于 2021-3-23 02:44
你是要AD采样后,DA输出么?凡是加入FATFS,肯定就会打断。解决办法有3个:1,用2个单片机;2,AD采样后,直 ...

我还有一个问题就是直接AD采样后DMA到DA,采样1khz正弦波,使用24K的定时器采样是OK的,但是如果采样率低于24K,比如12K或者8K,采样出来的频率用仪器测量,频率会在一定周期内产生1.8k、1.6k、2k左右的频率跳变,大概两三秒产生一次,请问这种您知道是什么原因吗
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2021-3-24 02:20:26 | 显示全部楼层
TTTTTTTTTT 发表于 2021-3-23 13:54
我还有一个问题就是直接AD采样后DMA到DA,采样1khz正弦波,使用24K的定时器采样是OK的,但是如果 ...

正常是不应该,整个过程你CPU在干嘛,有没有打断DMA传输过程?
DMA设置成循环模式 吧?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

5

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
82
金钱
82
注册时间
2020-7-13
在线时间
28 小时
 楼主| 发表于 2021-3-24 20:09:08 | 显示全部楼层
正点原子 发表于 2021-3-24 02:20
正常是不应该,整个过程你CPU在干嘛,有没有打断DMA传输过程?
DMA设置成循环模式 吧?

AD是连续转换的,我是用8920综测仪器测,看”频率值“确实是跳变,但是转示波器,或者直接看波形,就是正常的失真,并看不出有什么频率值的问题。采样1K频率,大概要16k以上的采样率,综测仪器才不会有较大的频率值跳变。我换了两台综测都是一样的现象。不知道啥情况,但是波形没问题,应该问题不大吧
回复

使用道具 举报

5

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
82
金钱
82
注册时间
2020-7-13
在线时间
28 小时
 楼主| 发表于 2021-4-9 10:57:23 | 显示全部楼层
可考虑的解决办法,通过SPI管理SD卡读写。可以参考MINI板的sd卡例程
回复

使用道具 举报

1

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2020-9-8
在线时间
27 小时
发表于 2021-4-9 17:01:01 | 显示全部楼层
您好,我在学习类似功能,能学习一下你的代码,大佬。
1346971090@qq.com
如果可以希望可以发我一份代码
回复

使用道具 举报

5

主题

30

帖子

0

精华

初级会员

Rank: 2

积分
82
金钱
82
注册时间
2020-7-13
在线时间
28 小时
 楼主| 发表于 2021-4-10 11:04:57 | 显示全部楼层
32我来了 发表于 2021-4-9 17:01
您好,我在学习类似功能,能学习一下你的代码,大佬。

如果可以希望可以发我一份代码

不是大佬,我也是在学习的菜鸟。不好意思,代码在公司电脑上,是加密的。这个帖子处理的问题就是SDIO读写SD卡时会关闭系统所有中断,解决办法就是在读写SD卡时不要执行中断,或者就是通过SPI口读写SD卡   SPI控制SD卡的代码就在mini板的例程中,我也是参考那个
回复

使用道具 举报

1

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2020-9-8
在线时间
27 小时
发表于 2021-4-12 09:29:41 | 显示全部楼层
TTTTTTTTTT 发表于 2021-4-10 11:04
不是大佬,我也是在学习的菜鸟。不好意思,代码在公司电脑上,是加密的。这个帖子处理的问题就是SDIO读写 ...

没事,我还没学到这么深入,如何ad采样,ad输出我还不会。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-25 16:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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