SPI介绍_spi协议介绍

2020-02-28 其他范文 下载本文

SPI介绍由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“spi协议介绍”。

SPI总线学习

1、SPI总线速度:

波特率可以高达5Mbps,具体速度大小取决于SPI硬件。

例如,Xicor公司的SPI串行器件传输速度能达到5MHz;

ATMEL的AT45DB021B,20 MHz Max Clock Frequency;

LPC2214的SPI,最大数据位速率为输入时钟速率的1/8。

2、SPI简介:

同步外设接口(SPI)是由摩托罗拉公司开发的全双工同步串行总线,该总线 量用在与EEPROM、ADC、FLASH和显示驱动器之类的慢速外设器件通信。SPI(Serial Peripheral Interface)是一种串行同步通讯协议,由一个主 设备和一个或多个从设备组成,主设备启动一个与从设备的同步通讯,从而 完成数据的交换。通讯时,数据由MOSI输出,MISO 输入,数据在时钟的上 升或下降沿由MOSI 输出,在紧接着的下降或上升沿由MISO 读入,这样经过 8/16 次时钟的改变,完成8/16 位数据的传输。

在一次数据传输过程中,接口上只能有一个主机和一个从机能够通信。并且,主机总是向从机发送一个字节数据,而从机也总是向主机发送一个字节数据。该总线通信基于主-从配置。它有4个信号:

MOSI:主出/从入

MISO:主入/从出

SCK:串行时钟

SS:从属选择。即CS(从使能信号),CS 决定了唯一的与主设 备通信的从设备,如没有CS 信号,则只能存在一个从设备,主设备 通过产生移位时钟来发起通讯。

在SPI传输中,数据是同步进行发送和接收的。数据传输的时钟基于来自主处理器的时钟脉冲,摩托罗拉没有定义任何通用SPI的时钟 规范。然而,最常用的时钟设置基于时钟极性(CPOL)和时钟相位(CPHA)两个 参数,CPOL定义SPI串行时钟的活动状态,而CPHA定义相对于SO-数据位的 时钟相位。CPOL和CPHA的设置决定了数据取样的时钟.3、例子:

LPC2214有两个SPI接口。

SPI 从机选择信号是一个低有效信号,用于指示被选择参与数据传输的从机。每个从机都有各自特定的从机选择输入信号。在数据处理之前,SSEL 必须为低电平并在整个处理过程中保持低电平。如果在数据传输中SSEL 信号变 为高电平,传输将被中止。这种情况下,从机返回到空闲状态并将任何接收到 的数据丢弃。对于这样的异常没有其它的指示。该信号不直接由主机驱动。可 通过软件使用一个通用I/O 口来驱动。

注:配置为SPI 主机的LPC2114/2124/2212/2214 必须选择一个合适的管脚用作 SSEL 功能并使其保持高电平,只有这样,器件才能真正执行主机的功能。

例程:XFT-8001部分SPI软体;

/*----定义SPI相关控制器的控制位(SPCR)----*/

#defineMSTR BIT5/*-----主模式控制----#defineBIT50x00000020*/ #define CPOLBIT4/*-----时钟极性控制----#define BIT40x00000010*/ #defineCPHA BIT3/*-----时钟相位控制----*/

#defineLSBF BIT6/*-----移位方向控制----*/

#defineSCKP0_4/*------串行时钟-------*/

#defineMISO P0_5/*------主入从出-------*/

#defineMOSI P0_6/*------主出从入------*/

#defineSSEL_ADP0_16/*----从机选择SPI脚---*/

#define FLASH_CS P0_19

void SpiInit(uint8 x)

{

switch(x)

{

case FLASHSPI://按照flash的要求初始化SPIS0SPCCR = 0x00000036;//约400KHz的时钟频率S0SPCCR=Fpclk/SPI频率S0SPCR= MSTR;//主控制器,模式选择0break;

case SDSPI://按照SD卡的要求初始化SPI

S0SPCCR= 0x0000000E;

S0SPCR= MSTR;

break;

case HC595SPI://按照595的要求初始化SPIbreak;

}

}

/*****************************************************************

******

** 函数名称: SpiSendData()

** 功能描述:用SPI总线发送数据,由于SPI的特点,SPI在发送数据的时候,也在接收数据;如果仅仅要求接收数据,也要发送数据,不然没有SCK时钟

** 输 入:x:SPI将要发送的数据

** 输 出:返回接收的数据

** 全局变量:无

** 调用模块:无

** 日 期:2006年11月12日

************************************/

uint8 SpiSendData(uint8 x)

{ S0SPDR = x;

while((S0SPSR&0x80)==0);

return S0SPDR;

}

/*************************

** 函数名称: EraseFlashBlock()

** 功能描述:擦除单个block的数据, 可以擦除器件中的任何一个指

定编号的block块,完成擦除之后要读取状态位来判断是否擦除完毕 **在片选信号CS的上升沿开始擦除

** 输 入:addr:要擦除的块编号,对于AT45DB021B而言,范围

从0~127

** 输 出:无

** 全局变量:无

** 调用模块:无

** 日 期:2007年5

SPI全面介绍以及学习心得

SPI基础介绍 SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,......

cpi和spi是什么意思

刀豆文库小编为你整合推荐3篇cpi和spi是什么意思,也许这些就是您需要的文章,但愿刀豆文库能带给您一些学习、工作上的帮助。......

cpi和spi是什么意思

SPI:进度绩效指标,挣值与计划价值之比。反映了项目团队利用时间的效率。CPI:成本绩效指标,指预算费用与实际费用之比。。反映了项目团队利用资金的效率。扩展资料项目管理计算中......

spi是什么意思的缩写

SPI是串行外设接口(Serial Peripheral Interface)的缩写。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提......

SPI接口软件模拟研究论文

文 章来源 莲山 课 件 w w w.5Y k J.c oM 软件模拟引言随着信息社会的发展,网络和信息家电越来越地出现在人们的生活中。人们普通要求将家庭内的所有家用电器与Internet连接......

《SPI介绍.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
SPI介绍
点击下载文档
相关专题 spi协议介绍 SPI spi协议介绍 SPI
[其他范文]相关推荐
[其他范文]热门文章
下载全文