16串行外围设备接口(SPI)控制器
16.1 概述
SPI是英文“Serial Peripheral Interface”的缩写,中文意思是串行外围设备接口,SPI是Motorola公司推出的一种同步串行通讯方式,是一种三线同步总线,因其硬件功能很强,与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。 SPI接口是Motorola 首先提出的全双工三线同步串行外围接口,采用主从模式(Master Slave)架构;支持多slave模式应用,一般仅支持单Master。时钟由Master控制,在时钟移位脉冲下,数据按位传输,高位在前,低位在后(MSB first);SPI接口有2根单向数据线,为全双工通信,目前应用中的数据速率可达几Mbps的水平。 SPI接口主要应用在 EEPROM、FLASH、实时时钟、AD转换器,还有数字信号微控制器和数字信号解码器之间。SPI是一种高速的、全双工、同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,比如ATMEGA16、LPC2142、S3C2440。
SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,需要至少4根线,事实上3根也可以(单向传输时)也是所有基于SPI的设备共有的,它们是MISO(数据输入)、MOSI(数据输出)、SCK(时钟)、CS(片选)。 串行外围设备接口(SPI)是一个工作于全双工模式下的同步串行数据通讯协议。设备通过4线双端接口工作于主机/从机模式进行通讯。NuMicro M051系列包括最多2组SPI控制器,将从外设接收到的数据进行串并转换, 或将要发送到外设的数据进行并串转换。每组SPI控制器都可被设置成主机;也可设置为被片外主机设备控制的从机。
16.2 特性l 最多两组SPI控制器 l 支持主/从机模式 l 可配置比特长度,一个传输字最多可达32比特;可配置的传输字数,一次最多可传输2个字,所以一次数据传输的最大比特长度是64比特 l 支持burst操作模式,在一次传输过程中,发送/接收可执行两次字传输 l 支持MSB 或 LSB 优先传输 l 字节或字休眠模式 l 主机模式下可输出多种串行时钟频率 l 主机模式下支持两个可编程的串行时钟频率
SPI通信有以下特点: ① 主机控制具有完全的主导地址。它决定着通信的速度,也决定着何时可以开始和结束一次通信,从机只能被动响应主机发起的传输。 ② SPI通信是一种全双工高速的通信方式。从通信的任意一方来看,读操作和写操作都是同步完成的。 ③ SPI的传输始终是在主机控制下,进行双向同步的数据交换。
|