5049|6

5

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

关于AD芯片ADS1251的时序问题以及采集问题 [复制链接]

5芯积分

ADS1251的时序以及各个部分所对应的时间如下图所示,请问我写的读取代码是否有问题?

double GET_DOUT(void)
{
	unsigned int temp = 0x00000000;
	int i;
	
	SCLK(0);
	CLK(0);
	
	while(1)
	{
		CLK_Toggle();
		if(DOUT() == 1)
			break;
	}
	for(i=0;i<23;i++)	CLK_Toggle();
	CLK_Toggle();
	if(DOUT() != 0)
		return 1;
	for(i=0;i<5;i++)	CLK_Toggle();
	CLK_Toggle();
	if(DOUT() == 0)
		return 1;
	for(i=0;i<5;i++)	CLK_Toggle();
	
	CLK_Toggle();
	SCLK(1);
	if(DOUT())	temp |= 1;
	CLK_Toggle();
	SCLK(0);
	CLK_Toggle();
	CLK_Toggle();
	for(i=0;i<23;i++)
	{
		temp <<= 1;
		SCLK(1);
		if(DOUT())	temp |= 1;
		CLK_Toggle();
		CLK_Toggle();
		SCLK(0);
		CLK_Toggle();
		CLK_Toggle();
	}
	SCLK(1);
	CLK_Toggle();
	CLK_Toggle();
	SCLK(0);
	CLK_Toggle();
	CLK_Toggle();
	for(i=0;i<248;i++)	CLK_Toggle();
	
	Sample_Single = (double)temp;
	
	return 0;
}

DATASHEET上面说数据读取频率为f(CLK)/384,采样频率为f(CLK)/6,读取频率远远小于采样频率,那么不会讲寄存器写爆导致读到的数据存在一个时延吗?但是实际读取之中好像并没有出现明显的时延,这又是为什么?

 

QQ截图20191117165345.png (54.97 KB, 下载次数: 0)

QQ截图20191117165345.png

QQ截图20191117165356.png (133.46 KB, 下载次数: 0)

QQ截图20191117165356.png

ADS1251采集频率.png (26.69 KB, 下载次数: 0)

ADS1251采集频率.png

最新回复

你好,我最近在做ads1254相关的,这两个芯片时序好像差不多,可以分享一下你的ads1251的驱动代码吗,谢谢!!!!   详情 回复 发表于 2022-2-28 14:53
点赞 关注
 

回复
举报

9792

帖子

24

TA的资源

版主

沙发
 

你的问题描述不是很清楚

说下我的理解如果不是你的要的答案再修改你的提问

ADS1251最大支持20.833K的采样率,对应的CLK时钟是8MHZ这是最大值

根据FIGURE 12时序,当你给CLK施加一个时钟时,DOUT首先输出DRDY信号,DRDY信号占用36个CLK

当DRDY的‘高低高‘信号输出完毕后你就可以读取转换数据了,你需要在接下来的348个CLK周期内把数据读完,这个过程叫DOUT,DRDY+DOUT一共为384个周期就是一个转换周期,所以8MZH(CLK)/384=20.833KSPS最大采样率就是这么来的。

 

个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
littleshrimp 发表于 2019-11-17 18:33 你的问题描述不是很清楚 说下我的理解如果不是你的要的答案再修改你的提问 ADS1251最大支持20.833K的 ...

我的意思是,在芯片读取的时间之中(DRDY之后DOUT之中)是否依然在采样,如果是的话,那么下次一读取到的数据不会有延迟吗(下一次产生DRDY的数据是否在前一次DOUT期间进行采样的)?

点评

数据转换是依赖CLK时钟,你只要保证CLK是连续的就不存在延迟  详情 回复 发表于 2019-11-17 22:22
DRDY的意思是数据准备好,当前DOUT读取的是上一次的转换结果,当前结果应该正在转换中,转换好以后再输出DRDY信号供处理器读取  详情 回复 发表于 2019-11-17 22:20
 
 
 

回复

9792

帖子

24

TA的资源

版主

4
 
Mengmei 发表于 2019-11-17 19:25
我的意思是,在芯片读取的时间之中(DRDY之后DOUT之中)是否依然在采样,如果是的话,那么下次一读取到的 ...

DRDY的意思是数据准备好,当前DOUT读取的是上一次的转换结果,当前结果应该正在转换中,转换好以后再输出DRDY信号供处理器读取
 
 
 

回复

9792

帖子

24

TA的资源

版主

5
 
Mengmei 发表于 2019-11-17 19:25
我的意思是,在芯片读取的时间之中(DRDY之后DOUT之中)是否依然在采样,如果是的话,那么下次一读取到的 ...

数据转换是依赖CLK时钟,你只要保证CLK是连续的就不存在延迟
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

6
 
littleshrimp 发表于 2019-11-17 22:22 数据转换是依赖CLK时钟,你只要保证CLK是连续的就不存在延迟

了解,感谢大佬

 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

7
 
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表