STM32F407 DAC 个人笔记

DAC框图

  • VDDA:模拟电源输入
  • VSSAL:模拟电源接地输入
  • Vref+:正模拟参考电压输入
    ——————————————
  • DORx:输入数字寄存器
  • DAC_OUT:模拟输出通道
    • DAC_OUT1 ->PA4
    • DAC_OUT2 ->PA5

DAC概述

  • 12位数字输入,电压输出
  • 2种模式
    • 12位模式:此时数据可以设置成左对齐或右对齐
    • 8位模式
  • 2个DAC
    • 每个DAC转换器对应一个通道
    • 可以独立转换
    • 也可以同时进行转换,并同步地更新2个通道的输出

寄存器

简称 全称
DAC_CR DAC control register
DAC_SWTRIGER DAC software trigger register
DAC_DHR12R1 DAC channel1 12-bit right-aligned data holding register
DAC_DHRx DAC channelx data holding register

过程

  1. 软件将数据加载到DAC_DHRx寄存器
  2. 写入的数据将移位并存储到相应的 DHRx(数据保 持寄存器 x,即内部非存储器映射寄存器)
  3. 根据是否选择硬件触发,DHRx 寄存器将被自动加载,或者通过软件或外部事件触发加载到
  4. DORx 寄存器的数据在 t SETTLING 时间后给模拟输出电压

时序:

  • 如果未选择硬件触发:
    • (DAC_CR 寄存器中的 TENx 位复位)
    • 经过一个 APB1 时钟周期后, DAC_DHRx寄存器中存储的数据将自动转移到 DAC_DORx 寄存器。
  • 如果选择硬件触发
    • (置位 DAC_CR 寄存器中的 TENx位)且触发条件到来
    • 将在三个 APB1 时钟 周期后进行转移。
  • 当 DAC_DORx 加载了 DAC_DHRx内容时,模拟输出电压将在一段时间 t SETTLING 后可用,具体时间取决于电源电压和模拟输出负载。

数据保持寄存器

对于 DAC 单通道 x,有三种可能的方式:

  • 8 位右对齐:软件必须将数据加载到 DAC_DHR8Rx [7:0] 位(存储到 DHRx[11:4] 位)。
  • 12 位左对齐:软件必须将数据加载到 DAC_DHR12Lx [15:4] 位(存储到 DHRx[11:0] 位)。
  • 12 位右对齐:软件必须将数据加载到 DAC_DHR12Rx [11:0] 位(存储到 DHRx[11:0] 位)。

DAC 输出电压

经过线性转换后,数字输入会转换为 0 到 VREF+ 之间的输出电压。
各 DAC 通道引脚的模拟输出电压通过以下公式确定:

posted @ 2018-12-10 15:19  YuQiao0303  阅读(2815)  评论(0编辑  收藏  举报