SPI硬件电路设计,SPI协议

SPI硬件电路设计

1  SPI简介

2  SPI的特点和基本概念

2.1 SPI的特点

2.2 SPI的基本概念

3  SPI协议(摩托罗拉)

3.1 SPI控制器内部寄存器

3.2 时钟极性(CPOL)和时钟相位(CPHA)

3.3 SPI时序图

4  SPI原理图设计

4.1 W25Q256JV--SPI通信FLASH,华邦

4.2 SC18IS602B,IIC转SPI芯片--NXP

5  SPI资料及芯片选型推荐

SPI硬件电路设计

1  SPI简介

SPI是串行外设接口(Serial Peripheral Interface)的缩写,是美国摩托罗拉公司(Motorola)最先推出的一种同步串行传输规范,也是一种单片机外设芯片串行扩展接口,是一种高速、全双工、同步通信总线,所以可以在同一时间发送和接收数据。SPI没有定义速度限制,通常能达到10-100M/bps。

SPI有主、从两种模式,通常由一个主模块和一个或多个从模块组成(SPI不支持多主机),主模块选择一个从模块进行同步通信,从而完成数据的交换。提供时钟的为主设备(Master),接收时钟的设备为从设备(Slave),SPI接口的数据传输(对FLASH来说是读写操作)都是由主设备发起,当存在多个从设备时,通过各自的片选信号进行管理。

标准SPI通信接口包含以下四根线:

MISO(Master Input Slave Output):主设备数据输入,从设备数据输出;

MOSI(Master Output Slave Input):主设备数据输出,从设备数据输入;

SCLK(Serial Clock):时钟信号,由主设备产生;

CS/SS/NSS(Chip Select/Slave Select):从设备使能信号,由主设备控制,一主多从时,CS/SS是从芯片是否被主芯片选中的控制信号,只有片选信号为预先规定的使能信号时(高电平或低电平,查找从设备Datasheet),主芯片对此从芯片的操作才有效。

 

2  SPI的特点和基本概念

2.1 SPI的特点

(1)主模式和从模式

(2)高速、全双工、同步通信

(3)双向模式,3线SPI,Dual SPI,Qual SPI(QSPI)

(4)多从机时,从选择输出

(5)模式错误标志,多主时报错,CPU中断功能

(6)双向数据缓冲寄存器,移位寄存器

(7)可编程的时钟极性(CPOL/CKP)和时钟相位(CPHA/CKE)

(8)在等待模式下对SPI的控制,等待模式是一种可配置的低功率模式

2.2 SPI的基本概念

2.2.1 SPI总线术语

SS/CS:Slave Select

SCK:Serial Clock

MOSI:Master Output, Slave Input

MISO:Master Input, Slave Output

MOMI:Master Output, Master Input

SISO:Slave Input, Slave Output

2.2.2 SPI控制器内部结构框图

 

SPI的主要部分是状态、控制数据寄存器移位器逻辑波特率发生器主/从控制逻辑和端口控制逻辑。此结构为摩托罗拉协议的结构,每个主控制器内部SPI结构可能略有差异。

2.2.3 SPI总线的运行状态

SPI有三种模式,即运行、等待和停止。

运行模式:这是最基本的操作方式。

等待模式:等待模式下的SPI操作是一种可配置的低功率模式,由位于SPICR2寄存器中的SPISWAI位控制。在等待模式下,如果SPISWAI位被清除,SPI进入运行模式。如果设置了SPISWAI位,则SPI将进入功率保守状态,而SPI时钟生成将被关闭。如果SPI配置为主服务器,任何正在进行的传输都将停止,但在CPU进入运行模式后恢复。如果SPI配置为从服务器,则字节的接收和传输继续,以便从服务器与主服务器保持同步。

停止模式:SPI在停止模式下处于非活动状态,以降低功耗。如果SPI配置为主服务器,任何正在进行的传输都将停止,但在CPU进入运行模式后恢复。如果SPI配置为从服务器,则字节的接收和传输继续,以便从服务器与主服务器保持同步。

更为详细的描述见协议文档,只需大概了解即可。

2.2.4 标准SPI和3线SPI,Dual SPI和Qual SPI(6线)的区别

(1)标准SPI:标准SPI通常就称SPI,有4根引脚信号:clk , cs, mosi, miso。

(2)3线SPI:在SPI控制寄存器2中设置SPC0位时,选择双向模式。在此模式下,SPI只使用一个串行数据脚。MSTR位决定使用哪个引脚MOSI引脚成为主模式的串行数据I/O(MOMI)引脚而MISO引脚成为从属模式的串行数据I/O(SISO)引脚。SPI不使用主模式下的MISO引脚和从属模式下的MOSI引脚。因此三线SPI包含3跟信号线,CLK,CS,MOMI(SOSI)。摩托罗拉的3线SPI是有CS的,数据线变成双向。

TI的3线SPI是没有CS信号,使用CLK、MOSI、MISO,不能多从操作。并且说明了不支持2线单向操作,即只使用CLK和MOSI或MISO。

 

 

(3)Dual SPI(Dual serial peripheral interface)双线串行外设接口

