0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

HK32MCU应用笔记(十八)| HK32F103xC/D/E-DAC的应用及注意事项

jf_pJlTbmA9 来源:航顺芯片 作者:航顺芯片 2023-09-18 10:58 次阅读

HK32F103x/C/D/E是深圳市航顺芯片技术研发有限公司推出的中大容量的103系列芯片。作为32位MCU常用的外设DAC是12位数字输入,电压输出的数字/模拟转换器。DAC可以配置为8位或12位模式,也可以与DMA控制器配合使用。DAC工作在12位模式时,数据可以设置成左对齐或右对齐。DAC模块有2个输出通道,每个通道都有单独的转换器。在双DAC模式下,2个通道可以独立地进行转换,也可以同时进行转换并同步地更新2个通道的输出。DAC可以通过引脚输入参考电压VREF+以获得更精确的转换结果。

DAC主要特性

●2个DAC转换器:每个转换器对应1个输出通道

●8位或者12位单调输出

●12位模式下数据左对齐或者右对齐

●同步更新功能

●噪声波形生成

●三角波形生成

●双DAC通道同时或者分别转换

●每个通道都有DMA功能

●外部触发转换

●输入参考电压VREF+

wKgZomUD5deAXq2CAAGWwJ_vD-U659.png DAC通道模块框图
wKgZomUD5dqAM4VuAADEj_26Zsk546.png DAC 引脚

DAC数字格式

根据选择的配置模式,数据按照下文所述写入指定的寄存器

单DAC通道x,有3种情况

● 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_DHRyyyx寄存器的操作,经过相应的移位后,写入的数据被转存到DHRx 寄存器中(DHRx是内部的数据保存寄存器x)。随后,DHRx寄存器的内容或被自动地传送到DORx寄存器,或通过软件触发或外部事件触发被传送到DORx寄存器。

wKgaomUD5duAHteyAABuWaPvQhI621.png 单DAC通道模式的数据寄存器

双DAC通道,有3种情况

● 8位数据右对齐:用户须将DAC通道1数据写入寄存器DAC_DHR8RD[7:0]位(实际是存入寄存器DHR1[11:4]位),将DAC通道2数据写入寄存器DAC_DHR8RD[15:8]位(实际是存入寄存器 DHR2[11:4]位)

● 12位数据左对齐:用户须将DAC通道1数据写入寄存器DAC_DHR12LD[15:4]位(实际是存入寄存器DHR1[11:0]位),将DAC通道2数据写入寄存器DAC_DHR12LD[31:20]位(实际是存入寄存器DHR2[11:0]位)

● 12位数据右对齐:用户须将DAC通道1数据写入寄存器DAC_DHR12RD[11:0]位(实际是存入寄存器DHR1[11:0]位),将DAC通道2数据写入寄存器DAC_DHR12RD[27:16]位(实际是存入寄存器 DHR2[11:0]位)

根据对DAC_DHRyyyD寄存器的操作,经过相应的移位后,写入的数据被转存到DHR1 和DHR2寄存器中(DHR1和DHR2是内部的数据保存寄存器x)。随后,DHR1和DHR2的内容或被自动地传送到DORx寄存器,或通过软件触发或外部事件触发被传送到DORx寄存器。

wKgaomUD5dyANOYpAABcKLTsIyA833.png 双DAC通道模式的数据寄存器

DAC转换

不能直接对寄存器DAC_DORx写入数据,任何输出到DAC通道x的数据都必须写入AC_DHRx寄存器(数据实际写入DAC_DHR8Rx、DAC_DHR12Lx、DAC_DHR12Rx、DAC_DHR8RD、DAC_DHR12LD、或者DAC_DHR12RD寄存器)。如果没有选中硬件触发(寄存器DAC_CR1的TENx位置’0’),存入寄存器DAC_DHRx的数据会在一个APB1时钟周期后自动传至寄存器DAC_DORx。如果选中硬件触发(寄存器DAC_CR1 的TENx位置’1’),数据传输在触发发生以后3个APB1时钟周期后完成。一旦数据从DAC_DHRx 寄存器装入DAC_DORx寄存器,在经过时间tSETTLING之后,输出即有效,这段时间的长短依电源电压和模拟输出负载的不同会有所变化。

wKgZomUD5d6AUpG6AACyQ4bqCXg071.png TEN=0触发失能时转换的时间框图

DAC输出电压

