[STM32]DAC全解分析

Stm32F1 Dac 全解分析

存在疑问

  1. VREF 能不能大于VDDA
  2. 允许同步更新是什么意思
  3. 输出缓存原理和具体影响

DAC简介

主要特点:

简单介绍:

DAC整体框图

[STM32]DAC全解分析
名称 符号 注释
模拟电源,输入 VDDA 模拟电源正极
模拟电源地,输入 VSSA 模拟电源地
正参考电压,输入 VREF+ 正参考电压:2.4V – VDDA(3.3V)
模拟电压输出,输出 DAC_OUTX X通道模拟输出
外部中断线9 EXTI_9 外部中断触发
定时器中断 TIMX_TRGO 定时器中断触发
软件触发 SWTRGX 通过软件置1
数据保持寄存器 DHRX 存储转换数据
数据输出寄存器 DORX DHRX 自动或者触发后传入该寄存器
控制寄存器 DAC_CRX 控制DAC转换状态,TSEL等均属于本寄存器

DAC数据格式

Stm32 支持8位和12位转换

[STM32]DAC全解分析
DAC输出电压=VREF*(DOR/2m) m为8,12

触发方式

触发方式有定时器触发、外部事件触发和软件触发

其中软件触发和无触发时,数据从DHR->DOR仅需1个APB时钟,其他方式均需3个APB时钟

软件触发会自动清零,只需关心何时置‘1’

噪声

[STM32]DAC全解分析

三角波

[STM32]DAC全解分析

设置WAVEx[1:0]位为’10’选择DAC的三角波生成功能。设置DAC_CR寄存器的MAMPx[3:0]位来选择三角波的幅度。内部的三角波计数器每次触发事件之后3个APB1时钟周期后累加1。计数器的值与DAC_DHRx寄存器的数值相加并丢弃溢出位后写入DAC_DORx寄存器。在传入DAC_DORx寄存器的数值小于MAMP[3:0]位定义的最大幅度时,三角波计数器逐步累加。一旦达到设置的最大幅度,则计数器开始递减,达到0后再开始累加,周而复始。 将WAVEx[1:0]位置’0’可以复位三角波的生成。

可知:频率需要MAMP、TIM共同改变。

单通道函数配置

函数配置流程图

NoMode DMA TIM EXTI Software GPIO_Init DAC_Init Mode DAC_cmd DMA_Init TIM_Init EXTI_Init DAC_SoftwareTriggerCmd

波形输出函数图

噪声 GPIO_Init DAC_Init TIM_Init 三角波 正弦波 GPIO_Init DAC_Init TIM_init DMA_Init

注:图中为定时器触发
寄存器和库函数见此

直接输出

直接输出需要配置I/O口,参考手册要求配置成模拟输入

配置DAC_CRX寄存器,详细函数内容

来源:今天干点啥

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年6月19日
下一篇 2019年6月19日

相关推荐