发 帖  
[问答]

利用DAQ进行采集时,单通道多采样的原理是什么?

4269
奖励10积分
2019-7-22 08:58:03   评论 分享淘帖 邀请回答 举报
2个回答
2019-7-22 08:58:04 评论

举报

2019-7-23 10:03:25 2 评论

举报

2 条评论
  • 2019-7-24 22:07

    你好!你的回答简明扼要地解答了我当前的困惑,但还有两个问题没有想明白:
    1、通常采集都用的是1通道N采样或N通道N采样,那么单采样在什么情况下适用?
    2、假如当前数采卡设置的的采样率为10000S/s,DAQmx放置在While循环中,设置为N采样,当通道采样数设定为100时,该While循环每秒更新100次;那么如果设置为单采样,就意味着该While循环每秒更新10000次吗?另外,Windows系统在时间上的最高精度是1ms,每秒1000次以上可以达到吗?
    期待你的回答,谢谢!

    sunhaotian 回复 zyhh: 2021-9-23 10:29

    兄弟,我对你的问题做了验证了,我现在告诉你验证结果。
    问题2:你的假设是对的,我做了程序框图进行了验证,大致实验思路如下
          a.做一个1通道N采样,将采样存为数组,当数组为100个点时,中止程序,查看while循环的i等于多少。
          结论:当采样频率为100,采样数设为100时,while实际循环次数显示为0,也就是只循环了1次。
          b.做一个1通道1采样,将采样存为数组,当数组为100个点时,中止程序,查看while循环的i等于多少。
         结论:当采样频率为100,采样数设为100时,while实际循环次数显示为99,也就是只循环了100次。
         综上所述:你的假设都是对的,用了单通道多采样后,也确实节约了系统运行while的时间,就像"厨师"的那个比喻,形象的很。多采样采到的数据存放在了缓存中,然后被统一取走,这样做的最大一个好处就是,取数据的过程发生的少了,那么节约下的取数据的时间,就可以做别的事情。
    回到问题1。
    问题1:如本问题中的最佳答案,速率低的时候用单采样。大约8年前的windows,我也做过类似测量采集时间的实验,由于操作系统的存在(当时觉得就是这个原因),当时用windows的实际采集间隔超过200ms,现在的windows快了些,但1ms的最高精度指的是windows的最高定时精度,经过操作系统加工后,肯定是低于1ms的,因此必须用采集卡,windows在这个过程中,只做读数据的任务,而不是用windows直接采,采集卡采集数据,存到缓存,然后采集卡就不管了,而windows就读,windows读很快,可能用到了那个DMA之类的,反正我也是猜测,哈哈哈,大概就是这样,说的不对的地方,您就忽略就行了。

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

您需要登录后才可以回帖 登录/注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
快速回复 返回顶部 返回列表
关注微信公众号

电子发烧友网

电子发烧友论坛

社区合作
刘勇
联系电话:15994832713
邮箱地址:liuyong@huaqiu.com
社区管理
elecfans短短
微信:elecfans_666
邮箱:users@huaqiu.com
关闭

站长推荐 上一条 /6 下一条

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