数字输入经过DAC被线性地转换为模拟电压输出,其范围为0到VREF+。任一DAC通道引脚上的输出电压满足下面的关系:DAC输出=VREFx(DOR/4095)

HK32F103xC/D/E在操作DAC需要注意的地方

用户在使用HK32F103xC/D/E的DAC在使用过程中,当输出一个较低电压,例如0.41V,当对DAC->CR.BOFF 1 bit进行操作时,不管是从0->1,还是从1->0,均会出现一个高于实际DAC输出很高的电压值,且不会自行恢复,需要手动给一个trig信号或者将DAC->CR.BOFF1回到上一次触发之前的状态才能恢复正常。举例说明:DAC 配置为软件触发,DAC->CR.BOFF1=0,输出一个0.41V电压(DHR12R1设置为0x1FF),从PA4输出,当正常输出以后配置DAC->CR.BOFF1=1,此时电压会跳变到2.9V左右,且不会自行恢复,当给DAC_SWTRIGR.SWTRIG1配置为1以后即可自行恢复。

解决方案:

1. DAC BUFF输出功能,在程序上电初始化配置完毕以后,程序运行中不要更改。
2. 如果需要在程序运行中更改,且对输出电压的短暂跳变不敏感,那么可通过更改触发方式为DAC_Trigger_T1_TRGO等循环自动触发方式或者在DAC->CR.BOFF1 bit发生改变以后手动给一次触发信号。

以上有关寄存器的介绍可以参考我们HK的HK32F103xC/D/E的应用手册。

来源:航顺芯片

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16978

    浏览量

    350215
  • 寄存器
    +关注

    关注

    31

    文章

    5308

    浏览量

    119980
  • dac
    dac
    +关注

    关注

    43

    文章

    2268

    浏览量

    190821
  • 航顺芯片
    +关注

    关注

    1

    文章

    102

    浏览量

    22782
