EDA365电子论坛网
标题: 封装管脚信号PINMAP时,必须要了解的接口知识【3】--- SPI [打印本页]
作者: amao 时间: 2019-5-8 15:04
标题: 封装管脚信号PINMAP时,必须要了解的接口知识【3】--- SPI
本帖最后由 amao 于 2019-5-8 15:06 编辑 ( C: I, E$ @4 {6 m* W( Z! }
; H7 N. w) i) d
SP接口简介
5 `. X1 G- Y( z0 r9 ^
! z1 F1 ^7 E: t$ d7 H& z6 y' e1.1 SPI简介SPI - SerialPeripheral Interface(串行外设接口),有(Master - 控制器)和从(Slave - 外设)之分,它是一种有时钟信号的同步串行总线,从器件的寻址是靠专用的片选信号线SS来实现的;SPI是一种用于短距离通信(主要是嵌入式系统中)的同步串行通信接口规范,这种接口由Motorola发明,已经成了一种事实标准。广泛用于各种MCU处理器中,同传感器,串行ADC、DAC、存储器、SD卡以及LCD等进行数据连接。几乎所有的微处理器/微控制器都有SPI/I2C和UART接口,SPI被广泛用于传感器的数字接口连接。
1.2 主要的信号线:SPI总线由4根主要的信号线组成以实现数据在主设备(Master)和从设备(Slave)之间的全双工(收、发同时执行)同步(由时钟同步)通信:
SCLK:串行时钟(由主设备输出),每个时钟周期将会移出一个新的数据位;
MOSI:主设备输出⇒从设备输入,数据由主设备进入从设备,器件A上的MOSI线连接到器件B上的MOSI线。
MISO:主设备输入⇐ 从设备输出,数据由从设备送到主设备(或其它从设备,采用菊花链配置),器件A上的MISO线连接到器件B上的MISO线。
SS(或SSN): 从设备选中(低电平有效),用于主设备控制从设备用,当该从选择信号线有效的时候表示主设备正在向相应的从设备发送数据或从相应的从设备请求数据。
l 别名
SPI端口管脚的名字也有其它的叫法,不同的芯片公司叫法不同,比如:
串行输出: SCLK : SCK, CLK.
主输出–> 从输 入 : MOSI : SIMO 、 SDI(forslave devices) 、 DI 、 DIN 、 SI 、MTST.
主输入← 从输出: MISO:SOMI、SDO (for slave devices )、DO、DOUT、SO、MRSR.
从选择: SS: SSN、nCS、CS、CSB、CSN、EN、nSS、STE、SYNC
$ w" L' b1 f4 S; O
1.3 走线拓扑使用菊花链结构,在这种配置中,数据从一个设备移动到下一个设备,最终的从设备可以将数据返回给主设备(给FPGA编程的JTAG在给多个器件编程的时候也常用这种方式)。
菊花链配置中,所有从设备共享一条公共的从选择线(SS)。 数据从主设备传输到第一个从设备,然后从第一个从设备传输到第二个从设备,依此下去,数据沿着线路级联,直到系列中的最后一个从设备,最后的一个从设备使用其MISO线路将数据传送到主设备。这种配置非常适合于主设备的信号引脚有限的场景
; m7 c# T |. P3 Q( |' ^
/ i4 R# n9 u( h) J- h& z
1.4 SPI的优缺点优点:
- l 支持全双工通信
- l 推挽驱动(跟漏极开路正相反)提供了比较好的信号完整性和较高的速度
- l 比I2C或SMBus吞吐率更高
- l 协议非常灵活支持“位”传输
- n 不仅限于8-bit一个字节的传输
- n 可任意选择的信息大小、内容、以及用途
- l 异常简单的硬件接口:
- n 一般来讲比I2C或SMBus需要的功耗更低,因为需要更少的电路(包括上拉电阻)
- n 没有仲裁机制或相关的失效模式
- n “从设备”采用的是“主设备”的时钟,不需要精确的晶振
- n “从设备”不需要一个单独的地址 — 这点不像I2C或GPIB或SCSI
- n 不需要收/发器
- l 在一个器件上只用了4个管脚, 板上走线和布局连接都比并行接口简单很多
- l 每个设备最多只有一个单独的从设备选择信号(SS、SSN、CSn);其它的都是共享的
- l 信号都是单方向的,非常容易进行电流隔离
- l 对于时钟的速度没有上限,有进一步提高速度的潜力,很多MCU的SPI传输速率可以高达50Msps,可用于数据采集以及图像的传输。: T+ z4 ^) x+ h# J! s
缺点:
- l 相比于I2C总线需要更多的管脚, 即便是只用到3根线的情况下
- l 没有寻址机制,在共享的总线连接时需要通过片选信号支持多个设备的访问
- l 在从设备侧没有硬件流控机制(主设备一侧可以通过延迟到下一个时钟沿以降低传输的速率)
- l 从设备无法进行硬件“应答”(主设备传送的信息无法确定传递到哪里,是否传递成功)
- l 一般只支持一个主设备(取决于设备的硬件构成)
- l 没有查错机制
- l 没有一个正式的标准规范,无法验证一致性
- l 相对于RS-232, RS-485, 或CAN-总线,只能近距离传输
- l 存在很多的变种,很难能够找到开发工具(例如主适配卡)支持这所有的变种
- l SPI不支持热交换(动态地增加一个节点).
- l 如果想使用“中断”,只有通过SPI信号以外的其它信号线,或者采用类似USB1.1或2.0中的周期性查询的欺骗方式' x) i1 A8 {1 p% d( {
# e' R/ R( H: B6 b8 g5 ~% ^/ ~4 g" R$ s
作者: 405306570 时间: 2019-5-8 17:03
学习了
作者: xiao9527 时间: 2019-5-8 17:05
xuexi
作者: sky111 时间: 2019-5-8 18:17
版主要转硬件了吗
作者: wu6886 时间: 2019-5-8 18:39
good& R# T' Q" ?% n/ ]) d. o! {9 \
作者: gochip 时间: 2019-5-8 21:58
每天必看
作者: hwh 时间: 2019-5-9 08:41
学习
作者: bingshuihuo 时间: 2019-5-9 08:57
版主要转硬件了吗
作者: e2010 时间: 2019-5-9 09:01
学习了谢谢分享. o2 G+ c9 v5 E1 Z Y
作者: sip2050 时间: 2019-5-9 12:16
学习
作者: 小路 时间: 2019-5-17 11:26
学习下
作者: xingeandzs 时间: 2020-9-18 10:12
非常感谢 涨知道了" H0 Q% s! O7 [4 z4 C* n
| 欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) |
Powered by Discuz! X3.2 |