himan 发表于 2023-11-5 00:26:55

AD7190输出速率无法达到4.8K

驱动7190,使用内部时钟,在7190的DRY中断中翻转点评,配置输出速率4.8k(已经禁用斩波),
实际速率1616次,这个速率符合斩波使能,使用SIN3滤波器,实际配置确实时选择sin3滤波器了。
改为禁用斩波,但是滤波器选择sin4输出数据1212次,这个速度符合斩波使能,使用SIN3滤波器,
以上情况,感觉像是斩波使能配置错了,于是把斩波使能位取反,数据输出速率月603次。

实在不知都该怎么查了,请各位支下诏。


               //写配置寄存器
                reg_temp = AD7190_W | CON_REG;
                //关闭斩波使能 基准电压选择0 通道选择+ain1-ain2 禁用激励电流源
                //关闭基准电压检测 使能输入缓冲 双极性工作 增益1
                reg_val = CON_CHOP_EN | CON_REFSEL_0 | CON_Ch0_A1A2 | CON_BURN_DIS |
                                                        CON_REFDET_DIS | CON_BUF_EN |        CON_UB_DIS | CON_GAIN_1 ;
                AD7190_Commiunicate(reg_temp,reg_val); reg_temp = 0 ;reg_val = 0 ;

                //写模式寄存器
                reg_temp = AD7190_W | MODE_REG;
                //内部零电平校准 数据+状态输出 内部晶振 SIN3滤波器
                //使能奇偶校验 禁用时钟分频 单周期转换使能 使能60Hz陷波 4.8K输出转换
                reg_val = MODE_INNER_ZERO | MODE_DATA_STA | MODE_CLK_I | MODE_SINC4 |
                                                        MODE_ENPAR_EN | MODE_CLK_DIV_DIS | MODE_SINGLE_EN | MODE_REJ60 | 1 ;
                AD7190_Commiunicate(reg_temp,reg_val); reg_temp = 0 ;reg_val = 0 ;
                while(!(AD7190_RDY_STATE));

                //写模式寄存器
                reg_temp = AD7190_W | MODE_REG;
                //内部满量程校准 数据+状态输出 内部晶振 SIN3滤波器
                //使能奇偶校验 禁用时钟分频 单周期转换使能 使能60Hz陷波 4.8K输出转换
                reg_val = MODE_INNER_FULL | MODE_DATA_STA | MODE_CLK_I | MODE_SINC4 |
                                                        MODE_ENPAR_EN | MODE_CLK_DIV_DIS | MODE_SINGLE_EN | MODE_REJ60 | 1 ;
                AD7190_Commiunicate(reg_temp,reg_val); reg_temp = 0 ;reg_val = 0 ;
                while(!(AD7190_RDY_STATE));
               
                //写模式寄存器
                reg_temp = AD7190_W | MODE_REG;
                //连续转换模式 数据+状态输出 内部晶振 SIN3滤波器
                //使能奇偶校验 禁用时钟分频 单周期转换使能 使能60Hz陷波 4.8KHz输出转换
                reg_val = MODE_CONTINUOUS | MODE_DATA_STA | MODE_CLK_I | MODE_SINC4 |
                                                        MODE_ENPAR_EN | MODE_CLK_DIV_DIS | MODE_SINGLE_EN | MODE_REJ60 | 1 ;
                AD7190_Commiunicate(reg_temp,reg_val); reg_temp = 0 ;reg_val = 0 ;

ibmx311 发表于 2023-11-5 01:16:58

ADI应该是不会胡说的,模拟指标不说,数字指标基本能达到,您spi的速率够吗

himan 发表于 2023-11-6 00:06:33

ibmx311 发表于 2023-11-5 01:16
ADI应该是不会胡说的,模拟指标不说,数字指标基本能达到,您spi的速率够吗 ...
(引用自2楼)

时钟频率3.75MHz配置输出100Hz的数据 也是上述情况

ibmx311 发表于 2023-11-6 01:09:47

像德州的ads1256,我用103的spi2开到18兆的速度,也就能读15k的速率,如果开全速,温度实验过不去。后来这种需要速度的都坚决使用并口adc和FPGA了
页: [1]
查看完整版本: AD7190输出速率无法达到4.8K