收藏 人收藏

    评论

    相关推荐

    HK32MCU用笔记(二十)| HK32F103xC/D/E USB枚举情况分析(二)

    HK32MCU用笔记(二十)| HK32F103xC/D/E USB枚举情况分析(二)
    的头像 发表于 09-18 10:58 538次阅读
    <b class='flag-5'>HK32MCU</b>应<b class='flag-5'>用笔记</b>(二十)| <b class='flag-5'>HK32F103xC</b>/<b class='flag-5'>D</b>/<b class='flag-5'>E</b> USB枚举情况分析(二)

    HK32MCU用笔记(十九)| HK32F103xC/D/E USB枚举情况分析

    HK32MCU用笔记(十九)| HK32F103xC/D/E USB枚举情况分析
    的头像 发表于 09-18 10:58 767次阅读
    <b class='flag-5'>HK32MCU</b>应<b class='flag-5'>用笔记</b>(十九)| <b class='flag-5'>HK32F103xC</b>/<b class='flag-5'>D</b>/<b class='flag-5'>E</b> USB枚举情况分析

    HK32MCU用笔记(十七)| HK32F103xC/D/E-flash擦写应用及注意事项

    HK32MCU用笔记(十七)| HK32F103xC/D/E-flash擦写应用及注意事项
    的头像 发表于 09-18 10:58 1036次阅读
    <b class='flag-5'>HK32MCU</b>应<b class='flag-5'>用笔记</b>(十七)| <b class='flag-5'>HK32F103xC</b>/<b class='flag-5'>D</b>/<b class='flag-5'>E</b>-flash擦写应用及<b class='flag-5'>注意事项</b>

    HK32MCU用笔记(十六)| HK32F103xC/D/E-Timer的应用及注意事项

    HK32MCU用笔记(十六)| HK32F103xC/D/E-Timer的应用及注意事项
    的头像 发表于 09-18 10:58 730次阅读

    HK32MCU用笔记(十五)| HK32F103xC/D/E-同步注入模式下,ADC2工作状态不能单独配置

    HK32MCU用笔记(十五)| HK32F103xC/D/E-同步注入模式下,ADC2工作状态不能单独配置
    的头像 发表于 09-18 10:58 658次阅读
    <b class='flag-5'>HK32MCU</b>应<b class='flag-5'>用笔记</b>(十五)| <b class='flag-5'>HK32F103xC</b>/<b class='flag-5'>D</b>/<b class='flag-5'>E</b>-同步注入模式下,ADC2工作状态不能单独配置

    HK32MCU用笔记(十四)| HK32F103x/C/D/E-TIM1的应用及注意事项

    HK32MCU用笔记(十四)| HK32F103x/C/D/E-TIM1的应用及注意事项
    的头像 发表于 09-18 10:58 762次阅读
    <b class='flag-5'>HK32MCU</b>应<b class='flag-5'>用笔记</b>(十四)| <b class='flag-5'>HK32F103</b>x/C/<b class='flag-5'>D</b>/<b class='flag-5'>E</b>-TIM1的应用及<b class='flag-5'>注意事项</b>

    HK32MCU用笔记(十三)| HK32F103xC/D/E-ADC的应用及注意事项

    HK32MCU用笔记(十三)| HK32F103xC/D/E-ADC的应用及注意事项
    的头像 发表于 09-18 10:58 1057次阅读
    <b class='flag-5'>HK32MCU</b>应<b class='flag-5'>用笔记</b>(十三)| <b class='flag-5'>HK32F103xC</b>/<b class='flag-5'>D</b>/<b class='flag-5'>E</b>-ADC的应用及<b class='flag-5'>注意事项</b>

    HK32MCU用笔记(十二)| HK32F103xC/D/E的GPIO的应用及注意事项

    HK32MCU用笔记(十二)| HK32F103xC/D/E的GPIO的应用及注意事项
    的头像 发表于 09-18 10:58 883次阅读
    <b class='flag-5'>HK32MCU</b>应<b class='flag-5'>用笔记</b>(十二)| <b class='flag-5'>HK32F103xC</b>/<b class='flag-5'>D</b>/<b class='flag-5'>E</b>的GPIO的应用及<b class='flag-5'>注意事项</b>

    HK32MCU用笔记(十一)| HK32F103xC/D/E的flash读保护应用及注意事项

    HK32MCU用笔记(十一)| HK32F103xC/D/E的flash读保护应用及注意事项
    的头像 发表于 09-18 10:58 926次阅读
    <b class='flag-5'>HK32MCU</b>应<b class='flag-5'>用笔记</b>(十一)| <b class='flag-5'>HK32F103xC</b>/<b class='flag-5'>D</b>/<b class='flag-5'>E</b>的flash读保护应用及<b class='flag-5'>注意事项</b>

    HK32MCU用笔记(十)| HK32F103xC/D/E的ADC常规和注入通道同时触发时的处理机制

    HK32MCU用笔记(十)| HK32F103xC/D/E的ADC常规和注入通道同时触发时的处理机制
    的头像 发表于 09-18 10:58 686次阅读
    <b class='flag-5'>HK32MCU</b>应<b class='flag-5'>用笔记</b>(十)| <b class='flag-5'>HK32F103xC</b>/<b class='flag-5'>D</b>/<b class='flag-5'>E</b>的ADC常规和注入通道同时触发时的处理机制

    HK32MCU用笔记(九)| HK32F103x8xB系列CAN的应用解决方案

    HK32MCU用笔记(九)| HK32F103x8xB系列CAN的应用解决方案
    的头像 发表于 09-18 10:59 637次阅读

    HK32MCU用笔记(六)| HK32MCU芯片调试心得

    HK32MCU用笔记(六)| HK32MCU芯片调试心得
    的头像 发表于 09-18 10:59 749次阅读
    <b class='flag-5'>HK32MCU</b>应<b class='flag-5'>用笔记</b>(六)| <b class='flag-5'>HK32MCU</b>芯片调试心得

    HK32MCU用笔记(五)| 关于应用HK32F030延时效率问题

    HK32MCU用笔记(五)| 关于应用HK32F030延时效率问题
    的头像 发表于 09-18 11:00 629次阅读

    HK32MCU用笔记(四)| 关于老版本HK32F103串口USART偶尔出现数据错误

    HK32MCU用笔记(四)| 关于老版本HK32F103串口USART偶尔出现数据错误
    的头像 发表于 09-18 11:00 1058次阅读

    HK32MCU用笔记(一)| HK32F030X系列在PH测量笔的应用

    HK32MCU用笔记(一)| HK32F030X系列在PH测量笔的应用
    的头像 发表于 09-18 11:00 1094次阅读
    <b class='flag-5'>HK32MCU</b>应<b class='flag-5'>用笔记</b>(一)| <b class='flag-5'>HK32F</b>030X系列在PH测量笔的应用