【Cortex-M0】16串行外围设备接口(SPI)控制器

27 篇文章 0 订阅
27 篇文章 0 订阅
 

16.1 概述

SPI是英文“Serial Peripheral Interface”的缩写,中文意思是串行外围设备接口,SPIMotorola公司推出的一种同步串行通讯方式,是一种三线同步总线,因其硬件功能很强,与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。

SPI接口是Motorola 首先提出的全双工三线同步串行外围接口,采用主从模式(Master Slave)架构;支持多slave模式应用,一般仅支持单Master。时钟由Master控制,在时钟移位脉冲下,数据按位传输,高位在前,低位在后(MSB first);SPI接口有2根单向数据线,为全双工通信,目前应用中的数据速率可达几Mbps的水平。

SPI接口主要应用在 EEPROMFLASH、实时时钟、AD转换器,还有数字信号微控制器和数字信号解码器之间。SPI是一种高速的、全双工、同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,比如ATMEGA16LPC2142S3C2440
   SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)也是所有基于SPI的设备共有的,它们是MISO(数据输入)、MOSI(数据输出)、SCK(时钟)、CS(片选)。

串行外围设备接口(SPI)是一个工作于全双工模式下的同步串行数据通讯协议。设备通过4线双端接口工作于主机/从机模式进行通讯。NuMicro M051系列包括最多2SPI控制器,将从外设接收到的数据进行串并转换或将要发送到外设的数据进行并串转换。每组SPI控制器都可被设置成主机;也可设置为被片外主机设备控制的从机。

 

16.2 特性

l 最多两组SPI控制器 

l 支持主/从机模式 

l 可配置比特长度,一个传输字最多可达32比特;可配置的传输字数,一次最多可传输2个字,所以一次数据传输的最大比特长度是64比特 

l 支持burst操作模式,在一次传输过程中,发送/接收可执行两次字传输 

l 支持MSB 或 LSB 优先传输 

l 字节或字休眠模式  

l 主机模式下可输出多种串行时钟频率 

l 主机模式下支持两个可编程的串行时钟频率 

 

SPI通信有以下特点:

① 主机控制具有完全的主导地址。它决定着通信的速度,也决定着何时可以开始和结束一次通信,从机只能被动响应主机发起的传输。

② SPI通信是一种全双工高速的通信方式。从通信的任意一方来看,读操作和写操作都是同步完成的。

③ SPI的传输始终是在主机控制下,进行双向同步的数据交换。

 

16.3 功能

    主机/从机模式 SPI控制器可通过设置SLAVE (SPI_CNTRL[18])被配置为主机或从机模式,来与片外SPI从机或主机设备通讯。在主机模式与从机模式下的应用框图如图16.3-1和图16.3-2所示。

 

图 16.3-1 SPI主机模式应用框图

 

 

图 16.3-2 SPI主机模式应用框图

l 从机选择 

在主机模式下,SPI控制器能通过从机选择输出脚SPISS驱动一个片外从机设备。从机模式下,片外的主机设备驱动从机选择信号通过SPISS输入到SPI控制器。在主机/从机模式下,从机选择信号的有效电平可以在SS_LVL位 (SPI_SSR[2])被编程为低有效或高有效,SS_LTRIG (SPI_SSR[4])配置从机选择信号SPISS 为电平触发或边沿触发。触发条件的选择取决于所连接的外围从机/主机的设备类型

 

l 从机选择 

    在主机模式下,SPI控制器能通过从机选择输出脚SPISS驱动一个片外从机设备。从机模式下,片外的主机设备驱动从机选择信号通过SPISS输入到SPI控制器。在主机/从机模式下,从机选择信号的有效电平可以在SS_LVL位 (SPI_SSR[2])被编程为低有效或高有效,SS_LTRIG (SPI_SSR[4])配置从机选择信号SPISS 为电平触发或边沿触发。触发条件的选择取决于所连接的外围从机/主机的设备类型。

 

…………………………

 

书籍名称:ARM Cortex-M0原理与应用实践

书籍下载地址:http://download.csdn.net/detail/k125008301/4070709

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

史提芬温

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值