This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ADS1243 读寄存器不对 外部晶振不起振问题

Other Parts Discussed in Thread: ADS1243

1)在没有对ADS1243进行初始化前,ADS1243上电复位后,我读MUX寄存器读出的数据是0XBE,不是默认值0X01,可否直接对MUX寄存器进行读操作?Xin是单片机分频给的2.5M的CLK,***,用的单片机自带SPI,读寄存器需要看DREADY的状态吗?

2)PDWN一直接高电平可否?

2)怀疑时钟有问题,遂外接4M无源晶振,电容17PF,但不起振,是否需要软件设置一下启动晶振呢?

3)VDD 3.3V供电,VREF 2.5V 可否?

以上问题还请高手不吝指教,不胜感激!

  • 这么多问题, 需要逐个解决。 晶振不起振,先看看,晶振或电容是否有问题,外部时钟需要相当稳定的信号才行。
    另外,数据错误是不是先检查下你的时序
  • 我代作者说下:
    1、晶振不起振问题:晶振是从其他位置测试好,能够起振,电容datasheet中给的范围是0-20pf,我们用的15PF的,感觉这两个器件没啥问题,但就是不起振,很疑惑。
    2、第一条主要想问下ADS1243上电后,不初始化,直接读MUX,是否可以?如果可以的话,读出来的是不是应该是默认值01H?

    其他2条也是我们怀疑的点,想请高手赐教。
  • 您好,
    ADS1243上电复位后,ACR寄存器中默认RANGE = 0 ,VREF不能超过1.25V,需要配置ACR寄存器中RANGE = 1,才可以使VREF=2.5V。
  • VREF改成了1.25V,实测1.247V,但读出来的MUX寄存器数据老变化,但没有默认值01H。
  • 示波器看下晶振是否起振,通信波形也用示波器看下。
    读寄存器命令参考数据手册:RREG–Read from Registers。
  • 1)

    如上图:

    第一个是SCLK 388KHZ;

    第二个是XIN,单片机分频给的2.5MHZ,

    第三个是抓的一组读MUX寄存器波形:粉色是CS,黄色是SCLK,蓝色是MOSI,绿色是MISO,其中MOSI输入0X11,0X00,然后等待37US(>50个时钟),接下来MISO输出输出0X37,仍然不是默认值0x01,VREF已经调到1.247V,请帮忙看下时序有问题吗?

    另外能给个电话或邮箱吗?实在很着急,方便联系。多谢!我的邮箱:114012949@qq.com

  • 应该在SCLK上升沿写入读取寄存器命令,您好像是在下降沿写入的。
    读取寄存器Encoding:0001 rrrr xxxx nnnn,MUX地址是01H,读取MUX应该输入0001 0001 xxxx 0000
  • 说明:

    1)图1中蓝色线是MOSI,发送的读MUX寄存器指令0X11和  0X00 延时37us后再发0X00进行读,疑问:为什么绿色线即MISO在发送0X11时也有输出呢?

    2)图3是放大了,为了看MOSI,我已经改为上升沿写入,图2是放大看MISO,也是上升沿变化;

    3)图4是我的ARM,我选的00模式,即数据在上升沿变化,图5是ADS1243时序图,其中t7最大50ns,可以为0 ;

    请再帮忙看看哪里还有问题,我读出的数据图2只是抓的一次的,其实每次都变,但都不是01,万分感谢!!!

  • 加大一下t6时间试试,参考:

    使用其中的小技巧您也可以验证一下电路:

    可以提供完整的电路图吗

  • 非常感谢 t6时间不用调 够了 已经读出寄存器数据