TI ADS1299使用BUG记录

2023-10-25 20:30
文章标签 使用 记录 bug ti ads1299

本文主要是介绍TI ADS1299使用BUG记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

如题,摊上一款应用难度超大的ADS1299

博主正在使用Xilinx Kintex-7作为主控芯片对ADS1299进行数据采集,在开发过程中需要自己设计ADS1299的驱动,发现可供参考的资料和blog比较有限,所以写下这篇博文,用于记录ADS1299开发过程中的各种BUG。后续项目完成会将ads1299_driver.v上传供大家食用,欢迎收藏和关注,帮你找到回家的路。

Q1 买的是ADS1299,为啥只能收到4个通道数据???淘宝骗我钱卖给我水货ADS1299-4?

在这里插入图片描述

A1: 初始化上电后nPWDN没有足够延时,给个250ms之后就可以解决问题

在这里插入图片描述
上图摘自ads1299 datasheet的图67,箭头处可以看见,上电后必须等待tpor时间后才能开始reset。(博主给了个250ms就解决问题了)

wkup_state:beginif(counter < t_por) //(t_por>>16 for simulation only)begincounter <= counter + 1;wkup_done <= 1'b0;endelsebeginSPI_nRST <= 1'b0;counter <= 32'd0;wkup_done <= 1'b1;endend

Q2: 单端驱动咋整?

A2:正在使用INxN作为模拟信号输入口进行验证

Q3: 我使用多个ADS1299进行通讯,其中一个ADS1299可以正常通信,也受到了8通道脑电数据(使用RDATA指令),但其他的ADS1299只能收到8’h4B(8’b01001011)???

A3: SPI时钟过快,开到了20MHz,在所搭配的driver上没有与发送的数据位对齐,换而言之,所发出去的MOSI数据不对,导致ADS1299不知道你吧啦吧啦半天到底想说个啥,因而降频为15MHz

Q4:我开了所有通道的test signal,可我只有第一个信号是对的???

在这里插入图片描述

将原始数据拉出来一看
在这里插入图片描述
大概率是数据丢失造成的。8’h1001xxxx --> 8’h0001xxxx

因而分别进行了不同SPI速率测试,结果发现,SPI_CLK_FRE == 5MHz 后,数据传输稳定性大大提高,继续降低SPI_CLK其数据传输正确率不会继续提高。虽仍有一定程度的数据抖动,但总体来说情况好得多了。
在这里插入图片描述

A4: SPI速率过高,导致数据容易丢失,发现将SPI CLK降到5MHz左右可提高数据传输速率

Q5: 更换新批次ADS1299后,发现按照数据设置CONFIG1(0x01)寄存器位0x96时,许多功能不正常,例如采样率等成为不可控制的8KHz,陷入无穷循环的黑人问号???难道我买的是盗版???

A5: Read 0x01默认寄存器后发现,初始值为0x06,并非0x96,但实际改变的数据属于数据手册上的Reserve。。。因而在配置寄存器CONFIG1(0x01)=0x06时功能恢复正常。

Q6: ADS1299有几个通道不连接的时候采集电压为1.7V???

电源,电源,一定是你的电源,直接检测AVDD和DVDD,别问我怎么知道的 V

Q7: 寄存器配置之后行为与所配置的不对应?

问题描述:举例来说,CHnSET配置的明明是0x01作为噪声测试,但实际行为却表现为0x00(正常电极输入),读该寄存器也发现是0x00。

A7:寄存器配置请按照顺序,例如我们不可配置完0x05后又配置0x01或者0x03,配置0x01-0x04的寄存器会影响0x05-0x0C寄存器配置

后续更新

这篇关于TI ADS1299使用BUG记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/284997

相关文章

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

pdfmake生成pdf的使用

实际项目中有时会有根据填写的表单数据或者其他格式的数据,将数据自动填充到pdf文件中根据固定模板生成pdf文件的需求 文章目录 利用pdfmake生成pdf文件1.下载安装pdfmake第三方包2.封装生成pdf文件的共用配置3.生成pdf文件的文件模板内容4.调用方法生成pdf 利用pdfmake生成pdf文件 1.下载安装pdfmake第三方包 npm i pdfma

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

【北交大信息所AI-Max2】使用方法

BJTU信息所集群AI_MAX2使用方法 使用的前提是预约到相应的算力卡,拥有登录权限的账号密码,一般为导师组共用一个。 有浏览器、ssh工具就可以。 1.新建集群Terminal 浏览器登陆10.126.62.75 (如果是1集群把75改成66) 交互式开发 执行器选Terminal 密码随便设一个(需记住) 工作空间:私有数据、全部文件 加速器选GeForce_RTX_2080_Ti

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念