差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
spi_sp [2019/08/10 11:49] gongyu |
spi_sp [2019/08/13 11:00] (当前版本) gongyu |
||
---|---|---|---|
行 1: | 行 1: | ||
- | ### SPI - 同步、全双工的串行外设接口 | + | #### SPI - 同步、全双工的串行外设接口 |
--- | --- | ||
- | |||
SPI(Serial Peripheral Interface - 同步外设接口)总线是一种用于短距离通信(主要是嵌入式系统中)的同步串行通信接口规范,虽然没有正式的国际标准,但这种接口协议由Motorola发明迄今经过很多厂商的支持,已经成了一种事实标准,被广泛用于各种MCU处理器中,同传感器,串行ADC、DAC、存储器、SD卡以及LCD等进行数据连接。由于没有统一的国际标准,SPI出现了很多不同的协议选项,例如不同的Word大小;每个设备都有自己的协议定义,包括是否支持命令;有些设备只发送,其它的则只是接收;有的片选是高有效,有的则是低有效;有的协议先发送最低位。 | SPI(Serial Peripheral Interface - 同步外设接口)总线是一种用于短距离通信(主要是嵌入式系统中)的同步串行通信接口规范,虽然没有正式的国际标准,但这种接口协议由Motorola发明迄今经过很多厂商的支持,已经成了一种事实标准,被广泛用于各种MCU处理器中,同传感器,串行ADC、DAC、存储器、SD卡以及LCD等进行数据连接。由于没有统一的国际标准,SPI出现了很多不同的协议选项,例如不同的Word大小;每个设备都有自己的协议定义,包括是否支持命令;有些设备只发送,其它的则只是接收;有的片选是高有效,有的则是低有效;有的协议先发送最低位。 | ||
- | {{ :spi_lpc.jpg |}}<WRAP centeralign> **当前的处理器中几乎都有[[SPI_SP]]和[[I2C_SP]]和[[UART_SP]]接口** </WRAP> | + | {{ :spi_lpc.jpg |}}<WRAP centeralign> **当前的处理器中几乎都有[[SPI_SP|SPI]]和[[I2C_SP|I2C]]和[[UART_SP|UART]]接口** </WRAP> |
- | {{ :spi_sensor.jpg |}} <WRAP centeralign> 数字接口的传感器也采用SPI_SP和[[I2C_SP]] </WRAP> | + | {{ :spi_sensor.jpg |}} <WRAP centeralign> 数字接口的传感器也采用SPI和[[I2C_SP|I2C]] </WRAP> |
- | {{ :spi_fpga.jpg |}} <WRAP centeralign> FPGA也将SPI、[[I2C_SP]]硬化在器件内部方便各种外设的连接 </WRAP> | + | {{ :spi_fpga.jpg |}} <WRAP centeralign> FPGA也将SPI、[[I2C_SP|I2C]]硬化在器件内部方便各种外设的连接 </WRAP> |
{{ :spi_msconnection.jpg |}} <WRAP centeralign> 主、从器件之间的连接及数据传输方式 </WRAP> | {{ :spi_msconnection.jpg |}} <WRAP centeralign> 主、从器件之间的连接及数据传输方式 </WRAP> | ||
行 37: | 行 36: | ||
##### 工作模式 | ##### 工作模式 | ||
SPI总线可以工作在一个主设备/一个或多个从设备的模式。 | SPI总线可以工作在一个主设备/一个或多个从设备的模式。 | ||
- | 如果只有一个从设备,SS管脚可以直接接地(从设备允许的话),有些从设备需要片选信号的下降沿来启动传输,一个例子就是[[http://www.maximintegrated.com|美信]]公司的串行ADC [[https://www.maximintegrated.com/en/products/analog/data-converters/analog-to-digital-converters/MAX1242.html|MAX1242]],通过一个高电平到低电平的转换标记传输的起始。如果有多个从设备,每个从设备需要一个独立的SS信号连接到主设备。 | + | 如果只有一个从设备,SS管脚可以直接接地(从设备允许的话),有些从设备需要片选信号的下降沿来启动传输,一个例子就是美信公司的串行ADC MAX1242,通过一个高电平到低电平的转换标记传输的起始。如果有多个从设备,每个从设备需要一个独立的SS信号连接到主设备。 |
多数从设备的输出是三态的,当该从设备没有被选中的时候它们的MISO信号就为高阻(逻辑上断开连接)。不具有三态输出的器件是不能同其它器件共享SPI总线部分的,只能是一个从设备跟主设备相连。 | 多数从设备的输出是三态的,当该从设备没有被选中的时候它们的MISO信号就为高阻(逻辑上断开连接)。不具有三态输出的器件是不能同其它器件共享SPI总线部分的,只能是一个从设备跟主设备相连。 | ||
行 214: | 行 213: | ||
在开发和/或排除SPI总线故障时,检查硬件信号非常重要。 逻辑分析仪是收集、分析、解码和存储信号的工具,因此人们可以用它来查看高速波形。 逻辑分析仪显示每个信号电平变化的时间戳,这有助于发现协议问题。大多数逻辑分析仪都能够将总线信号解码为高级协议数据并显示ASCII数据。 | 在开发和/或排除SPI总线故障时,检查硬件信号非常重要。 逻辑分析仪是收集、分析、解码和存储信号的工具,因此人们可以用它来查看高速波形。 逻辑分析仪显示每个信号电平变化的时间戳,这有助于发现协议问题。大多数逻辑分析仪都能够将总线信号解码为高级协议数据并显示ASCII数据。 | ||
- | #### 相关设计资源参考 | + | |
- | * Lattice Semi官网提供的[SPI控制器模块](http://www.latticesemi.com/en/Products/DesignSoftwareAndIP/IntellectualProperty/ReferenceDesigns/ReferenceDesign03/SPIMasterController)使用说明,及参考IP下载 | + | <WRAP center round info 100%> |
- | * Lattice Semi官网提供的[SPI从设备控制器]( http://www.latticesemi.com/en/Products/DesignSoftwareAndIP/IntellectualProperty/ReferenceDesigns/ReferenceDesign03/SPISlaveController)使用说明,及参考IP下载 | + | 由于小程序不能显示外链,因此在这个页面只有最基础的简单信息,要获取关于SPI更完整的设计资源,请到电子森林网站 - www.eetree.cn,有专门讲述SPI总线的栏目。 |
- | * Lattice Semi官网的[用于嵌入式功能块中的SPI从外设](http://www.latticesemi.com/en/Products/DesignSoftwareAndIP/IntellectualProperty/ReferenceDesigns/ReferenceDesign03/SPISlavePeripheralusingEmbeddedFunctionBlock)使用说明,及参考IP下载 | + | </WRAP> |
- | * Lattice Semi官网的[SPI从设备到PWM的发生器](http://www.latticesemi.com/en/Products/DesignSoftwareAndIP/IntellectualProperty/ReferenceDesigns/ReferenceDesign03/SPISlavetoPWMGeneration)使用说明,及参考IP下载 | + |