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:ADS1299

Guru**** 2563960 points
Other Parts Discussed in Thread: ADS1299

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/770575/compiler-ads1299-ads1299

器件型号:ADS1299

工具/软件:TI C/C++编译器

您好!

我有一段时间在使用 ads1299板;我尝试建立 SPI 通信、我浏览了数据表、但我有点困惑、无法 获得正确的输出。 请帮助我按照正确的命令顺序从 电路板读取连续数据。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Nikitha、

    感谢您的发帖!

    1) 1) ID 寄存器读回是否正确?
    2) 2) 2)您是否遵循第10.1.2和11.1节中的正确启动顺序? 上电复位完成后、/DRDY 应以默认数据速率开始脉冲(假设 START 引脚上拉)。 tPOR 之后的/RESET 脉冲对于将数字内核置于正确状态至关重要。
    3) 3)在尝试读取寄存器之前、是否发送 SDATAC 命令?
    4) 4)您能否提供原理图?
    5) 5)频率是多少?您要发送多少个 SCLK 脉冲来输出时钟数据?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    感谢你的答复。

    我为 mbed 编译器编写了以下代码、这很容易理解。  

    _________________________________________________________

    #include "mbed.h"
    #define F 1000000 // 1MHz


    SPI SPI (PA_7、PA_6、PA_5);// MOSI、MISO、 SCLK
    DigitalOut Cs(D4);

    int main(){

    long int data_in;

    //为8位数据设置 SPI,CPOL =0,CPHA =1 (模式1),时钟速率为1MHz
    SPI.format (8、1);
    spi.frequency(F);// SCLK_F = 1MHz

    CS = 1;
    Wait_us (10);
    CS = 0;
    SPI.WRITE (0x06);//复位
    CS = 1;
    Wait_us (10);


    while (1)

    CS = 0;
    SPI.WRITE (0x11);//发送 SDATAC
    SPI.WRITE (0x25);//选择通道1
    SPI.WRITE (0x00);
    DATA_IN = SPI.WRITE (0x00);
    printf ("data in =%d\n"、data_in);

    SPI.WRITE (0x10);//发送 RDATAC
    CS = 1;
    Wait_us (10);

    _________________________________________________________

    因为输出我只会得到零。

    我 是否需要初始化任何其他信号、例如 DRDY 和 START?

    通信流是否正确?

    我在不使用 ADS 软件的情况下通过 MMB0板为 ADS 板供电。

    我是否必须通过其他方式为其供电?

    我在下面发布了一张图片、以显示硬件设置。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1) 1) ID 寄存器读回是否正确?
    2) 2) 2)您是否遵循第10.1.2和11.1节中的正确启动顺序? 上电复位完成后、/DRDY 应以默认数据速率开始脉冲(假设 START 引脚上拉)。 tPOR 之后的/RESET 脉冲对于将数字内核置于正确状态至关重要。 (要进行确认、请尝试探测 DRDY 引脚-您应该会在默认数据速率下看到脉冲)

    您应该通过 MMB0进行精细供电、但为了确认、您可以探测电源引脚以确保器件已通电。

    SPI SCLK 可能太慢、具体取决于轮询的通道数量和输出数据速率。 有关详细信息、请参阅此帖子: e2e.ti.com/.../2573727
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、
    我正在尝试通过 SPI 连接 ADS1299eeg、但我遇到了很多问题。 实际上、我已将菜单更改为读取各种内部寄存器、但问题出现了 
    当我尝试在转换后读取模拟输入的数字值时。 具体而言、就 DRDY 信号而言、我无法获得正确的行为:输出不符合预期、
    因此、看起来数据从未准备就绪、并且开始后的读取值始终相同。 我正在按照数据表10.1.2章节中所述的流程进行操作、但我想知道我是否必须遵循不同的步骤、因为我要通过 MMO 主板为 ADS 板供电。
    实际上、在我为其加电时、我验证了 PWDN、RESET 和 START 引脚已如流程所示为"高电平"。 您能否总结一下我需要发送的正确过程和命令、以便获得正确的 DRDY 行为和一般数据? 如果我想以不同的方式为 ADS 板供电、那么进行互连的最佳方法是什么?


  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

     上图蓝色线表示 SCLK 和黄色 DOUT、DRDY 始终处于高电平不会切换。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Nikitha、

    有关正确 DRDY 行为的正确过程和命令的摘要、请参阅 图67。 数据表中的加电时的初始流程。  

    要在没有 MMB0的情况下为电路板供电、请参阅此主题: https://e2e.ti.com/support/data-converters/f/73/p/105352/379169#379169

    您的 SCLK 上有一个高过冲/下冲。 检查以确保这种过冲/下冲符合数字通信数据表的指导原则。 如果过冲/下冲超出规格、则器件可能无法正确读取脉冲。  

    此外、检查以确保监控 DRDY 的引脚未被 MCU 保留/保持在恒定高电平状态。