spi i2c uart总线

上传人:第*** 文档编号:49925122 上传时间:2018-08-04 格式:PPT 页数:56 大小:573KB
返回 下载 相关 举报
spi i2c  uart总线_第1页
第1页 / 共56页
spi i2c  uart总线_第2页
第2页 / 共56页
spi i2c  uart总线_第3页
第3页 / 共56页
spi i2c  uart总线_第4页
第4页 / 共56页
spi i2c  uart总线_第5页
第5页 / 共56页
点击查看更多>>
资源描述

《spi i2c uart总线》由会员分享,可在线阅读,更多相关《spi i2c uart总线(56页珍藏版)》请在金锄头文库上搜索。

1、SPI I2C UART 总线协议 简介SPI I2C UART 总线协议, 时序图,应用实例简介SPI总线概述SPI(Serial Parallel Bus)总线是Motorola公司 提出的一个同步串行外设接口,允许CPU 与各种 外围接口器件(包括模/数转换器、数/模转换器、 液晶显示驱动器等)以串行方式进行通信、交换信 息。他使用4条线:串行时钟线(SCK)、主机输入 /从机输出线(MISO)、主机输出/从机输入线 (MOSI)、低电平有效的使能信号线(CS)。这样, 仅需34根数据线和控制线即可扩展具有SPI接 口的各种I/O器件 其典型结构如图1所示。SPI总线电路示意图SPI总线

2、具有以下特点:(1)连线较少,简化电路设计。并行总线扩展 方法通常需要8根数据线、816根地址线 、23根控制线。而这种设计,仅需4根数据 和控制线即可完成并行扩展所实现的功能 。 (2)器件统一编址,并与系统地址无关,操作 SPI独立性好。 (3)器件操作遵循统一的规范,使系统软硬件 具有良好的通用性。SPI总线工作时序图SPI总线具体原理SPI是一个环形总线结构,由ss(cs)、SCK、MISO、 MOSI构成,其时序其实很简单,主要是在SCK的控制下 ,两个双向移位寄存器进行数据交换。假设下面的8位寄存器装的是待发送的数据10101010 ,上升沿发送、下降沿接收、高位先发送。那么第一个

3、上升沿来的时候 数据将会是MOSI=1; 寄存器=0101010x。下降沿到来的时候,MISO上的电 平将所存到寄存器中去,那么这时寄存器 =0101010MISO,这样在8个时钟脉冲以后,两个寄存 器的内容互相交换一次。这样就完成里一个SPI时序。SPI总线具体原理 例子:假设主机和从机初始化就绪:并且主机 的sbuff=0xaa,从机的sbuff=0x55,下面 将分步对spi的8个时钟周期的数据情况演示 一遍:假设上升沿发送数据SPI总线具体原理脉冲 主机sbuff 从机sbuff sdi sdo 0 10101010 01010101 0 0 1上 0101010x 1010101x

4、0 1 1下 01010100 10101011 0 1 2上 1010100x 0101011x 1 0 2下 10101001 01010110 1 0 3上 0101001x 1010110x 0 1 3下 01010010 10101101 0 1 4上 1010010x 0101101x 1 0 4下 10100101 01011010 1 0SPI总线具体原理5上 0100101x 1011010x 0 1 5下 01001010 10110101 0 1 6上 1001010x 0110101x 1 0 6下 10010101 01101010 1 0 7上 0010101x 1

