微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > PCB设计问答 > PCB设计学习讨论 > ADS1247应用,采集值与输入值反相(10个积分哦)

ADS1247应用,采集值与输入值反相(10个积分哦)

时间:10-02 整理:3721RD 点击:
最近在用STM32F051调试ADS1247这款AD芯片,花了一段时间把单片机和AD芯片的SPI通讯搞定,现在的现象是,采集的值与输入值差一个符号。
芯片数字电源DVDD为3.3V,模拟电源AVDD为5V,AIN0通过一个电容接地,AIN1为信号输入口,串接一个电阻。在寄存器里配置AIN0为负输入,AIN1为正输入,在AIN0端口输出一个偏置电压【(AVDD + AVSS)/2】,AIN1输入正弦波,采样结果也是正弦波,但是正负与输入信号相反。即输入信号在2.5V以上的时候,采集到的值为负值,反之为正值。
将AIN0与AIN1配置反过来,即AIN0为正输入,AIN1为负输入,其他情形不变,采集到的值也是一样。
麻烦各位大神帮忙指点下。
补充内容 (2016-7-8 09:18):
配置程序如下:
/*******************************************************************************
* 3ìDò??3?  : ADS1247_Init()
* 3ìDò1|?ü  : ADS1247D???3?ê??ˉ
* ê?è?2?êy  : ?T
* ·μ ?? ?μ  : ?T
*******************************************************************************/
void fnADS1247_Init(void)
{
        SPI_CS_LOW();                                //使能引脚置低
        SPI_ADS1247_WriteREG(REG_MUX0,0x08);
        SPI_ADS1247_WriteREG(REG_VBIAS,0x01);
        SPI_ADS1247_WriteREG(REG_MUX1,0x30);
        SPI_ADS1247_WriteREG(REG_SYS0,0x09);
        SPI_ADS1247_WriteREG(REG_IDAC0,0x00);
        SPI_SendByte(0x62);
        SPI_SendByte(Dummy_Byte);
        SPI_CS_HIGH();                                //使能引脚置高
}
补充内容 (2016-7-11 15:22):
已找到原因,首个寄存器配置时因延时不够,没有配置成功,所以造成输入信号与计算出的数值符号不对,且更改正负输入配置也无效。
谢谢大家!

自己顶一下!没人用过这款芯片么?

学习中。

芯片引脚,不对啦

麻烦讲一下怎样才是对的,谢了!

进来学习学习

已找到原因,首个寄存器配置时因延时不够,没有配置成功,所以造成输入信号与计算出的数值符号不对,且更改正负输入配置也无效。

到最后 还是自己解决了 真厉害

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top