TI中文支持网
TI专业的中文技术问题搜集分享网站

ADS1298: 求助,

Part Number:ADS1298

上电引脚电压都正确,且配置寄存器后出现的基准电压也是正确的,抓取DRDY波形也是正确的,正常的下降沿,但是芯片的输出都为FF,也没看到标志位

Amy Luo:

您好,

?? ? 说:抓取DRDY波形也是正确的

DRDY 频率对吗?是配置的数据速率吗?

您是按照 datasheet Figure 93. Initial Flow at Power Up 上电初始化顺序执行的吗?

ADC输入是什么?是否在ADC输入规格范围内?

建议您附上寄存器配置和 读取转换结果的SPI信号波形,看下读写时序是否有问题。

下面链接如下截图的几个链接建议您看下:

[FAQ] Common Questions for TI's ADS129x Family of Bio-Potential ADCs

,

?? ?:

DRDY频率对,

我的PWDN和RESET引脚是连一起的,对这个引脚只是软件拉高了,没有进行软件复位,请问,这种情况,我是还需要进行软件复位吗通过发送RESET命令

ADC输入的方波测试信号,

如果说我的那些VACAP1,2,3,4的电压引脚是正确的,并且配置之后基准电压引脚的电压也是测得正确的,是不是可以说明上电和配置是没问题的(但是我并没有进行上电复位)

SPI和SCLK的时序是正确的,但是读取到的数据都为FF,有时碰一些接线,便会出现一些无规律的数据

而且还有我的基准电压有时候可以测到有时候测不到,

偶尔一次在串口上读到了带有标志位C0 00 00 的数据,但是看着不像是8通道方波测试的数据 

其中一段数据  C0 00 00 7F FF FF EC 6D 98 7F FF FF 7F FF FFFB F2 11 7F FF FF D5 04 B1 E3 B7 4F

                       C0 00 00 7F FF FF EA 28 2A 7F FF FF 7F FF FF F8 A0 ED 7F FF FF D1 C0 5F E2 76 51 

测试的是8个通道方波,按理来说,8个通道的24位数据不应该是差不多的吗 

,

Amy Luo:

可以进行一下软件复位,是否需要进行复位与上电顺序有关,符合datasheet 上电顺序要求则不需要进行。但是我感觉应该不是这里的问题。

?? ? 说:

SPI和SCLK的时序是正确的,但是读取到的数据都为FF,有时碰一些接线,便会出现一些无规律的数据

而且还有我的基准电压有时候可以测到有时候测不到,

您是飞线连接的电路吗?还是PCB制板?为什么这么不稳定,建议检查下电路连接,或多测试几块板子以排除焊接问题;

?? ? 说:测试的是8个通道方波,按理来说,8个通道的24位数据不应该是差不多的吗 

每个通道配置的一样,那么采集数据就差不多。您可以附上您的电路图吗?

寄存器您是否验证了配置后可以正确读出来?以确认寄存器已按期望值写入,也建议您附上测试内部方波信号的寄存器配置,我对照电路看下是否为寄存器配置问题。

,

?? ?:

谢谢您的回复

我是根据datasheet里提供的样例绘制的PCB板,

没有验证寄存器读取,

寄存器配置如下:

SCLK时钟频率1Mhz

CONFIG1 =8'h45;  CONFIG2 =8'h10; CONFIG3 =8'hCC; LOFF =8'h00;

CH1SET =8'h05; CH2SET =8'h05; CH3SET =8'h05; CH4SET =8'h05; CH5SET =8'h05;CH6SET =8'h05;CH7SET =8'h05;

CH8SET =8'h05;

data[0] <= wakeup ;// //首先唤醒指令 data[1] <= SDATAC ; //停止连续读指令 data[2] <= WREG ; //写寄存器指令 data[3] <= WREG_NUM ; //写的寄存器的数量-1 //所配置的12个寄存器值 data[4] <= CONFIG1 ; data[5] <= CONFIG2 ; data[6] <= CONFIG3 ; data[7] <= LOFF ; data[8] <= CH1SET ; data[9] <= CH2SET ; data[10] <= CH3SET ; data[11] <= CH4SET ; data[12] <= CH5SET ; data[13] <= CH6SET ; data[14] <= CH7SET ; data[15] <= CH8SET ; //配置好寄存器后,开始转换,连续转换模式 data[16] <= START ; data[17] <= RDATAC ;

模拟输入端:

ADS1298:

ADS1298电源部分:

4.5V转1.8V

4.5V转3V

,

Amy Luo:

?? ? 说:没有验证寄存器读取,

建议您寄存器写入后再读出来以验证已按期望值写入;

您是否可以多测试几块板子,每个板子都是这种现象吗?

设备上电后是连续读取模式RDATAC,因此不需要wakeup 命令:

建议按照datasheet Figure 93 上电初始化设备。

看您使能了RLD,但是相关的寄存器配置没有附上,这里您建议您在采集内部测试信号时 powered down  RLD buffer,因为这对输出有影响。

关于原理图,不使用的17和18脚建议接AVDD:

不使用的GPIO 建议接DGND:

,

?? ?:

我的PWDN和RESET引脚焊接时就接在了一起,在代码中一此引脚一直是拉高状态,如果进行datasheet Figure 93的上电复位,是不是我将我代码中的wakeup命令更改成reset命令,并在后面加18tclk延时就可以了  

figure3 已改为8’hC9

GPIO和17,18引脚的悬空会是问题所在吗

,

?? ?:

我进行上电复位并延时了,在vivado ILA中监测到的内部方波测试数据每个通道都是80 00 00,不太对吧?

这个输出数据格式是对的吧,也可以看到标志位

configure2  为8‘h10

通道均为8’h05

,

?? ?:

我进行上电复位并延时了,在vivado ILA中监测到的内部方波测试数据每个通道都是80 00 00,不太对吧?

这个输出数据格式是对的吧,也可以看到标志位

configure2  为8‘h10

通道均为8’h05

,

Amy Luo:

?? ? 说:是不是我将我代码中的wakeup命令更改成reset命令,并在后面加18tclk延时就可以了  

可以;

?? ? 说:GPIO和17,18引脚的悬空会是问题所在吗

悬空会影响测量精度,但不至于都输出FF。

,

Amy Luo:

?? ? 说:我进行上电复位并延时了,在vivado ILA中监测到的内部方波测试数据每个通道都是80 00 00,不太对吧?

不对,超出范围了:

看波形不是每个通道都是80 00 00,输出格式如下:

如下示例:

,

?? ?:

我测试内部信号为啥会出现这种超出量程的现象,有啥原因吗,

波形中我的每个通道都是80 00 00吧,前面还有C0 00 00 标志位,然后后面八个80 00 00,是符合读出时序的吧

但是为啥是满量程的,内部信号不是才几毫伏吗,

您知道大概是哪里的原因吗,

配置的寄存器再付上 如下:

CONFIG1 =8'h45CONFIG2 =8'h10CONFIG3 =8'hC9LOFF        =8'h00

CH1SET = 8'h05; CH2SET = 8'h05CH3SET = 8'h05CH4SET = 8'h05CH5SET = 8'h05CH6SET = 8'h05CH7SET = 8'h05; CH8SET = 8'h05

只配置了此12个寄存器

,

Amy Luo:

您抓取的上述波形最后一行是输出数据吧?我没看懂您为什么说“每个通道都是80 00 00吧,前面还有C0 00 00 标志位,然后后面八个80 00 00”

建议您配置使用Daisy-chain  读取模式试一下:

赞(0)
未经允许不得转载:TI中文支持网 » ADS1298: 求助,
分享到: 更多 (0)