查看: 4367|回复: 2

SAM4S数字模拟转换控制器DACC

[复制链接]
  • TA的每日心情
    奋斗
    2016-12-9 11:32
  • 签到天数: 151 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2015-5-6 14:01:37 | 显示全部楼层 |阅读模式
    分享到:
        数字模拟转换控制器(DACC)提供两个独立的模拟输出。DACC支持12位的分辨率,要转换的数据被发送到一个所有通道通用的寄存器中,可配置为外部触发或自由运行模式。
        DACC集成了睡眠模式并与PDC通道相连,可降低功耗,减少处理器的干预。用户可以配置DACC时序,如启动时间和刷新周期。
    DACC内部框图
    1.png
    电源管理:在使用DACC之前,必须先启用位于功耗管理控制器(PMC)中的DAC控制器时钟。当一个转换请求出现时,DACC就会被激活并且至少一个通道被启用。当没有通道被启用时,DACC会自动停止。
    中断源:DACC中断是中断控制器的内部中断源之一,使用DACC中断要求先对中断控制器编程,DACC中断ID是32。
    DACC的寄存器,内容也不复杂,最主要的就是模式寄存器的配置
    2.png
    下面我们来使用DACC进行模拟电压的输出测试,OLED扩展板上的BUTTON2按下后输出一个电压值(对应数字为2000),BUTTON3按下后输出另一个电压值。下面开始写代码(对应数字为4095,也就是12位分辨率的最大值),BUTTON1按下后输出一个电压值(对应数字为0)。
    我们使用模拟输出通道0测试,通道0在开发板上已经引出了,这个接插件的10脚就是DAC0引脚,板子的正面和反面。边上的电位器用来调节模拟部分的参考值,我目前已经调节到了3.3V。
    3.JPG 4.JPG 5.png
    DACC初始化函数
    6.png
    按键中断处理,对输出打对应数据
    7.png
    实际用万用表测试结果,刚上电引脚输出0V
    8.JPG
    按下BUTTON2,这个和计算结果差不多,2000/4096*3.3=1.61V
    9.JPG
    按下BUTTON3,这个最大值为什么不是3.3V,不明白,规格书中也没写如何计算的
    10.JPG
    按下BUTTON1,这个是0.55V就更纳闷了,哪位知道的话希望指点一下
    11.JPG
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2016-10-17 12:07
  • 签到天数: 306 天

    连续签到: 1 天

    [LV.8]以坛为家I

    发表于 2015-5-6 15:32:47 | 显示全部楼层
    :lol:lol
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-9-27 14:59:29 | 显示全部楼层
    这个问题我也遇到了,求大神指点,顶一个
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

    手机版|小黑屋|与非网

    GMT+8, 2024-11-20 07:04 , Processed in 0.140145 second(s), 20 queries , MemCache On.

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

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.