完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
AD7175测试的结果不太理想,最慢速5hz的时候波动达到5uV,按照手册说的应该1uV以下,AD和电源电路图
另外,高速的时候也不知道驱动程序问题还是电路问题!而且手册里的驱动时序感觉说的乱七八糟!(下面图里看下)驱动程序里不能每个字节都CS使能,而是完整一次操作使能一次才可以,那给第一张时序图有啥用??高速情况下速度达不到手册里说的建立时间(5Hz的时候建立时间对着呢),程序如下用的连续转换模式,ADOUT配置浮空输入,其他引脚推挽输出。 实验现象是:高速情况下数据偶尔会出错,电压波动都1-2mV了,而且0x28寄存器配置为50k的时候速度最高也就到10k 程序代码 #include "ad7172.h" #include "delay.h" //uint8_t DataRead[4]; void AD_Delay(void) { uint8_t i = 1,j; for(j=0; j } long ReadAD7172() { long d = 0; uint8_t i = 0; for(i = 0; i < 24; i++) { d <<= 1; SCLK_L; AD_Delay(); if(DOUT_HorL) d |= 0x00000001; else d &= 0xFFFFFFFE; SCLK_H; AD_Delay(); } // if(a == BIPOLAR) // { if(d < 0x800000) d = -(0x800000 - d); // 是负数,变成补码 else d &= 0x007FFFFF; // } // result = d; return d; } uint8_t ReadAD7172_8B() { uint8_t d = 0; uint8_t i = 0; // while(DOUT_HorL); // CS_L; for(i = 0; i < 8; i++) { d <<= 1; SCLK_L; AD_Delay(); if(DOUT_HorL) d |= 0x01; else d &= 0xFE; SCLK_H; AD_Delay(); } return d; } /****************************************************************** *函数描述:写AD7714 *局部变量: *返回变量: ******************************************************************/ void WriteAD7172_8Bit(uint8_t d) { uint8_t i = 0; for(i = 0; i < 8; i++) { SCLK_L; AD_Delay(); if(d & 0x80) DIN_H; else DIN_L; SCLK_H; AD_Delay(); d <<= 1; } DIN_H; } void AD7172_Reset(void) { unsigned char i=0; SCLK_H; CS_L; DIN_H; for(i=0; i < 12; i++) { WriteAD7172_8Bit(0xFF); } } /****************************************************************** *函数描述:初始化AD7714电压测量,AIN2通道 *局部变量: *返回变量: ******************************************************************/ void InitAD7172_V() { AD7172_Reset(); CS_H; //7175 可用 CS_L; WriteAD7172_8Bit(0x01); WriteAD7172_8Bit(0x00); WriteAD7172_8Bit(0x00); CS_H; CS_L; WriteAD7172_8Bit(0x02); WriteAD7172_8Bit(0x08); WriteAD7172_8Bit(0x00); CS_H; CS_L; WriteAD7172_8Bit(0x10); //选择通道0的 AN0 AN1 WriteAD7172_8Bit(0x80); WriteAD7172_8Bit(0x01); CS_H; CS_L; WriteAD7172_8Bit(0x20); WriteAD7172_8Bit(0x13); WriteAD7172_8Bit(0x00); CS_H; CS_L; WriteAD7172_8Bit(0x28); //选择滤波频率 WriteAD7172_8Bit(0x00); WriteAD7172_8Bit(0x05); //?为07的时候可以40k 00的时候反而不行 原因未知 CS_H; } 最后采集程序
这样循环操作采集然后不断上传Acq_value 请各位论坛好友解答下!一起讨论讨论,不胜感激~ 手册地址 http://www.analog.com/media/en/technical-documentation/data-sheets/AD7175-8.pdf |
|||
相关推荐
5个回答
|
|||
大侠是怎么测噪声时,输入端接的什么信号?
|
|
|
|
|
|
|
|
请问AD7175测试的如何了?能留个联系方式吗?在使用AD7172时附近有仪器打开或关闭会造成AD7127死机(采集数据不正确)
|
|
|
|
现在测试都基本已经没啥问题了,常速和高速指标都和手册基本一致。 短路噪声0.3uV 采样率10hz 死机最主要原因就是DRDY也就是DOUT引脚引起的。 1.用示波器看下DRDY引脚的波形,看是否失真(大部分是这个原因),IO配置为上拉 2.确定一下附近干扰有多大,是否会影响到晶振。 加我qq*** |
|
|
|
非常感谢
|
|
|
|
只有小组成员才能发言,加入小组>>
2287个成员聚集在这个小组
加入小组1048 浏览 2 评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1429 浏览 2 评论
ADP5092 SYS端口为2.09V,但是REG_OUT为0是什么原因?
1965 浏览 1 评论
ad7193差分输入ain1与ain2差是正值时,读到电压与实际值误差小,但为负值值,误差就变的很大
4289 浏览 2 评论
9088 浏览 1 评论
ADC3442采集,分析数据出现有规则毛刺,请问是哪方面的问题啊?
1640浏览 3评论
AD7190状态寄存器一直是0x80,连续转换模式下RDY不拉低
1714浏览 2评论
1048浏览 2评论
1709浏览 2评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1429浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-11 09:43 , Processed in 0.694329 second(s), Total 49, Slave 44 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号