查看: 7348|回复: 6

[已解决] AD采样的速率问题(已解决)

[复制链接]

该用户从未签到

23

主题

122

帖子

0

注册会员

Rank: 2

积分
177
最后登录
1970-1-1
发表于 2014-8-20 14:52:23 | 显示全部楼层 |阅读模式
本帖最后由 FSL_TICS_Robin 于 2014-9-9 13:49 编辑

芯片是MKL05Z32VLC4,在PE中设定ADC_LDD组件的A/D resolution为12 bits,勾选Low-power mode和Hight-speed conversion mode,Sample time=4 clock periods,Conversion time=3.666667us,Trigger input为TPM0_Overflow,Source component为TU1。然后在TimeInt_LDD中设置Periodic interrupt source为TPM0_C0V,Interrupt period=102400Hz,Linked TimeUint为TU1。这么设置的本意为想让TPM0的溢出事件连续触发AD转换,且转换频率亦为102400Hz。但查实的结果是AD转换的频率远低于这个频率,差不多要低一半。请问究竟是怎么回事?若上述设置有误,正确的应该怎么设?
我知道答案 目前已有6人回答
回复

使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-8-20 16:55:53 | 显示全部楼层

    回复:AD采样的速率问题

    楼主你好
    飞思卡尔Kinetis芯片的ADC采样转换速率是有上限的,请确保在范围内。
    有些数据手册里会直接写出不同ADC配置下的最高ADC采样转换速率,有些没写的则需要用户根据参考手册里ADC总采样转换时间公式去计算。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10

    主题

    89

    帖子

    0

    中级会员

    Rank: 3Rank: 3

    积分
    378
    最后登录
    1970-1-1
    发表于 2014-8-20 17:00:02 | 显示全部楼层

    RE:AD采样的速率问题

    还要考虑下 MCU的总线频率是多少,是否有PLL倍频,
    建议楼主 能够尽量不用PE,尝试自己设置寄存器,对采样频率进行设置,也就几个寄存器对总线时钟进行分频,具体参考相关MCU的数据手册。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-8-21 10:12:24 | 显示全部楼层

    回复:AD采样的速率问题

    回复第 2 楼 于2014-08-20 16:55:53发表:
    楼主你好
    飞思卡尔Kinetis芯片的ADC采样转换速率是有上限的,请确保在范围内。
    有些数据手册里会直接写出不同ADC配置下的最高ADC采样转换速率,有些没写的则需要用户根据参考手册里ADC总采样转换时间公式去计算。
     

    刚使用PE10.4的Init_ADC按照楼主提示配置结果如下图,你的配置没有超过KL05芯片ADC转换速率上限。
    你提到的Conversion time=3.666667us其实并不是你单次转换(或连续转换的首次)转换时间,而是连续转换的非首次转换时间。
    你这种利用TPM溢出一次触发一次ADC采样转换的方式,应该是用非连续转换模式,故总转换时间应该看Single conversion time- Single-ended提示的4.71us
    ADC conversion rate KL05.jpg
     
    根据你提到的“转换频率亦为102400Hz”也低于PE计算结果212.389kHZ。
    但如果把进出中断的延时、中断函数里代码执行时间等因素考虑进去,可能中断尚未退出下次中断就已经发生了。
    建议你查看一下ADC_LDD生成的中断函数代码是否过长?
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    16

    主题

    705

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1745
    最后登录
    1970-1-1
    发表于 2014-9-1 11:24:36 | 显示全部楼层
    其实正如楼上说的,你的ADC时间是可以算出来的。
    你慢的原因是你用TPM,TPM溢出也要时间,进中断也要时间,然后还是去调用一次的ADC转换触发,一次的ADC相对于连续转换时间本来就长。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    145

    主题

    4926

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    9267
    最后登录
    1970-1-1
    发表于 2014-9-1 11:36:47 | 显示全部楼层
    楼主问题解决了没有呢?
    关于这种采样时间的问题,我之前写过一个经验分享你可以参考:https://www.nxpic.org.cn/module/forum/thread-591331-1-1.html
    这个时间确实是可以算的,你可以用systick去计时间。
    单次采集的时间肯定比连续采集要长,可以仔细看看我们的RM,上面时间都写了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-9-9 13:48:56 | 显示全部楼层
    楼主你好
    请问你的问题解决了吗? 如果问题尚未解决可以继续在帖子中与大家讨论。

    PS:由于你长时间未回帖,所以先把你的帖子标示成已解决了。
    以后问题解决后还请配合我们在帖子标题末添加“(已解决)”字样,谢谢!
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-20 19:30 , Processed in 0.109065 second(s), 28 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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