打印
[PSoC™]

PSoC™ 4 SCB SPI 总线时序测试

[复制链接]
552|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
IFX_Lingling|  楼主 | 2023-10-8 11:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
摩托罗拉公司的 SPI 协议根据 MOSI 和 MISO 线不同的数据发送和接收方式有四种不同的模式。这些模式由时钟极性(CPOL)和时钟相位(CPHA)共同决定。时钟极性决定了不传输数据时 SCLK 线的值。CPOL = ‘0’ 表示不传输数据时 SCLK 为’0’。CPOL = ‘1’ 表示不传输数据时SCLK为’1’。时钟相位决定了何时采样数据。 CPHA = ’0 ’表示在第一个边沿采样,而 CPHA = ‘1’ 意味着在第二个时钟边沿采样,无论该时钟沿是上升还是下降。在 CPHA = ’0 ’时,数据必须在第一个时钟周期前有稳定的设置时间。
测试过程中使用 CY8CKIT-042 和 PSoC Creator 4.3 (4.3.0.1445),将 SPI Bit 顺序设置为 MSB,发送第一个 8 位数据 0x01。
模式 0: CPOL = 0, CPHA = 0:
SCLK 下降沿时,传输数据;SCLK 上升沿时,采样数据。SPI 组件时序如图 1 所示。实际运行中的时序如图 2 所示。
图1.SPI组件时序图

图2.实际运行中的时序图
模式1 CPOL = 0, CPHA = 1
SCLK 上升沿时,传输数据;SCLK 下降沿时,采样数据。SPI 组件时序如图 3 所示。实际运行中时序如图 4 所示。
图3.SPI组件时序图
图4.实际运行中的时序图
模式 2: CPOL = ‘1’, CPHA = ‘0
SCLK 上升沿时,传输数据;SCLK 下降沿时,采样数据。SPI 组件时序如图 5 所示。实际运行中时序如图 6 所示。
图5.SPI组件时序图
图6.实际运行中的时序图
模式3: CPOL = 1’, CPHA = 1
SCLK 下降沿时,传输数据;SCLK 上升沿时,采样数据。SPI 组件时序如图 7 所示。实际运行中时序如图 8 所示。
图7.SPI组件时序图
图 8 . 实际运行中的时序图
综上,当SPI总线开始传输数据时,在SS信号生效之前,先驱动 MOSI 。这种设计符合 SPI 协议规定,可以正常通信。
cyfitter_cfg.c文件中,固件启动时已将 MOSI 驱动模式配置为 "strong drive" 模式。如果使用 SPI 接口模拟其他通信协议,则需要考虑启动顺序。

参考资料:

使用特权

评论回复
沙发
sblpp| | 2023-10-28 22:19 | 只看该作者
SPI做Master时,时钟最高只能配置为8M,过采样如何去除?如何提高SPI速度?
只用SCLK和MOSI,不做读操作。

使用特权

评论回复
板凳
IFX_Lingling|  楼主 | 2023-11-21 11:16 | 只看该作者
sblpp 发表于 2023-10-28 22:19
SPI做Master时,时钟最高只能配置为8M,过采样如何去除?如何提高SPI速度?
只用SCLK和MOSI,不做读操作。[ ...

过采样去掉不行,这个设置最小为2,但是前提是MISO remove掉。如果MISO present,那么过采样最小为4。
如果速度太快的,有可能采样错位,导致通信失败。

使用特权

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

本版积分规则

认证:
简介:关于英飞凌——我们致力于打造一个更加便利、安全和环保的世界,在赢得自身成功发展的同时,积极践行企业社会责任。

105

主题

189

帖子

5

粉丝