SPI总线工作方式简介

发布者:技术掌门最新更新时间:2011-07-20 关键字:SPI总线 手机看文章 扫描二维码
随时随地手机看文章
  SPI是由美国摩托罗拉公司最先推出的一种同步串行传输规范,也是一种单片机外设芯片串行扩展接口。

SPI模式可以允许同时同步发送和接收8位数据,并支持4种工作方式:

1.串行数据输出,对应RC5/SDO引脚;

2.串行数据输入,对应RC4/SDI/SDA引脚;

3.串行时钟,对应RC3/SCK/SCL引脚;

4.从动方式选择,对应RA5/SS/AN4引脚。

SPI模式下与之相关的寄存器有10个,其中4个是与I2C模式共用的。

图1所示是由一个主机对接一个从机进行全双工通信的系统构成的方式。在该系统中,由于主机和从机的角色是固定不变的,并且只有一个从机,因此,可以将主机的丽端接高电平,将从机的SS端固定接地。

  图1 全双工主机/从机连接方法   

若干个具备SPI接口的单片机和若干片兼容SPI接口的外围芯片,可以在软件的控制下,构成多种简单或者复杂的应用系统,例如以下3种。

(1)一个主机和多个从器件的通信系统。

如图2所示,各个从器件是单片机的外围扩展芯片,它们的片选端SS分别独占单片机的一条通用I/O引脚,由单片机分时选通它们建立通信。这样省去了单片机在通信线路上发送地址码的麻烦,但是占用了单片机的引脚资源。当外设器件只有一个时,可以不必选通而直接将SS端接地即可。

  图2 一个主机扩展多个外围器件   

(2)几个单片机互相连接构成多主机通信系统。 

图3所示为3个既可以当做主机也可以当做从机的单片机组成的系统。

  图3 多主机通信系统连接方法   

(3)主机、从机和从器件共同组成的应用系统。

图4所示为一个主机、一个从机和多片外设芯片组成的应用系统。这些外设芯片有的只接收来自单片机信息,有的只向单片机提供信息,还有的既接收也发送信息。

  

图4主机、从机和从器件互连

关键字:SPI总线 引用地址:SPI总线工作方式简介

上一篇:SPI总线的程序设计
下一篇:SSI接口技术及其在音频处理中的应用

推荐阅读最新更新时间:2024-05-02 21:29

SPI总线时序分析
       SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。        主机控制CLK,在CLK低电平期间,主机把数据送到MOSI上,从机在CLK上升沿后,就是CLK高电平期间读MOSI上的数据。从机在CLK高电平期间把数据送到MISO上,主机在CLK下降沿后,就是低电平期间读MISO上的数据。这样用两根线就可以实现全双工通讯。        SPI接口有四种不同的数
[嵌入式]
虚拟SPI在XF-S4240与MCS51通信中的应用
  SPI 总线技术是Motorola公司推出的一种同步串行接口。它可以使MCU与各种外围设备以串行方式进行通信以交换信息,并且硬件连接较少,编程方便。 SPI接口已经是一种标准外设接口,目前已有很多MCU及外设都带有SPI接口。MCS51虽然也有带SPI接口的单片机——AT89S8252,但价格相对较高。在开发基于RFID的自助语音导游系统中,由于RFID读卡模块带有SCI接口,XF-S4240语音合成模块带有SCI及SPI接口,如采用不带有SPI接口的AT89C51单片机,必然存在扩展接口的问题。本文介绍的C51软件模拟实现SPI通信接口的方法,编程简单,有效降低了系统的成本。该方法已在项目开发中得到了验证。   1 语音
[单片机]
SPI总线测试和分析
1、SPI总线简介 SPI(Serial Peripheral Interface--串行外设接口)总线系统是一种同步串行外设接口,它可以使MCU与各种外围设备以串行方式进行通信以交换信息,20世纪80年代由Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI总线系统可直接与各个厂家生产的多种标准外围器件直接接口,该接口一般使用4条线:串行时钟线(SCLK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT、有的SPI接口芯片
[测试测量]
<font color='red'>SPI总线</font>测试和分析
74HC595使用SPI总线连接51单片机的驱动程序
函数名称: HC595SendData //8位串行输入/输出,并行输出 功能描述: 向SPI总线发送数据 这里只说明并行输入的一般情况 管脚描述:请参考相关的芯片资料 void HC595SendData(unsigned int SendVal) { unsigned char i; for(i=0;i 8;i++) { if((SendVal i)&0x80) MOSIO=1; // set dataline high //若输入最高位为1,则令串行输入为1,反之输入0 else MOSIO=0; S_CLK=0; //上升沿输入每一位 NOP(); //datasheet给
[单片机]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved