TI论坛
直播中

陈飞

7年用户 1179经验值
私信 关注
[问答]

ADS1299的SPI可以一次传送24bit资料吗?




    • ADS1299的ADC为24BIT,我需要由SPI将DATA传至32bit的MCU,请问ADS1299的SPI一次传送24bit资料吗?
      还是一次传送8bit资料?
      如果是24bit资料,我该如何在32bit之MCU接收?

回帖(3)

周悠悠

2024-12-5 15:20:15
反正AD总共是24位的数据,你MCU给24个sclk读写就好了,和几位的MCU没有关系的,取决于你MCU的SPI一次可以读写几位数据,假如一次读8位,你读3次就好了,读到的数据组合为一个新的数据。
举报

杨海清

2024-12-5 15:21:30

采样数据是

24 位 连续, 看时序图


举报

时见栖鸦

2024-12-5 18:01:45
ADS1299的SPI接口确实可以一次传送24bit数据。以下是详细的解释和接收步骤:

1. ADS1299的ADC为24位,这意味着它可以提供24位的分辨率。因此,一次SPI传输可以传送24位数据。

2. 由于你的MCU是32位的,你需要确保MCU的SPI接口可以接收24位数据。大多数32位MCU的SPI接口都可以接收不同长度的数据,包括24位数据。

3. 在32位MCU接收24位数据的步骤如下:

   a. 配置MCU的SPI接口:确保SPI接口的时钟频率、CPOL(时钟极性)和CPHA(时钟相位)与ADS1299的SPI接口相匹配。这些参数可以在ADS1299的数据手册中找到。

   b. 发送SPI读取命令:向ADS1299发送读取命令,以便从其SPI接口读取24位数据。

   c. 接收24位数据:在SPI传输过程中,MCU将接收到24位数据。由于MCU是32位的,你需要将接收到的24位数据存储在一个32位寄存器中。这可以通过将接收到的24位数据左移8位(即乘以256)来实现,然后将结果存储在一个32位寄存器中。

   d. 处理数据:在将24位数据存储在32位寄存器中后,你可以对其进行进一步处理,例如转换为电压值或执行其他计算。

总之,ADS1299的SPI接口可以一次传送24位数据,而32位MCU可以接收这些数据。你需要配置MCU的SPI接口,并在接收数据时将其存储在一个32位寄存器中。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分