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 可否?
以上问题还请高手不吝指教,不胜感激!
user151383853:
这么多问题, 需要逐个解决。 晶振不起振,先看看,晶振或电容是否有问题,外部时钟需要相当稳定的信号才行。
另外,数据错误是不是先检查下你的时序
user6189758:
回复 user151383853:
我代作者说下:
1、晶振不起振问题:晶振是从其他位置测试好,能够起振,电容datasheet中给的范围是0-20pf,我们用的15PF的,感觉这两个器件没啥问题,但就是不起振,很疑惑。
2、第一条主要想问下ADS1243上电后,不初始化,直接读MUX,是否可以?如果可以的话,读出来的是不是应该是默认值01H?其他2条也是我们怀疑的点,想请高手赐教。
Amy Luo:
您好,ADS1243上电复位后,ACR寄存器中默认RANGE = 0 ,VREF不能超过1.25V,需要配置ACR寄存器中RANGE = 1,才可以使VREF=2.5V。
user6189758:
回复 Amy Luo:
VREF改成了1.25V,实测1.247V,但读出来的MUX寄存器数据老变化,但没有默认值01H。
Amy Luo:
回复 user6189758:
示波器看下晶振是否起振,通信波形也用示波器看下。
读寄存器命令参考数据手册:RREG–Read from Registers。
user5993287:
回复 Amy Luo:
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
user5993287:
回复 Amy Luo:
说明:
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,万分感谢!!!
Amy Luo:
回复 user5993287:
加大一下t6时间试试,参考:
使用其中的小技巧您也可以验证一下电路:
可以提供完整的电路图吗
user5993287:
回复 Amy Luo:
非常感谢 t6时间不用调 够了 已经读出寄存器数据