ADS1246的SPI口时钟极性的设置问题
时间:10-02
整理:3721RD
点击:
这是手册上给的图示,可以看出不活跃为低电平,在下降沿读写数据,是这样吗?我设置UCCKPH=0,UCCKPL=0时,写寄存器后,无法正确读取寄存器的值,重点是ADS官网上给出的参考代码对SPI口的设置也是设置成UCCKPH=0,UCCKPL=0!这样设置不能正常通信吗?
后来改成UCCKPH=1,UCCKPL=1,可以对寄存器进行配置并可以读取配置后的值,下面是我利用示波器显示的SPI时钟信号SCLK
但是与手册中给出的SCLK信号波形明显不一致,不知道问题出在哪,求指教!
SPI时钟设置为128kHZ。
可以看出不活跃为低电平,在下降沿读写数据,是这样吗?
是的
不过 不活跃为低电平, 这点不重要
在下降沿读写数据,这是重点, 必须满足
另外还有一点, 在第一个上升沿后, 首位出现在总线上.
另外还有一点, 在第一个上升沿后, 首位出现在总线上
那我的对应的不活跃为高电平,应该是第一个跳边沿为下降沿,此时读了一位数字,也就是在第一个上升沿输出数据前已经开始读数据了,那这时候读到应该是不活跃的高电平,但是我通过对寄存器的读写发现写进去的数(0x02)可以正确读出来,感到很费解,不知道这么用来采集数据对不对。
现在还有一个问题,~DRDY为底产生中断,进入中断后采集数据,~DRDY并不是在第一个SPI口的时钟的第一个下降沿回复高电平,而是在数据采集快结束时采变化,这是怎么回事。
问题有些多,谢谢!