Skip to main content

DAC数模转换

DAC让芯片可以"讲话"了!

up的视频讲解:

1 DAC 原理

1.1 DAC 简介

DAC (Digital-to-Analog Converter)数模转换器,是指将离散的数字信号 转换为 模拟信号的器件

  • F103C8T6 只有 1 个 DAC

  • 是12 位精度 (0 ~ 4095) 电压输出 (0V ~ 3.3V)

  • 有两个用途:输出波形输出固定电压

1.2 DAC 结构框架图

我们从信号的 触发 --> 生成 --> 输出 这个流程来分析DAC的结构

DAC 结构框架图

  1. 信号触发
  • TIM2,TIM4,TIM5,TIM6,TIM7, TIM8定时器触发

  • EXTI9外部中断线触发

  • 软件触发

  1. 信号生成
  • DAC受DOR寄存器直接控制的,但是数据并不是直接传入DOR的,需要先传入DHR 之后在间接地传给DOR寄存器

    • 如果没有选择硬件触发(TENx=0),在一个APB1周期后传入DOR

    • 如果选择硬件触发(TENx=1),则在3个APB1周期后传入DOR

  • 一旦数据装入DOR寄存器,在经过时间Testting(大约3us) 之后,输出即有效

TESTTING

  • LFSRx噪声波形模块 线性移位寄存器,生成伪随机噪声数字序列

  • trianglex 三角波模块,自动递增 / 递减数字值;MAMPx[3:0] 设置三角波峰值幅度

  1. 信号输出
  • DAC输出电压 = VREF x (DOR / 4095)

    • DAC电压输出范围为0到参考电压VREF+

电压VREF+

1.3 DAC 数据格式

根据上面可知,数据先写入DHR寄存器,然而实际上DHR一共有3个寄存器对应三种数据格式(不通过移位, 减小CPU负担)

DAC 数据格式

  • 8位数据右对齐

  • 12位数据左对齐

  • 12位数据右对齐

2 播放音乐实验