微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > 关于ADS1118ADC的先关问题,求解答

关于ADS1118ADC的先关问题,求解答

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

请问ADS1118是直接一上来就给写字节,默认写的字节是到控制寄存器吗。还有是在写完之后,立马就可以读数据。还有读回来的应该是32位的数据吗?读的时候每次先读的是结果寄存器的两个字节的数据,然后是控制寄存器的数据吗?

Hi Xipeng

先写控制寄存器。写完之后,下一个CS周期再读数据。

读回来可以使32bit或者16bit,取决于你在CS周期里面的CLK的个数。

读的时候32bit模式下,先读到的是2个字节的转换结果,然后是2个字节的控制寄存器数据。

16bit下,只读到2个字节的转换结果。

控制寄存器只需要写一次吧,看数据手册上说的是,BIT1到BIT2是写入控制寄存器,是不是在写入之前要先写入这两位,再写其他。写入寄存器的时候可以一次性送入16位吗?还是分两次8位送入?读的时候可以一次性读16位吗?

 写寄存器要分几步,就是说先写什么,再写什么,最后再启动转换啥的?有点读不懂那个数据手册啊?我都翻译了一般一遍,还是不会用啊。。

写入的时候可以分两个8位写入,比如:

ConfigH = 0x8B; //AIN0 & AIN1, .256V, Single Mode

ConfigL = 0xF2; //860SPS, Temp Mode, Pull_UP Disabled

SPI_SendChar(ConfigH);

SPI_SendChar(ConfigL);

读的时候可以一次读取16位


这个芯片手册有时序图,楼主课根据时序图来操作,先写控制寄存器。写完之后,下一个CS周期再读数据。读回来可以使32bit或者16bit,取决于CS周期里面的CLK的个数。读的时候是处于32bit模式下,先读到2个字节的转换结果,然后是2个字节的控制寄存器数据。16bit下,只读到2个字节的转换结果。希望能够解决你的问题。

你看一下读取32bit 和16bit 的时序图:

您好,我用的是STM32控制的ads1118,控制命令SPI_ADC_SendData(SPI1, 0xD3E3);

它的4个通道不能分别进行控制吗?只能顺序轮番执行吗?看看是不是控制命令的问题?谢谢!

您好,我用的是STM32控制的ads1118,控制命令SPI_ADC_SendData(SPI1, 0xD3E3);

它的4个通道不能分别进行控制吗?只能顺序轮番执行吗?看看是不是控制命令的问题?谢谢!

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

网站地图

Top