TI中文支持网
TI专业的中文技术问题搜集分享网站

关于TI杯推荐芯片ADS1118驱动程序的疑问

ADS1118是上电之后,先选中芯片,将CS拉低,直接送配置字,然后拉高CS。再就是直接读数据?

SPI_CS_Low(); //拉低CS
SPI_Write_byte(0x85);
SPI_Write_byte(0x83);
SPI_CS_High(); //拉高CS
SPI_CS_Low();
Data_H=SPI_Rec_byte(); //读高字节
Data_L=SPI_Rec_byte();// 读低字节
SPI_CS_High();
Data|=Data_H;
Data=Data<<8;
Data|=Data_L;可以不?

还有,ADS1118默认上电状态,是低功耗模式,那么怎么启动转换呢?还有,是上电后立马就可以对ADS1118写配置字吗,而且只要写入就一定是写到控制寄存器吗?在读数据前有没有什么标志?

Carter Liu:

第一个问题:

“ADS1118是上电之后,先选中芯片,将CS拉低,直接送配置字,然后拉高CS。再就是直接读数据?”

上电之后,先选中芯片,将CS拉低,直接配置Config Register,然后拉高CS。能否读取数据根据你的mode配置。若是配置为single-shot mode,且SS位在配置时已设置为1,则转换已开始,拉低CS,通过读取DRDY引脚判断转换是否完成。转换完成后可以读取数据

若配置为continuous conversion mode,则可以直接通过读取DRDY引脚判断转换是否完成。转换完成后可以读取数据

Carter Liu:

第二个问题:

“SPI_CS_Low(); //拉低CSSPI_Write_byte(0x85);SPI_Write_byte(0x83);SPI_CS_High(); //拉高CSSPI_CS_Low();Data_H=SPI_Rec_byte(); //读高字节Data_L=SPI_Rec_byte();// 读低字节SPI_CS_High();Data|=Data_H;Data=Data<<8;Data|=Data_L;可以不?”

不行。首先,SPI_CS_High(); //拉高CS   SPI_CS_Low();中间最好加一个短的延时;

然后,Data_H=SPI_Rec_byte(); //读高字节Data_L=SPI_Rec_byte();// 读低字节

在这之前需要判断DRDY是否有效。

Carter Liu:

第三个问题:“ADS1118默认上电状态,是低功耗模式,那么怎么启动转换呢?”

设置Config Register的SS bit为1后自动开启一次单次转换。低功耗的意思在这里就是单次转换。

Carter Liu:

第四个问题:“是上电后立马就可以对ADS1118写配置字吗,而且只要写入就一定是写到控制寄存器吗?在读数据前有没有什么标志?”

上电后就可以对其写配置字。写入的是配置寄存器Config Register,应该就是你说的控制寄存器。数据转换完成会有标志,即DOUT/DRDY引脚

WenJie Chen1:

回复 Carter Liu:

还一些疑问,不好意思。

1问一下,到底如何判断数据可以读,手册上说的是,可以判断DOUT引脚有一个低电平就可以读取数据,请问这样吗?

2  In continuous conversion mode, DOUT/DRDY transitions high again 8 µs before the next data ready signal

(when DOUT/DRDY asserts low) if no data are retrieved from the device.芯片中这句话什么意思?

在连续转换模式下,写完配置字之后就可以判断DOUT引脚,如果该引脚输出低电平,则可以读数据。而此处说的,DOUT引脚再高8us,是说这一次读数据应该结束,马上会有第二次数据准备就绪,当DOUT在8us之后再变低电平就说明可以再读取第二次数据了?

  可以这样理解吗?

WenJie Chen1:

回复 Carter Liu:

1 在连续模式时,是不是,在写完配置字后,拉高CS。延时,然后再拉低CS,判断DOUT是否为低电平,如果是,就可以开始读数据,读完之后,就又返回判断DOUT,如此循环,这样可以吗?

2在单次转换模式,转换一次后是不是就不转换了。单次转换时,送入配置字(OS=1,还有设置成单次转换模式),拉高CS。那么短延时之后,拉低CS,是不是就可以判断DOUT,再就可以读数据了,读完拉高CS就可以了吧。

3所有的转换是在配置字送完之后开始转换的吧?是不是配置字只需要送一次?

user3917511:

芯片手册有完整的介绍吧,楼主可以多看看时许流程图设计,这样设计更加的没有错误,上电之后,先选中芯片,将CS拉低,直接配置Config Register,然后拉高CS。能否读取数据根据你的mode配置。若是配置为single-shot mode,且SS位在配置时已设置为1,则转换已开始,拉低CS,通过读取DRDY引脚判断转换是否完成。转换完成后可以读取数据。希望能够解决你的问题。。

Carter Liu:

回复 WenJie Chen1:

1.是的。

2.连续转换模式下,转换完成一组数据后,在下一组数据转换完成前DRDY拉高8US,当DOUT在8us之后再变低电平就说明可以再读取第二次数据。

Carter Liu:

回复 WenJie Chen1:

1.是的。

2.是的。

3.单次转换需要每次转换前发送一次配置信息。

 

 

Carter Liu:

回复 WenJie Chen1:

另外,我这里有使用430SPI外设模块控制ADS1118的程序,如果需要可以留下邮箱

赞(0)
未经允许不得转载:TI中文支持网 » 关于TI杯推荐芯片ADS1118驱动程序的疑问
分享到: 更多 (0)