查看: 2441|回复: 6

[已解决] MKL05Z32的AD转换速率问题(已解决)

[复制链接]

该用户从未签到

23

主题

122

帖子

0

注册会员

Rank: 2

积分
177
最后登录
1970-1-1
发表于 2014-8-25 19:29:46 | 显示全部楼层 |阅读模式
 在PE中,设置ADC_LDD的A/D resolution=12 bits,Sample time=4 clock,Number of convertions=1,Convertion time=3.666667 us,Result type为signed/unsigned 16 bits,Trigger input为TPM0_Overflow,Source Component为TU1:TimerUnit_LDD;TU1的Counter frequency=48MHz,Period=102。4kHz,CPU的核心频率也为48MHz。按照这样的设置,则AD转换速率应该就是102.4kHz,但经过实测,它一般只能达到41kHz左右,最大时为50kHz,与设定值相去甚远,请问是何故?是不是MKL05Z型的CPU的AD转换速率就达不到那么高?
我知道答案 目前已有5人回答
回复

使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-8-26 11:30:01 | 显示全部楼层

    回复:MKL05Z32的AD转换速率问题

    楼主你好
    你这个问题似乎和之前那个差不多,估计是中断服务函数过长导致的。
    建议你改短中断服务函数试一下。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    23

    主题

    122

    帖子

    0

    注册会员

    Rank: 2

    积分
    177
    最后登录
    1970-1-1
     楼主| 发表于 2014-8-26 11:36:59 | 显示全部楼层

    回复:MKL05Z32的AD转换速率问题

    回复第 2 楼 于2014-08-26 11:30:01发表:
    楼主你好
    你这个问题似乎和之前那个差不多,估计是中断服务函数过长导致的。
    建议你改短中断服务函数试一下。
     
     
    我是在AD完成中断函数中用ToggleFieldBits翻转IO引脚,再用示波器测量相应管脚得到实际频率的。所以,在示波器上测得的频率值要乘2才是中断频率。若设定中断频率为102400Hz,在中断服务程序中什么都不干,只翻转引脚,则实测得到的频率只有90kHz的样子;而若设定51200Hz中断频率,即减少一半,则测得的频率基本吻合。这是否说明AD的采样频率就达不到那么高?
     
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-8-26 13:50:15 | 显示全部楼层

    回复:MKL05Z32的AD转换速率问题

    回复第 3 楼 于2014-08-26 11:36:59发表:
    回复第 2 楼 于2014-08-26 11:30:01发表:
    楼主你好
    你这个问题似乎和之前那个差不多,估计是中断服务函数过长导致的。
    建议你改短中断服务函数试一下。
     
     
    我是在AD完成中断函数中用ToggleFieldBits翻转IO引脚,再用示波器测量相应管脚得到实际频率的。所以,在示波器上测得的频率值要乘2才是中断频率。若设定中断频率为102400Hz,在中断服务程序中什么都不干,只翻转引脚,则实测得到的频率只有90kHz的样子;而若设定51200Hz中断频率,即减少一半,则测得的频率基本吻合。这是否说明AD的采样频率就达不到那么高?
     

     

    如果你用的是ADC_LDD和TU1_LDD,那么由于PE生成的中断函数比较复杂所以会导致中断执行时间比较长。
    另外如果你开启了TU1溢出中断,那么进出TU1溢出中断时间也会有影响。
    函数执行时间可以利用systick测一下,你可以参考:【经验分享】KL25 16位单端ADC最高转换频率下代码效率测试及被采波形复现 第三部分介绍的“三, ADC中断中代码效率测试”方法。
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    23

    主题

    122

    帖子

    0

    注册会员

    Rank: 2

    积分
    177
    最后登录
    1970-1-1
     楼主| 发表于 2014-8-26 14:59:19 | 显示全部楼层

    回复:MKL05Z32的AD转换速率问题

    回复第 4 楼 于2014-08-26 13:50:15发表:
    回复第 3 楼 于2014-08-26 11:36:59发表:
    回复第 2 楼 于2014-08-26 11:30:01发表:
    楼主你好
    你这个问题似乎和之前那个差不多,估计是中断服务函数过长导致的。
    建议你改短中断服务函数试一下。
     
     
    我是在AD完成中断函数中用ToggleFieldBits翻转IO引脚,再用示波器测量相应管脚得到实际频率的。所以,在示波器上测得的频率值要乘2才是中断频率。若设定中断频率为102400Hz,在中断服务程序中什么都不干,只翻转引脚,则实测得到的频率只有90kHz的样子;而若设定51200Hz中断频率,即减少一半,则测得的频率基本吻合。这是否说明AD的采样频率就达不到那么高?
     

     

    如果你用的是ADC_LDD和TU1_LDD,那么由于PE生成的中断函数比较复杂所以会导致中断执行时间比较长。
    另外如果你开启了TU1溢出中断,那么进出TU1溢出中断时间也会有影响。
     
    应该是这个问题。我把TU1的Period设为117500Hz,实测达到了102400Hz的速率。
    函数执行时间可以利用systick测一下,你可以参考:【经验分享】KL25 16位单端ADC最高转换频率下代码效率测试及被采波形复现 第三部分介绍的“三, ADC中断中代码效率测试”方法。
     
    回复 支持 反对

    使用道具 举报

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

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2014-8-26 17:07:43 | 显示全部楼层

    回复:MKL05Z32的AD转换速率问题(已解决)

    请问楼主的问题测试下来结果如何呢?
    之前在忙别的也没来得及在FRDM-KL05Z板子上测试
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    23

    主题

    122

    帖子

    0

    注册会员

    Rank: 2

    积分
    177
    最后登录
    1970-1-1
     楼主| 发表于 2014-8-26 17:49:47 | 显示全部楼层

    回复:MKL05Z32的AD转换速率问题(已解决)

    回复第 6 楼 于2014-08-26 17:07:43发表:
    请问楼主的问题测试下来结果如何呢?
    之前在忙别的也没来得及在FRDM-KL05Z板子上测试
     
     
    按照我上面讲的设置,达到了102400Hz的频率。这么算来,实际频率比设定频率大概要少1/8,这PE的代码效率也确实够低的。
     
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-20 15:09 , Processed in 0.098250 second(s), 27 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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