微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > ADS1246输出速率无法更改的问题咨询

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

时间:10-02 整理:3721RD 点击:

请问,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?

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

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

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

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

 

没有进展呀,大神帮帮忙

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

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

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

1.用内部晶振

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

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

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

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

好的,我现在试试哈

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

没配进去就是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页的对上,如果对不上就要自己修改延时

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top