0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

英创信息技术SPI接口协议简介与分析

英创信息技术 来源:英创信息技术 作者:佚名 2019-11-01 09:22 次阅读

SPI总线介绍

SPI(Serial Peripheral Interface,串行外设接口)是由Motorola提出的一种全双工同步串行通信接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息,通信波特率可以高达5Mbps。SPI接口主要应用在EEPROM、FLASH、实时时钟网络控制器、LCD显示驱动器AD转换器数字信号处理器、数字信号解码器等设备之间。

SPI接口一般使用4条线:

(1)MOSI:主设备数据输出,从设备数据输入

(2)MISO:主设备数据输入,从设备数据输出

(3)SCLK:时钟信号,由主设备产生

(4)NSS:从设备使能信号,由主设备控制

SPI设备连接示意图

SPI接口主要优点:

●支持全双工操作

●操作简单

●数据传输速率较高

SPI接口主要缺点:

●需要占用主机较多的线(每个从机都需要一条片选线)

●只支持单个主机

●没有指定的流控制

●没有应答机制确认是否接收到数据

SPI接口工作特点

1、SPI接口采用主-从模式(Master-Slave)控制方式

两个SPI设备之间的通信必须由主设备(Master)来控制从设备(Slave)。主设备可以通过提供时钟信号以及对从设备进行片选来控制多个从设备。从设备本身并不产生时钟信号,其时钟信号由主设备提供。

2、SPI接口采用同步方式(Synchronous)传输数据

主设备会根据将要交换的数据来产生相应的时钟脉冲,时钟脉冲组成时钟信号,时钟信号通过时钟极性和时钟相位控制两个SPI设备间何时数据交换以及何时对接收到的数据进行采样, 来保证数据在两个设备之间是同步传输的。

SPI有四种数据传输模式,如下表所示,主要差别在于:输出串行同步时钟极性(CPOL)和相位(CPHA)可以进行配置。

SPI mode CPOL CPHA Comments
0 0 0 时钟的空闲状态为低电平;上升沿采样
1 0 1 时钟的空闲状态为低电平;下降沿采样
2 1 0 时钟的空闲状态为高电平;下降沿采样
3 1 1 时钟的空闲状态为高电平;上升沿采样


3、SPI接口数据交换(Data Exchanges)

SPI设备间的数据传输又被称为数据交换。SPI协议规定一个SPI设备不能在数据通信过程中仅仅只充当发送者或者接收者,在每个时钟周期内,SPI设备都会发送并接收一个bit大小的数据,相当于该设备有一个bit大小的数据被交换。

从设备要接收到主设备发过来的控制信号,必须在此之前能够被主设备访问,所以主设备必须首先对从设备进行片选。

在数据传输的过程中,每次接收到的数据必须在下一次数据传输之前进行采样。如果之前接收到的数据没有被读取,那么这些已经接收完成的数据将有可能会被丢弃,因此,应用程序一般都会在SPI传输完数据后进行读取。

SPI协议

SPI接口允许同时在两线(MOSI和MISO)发送和接收数据。时钟极性(CPOL)和时钟相位(CPHA)是定义SPI所使用的时钟格式的主要参数。根据时钟极性(CPOL),SPI时钟可以反转或不变。时钟相位(CPHA)用于改变采样相位。

如果CPHA=0,那么将于第一个时钟边沿进行数据采样。

如果CPHA=1,那么无论时钟边缘上升或下降,将于第二个时钟边沿进行数据采样。

脉冲传输前和完成后都保持在低电平状态,即CPOL=0。在第一个边沿(上升沿)采样数据,第二个边沿(下降沿)输出数据,即CPHA=0。

脉冲传输前和完成后都保持在低电平状态,即CPOL=0。在第二个边沿(下降沿)采样数据,第一个边沿(上升沿)输出数据,即CPHA=1。

脉冲传输前和完成后都保持在高电平状态,即CPOL=1。在第一个边沿(下降沿)采样数据,第二个边沿(上升沿)输出数据,即CPHA=0。

脉冲传输前和完成后都保持在高电平状态,即CPOL=1。在第二个边沿(上升沿)采样数据,第一个边沿(下降沿)输出数据,即CPHA=1。

SPI读数据时序:

SPI写数据时序:

SPI总线在英创主板平台上的应用

支持SPI接口的芯片都可以直接和英创主板连接,并执行相应的功能。历年来,大量用户使用英创主板进行SPI应用和数据处理,英创也累积了丰富的工程经验。下面整理出了英创网站发表的相关技术文档供用户参考。虽然有一些方案文档中提到的英创主板是较老的型号,用户在新产品开发的时候未必会使用这些老主板产品,但是文中的软硬件使用技巧、编程技巧和方法等技术细节,是值得用户参考或者直接使用的。

应用方案

EM9280系列SPI接口应用方案

使用方法与技巧

使用GPIO控制SPI接口的AD芯片 工控主板EM9160硬件SPI接口的应用
EM9170 SPI接口用户指南 基于SPI接口的大容量通用数据采集方案
JAVA操作英创主板SPI接口简介 多路SPI从设备连接方法

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6087

    浏览量

    35672
