精华内容
下载资源
问答
  • SPI 串行外设接口

    千次阅读 2017-09-30 11:37:38
    SPI(Serial Peripheral Interface–串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。在主器件的移位脉冲下,数据按位传输,低位在前,高位在后。 SPI总线可...

    基本概念

    • Motorola首先在其MC68HCXX系列处理器上定义的

    • SPI(Serial Peripheral Interface–串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息。在主器件的移位脉冲下,数据按位传输,低位在前,高位在后。

    • SPI总线可直接与各个厂家生产的多种标准外围器件相连,包FLASH、EEPROM、网络控制器、LCD显示驱动器、A/D转换器和MCU等。

    • 该接口一般使用4条线:

      • 串行时钟线(SCLK)
      • 主机输入/从机输出数据线MISO
      • 主机输出/从机输入数据线MOSI
      • 低电平有效的从机选择线NSS
        有的SPI接口芯片带有中断信号线INT、有的 SPI接口芯片没有主机输 出/从机输入数据线MOSI
    • SPI有三个寄存器分别为:控制寄存器SPCR,状态寄存器SPSR,数据寄存器SPDR。

    接口信号

    • 一主一从

    这里写图片描述

    • 一主多从

    这里写图片描述
    MOSI – 主器件数据输出,从器件数据输入
    MISO – 主器件数据输入,从器件数据输出
    SCLK –时钟信号,由主器件产生,最大为fPCLK/2,从模式频率最大为fCPU/2
    NSS – 从器件使能信号,由主器件控制,有的IC会标注为CS (Chip select)

    • 在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。在多个从器件的系统中,每个从器件需要独立的使能信号,硬件上比I2C系统要稍微复杂一些。

    • SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。如下图所示,在SCLK的上升沿上数据改变,同时一位数据被存入移位寄存器。

    工作模式

    SPI有四种工作模式,各个工作模式的不同在于SCLK不同, 具体工作由CPOL,CPHA决定
    CPOL: (Clock Polarity),时钟极性
    1. 当CPOL为0时,时钟空闲时电平为低;
    2. 当CPOL为1时,时钟空闲时电平为高;
    CPHA:(Clock Phase),时钟相位
    1. 当CPHA为0时,时钟周期的上升沿采集数据,时钟周期的下降沿输出数据;
    2. 当CPHA为1时,时钟周期的下降沿采集数据,时钟周期的上升沿输出数据;

    CPOL和CPHA,分别都可以是0或时1,对应的四种组合时序图如下:

    这里写图片描述

    优点

    全双工通信,数据传输速度总体来说比I2C总线要快,速度可达到几Mbps。信号线少,协议简单,相对数据速率高。

    缺点

    没有指定的流控制,没有应答机制确认是否接收到数据。

    展开全文
  • SPI串行外设接口

    2018-10-25 21:46:49
    SPI串行外设接口,可用来接ADC/SRAM/DAC等, SPI 是一种同步、全双工、串行通信方式,数据的发送或接受根据时钟的上升沿或者下降沿, 主机和从机可以同时进行数据收发。 SPI接口可以是四线也可以是三线,三线其实...

    总结来源:http://www.sohu.com/a/271099924_292853

    SPI串行外设接口,可用来接ADC/SRAM/DAC等,

    SPI 是一种同步、全双工、串行通信方式,数据的发送或接受根据时钟的上升沿或者下降沿,

    主机和从机可以同时进行数据收发。

    SPI接口可以是四线也可以是三线,三线其实是半双工MOSI和MISO合并成一条SIO

    SPI主机只有一个,从机可以有多个,通过片选信号来选择哪个从机通信

    SPI

    CS  从机的片选信号,低电平有效,
    CLK 时钟信号

    MOSI 主机输出/从机输入

    MISO 主机输入/从机输出

    产生CLK信号的是主机

    数据通信:

    在通信时,主机必须产生时钟信号,并且CS选中从机,4线是全双工,主机和从机可以同时发送数据,数据发送

    (串行移出道MOSI或SDO)或者接受(采样或读入MISO或SDI上的数据)可以同时进行,可以选择上升沿还是下降沿

    移出或采样数据。如下表

    如下图是模式0

    du

    多从机模式 ——常规模式

    多从机模式——菊花链方式

    可以降低片选信号数目,但是增加了传输时间

     

     

     

     

    展开全文
  • 串行外设接口SPI模块

    千次阅读 2019-12-03 16:40:36
    串行外设接口SPI是原摩托罗拉公司推出的一种同步串行通讯接口,用于微处理器和外围扩展芯片之间的串行连接,目前已发展为一种工业标准。 目前各半导体公司推出大量带SPI接口的芯片,为用户的外围扩展提供灵活和...

    SPI的基本概念

    串行外设接口SPI是原摩托罗拉公司推出的一种同步串行通讯接口,用于微处理器和外围扩展芯片之间的串行连接,目前已发展为一种工业标准。

    目前各半导体公司推出大量带有SPI接口的芯片,为用户的外围扩展提供灵活和廉价的选择。

    SPI一般使用4条线:串行时钟线SCK、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和从机选择线SS。

    主机与从机:一个SPI系统,由一个主机和一个或多个从机构成,主机启动一个与从机的同步通讯,从而完成数据的交换。提供SPI串行时钟线的SPI设备称为SPI主机或主设备,其他设备则称为SPI从机或从设备。

    主出从入引脚MOSI与主入从出引脚MISO:

    主出从入引脚MOSI即主机输出、从机输入数据线。

    主入从出引脚MISO即主机输入、从机输出数据线。

    SPI串行时钟引脚SCK:

    控制主机与从机之间的数据传输。串行时钟信号由主机的内部总线时钟分频获得,主机的SCK引脚输出给从机的SCK引脚,控制整个数据的传输速度。

    时钟极性与时钟相位:

    时钟极性表示时钟信号在空闲时是高电平还是低电平。

    时钟相位表示时钟信号SCK的第一个边沿出现在第一位数据传输周期的开始位置还是中央位置。

    从机选择引脚SS:

    一些芯片带有从机选择引脚SS,也称为片选引脚。若一个MCU的SPI工作于主机方式,则该MCU的引脚设为高电平。若一个MCU的SPI工作于从机方式,当SS=0时表示主机选中了该从机,反之则未选中该从机。

    SPI的数据传输原理

    一个SPI的基本连接图

    从主机CPU发出启动传输信号开始,将要传输的信号装入8位移位寄存器,并同时产生8位时钟信号依次从SCK引脚送出。在SCK信号的控制下,主机中8位移位寄存器中的数据一次从MOSI引脚送出,到从机的MOSI引脚后送入他的8位移位寄存器;在此过程中,从机的数据也可通过MISO引脚传送到主机中。 

    SPI的时序

    SPI的数据传输是在时钟信号SCK的控制下完成的,该过程涉及时钟极性和时钟相位,主机和从机必须使用一致的时钟极性和相位才能正常通信,

    对时钟极性于时钟相位的设置总体要求:

    确保发生数据在一周期开始的时刻上线,接收方在½周期的时刻从线上取数,这样是最稳定的通信方式。

    对发送方编程必须明确要求:

    接收方要求的时钟空闲电平是高电平还是低电平;接收方在时钟的上升沿取数还是下降沿取数。

    时钟极性由CPOL控制,时钟相位由CPHA来控制。二者结合起来共有四种可能取值情况。

    一、当CPOL=0,CPHA=0时

    设置CPOL=0,表征空闲电平位低电平,然后设置CPHA=0,表征第一位数据提前半个时钟周期上线,这样设置保证了逐句与从机之间采用同样的时钟极性和时钟相位,才能正常通信。

    二、当CPOL=0,CPHA=1时

    三、当CPOL=1,CPHA=0时

    四、当CPOL=1,CPHA=1时

    SPI驱动构件及使用方法

    初始化函数,发送一个字节函数,发送n个字节函数,接收一个字节函数,接收n个字节函数,关接收中断函数,开接收中断函数

    SPI构件使用方法:

    第一步:在SPI驱动构件头文件中宏定义引脚组

    第二步:在主函数main中,初始化SPI模块,具体的参数包括SPI所用的口号,波特率,时钟极性,时钟相位;

    第三步:开SPI1的接收中断

    第四步:在主循环中,通过SPI发送一个字节函数,把一个字节数据通过主机发送出去,然后把数据加一

    第五步:在中断函数服务例程中,通过SPI1:接收中断服务程序,接收主机发送过来的一个字节数据,然后就可以通过串口把接收到的数据发送到PC机。

    即可实现主机从机通信,

    实现简单的SPI数据传输主要涉及的寄存器:

    控制寄存器(SPI0_C1):用于设置SPI中断使能,SPI使能,主/从模式的选择,时钟极性和时钟相位的配置

    控制寄存器(SPII0_C2):用于硬件匹配中断功能使能和主模式故障功能使能的设置

    波特率寄存器(SPI0_BR):用于为一个主机设定预定标器和位速率分频因子

    状态寄存器(SPI0_S):用于判断SPI接收和发送缓冲区是否已满

    数据寄存器(SPI0_D):主要完成数据的传输。读该寄存器返回接收寄存器中的数据,写该寄存器,把数据写入发送寄存器。

     

    嵌入式技术基础与实践(第4版)

     

    展开全文
  • 串行外设接口(SPI)

    千次阅读 2019-10-07 10:18:26
    串行外设接口SPI学习笔记SPI简介SPI 特征SPI接口SPI功能描述SPI概述举例说明 SPI简介 SPI 是英语 Serial Peripheral interface 的缩写,顾名思义就是串行外围设备接口。是 Motorola首先在其 MC68HCXX 系列处理器上...

    SPI简介

    SPI 是英语 Serial Peripheral interface 的缩写,顾名思义就是串行外围设备接口。是 Motorola首先在其 MC68HCXX 系列处理器上定义的。 SPI 接口主要应用在 EEPROM, FLASH,实时时钟, AD 转换器,还有数字信号处理器和数字信号解码器之间。 SPI 是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为 PCB 的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。
    串行外设接口(SPI)允许芯片与外部设备以半/全双工、同步、串行方式通信。此接口可以被配置成主模式,并为外部从设备提供通信时钟(SCK)。接口还能以多主配置方式工作。它可用于多种用途,包括使用一条双向数据线的双线单工同步传输,还可使用CRC校验的可靠通信。

    SPI 特征

    ● 3线全双工同步传输
    ● 带或不带第三根双向数据线的双线单工同步传输
    ● 8或16位传输帧格式选择
    ● 主或从操作
    ● 支持多主模式
    ● 8个主模式波特率预分频系数(最大为fPCLK/2)
    ● 从模式频率 (最大为fPCLK/2)
    ● 主模式和从模式的快速通信
    ● 主模式和从模式下均可以由软件或硬件进行NSS管理:主/从操作模式的动态改变
    ● 可编程的时钟极性和相位
    ● 可编程的数据顺序, MSB在前或LSB在前
    ● 可触发中断的专用发送和接收标志
    ● SPI总线忙状态标志
    ● 支持可靠通信的硬件CRC
    ─ 在发送模式下, CRC值可以被作为最后一个字节发送

    SPI接口

    ─ 在全双工模式中对接收到的最后一个字节自动进行CRC校验
    ● 可触发中断的主模式故障、过载以及CRC错误标志
    ● 支持DMA功能的1字节发送和接收缓冲器:产生发送和接受请求

    SPI功能描述

    SPI概述

    SPI框图见下图:
    在这里插入图片描述
    通常SPI通过4个引脚与外部器件相连:
    ● MISO:主设备输入/从设备输出引脚。该引脚在从模式下发送数据,在主模式下接收数据。
    ● MOSI:主设备输出/从设备输入引脚。该引脚在主模式下发送数据,在从模式下接收数据。
    ● SCK:串口时钟,作为主设备的输出,从设备的输入
    ● NSS:从设备选择。这是一个可选的引脚,用来选择主/从备。它的功能是用来作为“片选引脚”,让主设备可以单独地与特定从设备通讯,避免数据线上的冲突。从设备的NSS引脚可以由主设备的一个标准I/O引脚来驱动。一旦被使能(SSOE位), NSS引脚也可以作为输出引脚,并在SPI处于主模式时拉低;此时,所有的SPI设备,如果它们的NSS引脚连接到主设备的NSS引脚,则会检测到低电平,如果它们被设置为NSS硬件模式,就会自动进入从设备状态。当配置为主设备、 NSS配置为输入引脚(MSTR=1, SSOE=0)时,如果NSS被拉低,则这个SPI设备进入主模式失败状态:即MSTR位被自动清除,此设备进入从模式 。

    举例说明

    下图是一个单主和单从设备互连原理 :
    在这里插入图片描述
    1. 这里NSS引脚设置为输入
    MOSI脚相互连接, MISO脚相互连接。这样,数据在主和从之间串行地传输(MSB位在前)。通信总是由主设备发起。主设备通过MOSI脚把数据发送给从设备,从设备通过MISO引脚回传数据。这意味全双工通信的数据输出和数据输入是用同一个时钟信号同的;时钟信号由主设备通过SCK脚提供。
    2.从选择(NSS)脚管理
    2种NSS模式:
    ● 软件NSS模式:可以通过设置SPI_CR1寄存器的SSM位来使能这种模式(见图211)。在这种模式下NSS引脚可以用作它用,而内部NSS信号电平可以通过写SPI_CR1的SSI位来驱动
    ● 硬件NSS模式,分两种情况:
    ─ NSS输出被使能:当STM32F10xxx工作为主SPI,并且NSS输出已经通过SPI_CR2寄存器的SSOE位使能,这时NSS引脚被拉低,所有NSS引脚与这个主SPI的NSS引脚相连并配置为硬件NSS的SPI设备,将自动变成从SPI设备。当一个SPI设备需要发送广播数据,它必须拉低NSS信号,以通知所有其它的设备它是主
    设备;如果它不能拉低NSS,这意味着总线上有另外一个主设备在通信,这时将产生一个硬件失败错误(Hard Fault)。
    ─ NSS输出被关闭:允许操作于多主环境。
    注意事项:

    1. 在改变CPOL/CPHA位之前,必须清除SPE位将SPI禁止。
    2. 主和从必须配置成相同的时序模式。
    3. SCK的空闲状态必须和SPI_CR1寄存器指定的极性一致(CPOL为’1’时,空闲时应上拉SCK为
      高电平; CPOL为’0’时,空闲时应下拉SCK为低电平)。
    4. 数据帧格式(8位或16位)由SPI_CR1寄存器的DFF位选择,并且决定发送/接收的数据长度
      数据时序图:在这里插入图片描述

    SPI内部结构简明图

    在这里插入图片描述
    SPI接口一般使用4条线通信:
    1、MISO 主设备数据输入,从设备数据输出。
    2、MOSI 主设备数据输出,从设备数据输入。
    3、SCLK时钟信号,由主设备产生。
    4、CS从设备片选信号,由主设备控制。

    SPI工作原理

    ① 硬件上为4根线。
    ② 主机和从机都有一个串行移位寄存器,主机通过向它的SPI串行寄存器写入一个字节来发起一次传输。
    ③ 串行移位寄存器通过MOSI信号线将字节传送给从机,从机也将自己的串行移位寄存器中的内容通过MISO信号线返回给主机。这样,两个移位寄存器中的内容就被交换。
    ④ 外设的写操作和读操作是同步完成的。如果只进行写操作,主机只需忽略接收到的字节;反之,若主机要读取从机的一个字节,就必须发送一个空字节来引发从机的传输。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    #在这里插入图片描述

    展开全文
  • 树莓派的接口 IO口:Input Ouput 对于主控芯片来说 Input:人体红外传感器,烟雾传感器,火焰传感器,震动传感器 Output: 继电器,蜂鸣器 PWM:电机调速,调整灯光明亮度 串口uart SPI IIS 其他特定硬件接口:flash...
  • arduino教程-9. 串行外设接口(spi)

    万次阅读 2019-04-22 08:48:07
    Arduino 串行外设接口 串行外设接口(SPI)总线是用于串行通信的系统,最多可使用四个导体,通常为三个。一个导体用于数据接收,一个导体用于数据发送,一个导体用于同步,另一个导体用于选择与之通信的设备。它是一...
  • 本手册主要介绍华为模块的外设接口特性与功能,包括 UART、PCM/I2S、I2C、GPIO、ADC 和 PCIe,并详细介绍了各特性的使用方法和注意事项。 适用对象:系统工程师、软件工程师。 UART 本章主要介绍华为模块 UART ...
  • 今天我们来一起聊聊谈谈SPI (Serial Peripheral Interface,串行外设接口); 什么是SPI SPI (Serial Peripheral Interface,串行外设接口)是Motorola 公司推出的一 种同步串行接口技术,是一种高速的,全双工...
  • 2. 同步外设接口(SPI)

    2013-03-05 17:58:53
    2. 同步外设接口  同步外设接口(SPI)是由摩托罗拉公司开发的全双工同步串行总线,该总线大量用在与EEPROM、ADC、FRAM和显示驱动器之类的慢速外设器件通信。 2-1、SPI通信  该总线通信基于主-从配置。它...
  • SPI是一种高速、全双工...由于SPI器件并不一定遵循同一标准,比如EEPROM、DAC、ADC、实时时钟及温度传感器等器件的SPI接口的时序都有所不同,为了能够满足不同的接口需要,采用时钟的极性和相位可配就能够调整SPi的通信
  • 串行外设接口(SPI)

    2010-12-10 15:36:00
    串行外设接口实质上是一个将串行传输数据位发送到其它SPI 的移位寄存器。数据传输时,一 个SPI 系统作为“主机”控制数据流,其它SPI 作为“ 从机'' ,主机控制数据的移入与移出。不 同的CPU 可轮流...
  • 串行外设接口SPI模块0 目录4 较复杂通信模块4.1 串行外设接口SPI模块4.1.1 课堂重点4.1.2 测试与作业5 下一章 0 目录 4 较复杂通信模块 4.1 串行外设接口SPI模块 4.1.1 课堂重点 4.1.2...
  • 总线接口外设

    千次阅读 2018-11-01 15:18:43
    个人小结:   1. 物理接口:用来传输数据的 ----&...3. 外设驱动程序的读写函数一般两个功能:  a:封装或者解析数据  b:调用控制器的读写函数完成数据的传输 4. 外设驱动程序的...
  • NXP i.MX8M系列开发板功是功能丰富的...i.MX8M系列MYD-JX8MX开发板正面,包括了众多资源和外设接口。背面,基本没有搭载元器件,主要是两个接口,一个是M.2规格的SSD接口,一个是MIPI接口,这应该是笔者见过的第一...
  • Atmega162串行外设接口SPI

    千次阅读 2011-10-17 16:24:04
    一、Atmega162的SPI接口基本概念与工作原理 SPI接口的全称是"Serial Peripheral Interface",意为串行外围接口。SPI主要使用4个信号:MOSI(master in slave out)、MISO(master out slave in
  • 外设、硬件与接口

    千次阅读 2017-03-07 09:56:41
    HDMI:高清多媒体接口;...MIPI(MIPI(移动产业处理器接口联盟))联盟给不同的外设接口定义了版本名,CSI(Camera Serial Interface)是 for Camera 的,DSI(Display Serial Interface) 是 for Di...
  • SPI是高速的,全双工,串行的,同步的通讯接口,是摩托罗拉公司推出的同步接口。主要用于与外设通讯的,SPI通常使用时是四根线(四个引脚),理论上使用三根就可以完成通讯(理论上片选信号线可以拿掉)。它可以把...
  • 单片机基本的外设通信接口

    千次阅读 2016-07-27 16:41:12
    SPI:SPI是串行外设接口(Serial Peripheral Interface)的缩写 I2C:Inter-Integrated Circui I2S:I2S(Inter—IC Sound)是用来传输音频的,对时钟要求非常严格。 CAN:CA控制器局域网络(Controll
  • STM32外设有哪些外设在总线上是怎么挂载的?

    万次阅读 多人点赞 2018-03-30 17:21:37
    一:STM32外设有哪些外设在STM32库文件的下面路径下:(STM32库:stm32f10x_stdperiph_lib)stm32f10x_stdperiph_lib\STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver1.MISC:把NVIC的外设...
  • 内存卡松动,导致假开机,外设接口没电(鼠标键盘没反应,hdmi输出不了)。查了半天才发现内存卡可能松动了。2.安装好gtx 1080之后,使用独立显卡的hdmi输出,而不是使用主板的hdmi输出。3.安装nvdia驱动367,再安装...
  • F28335第十一篇——串行外设接口(SPI)

    千次阅读 2019-11-20 10:03:10
    SPI作为高速串行接口,常用于DSP与外设或者DSP与DSP之间数据交换。F28335只有一个SPI模块。TI官方库中对应的结构体变量名称为: SpiaRegs 。 SPI寄存器不受EALLOW保护 。主要四根信号线,F28335给出两组GPIO提供...
  • Android Things:外设I/O接口-SPI

    千次阅读 2017-05-02 00:00:53
    一、接口简介串行外围接口(Serial Peripheral Interface)设备通常需要快速的数据传输速率。SPI适合高带宽使用情况,如外部非易失性存储器和图形...其它所有连接的外设被认为是Slaves。每个设备连接到同一组数据信号以
  • 一文读懂Android/iOS手机如何通过音频接口外设通信 0 背景 1 音频口通信特点 1.1 通用性强 1.2 速率低 1.3 小信号 2 手机音频口通信原理 2.1音频接口 2.2音频通信模型与信号组成 2.2.1通信模型 2.2.2...
  • 0背景 1.手机USB接口通信特点 - 1.1 使用方便 - 1.2 通用性强 - 1.3 速度快 - 1.4 可采用总线供电 2. 手机USB接口通信原理...3. 手机USB接口外设通信方案 - 3.1 USB(手机)USB(外设) - 3.1.1 USB Host简述
  • Android Things:外设I/O接口-UART

    千次阅读 2017-03-17 11:30:15
    一、接口简介 UART(Universal Asynchronous Receiver Transmitter)是用来和外围设备交互数据的通用接口,如GPS模块,LCD显示器,XBee收音机等复杂的外围设备,通常使用UART端口(通常简称为串行端口)来通信。 它...
  • Android Things:外设I/O接口-I2C

    千次阅读 2017-04-11 15:06:58
    一、接口简介内部集成电路(IIC或者I2C)总线使用小数据负载连接简单的外部设备。...控制时钟信号的设备被称为master,其它所有连接的外设被认为是Slaves,每个设备连接到同一组数据信号以形成总线。 I2C设备连接使用3
  • Android Things:外设I/O接口-GPIO

    千次阅读 2017-03-11 11:33:27
    一、接口简介 通用输入/输出(General Purpose Input/Output),简单的传感器使用这个API,如运动探测器、距离探测器,和电平开关使用一个二进制值-高或者低来报告它们的状态。 它引脚提供了可编程的接口,来读取二...
  • 查看了一些资料,我对单片机、接口电路和外设之间的关系了自己的理解,不知是否正确。如果说一个单片机芯片具有哪些功能(比如带串口和定时器功能),则单片机内部肯定具有这些功能的电路或者器件,他们在单片机...
  • 为什么外设一定要通过 I/O 接口与 CPU 相连? 为什么外设一定要通过 I/O 接口与 CPU 相连?

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 58,887
精华内容 23,554
关键字:

外设接口有哪些