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:ads1299FE-PDK 使用内部测试信号通过 SPI 以信令方式传输到 STM32F405的 MCU。

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1391724/ads1299-the-ads1299fe-pdk-uses-an-internal-test-signal-to-transmit-via-spi-to-the-mcu-of-the-stm32f405-with-signal-fringing

器件型号:ADS1299

工具与软件:

e2e.ti.com/.../test-signal.mp4
 ADS1299采用250sps 采样率、当信号由正转换为负时、采样率会变小、之后会产生稳定的方波、其原因是什么、如何加以改进?


以下是寄存器配置

HAL_GPIO_WritePin (GPIOB、CS_Pin、GPIO_PIN_RESET);

SEND_COMMAND (SDATAC);
HAL_DELAY (1000);

write_byte (ID、0x3E);

write_byte (CONFIG1、0x96);
//B5 (1011 0110)、振荡器时钟输出被启用、FS=500Hz
// 95 (1001 0110)、fs=500Hz


write_byte (CONFIG2、0xD0);//ti 板子設置test singal 由外部驅動
// write_byte (CONFIG2、0xD4);
//D4 (1101 0100)、测试信号內部生成 Ω
//测试信号=2 X (-(Vrefp-Vrefn)/2400)
// plused at fclk/(2^21)

WRITE_BYTE (CONFIG3、0xE0);//ti 板子設置
// write_byte (CONFIG3、0xEC);
// EC (1111 1100)、使用内部 ref_buffer
//BIAS_IN 连接 MUX=010的通道、BIASREF=(AVDD+AVSS)/2、BIAS 连接

WRITE_BYTE (0x04、0x00);///ti 板子設置
// WRITE_BYTE (0x04、0x04);//导联脱落控制寄存器、不是所有寄存器

write_byte (0x0D、0x00);//ti 板子設置
// WRITE_BYTE (0x0D、0x01);// 0F BIAS_SENSP:偏置驱动正推导寄存器、這邊指使用通道1參與BIAS的回饋 μ V

WRITE_BYTE (0x0E、0x00);// 0F BIAS_SENSN:偏置驱动负推导寄存器

WRITE_BYTE (0x0F、0x00);// LOFF_SENSP:正信号导联脱落检测寄存器

WRITE_BYTE (0x10、0x00);// LOFF_SENSN:负信号导联脱落检测寄存器
WRITE_BYTE (0x11、0x00);// LOFF_FLIP:导联脱落翻转寄存器
WRITE_BYTE (0x12、0x00);//(只读) LOFF_STATP:导联脱落正信号状态寄存器
WRITE_BYTE (0x13、0x00);//(只读) LOFF_STATN:导联脱落负信号状态寄存器

WRITE_BYTE (0x14、0x0F);//ti 板子設置
// write_byte (0x14、0x3F);// gpio 用於輸出

WRITE_BYTE (0x15、0x00);//ti 板子設置
// write_byte (0x15、0x20);// MISC1、第5bit決定SRB1引道到各通道、SRB1接至反向輸入端

WRITE_BYTE (0x16、0x00);//保留
// write_byte (0x17、0x00);// CONFIG4

WRITE_BYTE (CH1SET、0x05);//(0110 1000)正常运行、增益=24、使用 src1、正常输入


WRITE_BYTE (CH2SET、0x05);//(0110 1000)正常运行、增益=24、使用 src1、正常输入


WRITE_BYTE (CH3SET、0x05);//(0110 1000)正常运行、增益=24、使用 src1、正常输入


WRITE_BYTE (CH4SET、0x05);//(0110 1000)正常运行、增益=24、使用 src1、正常输入


WRITE_BYTE (CH5SET、0x05);//(0110 1000)正常运行、增益=24、使用 src1、正常输入
// HAL_DELAY (10);
//
WRITE_BYTE (CH6SET、0x05);//(0110 1000)正常运行、增益=24、使用 src1、正常输入
// HAL_DELAY (10);
//
WRITE_BYTE (CH7SET、0x05);//(0110 1000)正常运行、增益=24、使用 src1、正常输入
// HAL_DELAY (10);
//
WRITE_BYTE (CH8SET、0x05);//(0110 1000)正常运行、增益=24、使用 src1、正常输入
// HAL_DELAY (10);

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

    您好、ChiaHao、

    对我来说、一些样本中似乎可能存在数据读错。 您的数据收集例程是否会监控 nDRDY 引脚? 您能否捕获前几秒钟的数据并导出到 Excel 文件?  

    此致、

    Ryan

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


    这是为了将 ADS1299转换为十进制值、每个数组对应于1~8ch 的值、每次正负转换出现较小的值时、图片 CH1设置0x00、CH2设置0x01、其他通道设置0x05。


    这是逻辑分析仪、每个 DRDY 周期为4ms  

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

    尊敬的 Chiaho:

    样本集中似乎存在间隙。 您能否确认您没有丢失数据?

    例如:

    此致、

    Ryan

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

    你好。 我认为数据没有缺失。

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


    CH1设置0x00、CH2设置0x01、其他通道设置0x05。
    为确保正常、我对通道1使用了正电极输入、正弦波为2m Vpp10Hz。