5、101010x 0 1 7下 00101010 11010101 0 1 8上 0101010x 1010101x 1 0 8下 01010101 10101010 1 0SPI总线具体原理这样就完成了两个寄存器8位的交换,上面的上表 示上升沿、下表示下降沿,MISO、MOSI相对于 主机而言的。其中ss引脚作为主机的时候,从机 可以把它拉底被动选为从机,作为从机的是时候 ,可以作为片选脚用。根据以上分析,一个完整 的传送周期是16位,即两个字节,因为,首先主 机要发送命令过去,然后从机根据主机的名准备 数据,主机在下一个8位时钟周期才把数据读回来 !I2C总线I2C BUS(Inter In

6、tegrated Circuit BUS 内部集成电 路总线)是由Philips公司推出的二线制串行扩展总线。 I2C总线是具备总线仲裁和高低速设备同步等功能的高 性能多主机总线。由于其组成系统结构简单,无需专门 的母板和插座,直接用导线连接设备,通信时无需片选 信号,且具有这种总线的器件的价格比较便宜,故当今 已有广泛的应用前景。但目前应用很广的MCS51系列、 68HC05系列、AT89系列的单片机都不具有这种总线的接 口,很大程度上限制了它们的应用范围。本文介绍了这 种总线的通信标准,并给出了在8031上利用P1口实现 I2C总线的方法,及其软件模拟程序。 I2C总线概述 I2C总线使用

7、两根信号线来进行数据传输,一根是 串行数据线(SDA),另一根是串行时钟线(SCL)。它 允许若干兼容器件(如存储器、A/D和D/A转换器, 以及LED、LCD驱动器等)共享总线。I2C总线上理 论上可以允许的最大设备数,是以总线上所有器件 的电容总和不超过400pF为限(其中包括连线本身的 电容和与它连接端的引出电容),总线上所有器件 要依靠SDA发送的地址信号寻址,不需要片选线。 任何时刻总线只能由一个主器件控制,各从器件在 总线空闲时启动数据传送,由I2C总线仲裁来决定 哪个主器件控制总线。I2C总线概述I2C总线数据传输的最高速率为400Kbps, 标准速率为100Kbps。SDA与S

8、CL为双向I/O 线,都是开漏极端(输出1时,为高阻抗状态 )。因此I2C总线上的所有设备的SDA、SCL 引脚都要外接上拉电阻。I2C总线的协议 总线空闲:SCL和SDA都保持高电平。开始信号:SCL保持高电平的状态下,SDA出现下降沿。 出现开始信号以后,总线被认为“忙“。停止信号:SCL保持高电平的状态下,SDA出现上升沿。 停止信号过后,总线被认为“空闲“。总线忙: 在数据传送开始以后,SCL为高电平的时候, SDA的数据必须保持稳定,只有当SCL为低电平的时候才 允许SDA上的数据改变。(如图1)I2C总线的传送格式为主从式,对系统中的某一器件来说 有四种可能的工作方式:主发送方式,

9、从发送方式,主接 收方式,从接收方式。I2C总线原理2.1 总线的构成及信号类型 I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送 和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送, 最高传送速率100kbps。各种被控制电路均并联在这条总线上, 但就像电话机一样只有拨通各自的号码才能工作,所以每个电路 和模块都有唯一的地址,在信息的传输过程中,I2C总线上并接 的每一模块电路既是主控器(或被控器),又是发送器(或接收 器),这取决于它所要完成的功能。CPU发出的控制信号分为地 址码和控制量两部分,地址码用来选址,即接通需要控制的电路 ,确定控制的种类;控制量决定该调

10、整的类别(如对比度、亮度 等)及需要调整的量。这样,各控制电路虽然挂在同一条总线上 ,却彼此独立,互不相关。 I2C总线原理2.1 总线的构成及信号类型 I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送 和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送, 最高传送速率100kbps。各种被控制电路均并联在这条总线上, 但就像电话机一样只有拨通各自的号码才能工作,所以每个电路 和模块都有唯一的地址,在信息的传输过程中,I2C总线上并接 的每一模块电路既是主控器(或被控器),又是发送器(或接收 器),这取决于它所要完成的功能。CPU发出的控制信号分为地 址码和控制量两部分

11、,地址码用来选址,即接通需要控制的电路 ,确定控制的种类;控制量决定该调整的类别(如对比度、亮度 等)及需要调整的量。这样,各控制电路虽然挂在同一条总线上 ,却彼此独立,互不相关。 I2C 总线基本操作 I2C规程运用主/从双向通讯。器件发送数据到总 线上,则定义为发送器,器件接收数据则定义为 接收器。主器件和从器件都可以工作于接收和发 送状态。 总线必须由主器件(通常为微控制器) 控制,主器件产生串行时钟(SCL)控制总线的传 输方向,并产生起始和停止条件。SDA线上的数 据状态仅在SCL为低电平的期间才能改变,SCL为 高电平的期间,SDA状态的改变被用来表示起始 和停止条件。参见图1。

