4426|2

9790

帖子

24

TA的资源

版主

楼主
 

ADS1248调试浪费了一天多时间,只因为没到一句话 [复制链接]

调试ADS1248时发现读写寄存器不成功

ADS1248数据手册内容太多,只看了个别部分
一共14个寄存器按理说写程序应该是一件很简单的事
刚开始看了TI提供的几个代码,ADS1x4x Firmware Example Code 例程
配置函数的使用都是通过上位机操作的,根本不知道应该按照什么顺序走
还好寄存器定义还是可以用
改完测试时发现寄存器配置总出问题
有时能实现测量,然后换一个通道就不好用
读寄存器验证是否写入成功,读出来的不是零就是乱的
后来做了无数次测试,发现读写寄存器需要把START拉高才行

个人理解START应该是启动转换时用的,忘了不转换时ADC会进入POWER-DOWN
按理说即使PWOER-DOWN模式也可以通过SPI唤醒,不应该影响寄存器的读写
看来这种理解是错的,后来想想可能是START为低时进入POWER-DOWN模式然后寄存器的数据会丢失
测试过发现寄存器的数据还在
不理解为什么这么设计了

最后的总结就是ADS1248读写寄存器时一定要把START拉高
“When the START pin is low or the device is in power-down mode, only the RDATA, RDATAC, SDATAC,
WAKEUP, and NOP commands can be issued. The RDATA command can be used to repeatedly read the last
conversion result during power-down mode. Other commands do not function because the internal clock is shut
down to save power during power-down mode.”



最新回复

反正像TI的这种片子其实使用的方法都是通用的,要么你自己需要的时候配置芯片的寄存器,要么提前配置好以函数的形式封装起来。 不过所有的操作前,要多啃datasheet,这个是必须的。必须得提取datasheet里面精华的东西出来  详情 回复 发表于 2017-8-28 11:28
点赞 关注
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 

回复
举报

388

帖子

0

TA的资源

纯净的硅(初级)

沙发
 
看TI的ADS1x4x Firmware Example Code 例程,我一般都看大概的流程和时序,具体语句根据自己对寄存器的理解来读写。对于ADC或者DAC,很多时候写入寄存器后需要load,只能看说明书来对照了。
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

板凳
 
反正像TI的这种片子其实使用的方法都是通用的,要么你自己需要的时候配置芯片的寄存器,要么提前配置好以函数的形式封装起来。

不过所有的操作前,要多啃datasheet,这个是必须的。必须得提取datasheet里面精华的东西出来
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表