本帖最后由 babyrabbit 于 2018-5-11 21:42 编辑
用stm32配置的cs5530,配置代码如下,现在采集的数,放大一倍,能稳定到零点几个毫伏,精度不够。看芯片手册,需要进行校准,没太看懂,那个CC2-CC0位没找到。请问大神这个怎么具体执行校准啊,还有就是硬件电路输入信号部分我直接输入的,有什么滤波电路推荐吗?(除了算法滤波)- // 设置偏移寄存器
- Write_CS5530_Register(Write_OFFSET,0x00000000);
- delay_ms(50);
- // 设置增益寄存器
- Write_CS5530_Register(Write_GAIN,0x0f000000);
- delay_ms(50);
- // 设置配置寄存器,设置参考电压,信号极性,字速度等等
- //Write_CS5530_Register(Write_CONFIG,0x02004800);
- //Delay_ms(50);
- temp = 0x00;
- temp |= UNIPOLAR_MODE; // 单极性
- temp |= LINE_FREQ_60; // 滤波选择缺省滤波字
- temp |= DATARATE_25;
- temp |= NORMAL_MODE; // 普通操作
- temp |= VREF_HIGH; // VREF_HIGH 为 2.5V 基准; VREF_LOW 为 1-2.5V 基准
- temp |= CR_A0_0;
- temp |= CR_A1_0;
- temp |= TURN_OFF_300NA; // 不激活电流源
- Write_CS5530_Register(Write_CONFIG,temp);
- delay_ms(50);
- Write_CS5530( SYSTEM_OFFSET_CAL); //执行系统偏移校准
- Write_CS5530( SYSTEM_GAIN_CAL); // 执行系统增益校准
- //启动转换
- Write_CS5530( START_CONTINUOUS + NORMAL_CONVERSION); // 单次转换
|