首页 理论教育基于ARMCortex-M4的嵌入式系统DAC转换方法

基于ARMCortex-M4的嵌入式系统DAC转换方法

【摘要】:DAC通道1触发使能位:本次不使用触发,所以该位设为0。DAC通道1噪声/三角波生成使能位:本次未用到波形发生器,该位设为0。本实例使用了DAC通道1的12位右对齐数据格式,所以需使用12位右对齐数据保持寄存器DAC_DHR12R1。将输出的12位数字量存入该存储器,就可以在DAC输出通道1得到转换后模拟量结果了。

当DAC的参考电压为Vref+的时候,DAC的输出电压是线性地从0~Vref+,12位模式下DAC输出电压与Vref+及DORx的关系如下:

DAC输出电压=Vref+×(DORx/4 095) (9-2)

要实现DAC的通道1输出,需要用到下列寄存器。

1.DAC控制寄存器DAC_CR

寄存器DAC_CR的低16位用于控制通道1,高16位用于控制通道2,下面就通道1的低8位做简单的功能说明。

(1)使能位(EN1):用来控制DAC通道1使能,本实例使用通道1,即该位设为1。

(2)输出缓存控制位(BOFF1):本次暂不使用输出缓存,所以该位设为1。

(3)DAC通道1触发使能位(TEN1):本次不使用触发,所以该位设为0。(www.chuimin.cn)

(4)DAC通道1触发选择位(TSEL1[2:0]):本次未使用到外部触发,所以该位设为0。

(5)DAC通道1噪声/三角波生成使能位(WAVE1[1:0]):本次未用到波形发生器,该位设为0。

(6)DAC通道1屏蔽/幅值选择器(MAMP[3:0]):本次未用到波形发生器,该位设为0。

(7)DAC通道1 DMA使能位(DMAEN1):本次未用到DMA功能,该位设为0。

2.DAC 12位右对齐数据保持寄存器DAC_DHR12R1

在DAC_CR设置好之后,DAC就可以正常工作了,仅需要再设置DAC的数据保持寄存器的值,就可以在DAC输出通道得到想要的电压了(对应I/O口设置为模拟输入)。本实例使用了DAC通道1的12位右对齐数据格式,所以需使用12位右对齐数据保持寄存器DAC_DHR12R1。将输出的12位数字量存入该存储器,就可以在DAC输出通道1(PA4)得到转换后模拟量结果了。