收藏 人收藏

    评论

    相关推荐

    支持Linux高级客户自行移植内核

    上市)  该项服务具体说明和实施流程参见:支持客户进行Linux移植  需要该服务的客户需与签订技术保密协议,并承诺严格履行协议
    发表于 01-18 13:52

    主板JAVA应用开发简介

    。  鉴于主板主要应用于工业控制和通信管理领域,所以提供的Java硬件支持包主要包括对以太网口、串口、CAN、GPIO、SPI、I2
    发表于 10-20 13:13

    JAVA操作主板SPI接口简介

    访问硬件资源,提供了Java硬件支持包,主要支持的工控接口有:以太网、串口、CAN、GPIO、SPI、I2C、RTC等。本文主要介绍使用Java语言调用
    发表于 10-20 13:16

    信息技术GPIO控制SPI接口的AD芯片简介

    在实际应用中,的嵌入式工控主板经常需要与客户外部扩展的AD芯片相连。一般来讲AD单元的扩展有两种方法,
    的头像 发表于 11-05 09:41 2340次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>GPIO控制<b class='flag-5'>SPI</b><b class='flag-5'>接口</b>的AD芯片<b class='flag-5'>简介</b>

    信息技术工控主板EM9160介绍

    的GPIO管脚来实现SPI通讯,有关这方面的技术方案的实现,可参考网站的《使用GPIO控制SPI接口
    的头像 发表于 01-14 11:16 1457次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>工控主板EM9160介绍

    信息技术EM9170 SPI接口用户指南简介

    1、功能描述 EM9170提供了一路硬件4线制SPI接口供用户使用,它的4条信号线与系统的GPIO复用,系统上电后,对应管脚默认为GPIO状态(详见《EM9170工控主板数据手册 》),当在应用程序
    的头像 发表于 01-14 14:51 1790次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>EM9170 <b class='flag-5'>SPI</b><b class='flag-5'>接口</b>用户指南<b class='flag-5'>简介</b>

    信息技术EM9280主板SPI访问TLC2543 AD示例

    EM9280工控主板带有半双工的硬件SPI,与SPI协议的芯片通信时比使用GPIO模拟时序更加简单方便。本文以TLC2543芯片为例,介
    的头像 发表于 01-17 08:58 2281次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>EM9280主板<b class='flag-5'>SPI</b>访问TLC2543 AD示例

    信息技术基于SPI接口的大容量通用数据采集方案

    处理数据传输,将会带来巨大的CPU负载,难以满足高速大容量数据采集的要求。通常,在数据容量比较大,采样率较高的场合,使用DMA技术将数据直接传输到内存,不经过CPU管理,是比较通用的方案。 公司针对
    的头像 发表于 02-05 10:24 1180次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>基于<b class='flag-5'>SPI</b><b class='flag-5'>接口</b>的大容量通用数据采集方案

    信息技术获取Linux主板型号的方法简介

    公司十余年来都专注于嵌入式工控主板的开发,推出了很多不同型号的产品,也和许多客户建立了长期的合作和信任。随着公司不断的对产品进行更新,推出性能越来越好的新产品,很多客户也对自己
    的头像 发表于 02-06 11:01 1350次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>获取<b class='flag-5'>英</b><b class='flag-5'>创</b>Linux主板型号的方法<b class='flag-5'>简介</b>

    信息技术JAVA操作主板SPI接口简介

    资源,提供了Java硬件支持包,主要支持的工控接口有:以太网、串口、CAN、GPIO、SPI、I2C、RTC等。本文主要介绍使用Java语言调用
    的头像 发表于 02-06 11:09 2018次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>JAVA操作<b class='flag-5'>英</b><b class='flag-5'>创</b>主板<b class='flag-5'>SPI</b><b class='flag-5'>接口</b><b class='flag-5'>简介</b>

    信息技术JAVA操作主板I2C接口简介

    资源,提供了Java硬件支持包,主要支持的工控接口有:以太网、串口、CAN、GPIO、SPI、I2C、RTC等。本文主要介绍使用Java语言调用
    的头像 发表于 02-06 11:06 1753次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>JAVA操作<b class='flag-5'>英</b><b class='flag-5'>创</b>主板I2C<b class='flag-5'>接口</b><b class='flag-5'>简介</b>

    信息技术CSI摄像头接口及在主板上的应用简介

    目前,公司在低成本核心板ESM6800的基础上,推出了支持摄像头的版本ESM6800V,ESM6800V是在ESM6800H的基础上,去掉了一路网口和6路扩展串口,增加了一路CSI(COMS
    的头像 发表于 02-06 11:13 2777次阅读

    信息技术多路SPI从设备连接方法简介

    SPI是串行外设接口(Serial Peripheral Interface)的缩写,SPI是高速的全双工同步通讯总线,公司的所有工控主
    的头像 发表于 02-07 10:28 3206次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>多路<b class='flag-5'>SPI</b>从设备连接方法<b class='flag-5'>简介</b>

    信息技术ESMARC工控主板升级简介

    规范定义了主板基本的机械指标,管脚功能。以ESM命名开头的工控主板都符合ESMARC规范,这些主板硬件管脚都是兼容的,用户可以在同一块应用底板上选用不同性能的主板,以满足不同现场应用的需要。 ESMARC规范在规划之初,其网络接口
    的头像 发表于 02-07 10:35 1734次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>ESMARC工控主板升级<b class='flag-5'>简介</b>

    信息技术基于主板快速构建整机应用方案简介

    公司的嵌入式工控主板配置了丰富的接口资源,利用这些资源经过简单的扩展就可快速构建出满足各种工业现场应用的整机设备。下图是以ESM68
    的头像 发表于 02-12 10:57 1428次阅读
    <b class='flag-5'>英</b><b class='flag-5'>创</b><b class='flag-5'>信息技术</b>基于<b class='flag-5'>英</b><b class='flag-5'>创</b>主板快速构建整机应用方案<b class='flag-5'>简介</b>