TMS320F28374S之DAC

介绍

DAC 模块由一个内部 12 位 DAC 和一个能够驱动外部负载的模拟输出缓冲器组成。 DAC 输出上的集成下拉电阻有助于在禁用输出缓冲器时提供已知的引脚电压。 这个下拉电阻不能被禁用,并且仍然作为引脚上的无源组件,即使对于其他共享的 pinmux 功能也是如此。 缓冲 DAC 是一种通用 DAC,除交流波形(如正弦波)外,还可用于生成方波、三角波等。 对 DAC 值寄存器的软件写入可以立即生效,也可以与 EPWMSYNCPER 事件同步。
内部功能框图如下:
DAC block diagram

DAC配置流程

内部 DAC 的参考电压源 DACREF 可在 VDAC 和 VREFHI 之间选择。
缓冲 DAC 模块中存在两组 DACVAL 寄存器,DACVALA 和 DACVALS。
DACVALA 是一个只读寄存器,可主动控制缓冲的 DAC 值。 DACVALS 是一个可写影子寄存器,它可以立即加载到 DACVALA 中,也可以与下一个 EPWMSYNCPER 事件同步。
如果缓冲 DAC 输出电压时缓冲 DAC 的时钟被禁用,则输出电压不受影响,但 DACVALA 和 DACVALS 将不再随寄存器写入而更新。 启用缓冲 DAC 的时钟会将其恢复到禁用时钟之前的状态。
DAC电压计算公式

初始化顺序

  1. 使能缓冲 DAC 时钟。
  2. 用 DACREFSEL 设置 DACREF。
  3. 使用 DACOUTEN 为缓冲 DAC 上电。
  4. 等待上电时间结束后再输出电压。 要确定缓冲 DAC 的上电时间,请参阅特定器件的数据手册。
  5. 对于缓冲 DAC 的可预测行为,对 DACVALS 的连续写入应根据 buf 的建立时间间隔开

DAC 偏置校准

零偏移误差定义为中间码 (2048) 处的电压与 1.25v(对于 2.5v 参考电压)之间的差异。 DAC 偏移误差在 2.5v 参考电压下进行校准,并作为 Device_cal() 函数的一部分加载到 DAC 偏移调整寄存器中。 如果 DAC 用于 2.5v 以外的任何参考电压,则必须调整偏移微调以确保偏移误差性能保持在器件特定数据手册限制范围内。 DAC 偏移寄存器是一个 16 位寄存器,在寄存器的下半部分包含 8 位有符号偏移微调。 使用 C2000Ware 中的函数调用 DAC_tuneOffsetTrim() 来调整偏移量。

EPWMSYNCPER 信号

EPWMSYNCPER 来自 EPWM 的时基子模块。当 DACCTL [LOADMODE] = 1 时加载 DACVALA 的 EPWMSYNCPER 信号是电平触发加载。 如果 EPWM 的 TBCTR 和 TBPRD 都为 0,则 EPWMSYNCPER 将保持在高电平,并且无论 DACCTL [LOADMODE] 的值如何,都将立即从 DACVALS 加载 DACVALA。因此,建议在将 DACCTL [LOADMODE] 设置为 1 之前先配置 EPWM。

Lock Registers

提供了一个 DACLOCK 寄存器来防止虚假写入修改 DACCTL、DACVALS 和 DACOUTEN 寄存器。 一旦寄存器通过 DACLOCK 得到保护,写入访问将被锁定,直到器件复位。

DAC寄存器

详细内容见参考手册相关章节,此处列出主要内容

DAC Base Addresses

base

DAC_REGS Registers

regs

Register to Driverlib Function Mapping

map

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值