串行外设接口(Serial Peripheral Interface, SPI)逻辑设计部分 - spi_slave

本文详细探讨了SPI Slave的逻辑设计,重点在于没有握手信号的情况下如何确保数据传输的可靠性。分析了在片选信号(csn)为1和0时的传输情况,以及不同CPOL和CPHA设置下的时序。文章还提到了信号复位问题及其解决方案,并强调了设计时画波形的重要性。


先设计再写代码!先设计再写代码!先设计再写代码!

设计时候要画波形!画波形!还是TMD画波形!

spi slave最大的难度在于它是一个slave,但是与spi master之间没有握手信号,这就导致每次与spi master之间作数据交换的时候,spi slave可能还没准备好,数据传输的可靠性不行,这也是SPI本身的缺陷。

片选信号拉低表示数据传输开始,可是如果此时spi还没有把上一次传输的数据输出、或是这次发送给spi master的数据还没有准备好,就会产生意料不到的情况。

spi slave是否开启传输,这就是spi slave的两种状态,奇葩的是这两种状态的转换是spi master控制的,而且开启传输的时刻spi slave未知。对,咱们要基于这样的状态机对spi slave进行设计。

当spi slave 检测到 被片选中后,可以用计数器计算什么时候这次传输结束。

在这里插入图片描述

1. (csn == 1’b1) 时

此时不发生传输,spi slave 可以与用户端进行数据交换,但是csn随时都可能拉低,这里咱们计算一下spi slav

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Starry丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值