您好!
我们已将 ADS1293原型模块与 Arduino 相连接。 我们已经尝试了 TI 推荐的所有方法、但输出看起来像是一个垃圾值。
我知道 TI 不支持其他控制器、但应该有关于如何将 ADS1293与控制器连接的任何信息。
大家都在问这个问题、因为它不能直接连接到 ads1293与其他控制器。
请建议解决此问题的任何方法。
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.
您好!
我是否可以问您是否碰巧拥有评估套件/评估板(EVM)?
此外、是否已检查 ADS1293是否满足数据表中列出的功率要求
7.1绝对最大额定值和 7.3建议运行条件?
Arduino 是带有微控制 器的电路板、最有可能来自 AVR、Atmel 或 Microchip Technology 的 ATMega 微控制器。
问题 可能是客户是否可以使用 Adurino 提供的库或创建代码来操作 Arduino 板上的 MCU 以满足时序图(例如 SPI)和/或数据表中指定的要求、并从寄存器读取或写入值。
首先要检查的是、您是否能够使用 Arduino 与 ADS1293进行通信。 使用数据表图29中所示的协议、您是否能够从寄存器正确读取默认值?
一些可能尝试使用其默认值的寄存器为
图82. REVID:版本 ID
然后查看客户是否可以写入 8.6.2输入通道选择寄存器图33中所示的寄存器。 Flex_CH1_CN:通道1的灵活路由开关控制
以将其配置为测试信号并从通道读取测试信号。
然后、
您是否使用 了任何 ECG 模拟器、电极和电缆? 确保它们都很好。
建议一次送入一个通道/向其中一个通道注入已知正常信号(KGS)、并尝试一次只读取一个通道。
谢谢
您好!
感谢您的回复和时间。
1.不 我在两块电路板上进行测试。 a) Protocral 模块 B)我们自己的 PCB
2.我已经从数据表中检查了7.1和7.3,我确信所有的电源要求都已满足。
3.我已经检查了 REVID 的默认值、并且我得到正确的输出作为"1"。
4.当我根据9.2.1.2写入值、然后读回相同的值时、我将得到正确的结果。
5.我正在使用 Arduino 的串行监视器查看输出。 此外、我还确保使用的电极和电缆都良好。
我不知道如何 "一次送入一个通道/向其中注入已知正常信号(KGS)、并尝试一次只读取一个通道。"
您好!
原因
"
1. 您遇到问题的模块是哪一个?"
如果您在主板上遇到问题、您可能需要联系"ProtoCentral"。
"
原因
"
5.我正在使用 Arduino 的串行监视器查看输出。 此外、我还确保使用的电极和电缆都良好。
我不知道如何 "一次送入一个通道/向其中注入一个已知正常信号(KGS)、并尝试一次只读取一个通道。
"
您可以先尝试 ADS 内部测试信号、然后查看是否可以正确读取内部测试信号。 之后、强烈建议使用 ECG 仿真器注入任何 ECG 或正弦波形进行检查。
在尝试上述操作项目5后、是否可以提供一些波形或图?
同时、我们可以查看此线程以确保 SPI 通信满足时序要求-
谢谢
您好!
1.我已经联系过交通枢纽团队。 他们在自己的设施中测试了整个设置、并获得了 ECG 信号。 但当我们测试@我们的设施时、它不起作用。 它具有某种优势。
注释:您能问我设置或配置的区别是什么? 或者、您是否考虑获取 TI 评估板/套件(EVM)?
2.我的问题仍然是如何读取内部测试信号? 我可以从互联网上获取有关这方面的信息。
注释:您的 SPI 线路信号是否符合数据表中的时序图?
如果是、您是否能够将相同的值写回 8.6.2输入通道选择寄存器(从8.6.2输入通道选择寄存器中读回)图33。 Flex_CH1_CN:通道1的灵活路由开关控制?
谢谢
您好!
因为、"它们具有与我相同的设置或组件、但它们仍具有输出、我无法获得输出。 实际上、TI 评估板对我来说并不是一种优势、因为我正在制造小型器件。"
TI EVM 可能不是制造微型器件的理想选择、但它是用于调试/故障排除以及了解如何提供正确电源和通信信号(例如 SPI)是使主机和器件正常工作。
换言之、如果您有 EVM、则可以检查电路板布线、所需的最低寄存器设置和通信信号是否正确、并可以在电路板和 EVM 电路板上重现问题。
或者、您是否会问 "ProtoCentral" 它们的寄存器设置是什么、以便它们在电路板上工作、因为寄存器设置也取决于电路板设计和/或组件。
对于2、
您能否阅读0x40 图82。 REVID:版本 ID 是否正确?
如果是、请继续执行以下操作-
然后、当您说"...未获得正确的输出..."时、 读取 0x37、0x38、0x39 图79。 DATA_CH1_ECG:通道1 ECG 数据。
这是什么意思?
您的信号源是什么?
您能否尝试配置0x01 图33。 Flex_CH1_CN:通道1的柔性路由开关控制、用于向通道1提供测试信号?
您能尝试一下
8.6.1工作模式寄存器0x00h 位0至1?
谢谢
您好!
您能否阅读0x40 图82。 REVID:版本 ID 是否正确?
如果是、那么让我们尝试一下、在转到外部输入信号之前、是否可以先读取内部测试信号-
您能否尝试配置0x01 图33。 Flex_CH1_CN:通道1的柔性路由开关控制、用于向通道1提供测试信号?
您是否可以尝试 8.6.1操作模式寄存器0x00h 位0至1?
您能否正确读取内部测试信号?
在调试和故障排除阶段、您是否可以使用 ECG 模拟器并首选右腿(RL)节点、而不是人体?
谢谢
您好!
您是否验证并检查了寄存器值 Read & Write All 是否正常工作?
----------------------------------------
如果是、则在加电和正确复位后、请遵循数据表9.2.1 3导联 ECG 应用和9.2.1.2详细设计流程
但是/但是、对于地址
0x01h 位7:6、请尝试写入01或10、或 如8.6.2输入通道选择寄存器中所述的11
0x02h 位7:6、请尝试写入01或10、或 如8.6.2输入通道选择寄存器中所述的11
然后 、将 8.6.1运行模式寄存器0x00h 位0配置为1。
8.3.3测试模式中提到了预期的 ADC 输出代码。
谢谢
建议转换为电压并绘制图、以及 查看/查看和比较。
请确保 图37为0x05h。 Flex_VBAT_CN:用于电池监控 的灵活路由开关 VBAT_MONI_CHX iaRESET 为0
对于0x01h 位7:6和 0x02h 位7:6、尝试写入01或10或11并绘制信号图、以查看是否可以看到正、负和零(内部短路)测试信号。
尝试将所有0写入0x01h 图33。 Flex_CH1_CN:通道1的灵活路由开关控制、应仅提供随机浮动噪声。
谢谢
您好!
我们还没有实现。
从前面的讨论中、我们需要进行一些测试、以查看是否可以正确读取内部测试信号。
请告诉我-
请确保 图37为0x05h。 Flex_VBAT_CN:用于电池监控 的灵活路由开关 VBAT_MONI_CHX 设置为0
对于0x01h 位7:6和 0x02h 位7:6、尝试写入01或10、或11并绘制信号图、以分别查看是否可以看到正 极或负极或零(内部短路)测试信号?
请参阅数据表 8.3.3测试模式以验证您的 ADCout 代码或电压读数。
尝试将所有0写入0x01h 图33。 Flex_CH1_CN:通道1的灵活路由开关控制、应仅提供随机浮动噪声。
只有在验证了上述内容后、才尝试连接 ECG 模拟器(例如 RA 和 LL)连接到通道1输入。
谢谢
您好!
以下是方案的输出"
请确保 图37为0x05h。 Flex_VBAT_CN:用于电池监控 的灵活路由开关 VBAT_MONI_CHX 设置为0
对于0x01h 位7:6和 0x02h 位7:6、尝试写入01或10、或11并绘制信号图、以分别查看是否可以看到正 极或负极或零(内部短路)测试信号?"
答案:
这是我获得的输出。
2. 尝试将所有0写入0x01h 图33。 Flex_CH1_CN:通道1的灵活路由开关控制、应仅提供随机浮动噪声。
这是输出
值正在变化、但由于相对于值的变化很小、我们只看到直线。
您好!
对于您发布的第1幅图/图、我看到了三行、它们对应/对应于"0x01h 位7:6和 0x02h 位7:6、01或10、或11"的不同设置吗?
您能否将它们转换为电压?
对于第二个图形/图、您是否也可以将其转换为电压?
----------------------------------------------------
请注意、ADCmax 取决于 ODR 集
图51。 AFE_RES、
图67. R1_RATE、
图63。 R2_RATE 和
图64。 R3_RATE 通道
数据表8.3.7可编程数字滤波器和第33页第8.4.1节中提到的特性。
--------------------------------------------------
您的"图51。 AFE_RES"设置?
您的"图67。 R1_RATE:R1抽取率"设置?
您的"图63。 R2_RATE:R2抽取率"设置?
您的"图64. R3_RATC_CHX: 通道 x"设置的 R3抽取率?
------------------------------------
因此、根据上面选择的组合、
ADCmax 可能如下所示-
0x800000 = 十进制8、388、608 = 24b 1000 0000 0000 0000 0000 0000
0xF30000 =十进制15925248 = 24b 1111 0011 0000 0000 0000 0000
等等
例如、如果上述设置均为默认值、则 ADCmax 应为 0x800000 = 十进制8、388、608 = 24b 1000 0000 0000 0000 0000 0000 0000 0000、ODR 25Hz。
因此、请检查上述寄存器设置并使用表来查找正确的 ADCmax 和 ODR。
谢谢
谢谢
您好!
1。
对于您发布的第1幅图/图、我看到了三行、它们对应/对应于"0x01h 位7:6和 0x02h 位7:6、01或10、或11"的不同设置吗?
您能否将它们转换为电压?
对于第二个图形/图、您是否也可以将其转换为电压?
第1幅图表示0x01h 位7:6为01、0x02h 位7:6为10。 您可以看到蓝色和红色两条扁平线对应于0x01h 和0x02h。
我有疑问。
我使用以下值:
AFE_RES - 0
R1_RATE - 0
R2_RATE - 2.
R3_RATCH_CH1 - 2
您能否给出一些将代码输出转换为电压输出的示例。
2.
您的"图51。 AFE_RES"设置?
您的"图67。 R1_RATE:R1抽取率"设置?
您的"图63。 R2_RATE:R2抽取率"设置?
您的"图64. R3_RATC_CHX: 通道 x"设置的 R3抽取率?
AFE_RES - 0
R1_RATE - 0
R2_RATE - 2.
R3_RATCH_CH1 - 2
根据上述设置、我认为我的 ADCmax = 0xB964F0、ODR = 853、BW = 175。
正确吗?
您好!
对于"第1张图用于0x01h 位7:6为01、0x02h 位7:6为10。 您可以看到蓝色和红色两条扁平线对应于0x01h 和0x02h。"
它们的 ADC 代码值是多少? 只需从每个通道报告1个值即可、或者从同一通道内的多个样本中获取一个中值。
--------------------------------------
您可以设置0x01h 位7:6、01 (正)、11 (零)和10 (负)吗? 然后、检查您是否可以分别从 High (正)、Zero (中间)和 Low (负)查看数据?
如果没有、我们需要检查 MCU 时钟和/或解码/解析 ADC 代码的方式。
----------------------------------------
原因
AFE_RES - 0 、即102.4KHz
R1_RATE - 0 、即 R1 = 4:标准 PACE 数据速率
R2_RATE - 2 、即 0010:5
R3_RATCH_CH1 - 2、即 00000010:6
因此、请参阅第33页 的表8。 SDM 以102.4kHz 运行和标准步速数据速率运行时的通道参数(R1 = 4)
ECG 通道
ADCmax、 ODR BW 为
0xB964F0 853 175.
0xB964F0 = b'1011 1001 0110 0100 1111 0000 = 12150000
----------------------------------------------------
请问 您的 Vref 可能是什么? 您是否选择2.4V 电压?
----------------------------------------------------
'如果使用内部基准电压发生器、则 Vref 等于2.4V、ADCMAX 表示 ADC 的最大输出代码、这将对应于 Σ-Δ 调制器输入端的理论2.4V 信号。'
测试信号电压取决于所选的 Vref; vtest = VREF/12。
因此、 如果 Vref 选择为2.4V、
根据 上述寄存器设置、如果 ADCmax 为0xB964F0 = b'1011 1001 0110 0100 1111 0000 = 12150000、则2.4V 应约为 ADCmax 代码
0xB964F0= 12150000。
然后、Vtest 应在2.4V/12 = 0.2V 正电压或负电压附近保持稳定、具体取决于 上述位7:6中设置的值。
--------------------------------------------------
您可以尝试将 通道的位7:6设置为11吗?
'当 TSTx = 11时、通道中仪表放大器的输入可被短接以提供一个零测试信号。 预期的 ADC 输出代码公式可简化为:"
ADCout = ADCmax 的1/2、因此如果基于上述设置的 ADCmax 为 0xB964F0 = 12150000、则零伏或输入短路测试应给出大约 12150000/2 = 6、075、000的 ADCout 代码。
谢谢
谢谢
请问 您的 Vref 可能是什么? 您是否选择2.4V 电压?
VREF 取决于您的电路板是选择/使用内部基准电压还是外部基准电压。
您能否检查电路板上的 VREF 引脚是否连接了任何东西?
并且、寄存器0x11位0 SHDN_REF 值是多少?
SHDN_REF 关断内部2.4V 基准电压
0:内部基准电压为 ON (默认值)
1:关闭内部基准电压
注意:启用此位可在 CVREF 引脚上使用外部基准电压驱动 IC。 断电模式自动关闭内部2.4V 基准电压。
谢谢
您好!
如果您将 Vref 设置为内部2.4V。
因此、根据先前的讨论/来自之前的讨论-
请 参阅第33~36页的表8~11、根据您的设置查找您的"ADCmax"(例如 SDM、R1、R2、R3)
然后、按照第8.4.3节输出代码(ADCOUT) 计算适当的 ADCout 并将其转换为电压
'如果使用内部基准电压发生器、则 Vref 等于2.4V、ADCMAX 表示 ADC 的最大输出代码、这将对应于 Σ-Δ 调制器输入端的理论2.4V 信号。'
测试信号电压取决于所选的 Vref; vtest = VREF/12。
因此、 如果 Vref 选择为2.4V、
您查找到的 ADCmax 代码应等效于2.4V、然后、vtest 应约为2.4V/12 = 0.2V;正或负、具体取决于 上述位7:6中设置的值。
例如、ADCout 代码=(3.5*(0.2V)/(2*2.4V)+ 1/2)* ADCmax
--------------------------------------------------
在进行上述计算后、
进行了比较
"
对于"第1张图用于0x01h 位7:6为01、0x02h 位7:6为10。 您可以看到蓝色和红色两条扁平线对应于0x01h 和0x02h。"
什么是 ADC 代码和转换后的电压值? 它们是否合理、例如+0.2V 或-0.2V 或接近0V?
例如、ADCout 代码=(3.5*(0.2V)/(2*2.4V)+ 1/2)* ADCmax;您应反向计算从 ADCout 代码和 ADCmax 到输入电压的输入电压。
您可以设置0x01h 位7:6、01 (正)、11 (零)和10 (负)吗? 然后、检查您是否可以分别从高(正)、零(中)和低(负)处查看数据?"
您可以尝试将 通道的位7:6设置为11吗?
'当 TSTx = 11时、通道中仪表放大器的输入可被短接以提供一个零测试信号。 预期的 ADC 输出代码公式可简化为:"
ADCout = ADCmax 的1/2、因此零伏或输入短路测试应给出 ADCmax/2附近的 ADCout 代码。
--------------------------------------------------
如果 ADCout 代码和转换后的电压不正确、我们需要检查 MCU 时钟的方式和/或 SPI 和软件如何解码/解析数字输出和 ADC 代码。
顺便说一下、
Arduino 不是 TI 产品、因此 我们提供的支持非常有限。
谢谢