1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近在调9361的时候,发现在用SPI读寄存器标志,确认BBPLL是否锁定时,发现SPI读回来的数据是0xFF,感觉SPI读取存在问题,于是将其他程序屏蔽,保留DCXO部分的配置,并回读寄存器0x002的值,因为程序没有配置0x002,所以理论上读回来的值应该是0x5F。而实际结果读回来的值是0xAF,观察波形发现SPI_DO的数据变化是根据时钟的下降沿改变的,这是为什么?(使用的默认的4线SPI),下面是在线仿真波形,
查SPI接口时序,说SPI_CLK上升沿到SPI_DO的上升沿的时间 tCO 最小值为3ns,最大8ns,所以我上面遇到的情况明显有问题,可是怎么才能调节这个时间呢? |
|
相关推荐
7个回答
|
|
从时序来看, 0000 0000 0000 0010 是读0x002寄存器 (1byte),时序是对的, SPI_DO收到的数据波形也是对的,但是与SPI_CLK对齐来看是1010 1111, 说明SPI_CLK的时序太超前了, 应该将SPI_CLK时序往后延半个周期. 另外, 最后SPI_ENB 拉高的位置要在最后一个时钟下降沿之后
|
|
|
|
msvsudsdf 发表于 2019-2-27 17:25 可是从时序上看,SPI_DI 跟SPI_CLK的时钟上升沿是对齐的,如果把SPI_CLK时序后延半个周期,SPI_DI那里的时序不就不对了吗? |
|
|
|
zsqzsqzs 发表于 2019-2-27 17:41 SPI_CLK上升沿最好是能采到SPI_DI的数据的高低电平期间,有助于正确判决。两个信号上升沿对齐虽然也可以,但不是最佳方式。 |
|
|
|
林信海89 发表于 2019-2-27 18:09 你好,问题解决了吗?我现在也遇到了这个问题,读出来全是1,用示波器探头点SPI_DO读出来就变成了低 |
|
|
|
你把SPI的4种极性都试一下
|
|
|
|
鄙人也曾经历过这样的问题,调的芯片不是9361是9545,ADI的芯片SPI的设定都差不多。
有两方面原因: 1.检查复位引脚是否正确 2。调9545是有一个引脚(9545上的M4引脚)需要拉低电平,SPI才是有效的,否则使用SPI时序读取时都是0xFF |
|
|
|
只有小组成员才能发言,加入小组>>
992 浏览 2 评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1387 浏览 2 评论
ADP5092 SYS端口为2.09V,但是REG_OUT为0是什么原因?
1939 浏览 1 评论
ad7193差分输入ain1与ain2差是正值时,读到电压与实际值误差小,但为负值值,误差就变的很大
4270 浏览 2 评论
9062 浏览 1 评论
ADC3442采集,分析数据出现有规则毛刺,请问是哪方面的问题啊?
1522浏览 3评论
AD7190状态寄存器一直是0x80,连续转换模式下RDY不拉低
1694浏览 2评论
992浏览 2评论
1669浏览 2评论
给ADUM4223 增加信号驱动15V电压就不正常, 波动很大会被烧是什么情况?
1387浏览 2评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 06:45 , Processed in 0.975291 second(s), Total 93, Slave 77 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号