This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ADS1299菊花链读数据如何读取?

Other Parts Discussed in Thread: ADS1299

我已经使用一片ADS1299读取数据并制作了一块采集板。现在打算制作多导的脑电采集设备。

帖子分为两部分,一个是我做的多片级联关键点,作为记录。另一个是我的一些疑问。

以下是总结的关键点:

1.  有两种:1级联模式,2菊花链模式(级联更像并联,菊花链更像串联模式),若使用菊花链模式要设置好CONFIG1寄存器中设置DAISY EN位,菊花链模式只需要一个CS引脚,级联模式几片1299用几个CS脚,菊花链模式下不能使用多回读模式(multiple readback feature)。菊花链和级联除了通信风格和使用 GPIO 的数量之外,没有真正的差异。

2.  必须使用同一时钟:1都使用外部时钟,2第一片使用内部时钟,并且将内部时钟输出,第二篇使用外部时钟为第一片输入的时钟,确保两种时钟一样。要保证clksel引脚配置正确并且config1寄存机clk_en位配置正确。但是一个ADS1299时钟只能驱动2-3个器件,如需更多,需增加http://www.ti.com/clocks-timing/buffers/products.html时钟缓冲器产品。LMK00101可以驱动10个,LMK00105驱动5个。

3.  只保留第一个drdy引脚,后面的都浮空,因为时钟一样,drdy信号也一样。

4.  菊花链模式所有ADS1299的配置都会配置成一样,并且只能读第一片ADS1299寄存器配置,菊花链必须统一使用外部时钟。级联模式可以分别配置不同ADS1299。

5.  多片bias引脚连接如下图(将BIASINV连接在一起,并且只留一个bias放大器电源,其他电源全部关闭。):

6.    SPI 5Mhz的sck时钟速率可以驱动26片1ksps采样率的ADS1299的通讯。(5*1000*1000)/(1000*8*24+24)=26

7.    可以两种模式结合起来用。级联模式下配置和读取每片ADS1299的寄存机。然后使用菊花链模式读取采集到的数据。

8.    在菊花链模式下,如果电路板级传播延迟过大,就需要在DOUT和DAISYIN中间延迟电路或D触发器,通过缩短两个引脚的距离可以避免。

以上是我查到的一些总结和关键点,如果有问题和错误请告诉我,我的疑问主要有以下3点:

1.    当我使用使用8片ADS1299菊花链模式时,采样率设置1000sps,所以我应该是1ms进一次中断,我是将这8个ADS的寄存器看成一个,进一次中断读一次呢?还是要去分别读8次?比如读一个ADS1299的寄存器采集的数据有27位,那么我SPI在进中断时是不是应该一次读取216位的数据?

2.当我使用级联模式,将8片ADS1299共同使用时,1ms进一次中断,我是否应该在这1ms内将8片的CS依次选中来轮流读取数据,这样做是否会消耗大量MCU的资源?

3.当我使用菊花链模式时,DAISY和DOUT引脚之间需要做什么特殊处理吗?我看到有些说要使用下拉电阻?