打印
[PIC®/AVR®/dsPIC®产品]

PIC16F15345的DAC模块输出电压不正确

[复制链接]
922|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 永远不停 于 2021-2-26 17:35 编辑

最近在看PIC16F15345的DAC模块,遇到一些问题,希望能得到大家的帮助。
1.手册中的描述前后不一致
在DAC框图中,正输入电压有3个选项:VDD,VREF+,FVR;负输入电压有2个选项:VSS,VREF-
但实际这颗芯片没有VREF-,后面的寄存器描述中也没有负输入电压的选择位。

2.DAC有输出通道,DAC1OUT,在寄存器配置中出现两个输出通道选择位,可以选择DAC1OUT1或DAC1OUT2,但引脚上并没有这两个输出引脚,只有一个DAC1OUT在RA0引脚。所以这两位寄存器到底该怎么配置?

3.写了一个简单的DAC程序,DAC配置如下,
void DAC_Config(void)
{
    DAC1CON0bits.DAC1EN = 1;//使能DAC模块
    DAC1CON0bits.DAC1OE1 = 1;//DAC1OUT1输出
    DAC1CON0bits.DAC1OE2 = 1;//DAC1OUT2输出
    DAC1CON0bits.PSS = 0;//DAC正极电压选择,0-VDD,1-VREF+,2-FVR,3-保留
    DAC1CON1bits.DAC1R = 31;//DAC输出电压等级选择,0~31
   
}
正电压选择VDD,为5V,DAC输出电压等级选择31,那么应该输出的电压为5*31/32=4.8V,而在RA0引脚实际输出的电压为1.88V。
修改DAC1CON1bits.DAC1R的值,输出电压也随着改变,但与理论值相差甚远。
RA0引脚外部是悬空的,没有接任何电路,是否会有影响?
实际测量了VDD是5V,请各位帮忙看看是哪里的问题,万分感谢。

使用特权

评论回复
沙发
永远不停|  楼主 | 2021-2-26 17:41 | 只看该作者
一开始没有配置输出口,输出电压不正确
添加了IO口配置,仍然输出不正确,这样配置对吗,还是说DAC的不用配置
ANSELAbits.ANSA0 = 1;//模拟模式
TRISAbits.TRISA0 = 0;//输出

使用特权

评论回复
板凳
cooldog123pp| | 2021-2-27 16:08 | 只看该作者
虽然我不是很明白,但是路过了就帮忙楼主顶贴一下,希望楼主问题早日解决。

使用特权

评论回复
地板
永远不停|  楼主 | 2021-3-1 15:54 | 只看该作者
各位大神,救救孩子,感觉电压总是有哪里不对劲
在DAC模块,DAC设置的输出电压远远低于理论值,输出范围只能在0~2V之间,DAC的基准电压选择FVR(4.096V)后,DAC输出电压仍然不对,最高只能输出2V.
在比较器模块,选择一端电压为FVR(2.048V),另一端接外部输入信号,进行比较。当外部信号在2.7V左右时,比较器输出才发生变化。是内部FVR不准了吗?有没有什么办法可以测该电压是否准确?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

59

帖子

0

粉丝