Dual SPI一般是对SPI Flash而言,不是所有SPI外设都支持该模式。对于SPI Flash,全双工并不常用,因此扩展了mosi和miso的用法,让它们工作在半双工,用以加倍数据传输。也就是对于Dual SPI Flash,可以发送一个命令字节进入dual mode,这样mosi变成SIO0(serial io 0),miso变成SIO1(serial io 1),这样一个时钟周期内就能传输2个bit数据,加倍了数据传输。只能半双工工作。

(4)Qual SPI(Quad serial peripheral interface)4跟数据线

与Dual SPI类似,也是对SPI Flash而言,Qual SPI Flash增加了两根I/O线(SIO2(WP),SIO3(HOLD)),目的是一个时钟内传输4个bit。

所以对于SPI Flash,有标准spi flash,dual spi , qual spi 三种工作模式。可以用3-wire, 4-wire, 6-wire工作,在相同clock下,线数越多,传输速率越高。

注:更多内容欢迎关注B站:硬件工程师老刘,视频讲解相关电路知识,协议学习。

  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: LAN9252是一个集成了以太网MAC、PHY和SPI控制器的集成电路。它提供了一种快速而简单的方法来实现以太网通信。它使用SPI(串行外设接口)作为通信接口,使其能够与主控设备(如微控制器或处理器)进行通信。 LAN9252的SPI通信电路包括一个主控设备和LAN9252之间的物理连接,并通过SPI协议进行数据传输。在这个通信电路中,主控设备充当主机(Master),负责发起通信和控制数据传输的时序;而LAN9252则充当从设备(Slave),负责根据主机的指令进行数据交换。 通信电路中,主控设备将命令和数据通过SPI总线发送到LAN9252。LAN9252在收到数据后,会根据命令进行相应的操作,并将结果返回给主控设备。这些命令可以控制以太网连接、数据传输、数据接收等功能。SPI通信电路可以实现高速数据传输,具有较低的传输延迟。 总结而言,LAN9252的SPI通信电路是一个将主控设备(如微控制器或处理器)与集成了以太网MAC、PHY和SPI控制器的LAN9252之间进行连接的电路。通过SPI协议,主控设备可以发送命令和数据给LAN9252,并获取LAN9252的应答和执行结果。这种电路结构可以实现高速、可靠的以太网通信,并广泛应用于各种网络通信设备和应用中。 ### 回答2: LAN9252是一种高度集成的SPI通讯电路。SPI(串行外设接口)是一种串行通信协议,常用于芯片间的通信。 在LAN9252的SPI通讯电路中,一般包括一个主机(Master)和一个或多个从机(Slave)。主机负责控制通信的发起和管理,从机则负责响应主机发起的请求。 通信过程中,主机通过SPI总线向从机发送指令和数据。SPI总线由四根线组成,分别是串行数据输入线(MISO)、串行数据输出线(MOSI)、时钟线(SCK)和片选线(SS)。主机通过控制时钟信号的上升沿和下降沿来同步数据传输,而片选线则用于选择与之通信的从机。 在LAN9252中,SPI通讯电路的硬件设计包括电源和地线连接、串行数据线、时钟信号线和片选线的连接,以及引脚的电气参数设计等。同时,电路中还应包括对SPI通讯协议的解析和处理的逻辑电路,以实现可靠的数据传输。 除了硬件电路的设计,也需要合理编写相关的软件程序来控制SPI通讯电路的工作。这些程序主要负责产生和处理相应的SPI信号,实现数据的读写和处理。 总之,LAN9252的SPI通讯电路是一种用于实现芯片间通信的高度集成电路。通过合理的硬件设计和软件编程,可以实现稳定可靠的数据传输,为设备之间的通信提供了便利。 ### 回答3: LAN9252是一种集成了SPI(串行外设接口)的通信电路。SPI是一种常用的通信协议,可以在芯片之间传输数据。在LAN9252中,SPI通信电路用于将有线局域网数据转换为SPI信号,以便使芯片能够通过SPI接口与其他设备进行通信。 LAN9252的SPI通讯电路可以分为发送和接收两部分。发送部分将待发送的数据的位流按照SPI协议的规则转换为串行信号,并通过SPI总线发送给接收方。接收部分则将从SPI总线接收到的信号按位组成完整的数据,提供给其他部件进行处理。 在SPI通信电路中,需要使用时钟信号(SCK)来同步数据的发送和接收。该时钟信号由SPI主设备(通常是微控制器)提供。数据的传输是在时钟信号的上升沿或下降沿完成的,具体传输方式取决于设备之间的协议SPI通信电路还包括数据输入线(MOSI)和数据输出线(MISO),用于数据的发送和接收。数据输入线将主设备发送的每一位数据传输给被控设备,而数据输出线则将被控设备发送的每一位数据传输回主设备。此外,还有一个片选线(SS)用于选择通信的目标设备。 总之,LAN9252的SPI通信电路是将有线局域网数据转换成SPI信号的重要部分。它使LAN9252芯片能够通过SPI接口与其他设备进行高效的数据传输和通信。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

硬件工程师老刘

感谢您的赏识

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

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

打赏作者

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

抵扣说明:

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

余额充值