打印
[技术问答]

SPI波形疑问

[复制链接]
1327|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
spi, ADC, AD, dc, AC
本帖最后由 samyang13 于 2019-4-10 09:36 编辑

用NUC100的SPI寄存器驱动外部ADC,配置如下图,ADC芯片是下降沿有效,最终ADC没有驱动起来(我用IO口模拟SPI时序时可以驱动,说明ADC没有坏)。示波器捕捉到的图形如下图所示:

我发送的是0x0307,理论上应该是第7个下降沿开始是高电平。这个波形让我分不出是第6个下降沿开始还是第7个下降沿开始。另外我将程序改成了上升沿有效,测出来的波形和下降沿的波形一模一样,感到很是困惑。
有没有哪位使用SPI寄存器成功驱动ADC/DAC能够提供一份SPI波形图以便我比较?

使用特权

评论回复
沙发
tianxj01| | 2019-4-8 09:07 | 只看该作者
本帖最后由 tianxj01 于 2019-4-8 09:09 编辑

你本来就读错波形了,这是典型的上升沿有效波形。
你测试的波形的模式描述:空闲时间  时钟低电平,数据在第一个边沿采样。很准确的0X0307。
告诉你一个SPI基本原则,在时钟的变化沿,数据如果发生变化,那么这个边沿肯定不是有效时钟边沿。有效边时钟沿肯定是在数据稳定的那一段,比如第一个数据3的第7第8个时钟的上升沿。
SPI数据是这样准备的,数据必须在有效时钟边沿前面已经准备好,而在下一个无效边沿才发生变化。
至于你程序改成什么上升沿有效还是一样的说法,当是程序里面的问题,仔细检查一下吧。时钟极性和相位共4种组合。

使用特权

评论回复
板凳
samyang13|  楼主 | 2019-4-8 18:10 | 只看该作者
tianxj01 发表于 2019-4-8 09:07
你本来就读错波形了,这是典型的上升沿有效波形。
你测试的波形的模式描述:空闲时间  时钟低电平,数据在 ...

谢谢,我刚接触这个片子,正如你说的那样,现在已经解决了

使用特权

评论回复
地板
mintspring| | 2019-4-8 19:18 | 只看该作者
SPI有两种波形。你选错了。

使用特权

评论回复
5
mintspring| | 2019-4-8 19:19 | 只看该作者
单片机的SPI主机模式可以设置不同的有效模式。

使用特权

评论回复
6
幸福小强| | 2019-4-9 11:34 | 只看该作者
对的,好像是2种模式,要选对。

使用特权

评论回复
7
21mengnan| | 2019-4-9 22:41 | 只看该作者
楼主确认你的芯片是下降沿?单片机设置模式是下降沿?

使用特权

评论回复
8
小明的同学| | 2019-4-9 23:36 | 只看该作者
果然跟我想到一起了。

使用特权

评论回复
9
598330983| | 2019-4-9 23:40 | 只看该作者
原来还有两种SPI

使用特权

评论回复
10
samyang13|  楼主 | 2019-4-10 09:38 | 只看该作者
问题已经解决,刚接触这个芯片里面的配置不太清楚,其实需要配置DrvSPI_Open()函数的第二个参数设置接收和发送的有效沿。我理解的上升沿和下降沿有误。
结贴了

使用特权

评论回复
11
yiyigirl2014| | 2019-4-11 00:12 | 只看该作者
那个芯片手册没有写吗

使用特权

评论回复
12
zhuomuniao110| | 2019-4-11 23:35 | 只看该作者
反正两种情况,哪个对就是哪个

使用特权

评论回复
13
天灵灵地灵灵| | 2019-4-13 22:49 | 只看该作者
楼主驱动的是哪个芯片

使用特权

评论回复
14
yiy| | 2019-4-14 22:42 | 只看该作者
SPI时序比较简单的,芯片手册上一般会提供驱动时序。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

31

帖子

1

粉丝