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

ADS1246输出速率无法更改的问题咨询

请问,ADS1246的数据输出速率如何更改。我的程序是这样的,

/*命令写入子函数*/

void ADS1246_WriteReg(uint8_t RegAddr,uint8_t *Buffer,uint8_t Length)
{
uint8_t Cmd[2];

ADC_SPI_CS_CLR ; 
Cmd[0]=ADC_CMD_WREG|RegAddr; 
Cmd[1]=Length-1; 
ADC_WriteBytes(Cmd,2); 
ADC_WriteBytes(Buffer,Length);
//Cmd[0] = ADC_CMD_NOP; 
//ADC_WriteBytes(Cmd,1); 
ADC_SPI_CS_SET ; 
}

/*采样增益和速率设置函数*/

void ADS1246_Config(uint8_t CovGain,uint8_t CovRate)
{
uint8_t Cmd; 
Cmd=CovGain|CovRate;
ADS1246_WriteReg(ADC_REG_SYS0,&Cmd,1); //采样增益和速率输出
}

/*配置速率*/

ADS1246_Config(ADC_GAIN_1,ADC_SPS_2000);

问题:此处配置,不管我设置的ADC_SPS_5还是ADC_SPS_2000,其输出速率都没有变化,都是按照ADC_SPS_5的速率输出?这是为何?

请问我的程序是否有错?

我应该怎么配置ADS1246的输出速率,使其达到2KSPS?

求助各位好心人!万分感谢,感谢!!

user151383853:

好几天过去了,  看看有没有进展

参考一下 ADS1246EVM-PDK 这个完整的评估/演示套件的资料吧

http://www.ti.com.cn/tool/cn/ads1246evm-pdk

 

jj xu:

回复 user151383853:

没有进展呀,大神帮帮忙

user151383853:

回复 jj xu:

相信 TI 肯定对这个器件有详细的测试, 看看那个 EVM 里的资料, 应该会有这方面的设置

jj xu:

回复 user151383853:

没有讲,ti关于这款芯片的datasheet不是很完善

大林:

不知道你做到什么程度了,简单提几点

1.用内部晶振

2.spi通信是否正常,读读ID,然后确保能够正常写入读出。

3.寄存器写入最好在SDATAC模式下,采样输出最好用中断来做

jj xu:

回复 大林:

使用的是内部晶振,然后ID能读出来,spi通信正常,因为能够正常的进行AD转换,并且能将转换后的数据传输到串口上。现在的问题就是速率和增益无法更改,芯片一直按照默认的速率和增益在工作。我把配置速率和增益的程序删除以后,整个程序仍然能正常运行。就是没有配置进去,不知该怎么办。(刚才按照你说的在SDATAC模式下工作,所以我在配置速率之前先加了一条语句把程序切换到SDATAC状态下,但是结果仍然没有配置进去)

大林:

回复 jj xu:

你的改速率和增益就是通过改寄存器的方式啊,把修改的放到芯片初始化那边去,然后改完读一次寄存器看看有没有写进去,没写进去就SPI有问题,这个不难的,

jj xu:

回复 大林:

好的,我现在试试哈

jj xu:

回复 大林:

你好,能不能加个qq聊呀,我读了寄存器以后发现,寄存器的值一直没有变化,就是没有配置进去?程序该怎么改呀 

大林:

回复 jj xu:

没配进去就是SPI写入有问题啦。QQ就不加啦,你的问题过程还能给其他人看,加QQ别人就看不了了

你写入应该木有正确,流程应该是

• First Command Byte: 0100 rrrr, where rrrr is the address of the first register to be written.

• Second Command Byte: 0000 nnnn, where nnnn is the number of bytes to be written – 1.

• Byte(s): data to be written to the registers.

写的挺清楚了,然后还不行就上示波器或者信号分析仪看SPI协议的timing。要和datasheet里面12页的对上,如果对不上就要自己修改延时

赞(0)
未经允许不得转载:TI中文支持网 » ADS1246输出速率无法更改的问题咨询
分享到: 更多 (0)