微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > ADS8689问题求助

ADS8689问题求助

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

寄存器的读写问题。根据7.6.1的Table 10 寄存器地址 从0x00~0x28 ,    我若使用Table 5 中的命令操作寄存器, 是不是寄存器地址右对齐即可?  那么我写入DEVICE_ID_REG的DEVICE_ADDR=0x0f ,  命令是不是 11010_00_000000000<9-bit address>_0x000f<16-bit data>?     READ_HWORD读回这个数据,命令是不是 11001_xx_000000000<9-bit address>_00000000_00000000?

   

reset
read REG_ID order=c8000000 , return= 809f0000, advalue = 59625
read REG_RANGE order=c8160000 , return= 809f0000, advalue = 59625
write REG_ID 0x0f, order=d0000000, return=0
write REG_RANGE 0x04, order=d0160004, return=0
read REG_ID order=c8000000 , return= 80ab0000, advalue = 64125
read REG_RANGE order=c8160000 , return= 80ab0000, advalue = 64125

reset
read REG_ID, order=c8000000 , return= 80a30000, advalue = 61125
read REG_RANGE, order=c8160000 , return= 80a30000, advalue = 61125
write REG_ID 0x0f, order=d000000f, return=0
write REG_RANGE 0x04, order=d0160004, return=0
read REG_ID, order=c8000000 , return= 80930000, advalue = 55125
read REG_RANGE, order=c8160000 , return= 80930000, advalue = 55125

刚才的write REG_ID 0x0f, order=d000000f, return=0 格式不对

 问题还是没有解决,寄存设置不了

问题自己解决了,寄存器寻址错误

  请问一下你的联系方式  我也碰到类似的问题   请教一下

42923277@163.com

//ads8989 ORDER
//READ byte
//1100100 + add(9 bits)
#define RD_BYTE 0x4800
//WRITE byte
//1101000 + add(8 bits + x)
#define WR_BYTE 0xD400

#define REG_RANGE 0x14

//设置档位寄存器

GPIO_ResetBits(CS);

SPI2_Send(WR_BYTE + REG_RANGE);
SPI2_Send(0x04);
GPIO_SetBits(CS);

//读回

GPIO_ResetBits(CS);
SPI2_Send(RD_BYTE + REG_RANGE);
SPI2_Send(0x00);
GPIO_SetBits(CS);
vTaskDelay(1);

vTaskDelay(1);
GPIO_ResetBits(CS);
temp = SPI2_Send(NOP);
GPIO_SetBits(CS);

ADS8689 好像不抗干扰。外围的电容我按照手册画的。干扰严重时,其他器件不受影响,但是ADS8689的配置信息全丢了。 我处理器用的STM32F103,没有感觉。

//ads8989 ORDER
#define RD_BYTE 0x4800
//WRITE byte
#define WR_BYTE 0xD400
#define REG_RANGE 0x14

GPIO_ResetBits(CS);
SPI2_Send(WR_BYTE + REG_RANGE);
SPI2_Send(0x04);
GPIO_SetBits(CS);


GPIO_ResetBits(CS);
SPI2_Send(RD_BYTE + REG_RANGE);
SPI2_Send(0x00);
GPIO_SetBits(CS);
vTaskDelay(1);

vTaskDelay(1);
GPIO_ResetBits(CS);
temp = SPI2_Send(NOP);
GPIO_SetBits(CS);

ADS8689的rst脚非常的敏感,干扰很容易影响到。

请问  能正常使用么  采集的信号正常么 

很好用啊

上一篇:ADS8353
下一篇:DAC 161 S997应用问题

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

网站地图

Top