STM32CubeMX学习笔记—DAC接口使用(输出三角波)

一、DAC简介

DAC(Digital-to-Analog Converter),即数字/模拟转换模块,故名思议,它的作用就是把输入的数字编码,转换成对应的模拟电压输出,它的功能与 ADC 相反。在常见的数字信号系统中,大部分传感器信号被化成电压信号,而 ADC 把电压模拟信号转换成易于计算机存储、处理的数字编码,由计算机处理完成后,再由 DAC 输出电压模拟信号,该电压模拟信号常用来驱动某些执行器件,使人类易于感知。如音频信号的采集及还原就是这样一个过程。STM32 具有片上 DAC 外设,它的分辨率可配置为 8 位或 12 位的数字输入信号,具有两个 DAC 输出通道,这两个通道互不影响,每个通道都可以使用 DMA 功能,都具有出错检测能力,可外部触发。

二、DAC通道选择

在 STM32 中具有 2 个这样的 DAC 部件,每个 DAC 有 1 个对应的输出通道连接到特定的引脚,即:PA4-通道 1PA5-通道 2,为避免干扰,使用 DAC 功能时,DAC 通道引脚需要被配置成模拟输入功能(AIN)。

三、新建工程

1. 打开 STM32CubeMX 软件,点击“新建工程”

定时器频率:

TIM2的定时器频率:f = Tclk/[(psc+1) * (cnt+1)] = 72MHz/[4*9] = 2MHz。

  • 定时器时钟Tclk:72MHz
  • 预分频器psc:3
  • 自动重装载值cnt:8

Prescaler(时钟预分频数):4-1 则驱动计数器的时钟 CK_CNT = CK_INT(即72MHz)/(3+1) = 18MHz
Counter Mode(计数模式):Up(向上计数模式)
Counter Period(自动重装载值):9-1
auto-reload-preload(自动重装载):Disable(不使能)
TRGO Parameters(触发输出):Update Event(更新事件) 在定时器的定时时间到达的时候输出一个信号(如:定时器更新产生TRGO信号来触发ADC的同步转换)

三角波频率计算

三角波幅值为3.3V,即4095,所以三角波的频率为:定时器频率/(设定值x2) = 2000000Hz/(4095x2) ≈ 244.2Hz,与示波器测量结果244.9Hz接近。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值