控制/MCU
01.前言
在开发指南(五)中,我们简单介绍了RTC实时时钟功能的使用,本章我们结合LBT模块和内部OPA、OPB两路运放介绍一下DAC的相关功能,详细寄存器资料参考应用手册第11章节和第26章节。
02.LBT(低压检测)结构框图
我们首先来看一下LBT的结构框图,如下图1:
图1.LBT结构框图
从应用手册中我们可以得知,LBT电路包括一个8 bit的电阻DAC,DAC输出就是框图中的DAO,而DAO = VDN + ( VDP – VDN ) * DABIT[7:0] / 255,VDP和VDN又有多种组合选择,所以DAC的输出电压可以通过芯片内部或外部输入的多种不同电压进行控制。
03.DAC初始化
接下来我们对照图2简单了解下DAC的初始化配置,DAEN位是控制以AVDDR的分压信号作为VDP输出电压的开关,关闭后相关通道就没有信号了,我们再配置DAP[3:0]位选择VDP电压为AVDDR≈2.4V,DAN[2:0]位选择VDN电压为VSS,最后将8bit DAC数据信号写为0x80,则DAC输出电压DAO=VSS+ (AVDDR-VSS) *128/255≈1.204V。
图2.DAC初始化函数
04.OP等效电路
在配置好DAC输出后,我们还是无法直接测量到其输出结果,通过图3可知DAO可以分别选择作为OPA和OPB的正端输入,负端输入分别选择A7/A8和P17,连接成BUFFER形式即可将DAC电压信号从A7/A8和P17输出。
图3.OPA/OPB独立运放等效电路
05.OP初始化
从等效电路上了解了如何控制DAC电压输出后,我们再了解一下软件上如何实现这一过程。OP的控制信号包括OP正端输入选择、负端输入选择、相位选择、输出选择和使能位控制。 图4中我们直接调用库函数按照等效电路的描述,将OPB负端输入选择P17连成BUFFER形式,正端输入选择DAO,相位默认,最后打开使能。
图4.OP初始化函数
06.DAC电压输出结果验证
按照上述DAC初始化和OP初始化配置后,我们用万用表测量一下DAC的输出电压是否正确,实测AVDDR电压为2.46525V(见图5),则理论DAC输出电压为1.23745V,而实测DAC电压为1.23868V(见图6),说明DAC已按照设置正确输出电压结果。
图5.实测AVDDR电压
图6. 实测P17电压
最后我们写一个简单的测试程序,将8Bit DAC的所有输出点间隔2S自加一次进行扫描,并将DAC数据码值显示出来,来观察DAC输出的线性情况,如图7。
图7.DAC测试程序
07.开发问题简析
注意分压设置和OP连接即可输出预设的电压结果。
08.总结
DAC电压信号除了通过OP输出,还可以通过ACM引脚进行输出,也能作为ADC的输入信号,开发过程中可以进行灵活的应用。
全部0条评论
快来发表一下你的评论吧 !