微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > ADS8331读写不正常

ADS8331读写不正常

时间:10-02 整理:3721RD 点击:

您好:我遇到一个棘手的问题:

在通过SPI接口读写ADS8331时,我发现,当我向CFR写入数据再读出来时,数据不一样了。是这么个情况,我写入一个值,再读出来,发现,读出来的数据右移一位,就是写入的数据。多次试验,都是这样。我觉得是读的问题。我手动转换通道,发现,ADCIN输入电压是四个通道来回变化的。

在我的设计中,ADS8331的参考电压采用了REF5040提供的4.096V的电压,而模拟电源的电压和数字电源的电压都是3.3V,这个会关系到数据读写不正常吗?

调试到深夜, 不容易啊.  SPI 接口, 写入一个值,再读出来,发现,读出来的数据右移一位,就是写入的数据。

通常是时序问题, 或者是时钟触发边沿设置错了, 或者是时钟信号的初始电平错误(特别是软件模拟 SPI 接口时经常出现)

再验证一下时序吧

谢谢您的回答~最开始我是用MSP430的硬件SPI接口来做的,发现不行,于是就换成了软件模拟,结果还是一样。我参考了官方的例子,发现没什么区别啊,于是我想,是不是由于我的参考电压高于电源电压所致;而且,我的电路板上,SPI通信端口,从芯片引脚上出来的一小段线宽采用的8mil,然后剩下的部分我把它变成了15mil,这会不会导致阻抗问题?

Zhang Lei1

谢谢您的回答~最开始我是用MSP430的硬件SPI接口来做的,发现不行,于是就换成了软件模拟,结果还是一样。我参考了官方的例子,发现没什么区别啊,于是我想,是不是由于我的参考电压高于电源电压所致;而且,我的电路板上,SPI通信端口,从芯片引脚上出来的一小段线宽采用的8mil,然后剩下的部分我把它变成了15mil,这会不会导致阻抗问题?

 

既然你用的是硬件SPI,那么基本可以排除程序的问题,最有可能是电路的问题。你的SPI的SCLK频率是多少呢?还有SCLK、SDI、SDO的走线有多长呢?是不是收到干扰了,或者感抗不同了造成延迟?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top