找回密码
 立即注册
楼主: firefly2k

Ai8051 ADC/DMA数据问题

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:11
  • 最近打卡:2025-08-17 18:18:56

18

主题

58

回帖

323

积分

中级会员

积分
323
发表于 2025-8-12 18:31:39 | 显示全部楼层
erci*** 发表于 2025-8-12 18:28
03和转换次数是我 改的,为了你方便观察数据格式

大佬,我不是不知道数据格式。我是问为啥采样的数据有问题,我把项目工程发出来了,我自己基本就没有几行代码,都是AiCube生成的。所以我想知道,我总共写了没几行代码里,是我哪里有问题?

点评

是格式理解不对,不是数据有问题 将缓冲区填充为,A5,DMA次数改为2,观察: 一次的数据量就是这些:0F FF 0F FF 00 00 0F FF 0F FF 0F FF 01 00 0F FF 00 00也不是脏数据,上面截图已解释,哪里不理解可以继续问  详情 回复 发表于 2025-8-12 18:40
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:276
  • 最近打卡:2025-08-23 14:05:57
已绑定手机

80

主题

2983

回帖

6363

积分

荣誉版主

无情的代码机器

积分
6363
发表于 2025-8-12 18:40:08 | 显示全部楼层
firef*** 发表于 2025-8-12 18:31
大佬,我不是不知道数据格式。我是问为啥采样的数据有问题,我把项目工程发出来了,我自己基本就没有几行 ...

是格式理解不对,不是数据有问题
将缓冲区填充为,A5,DMA次数改为2,观察:
一次的数据量就是这些:0F FF 0F FF 00 00 0F FF 0F FF 0F FF 01 00 0F FF
00 00也不是脏数据,上面截图已解释,哪里不理解可以继续问


截图202508121839041800.jpg

三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:276
  • 最近打卡:2025-08-23 14:05:57
已绑定手机

80

主题

2983

回帖

6363

积分

荣誉版主

无情的代码机器

积分
6363
发表于 2025-8-12 18:45:53 | 显示全部楼层
firef*** 发表于 2025-8-12 18:16
我不知道是我理解的不对还是大佬看错了
我设置的dma采样是500次,也就是前1000个数据都是采样数据。1001才 ...

你应该想设置的其实是这个转换次数DMA_ADC_CFG2 ,最高支持256次,这个参数暂时AiCube上还没配置的地方,已反馈后续版本会加上。

截图202508121844052410.jpg

代码里500配置的是扫描次数:
截图202508121845393231.jpg


三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:11
  • 最近打卡:2025-08-17 18:18:56

18

主题

58

回帖

323

积分

中级会员

积分
323
发表于 2025-8-12 19:05:23 | 显示全部楼层
erci*** 发表于 2025-8-12 18:45
你应该想设置的其实是这个转换次数DMA_ADC_CFG2 ,最高支持256次,这个参数暂时AiCube上还没配置的地方, ...

刚刚试了下,好像理解了
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:11
  • 最近打卡:2025-08-17 18:18:56

18

主题

58

回帖

323

积分

中级会员

积分
323
发表于 2025-8-12 19:38:11 | 显示全部楼层
erci*** 发表于 2025-8-12 18:45
你应该想设置的其实是这个转换次数DMA_ADC_CFG2 ,最高支持256次,这个参数暂时AiCube上还没配置的地方, ...

这样看下来,我设置1个通道,ADC转换次数=1,DMA扫描次数=500
但AiCube申请的内存空间是1004是远远不够的,对吧?也就是AiCube是错的,就是这个1004把我弄误解了。按我刚刚研究和理解的,申请的内存空间应该是3000

点评

是的,这个BUG后续版本更新修复  详情 回复 发表于 2025-8-12 19:53
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:276
  • 最近打卡:2025-08-23 14:05:57
已绑定手机

80

主题

2983

回帖

6363

积分

荣誉版主

无情的代码机器

积分
6363
发表于 2025-8-12 19:53:55 | 显示全部楼层
firef*** 发表于 2025-8-12 19:38
这样看下来,我设置1个通道,ADC转换次数=1,DMA扫描次数=500
但AiCube申请的内存空间是1004是远远不够的 ...

是的,这个BUG后续版本更新修复
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:11
  • 最近打卡:2025-08-17 18:18:56

18

主题

58

回帖

323

积分

中级会员

积分
323
发表于 2025-8-13 10:07:27 | 显示全部楼层
erci*** 发表于 2025-8-12 19:53
是的,这个BUG后续版本更新修复

还有个问题跟大佬请教下(我就不单独开贴问了)
一个通道,要一次去采集多个数据时,使用DMA_ADC_AMT采多次会额外占用较多的内存空间(里面大量的通道号+平均值等信息),如果使用DMA_ADC_CFG2设置的话。请问DMA_ADC_CFG2两次的间隔时间是否有方法任意设置为固定时间?比如10us一次?
(下图AiCube里的相关ADC设置只能是固定的某些值,不能客户任意设置某个值。而且这已经是设到最大值了,没办法达到其他更大值)


截图202508131006044605.jpg

点评

这三个时间只有这些值: [attachimg]111674[/attachimg] 不够用的话改ADC 普通中断模式?非DMA模式可以看下这个寄存器 [attachimg]111675[/attachimg]  详情 回复 发表于 2025-8-13 10:18
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:276
  • 最近打卡:2025-08-23 14:05:57
已绑定手机

80

主题

2983

回帖

6363

积分

荣誉版主

无情的代码机器

积分
6363
发表于 2025-8-13 10:18:23 | 显示全部楼层
firef*** 发表于 2025-8-13 10:07
还有个问题跟大佬请教下(我就不单独开贴问了)
一个通道,要一次去采集多个数据时,使用DMA_ADC_AMT采多 ...

这三个时间只有这些值:
截图202508131016588518.jpg
不够用的话改ADC 普通中断模式?非DMA模式可以看下这个寄存器
截图202508131018192311.jpg
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

  • 打卡等级:偶尔看看I
  • 打卡总天数:11
  • 最近打卡:2025-08-17 18:18:56

18

主题

58

回帖

323

积分

中级会员

积分
323
发表于 2025-8-13 10:41:57 | 显示全部楼层
erci*** 发表于 2025-8-13 10:18
这三个时间只有这些值:

不够用的话改ADC 普通中断模式?非DMA模式可以看下这个寄存器

好的,多谢
回复

使用道具 举报 送花

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

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-8-24 05:25 , Processed in 0.115366 second(s), 97 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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