12、I2C总线时序图3.1 控制字节 在起始条件之后,必须是器件的控制字节,其 中高四位为器件类型识别符(不同的芯片类型有 不同的定义,EEPROM一般应为1010),接着三 位为片选,最后一位为读写位,当为1时为读操作 ,为0时为写操作。如图2所示。 3.2 写操作 写操作分为字节写和页面写两种操作 ,对于页面写根据芯片的一次装载的字节 不同有所不同。关于页面写的地址、应答 和数据传送的时序参见图3。 3.3 读操作 读操作有三种基本操作:当前地址读、随机 读和顺序读。图4给出的是顺序读的时序图。应当 注意的是:最后一个读操作的第9个时钟周期不是 “不关心”。为了结束读操作,主机必须在第9个周

13、期间发出停止条件或者在第9个时钟周期内保持 SDA为高电平、然后发出停止条件。 主发送从接收 主器件产生开始信号以后,发送的第一个字节为控 制字节。前七位为从器件的地址片选信号。最低位 为数据传送方向位 (高电平表示读从器件,低电平 代表写从器件),然后发送一个选择从器件片内地 址的字节,来决定开始读写数据的起始地址。接着 再发送数据字节,可以是单字节数据,也可以是一 组数据,由主器件来决定。从器件每接收到一个字 节以后,都要返回一个应答信号(ASK=0)。主器件 在应答时钟周期高电平期间释放SDA线,转由从器 件控制,从器件在这个时钟周期的高电平期间必须 拉低SDA线,并使之为稳定的低电平,

14、作为有效的 应答信号,如图2。从接收主发送在开始信号以后,主器件向从器件发送控 制字节。如果从器件接收到主器件发送来 的控制字节中的从地址片选信号与该器件 相对应,并且方向位为高电平(R/W=1),就 表示从器件将要发送数据。从器件先发送 一个应答信号(ASK=0)回应主器件,接着由 从器件发送数据到主器件。如果,在这个 过程之前,主器件发给从器件一个片内地 址选择信号,从接收主发送那么从器件发送的数据就从该地址开始发送;如 果在从器件接收到请求发送的控制信号以前,没 有收到这个地址选择信号,从器件就从最后一次 发送数据的地址开始发送数据。发送数据过程中 ,主器件每接收到一个字节都要返回一个应

15、答信 号ACK。若ACK=0(有效应答信号),那么从器件继 续发送;若ACK=1(停止应答信号),停止发送。 主器件可以控制从器件从什么地址开始发送,发 送多少字节。AT24C02与8031的接口及软件模拟AT24CXX系列芯片是采用了I2C总线标准的常用的 串行EEPROM存储芯片。我们以AT24C02为例来 介绍。AT24C02具有256 8(2K)Bit的存储容量,每 个字节可重复擦/写100万次,数据保存期大于100 年。AT24C02工作于从器件方式,页写的时候最 多可以写入8字节(当开始写入的从器件片内地址 为页首地址时)。也就是说,AT24C02每页有8字 节的容量,每次写入数据是从主器件发送来的片 内选择地址开始写入,如果写到页末尾,主器件 还在继续发送的话,不会自动转到下一页,而是 从该页的头地址开始继续写入,覆盖该页的原有 数据,而造成数据丢失。AT24C02与8031的接口及软件模 拟8031与AT24C02的接口电路原理图如图3,其中 P1.0用作SDA线,P1.1用作SCL线。A0-A2为从器 件地址选择线,总线上共可接8片AT24C02,故一 条I2C总线上共可以接16Kbit容量的这种型号的存 储器。每一片的有效地址引脚A2A1A0要按照 000111的顺序与Vcc或Vss相连。WP为写保护引 脚,由于AT24C02不具有写保护功能,所以

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号