查看: 1709|回复: 3

[其他] 每天解决一个问题31:K60 DAC (2)

[复制链接]
  • TA的每日心情
    开心
    2020-5-24 10:39
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    140

    主题

    2087

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    3913
    最后登录
    2020-5-24
    发表于 2015-9-23 21:12:07 | 显示全部楼层 |阅读模式
    接上一篇帖子https://www.nxpic.org.cn/module/forum/thread-601417-1-1.html
    3.        DAC状态寄存器(DACx_SR)

    该寄存器中包含DMA缓冲区读指针位置的有关标志。缓冲区大小为1~16可设置大小的以word为单位的区域,转换的时候,由读指针指向正在转换的数据,数据转换的次序为从顶部到底部依次转换,从顶部到底部之间,用户可设置位置标记(watermark)作为预警位置,当读指针指向缓冲区顶部、底部或位置标记处时,都有状态位可供查询,该寄存器中存放的就是这些标志位。如果DMA功能使能的话,当DMA请求完成后,这些标志会被DMA自动清除。这些标志位都是写0清除,写1无效。
    l DACBFWMF:DAC缓冲区水位标志。
    DACBFWMF=0:DAC缓冲区读指针未达位置标记;
    DACBFWMF=1:DAC缓冲区读指针达到位置标记。
    l DACBFRPTF:DAC缓冲区读指针到顶标志,顶部为起始位置。
    DACBFRPTF=0:DAC缓冲区读指针不为0;
    DACBFRPTF=1:DAC缓冲区读指针为0。
    l DACBFRPBF:DAC缓冲区读指针到底标志,底部为结束位置。
    DACBFRPBF=0:DAC缓冲区读指针不等于DACBFUP;
    DACBFRPBF=1:DAC缓冲区读指针等于DACBFUP。
    4.        DAC控制寄存器0(DACx_C0)

    l DACEN:DAC使能。
    DACEN=0:DAC被禁止;
    DACEN=1:DAC使能。
    l DACRFS:DAC参考选择。
    DACRFS=0:选择DACREF_1为参考电压;
    DACRFS=1:选择DACREF_2为参考电压。
    DAC的参考电压由两个,一个是VREF_OUT,来自外部或VREF模块的输出,默认连接到DACREF_1;另一个时VDDA,默认连接到DACREF_2。
    这里注意,如果ADC和DAC都使用VREF_OUT作为参考电压,则ACC精度的下降有可能和DAC切换有关。
    l DACTRGSEL:DAC触发选择。触发事件的发生会使得缓冲区读指针自动指向下一个数据并进行转换。硬件触发信号默认来自PDB模块,软件触发则通过向DACSWTRG中写1实现。
    DACTRGSEL=0:选择DAC硬件触发器;
    DACTRGSEL=1:选择DAC软件触发器。
    l DACSWTRG:DAC软件触发器。当DAC选择软件触发且缓冲区使能时,向该位写1即可实现软件触发,缓冲区读指针自动指向下一个数据。
    DACSWTRG=0:DAC软件触发无效;
    DACSWTRG=0:DAC软件触发有效。
    l LPEN:DAC低功耗控制。
    LPEN=0:大功率模式;
    LPEN=1:低功率模式。
    l DACBWIEN:DAC缓冲区位置标记中断使能。用于设定当读指针指向设定的位置标记处时,是否引发中断请求。
    DACBWIEN=0:DAC缓冲区位置标记中断禁止;
    DACBWIEN=1:DAC缓冲区位置标记中断使能。
    l DACBTIEN:DAC缓冲区读指针顶部标志中断使能。
    DACBTIEN=0:DAC缓冲区读指针到达顶部禁止中断;
    DACBTIEN=1:DAC缓冲区读指针到达顶部触发中断。
    l DACBBIEN:DAC缓冲区读指针底部标志中断使能。
    DACBBIEN=0:DAC缓冲区读指针到达底部禁止中断;
    DACBBIEN=1:DAC缓冲区读指针到达底部触发中断。
    5.        DAC控制寄存器1(DACx_C1)

    l DMAEN:DMA使能。
    DMAEN=0:DMA功能禁止;
    DMAEN=1:DMA功能使能。
    l DACBFWM:缓冲区水位标志选择。该位允许用户设置,水位标志相当于预警标志,表示还差多少,缓冲区中数据就即将转换完毕。水位标志应位于顶部和底部之间,意义是表示当缓冲区读指针已经距离最高限还差多少的时候,水位标志置1。
    DACBFWM=00:1word;
    DACBFWM=01:2word;
    DACBFWM=10:3word;
    DACBFWM=11:4word。
    l DACBFMD:DAC工作模式选择。
    DACBFMD=00:普通模式,在触发信号驱动下,从缓冲区顶部逐个转换数据到最底部,然后读指针回到缓冲区顶部,循环往复;
    DACBFMD=01:摇摆模式,在触发信号驱动下,从缓冲区顶部逐个转换数据到最底部,再从底部逐个转换回到顶部,循环往复;
    DACBFMD=10:单次扫描模式,在触发信号驱动下,从缓冲区顶部逐个转换数据到最底部,然后读指针回到缓冲区顶部并停止转换。
    DACBFMD=11:保留。
    l DACBFEN:DAC缓冲区使能。只有在缓冲区使能的情况下,才可使用触发信号触发逐个转换缓冲区中数据。
    DACBFEN=0:DAC缓冲区读指针禁止,转换数据永远来自缓冲区的第一个字,即DAC数据寄存器中的数;
    DACBFEN=1:DAC缓冲区读指针使能,转换数据来自读指针指向的字。
    6.        DAC控制寄存器2(DACx_C2)

    l DACBFRP:DAC缓冲区读指针。
    l DACBFUP:DAC缓冲区最高限,相当于指定缓冲区大小,如不指定,缓冲区大小默认为16个,即最大值。该最高限不允许DAC读指针超越。
              未完

    我知道答案 目前已有3人回答
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-9-20 20:56
  • 签到天数: 20 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    12

    主题

    449

    帖子

    0

    高级会员

    Rank: 4

    积分
    984
    最后登录
    2018-9-20
    发表于 2015-9-23 22:35:12 | 显示全部楼层
    赞,支持
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

    该用户从未签到

    61

    主题

    965

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2394
    最后登录
    1970-1-1
    发表于 2015-9-24 09:21:37 | 显示全部楼层
    先了解                 
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
    发表于 2015-9-24 11:38:04 | 显示全部楼层
    谢谢分享
    freescaleic.org.png
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-21 05:29 , Processed in 0.093459 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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