TI中文支持网
TI专业的中文技术问题咨询交流网站

ADS1220上电之后DOUT脚始终是高电平

您好:

请教一下各位前辈,我是新手,使用F28M35设备上的SPI接口连接ADS1220,采集单端信号,DSP上一个SPI接口并联挂载了5个SPI设备,调试ADS1220时,将其他SPI设备片选拉高旁路。上电之后,ADS1220的DOUT脚为高电平,读0x00配置寄存器(发送0X20),DIN脚波形正常,但是DOUT脚持续高电平,是否是ADS1220芯片有问题?或者电路驱动能力不足?还是其他的一些问题,还请大家不吝赐教~

附件波形图中:

1通道为DIN,2通道为DOUT,3通道为SCLK

代码用的ADS1220官方代码。

user6326595:

Amy Luo:

回复 user6326595:

您好,
感谢您对TI产品的关注!检查下通信电平是否不兼容?DSP上SPI接口工作电平是几伏的呢

user6326595:

回复 Amy Luo:

您好:谢谢您的回复!测试的这组ADS1220设备SPI电平是和DSP(F28M35x)引脚电平匹配的,都是3.3V。但是SPI并联的5组设备里还有一组ADS1220设备,供电为4.3V左右,当前的测试里没有被片选,应该是不影响吧。测试部分:先操作片选信号,对ADS1220发送一个字节0X06复位信号。然后延迟1s,保证复位初始化完成。然后读00寄存器值到BUFF变量,读到了0XFF,操作向00寄存器写config[0]=0x94,再次读00寄存器到read[0],还是0xFF。代码如下:SPI配置波特率1MHz,SpiaRegs.***.bit.CLKPOLARITY = 0;   SpiaRegs.***.bit.CLK_PHASE = 1;SpiaRegs.***.bit.*** = (8-1);	while(1){GpioDataRegs.GPBDAT.bit.GPIO59=0;//CS LOWDELAY_US(2);/* send the command byte */ADS1220SendByte(0x06);//RESET CMDDELAY_US(500000);GpioDataRegs.GPBDAT.bit.GPIO59=1;//CS HIGHDELAY_US(500000);write[0]=ADS1220ReceiveByte();//KEEP FIFO EMPTYADS1220ReadRegister(ADS1220_0_REGISTER, 0x01, &BUFF);//READ THE 0X00-REGISTERDELAY_US(20);/* write the register value containing the new value back to the ADS */ADS1220WriteRegister(ADS1220_0_REGISTER, 0x01, &config[1]);read[1] = ADS1220ReceiveByte();//KEEP FIFO EMPTYread[2] = ADS1220ReceiveByte();//KEEP FIFO EMPTYDELAY_US(4);ADS1220ReadRegister(ADS1220_0_REGISTER, 0x01, &read[0]);DELAY_US(10);}

user6326595:

回复 Amy Luo:

您好,测试的这组ADS1220设备SPI电平是和DSP(F28M35x)引脚电平匹配的,都是3.3V。
但是SPI并联的5组设备里还有一组ADS1220设备,供电为4.3V左右,当前的测试里没有被片选,应该是不影响吧。
测试部分:先操作片选信号,对ADS1220发送一个字节0X06复位信号。然后延迟1s,保证复位初始化完成。然后读00寄存器值到BUFF变量,读到了0XFF,操作向00寄存器写config[0]=0x94,再次读00寄存器到read[0],还是0xFF。
代码如下:SPI配置波特率1MHz,SpiaRegs.***.bit.CLKPOLARITY = 0;SpiaRegs.***.bit.CLK_PHASE = 1;SpiaRegs.***.bit.*** = (8-1);

Amy Luo:

回复 user6326595:

您可以实测一下ADS1220的CS的电平吗,以确认一下CS已被拉低

赞(0)
未经允许不得转载:TI中文支持网 » ADS1220上电之后DOUT脚始终是高电平
分享到: 更多 (0)