查看: 4342|回复: 4

[评测分享] 【Atmel SAM4E Xplained Pro】+ AFEC温度传感器测试

[复制链接]
  • TA的每日心情
    擦汗
    2024-5-31 10:44
  • 签到天数: 1492 天

    连续签到: 1 天

    [LV.10]以坛为家III

    发表于 2015-3-18 12:44:02 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 wudianjun2001 于 2015-3-19 08:10 编辑

           温度传感器通过AFEC来实现,也就是我们常说的ADC。本程序主要的功能是定时读取温度传感器通道的AD值,然后通过AD值计算出当前的温度,并在OLED屏上显示出来。
           Atmel的AFEC功能很强大,可以选择多路AD,多种触发方式,休眠模式,可以差分输入采集,设置增益,设置采集分辨率,专用温度传感器寄存器等功能。SAM4E芯片中,ADC是由AFEC管理的。同时,AFEC可以使用一个多路复用器以选择需要转换的信号的通道,也可以通过平均多次ADC转换的结果以提高转换精确度。
           通过RTC的秒中断来计时,定时启动AD转换,AD转换完成后产生中断并置位标志位,在主函数中判断到标志位后进行温度的计算,并显示。


        AFEC的内部结构框图。AFEC还分为AFEC0和AFEC1两部分,其中AFEC0有16路输入通道,第16路为内部温度传感器。AFEC1有8个通道,都接到外部的IO口。
    1.png

    寄存器列表,具体功能请看数据书
    2.png

           AFEC电气特性,该AFEC有效的时钟范围为1—20 MHz,最大采样频率是1 MHz。同时也需记下启动、跟踪、设置等时间,这在使用AFEC时会用到。另外,传送时间在芯片手册中没有详细说明,只说明将TRANSFER字段设置为1。
    3.png

            下面就来看看程序的操作,AFEC初始化,两种方式都测试了,第一种是寄存器直接操作,第二种是函数操作方式,都OK。使用RTC事件启动AD转换。
    4.png

    AD转换完成中断处理,读取AD值,并置采集完成标志位
    5.png

    主函数,判断到采集完成标志后处理,计算出温度值并在OLED屏上显示出来
    6.jpg

            显示效果图,第三行显示采集到的AD值,第四行显示当前的温度,没有做小数部分的处理,也没有多次采集求平均值。
    7.JPG 8.JPG 9.JPG

    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-9-26 22:38
  • 签到天数: 232 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2015-3-18 13:17:14 | 显示全部楼层
    很不错 赞一个
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-5-23 15:55:32 | 显示全部楼层
    本帖最后由 lin2663947843 于 2019-5-23 16:10 编辑

    你好,可以发一份项目代码给我学习吗谢谢你183602829@qq.com
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2019-5-23 15:56:38 | 显示全部楼层
    你好,可以发一份项目代码给我学习吗谢谢你183602829@qq.com
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

    手机版|小黑屋|与非网

    GMT+8, 2024-11-23 04:29 , Processed in 0.151622 second(s), 25 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.