打印
[电子元器件]

CS5532增益寄存器随输入信号值变化?

[复制链接]
1164|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
使用STM32F103为主控,软复位  执行复位后按照datasheet中说的值去检查都没有问题,然后接着写通道设置寄存器在240Sps处进行自校准(自偏移校准,自增益校准无法进行,datasheet中说进行自增益校准Vref+ 不得大于5V),再写通道设置寄存器为960Sps,32倍增益进行转换。
    转换过程中读取增益寄存器的值,发现竟然是不断变化的,并且随着信号的大小变化,输入信号变大增益变大,输入信号变小增益变小。不知道什么原因?有没有知道的

相关帖子

沙发
射鲸英雄的祖宗|  楼主 | 2018-1-16 21:48 | 只看该作者
void CS5532_Init(u8 cs_ch,u8 gain,u32 ADC_Rate,u8 setup)
{
                        u32 temp=0;
                        CS5532_GPIO_Init();
           while(temp!=0x10000000)
                        {
                                CS5532_Soft_Reset();delay_ms(200);//软复位 延时25ms左右
                                Write_CS5532_CMD(Config_W,0x20000000);//写入CS5532复位命令,0x03是配置寄存器地址,0x20000000是配置寄存器RS位为1,即一个复位周期。
                                SPI_delay();SPI_delay();SPI_delay();SPI_delay();SPI_delay();//20us
                                Write_CS5532_CMD(Config_W,0x00000000);//写RS位回0
                                temp=CS5532_Read_REG(Config_R);
                                LED0=!LED0;LED1=!LED1;LED2=!LED2;
                        }
                       
                        Check_Register(CS1);//检查通道一寄存器复位后是否正确
Write_CS5532_CMD(SetupCH2_W,0x46414641);//通道二,一倍增益,240Sps//输出速率>240的应当在240处进行校准
Self_Calibration(Setup3);                        //按照 setup3 自校准
Write_CS5532_CMD(SetupCH4_W,0x6d416d41);//32
Send8bits_5532(0);                                                //清串口
Send8bits_5532(0xd0);
}

使用特权

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

本版积分规则

1

主题

6

帖子

0

粉丝