微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > ADS1258与STM32单片机

ADS1258与STM32单片机

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

请教一下用ADS1258的8个AIN做单输入通道,转换完成以后用STM32单片机读取转换数据,这个转换的代码是怎么写的?ADS1258这个芯片的输出为40个bit,那是要用STM32给它发送5个字节的信息,第一个字节发送以后接收到得数据不管,第二个字节的数据读出对应的输入通道,后3个字节为转换后的数据,是这样的吗?

手头没有代码。输出时5个BYTE时,从手册31页图58来看,只需要输入一个Command BYTE就行,之后的4个BYTE是STATUS BYTE和Register BYTE。

ADS1258的转换有没有顺序的?就是我选择了8个通道输入,在输出端DOUT取的时候怎么对应输出是哪个通道转换的数据呢?是不是只有读第一个byte来确定?还是能预先设置好转换的顺序呢?datasheet  34页的table 13中通道的优先级是设置这个转换顺序的吗?这个优先级怎么理解呢

28页有说转换模式啊,自动模式和固定通道模式。要是自动模式,从29页的说明来看,需要你去配置MUXDIF,MUXSG0,MUXSG1,SYSTEM这些寄存器。29页对Auto-Scan这种模式的解释中,用到了一个例子,通道3,4,7,8被选择后,芯片会按表13里那个优先级开始扫描,跳过没有被选择的通道,然后循环。这样看来,应该是有个通道指针channel pointer,指向表13里罗列的通道,如果配置了寄存器,那这个指针就依次指向配置好的通道。

那用STM读取转换好的数据,STM32的SPI是发送一个字节然后接收一个字节,,比如我用了AIN0-AIN2一共3个输入口,最后我要得到这3个输入转换的输出数据,读的时候是不是只能通过看status byte来看读出来的是哪个通道的数据呢?然后选出status byte中包含AIN0-AIN2的数据,最终才能确定输出数据呢?能不能实现读输出数据的时候我想读哪个通道转换过来的数据就直接读,而不是看status byte来确定他是哪个通道的数据?

应该不行吧,你可以看一下28页的工作模式,只有Auto-Scan和Fixed Channel。在auto-scan模式下,设定好要扫描的通道以后,那个通道指针会按表13里的优先级顺序一次扫描这几个通道啊。应该不能实现你想读哪个就直接读,除非你中间又切到Fixed channel去。

问一下,我用STM32单片机读ADS1258的寄存器的值都是对的,在没配置的情况下读出来的数都是默认值,为什么在输入没上电的时候,读输出的转换数据不是0,而是固定的几个数字在变化呢?求解

读出来的是输入悬空状态下的转换数据?哪几位在跳?如果只是低位跳,那倒是可以理解,因为ADC本身的噪声有可能会使低几位跳变。

AD的输入接了,但是没有上电,读出来的数据,第一个字节是9和59变化,第二个字节是180-200变化,第三个字节是0-250之间变化,这个不正常吧。。。

你是指前端的输入没上电?试试看把读出来的结果转化成十进制数,然后做个图出来,看看有没有什么规律。

手册上并没有写明在输入不定的情况下,输出会怎样变化,你的系统里需要这样?如果不需要前端的输入,~CS可以一直为高的。

是这样的:在电路中我串联了一个很小的精密电阻,从电阻两端取电压经过MAX4070放大后送入AD芯片,我选的AIN0-AIN7一共8个通道做单端输入,AD输入电路板上线接了,但是调试AD的时候我没给这些输入通电,取4路输入通道读出来的结果不为0,按data*(5/780000h)计算得到的结果放大1K倍转化为10进制以后为9940左右,当我给那4路通道接上电以后得到的结果为7750左右,所以我奇怪不通电的时候为什么不是0,而且通电后得到的转换的电压值也不对,大了10倍,MAX4070放大了50倍。

1. 你先把ADC和MAX芯片断掉,看看单测MAX4070时结果是否正确,如果不正确,先把MAX4070调好。

2. 接上ADC时注意一下单端信号输入时AINCOM脚电压有没有接对。那个引脚应该接一个共模电压,其电压值应该等于输入信号的共模电压值。

很好,谢谢您的耐心回复,辛苦啦,发现问题了,MAX4070在输入没接电的时候输出不为0,是2.5V,所以给AD芯片的输入也就是2.5V导致在不接电的时候AD的输出也有读数,核对了一下,ADS1258的输出转换好以后大概就是2.5V,可是我奇怪MAX4070怎么在输入不接电的时候输出还有呢。。。

不对MAXIM的产品做技术支持。不过你可以评估一下TI的INA214,共模范围覆盖MAXIM的芯片,且最大offset比MAXIM芯片的典型值还小。

哦,好的,谢谢了,以后还会继续关注和使用TI公司的产品

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

网站地图

Top