I2C和SPI - 图文
更新时间:2023-12-04 05:45:01 阅读量: 教育文库 文档下载
- i2c和spi的区别推荐度:
- 相关推荐
SPI/I2C总线
虽然现实世界中的信号都是模拟信号,但是越来越多的模拟IC产品通过数字接口实现通讯。微处理器通过几条总线控制周边的设备,比如:模/数转换器(ADC),数/模转换器(DAC),智能电池,端口扩展,EEPROM以及温度传感器。
与数据的平行传输接口不同,串行数据通过两条、三条或者四条数据/时钟总线连续地传输比特数据。虽然并行的总线具有传输速度快的特点,但是串行总线具有使用较少的控制和数据线的优点。2线和3线的总线在大多数微处理器上应用于收发数据。
串行接口在提供串行时钟的主设备和从设备/周边设备之间的进行通讯。串行接口有三种:三线、二线和单线。本文着眼于二线和三线的串行接口。
三线的接口包括:片选线(CS或SS)、时钟线(SCLK)和数据输入/主设备输出线(DIN或MOSI)。三线接口有时也包括一条数据输出/主设备输入线(DOUT或MISO)。包含DOUT线的三线接口有时也叫做四线接口。为了叙述的简便,本文将三线接口和四线接口统称为三线接口。二线接口包括一条数据线(SDA或SMBDATA)和一条时钟线(SCL或SMBCLK)。
串行外设接口(SPI),队列串行外设接口(QSPI)和MicroWire(或MicroWire/Plus)接口都是三线接口。
芯片间总线(I2C)和SMBUS都是二线接口。这些串行接口拥有各自的优点和缺点,见表1。
三线接口可以以更高的时钟频率工作,并且不需要上拉电阻。SPI/QSPI和MicroWire接口都可以工作在全双工模式(数据可以在同一时间发送和接收)。而且三线接口是边沿触发的而不是电平触发,因此具有更强的抗干扰能力。三线接口的主要缺点是它要为每一个从设备提供一条片选线,除非将从设备用菊链形式连接。另外一个缺点是三线接口没有应答机制去判断数据的收发是否正确。
二线接口的优点是使用更少的连线,这一点在紧凑的设计中尤为重要,比如:手机、光纤的应用,因为二线接口为每个从设备分配唯一的地址,所以可以实现一根总线连接多个从设备而不需要片选线。
二线接口在成功读写之后传输一个应答位,因为二线接口只有一条数据线,所以它只能工作在半双工模式(数据的读写不可以同时进行)。二线接口是电平触发的,所以在嘈杂的环境中如果数据认证错误,可能造成问题。主设备和从设备经由多条总线通过串行接口进行通讯。
在写周期,主设备使用自身的时钟和数据将数据传至从设备。在读周期,从设备传输数据至主设备。当多个从设备接入总线时,每个三线接口的从设备需要专属的片选线(CS)。如图1所示,从软件的角度出发,对于单一主设备和单一从设备之间的通讯,三线制的接口比二线制的接口更简单、有效。
串行外设接口(SPI)、队列串行外设接口(QSPI)和MicroWire(或MicroWire/Plus)接口由Motorola 制定的串行外设接口被很多流行的处理器和微控制器所采用,比如MAXQ2000和MAXQ7654。SPI接口需要两条控制线(CS和SCLK)和两条数据线(DIN/SDI和DOUT/SDO)。Motorola的标准称DIN/SDI数据线为MOSI(主设备出,从设备入),DOUT/SDO数据线为MISO(主设备入,从设备出),CS线为SS(从设备选择)。为了叙述的清晰,在这里从从设备的角度出发说明三线接口的数据线。DIN是从设备的数据输入线,DOUT是从设备的数据读出线。这里我们使用CS,SCLK,DIN和DOUT来定义三线接口中的各条线。
大多数的SPI接口有两位设置位,时钟极性(CPOL)和时钟相位(CPHA)用于设定从设备何时采样数据。CPOL决定SCLK为高时总线为空闲(CPOL=1)还是SCLK为低时总线为空闲(CPOL=0)。CPHA决定在SCLK的哪一个边沿数据移入、移出。当CPOL=0时,将CPHA设为0,表示在SCLK的上升沿将数据移入从设备;将CPHA设为1,表示在SCLK的下降沿将数据移入从设备。CPOL和CPHA的两个状态允许四种时钟极性和相位的不同组合。每一种都与其他三种不兼容。为了实现主、从设备间的通讯,主、从设备的CPOL和CPHA必须有相同的设置。
在SPI接口的大多数应用中,SPI接口一次传送八个比特(一个字节),有一些微处理器一次传送两个或多个字节。例如,MAXQ2000和MAXQ7654微处理器可一次传送8或16个比特。当CPOL=0、CPHA=0,CS由高跳变为低,开始一个主设备到从设备的传输过程。在SCLK信号高低变化的八个周期内,CS信号必须保持为低。DIN数据锁定在SCLK信号的上升沿。在同样的八比特的周期内,DOUT线上的从设备输出数据在SCLK的每个下降沿有效。图2a给出了CPHA=1时的详细时序。图2b给出了CPHA=0时的详细时序。
因为总线上的每一个IC需要专属的片选线,所以CS被用做每个从设备的使能信号。如果一条总线上有四个从设备,则需要四条片选线。如果从设备的片选线CS为高,该从设备就忽略SCLK线上的数据,将DOUT置为高阻。
部分三线接口设备可以链接成菊链的方式。区别于为每个从设备提供片选线,菊链方式实现用一根片选线和一根数据线控制多个串连的从设备。在菊链结构中必须有DOUT线,如图1所示,从设备1的DOUT线连接到从设备2的DIN线,如此反复。
SPI标准中没有定义最大数据速率。外部设备定义了自己的最大数据速率,通常为兆赫量级。微处理器可以适应很宽范围的SPI数据速率。在利用SPI接口进行通讯时,从设备无法降低主设备的数据速率或是声明一个适当的速率。
QSPI标准和SPI标准非常相似。事实上,外设无法区分QSPI总线和SPI总线。与SPI标准中的主设备不同,QSPI中的主设备允许数据通过可编程的片选线传递。QSPI的主设备甚至可以传送长度在8位和16位之间的数据,而SPI的主设备只可以传送8位的数据。可以配置QSPI的设备去连续传送长度超过16字节的数据(最大为256位)。这种传输完全由QSPI设备的配置来实现,不需要MCU的操作。与SPI接口相似,QSPI接口也没有规定最大数据速率。
由国家半导体公司制定的旧的MircoWire标准和SPI标准非常相似。不同的是MicroWire标准的时钟极性和时钟相位是固定的(CPOL=0和CPHA=0)。DIN的数据读取总是锁定在SCLK的上升沿。DOUT的数据输出总是在SCLK的下降沿。MicroWire标准没有规定最大数据速率。
芯片间电路接口 (I2C)
不同于全双工的三线制接口,由Philips制定的I2C接口通过一条数据线(SDA)和一条时钟线(SCL)实现半双工的通讯。I2C接口定义了一个简单的主/从设备的双向通讯接口。在这个体系中,MCU决定自己为主设备(写模式)或为从设备(接收模式)。每个从设备具备专有、
唯一的地址,使主设备可以和多个从设备通过一条总线进行通讯,而不需要为每一个从设备提供单独的片选线。如图3所示,从设备的数目只受限于最大线上电容(400pF)。I2C接口的机制基于7位或10位的地址,7位的地址更为常见。在7位地址的机制中,总线上可以接127个不同的外设。
图3 利用数据输入/输出和时钟信号线实现通讯的二线接口(略)
SCL和SDA线为漏极开路结构,所以闲置时必须为高。当电源电压为3V时,连接一个1k或更大阻值的上拉电阻;当电源电压为5V时,连接一个1.6k或更大阻值的上拉电阻。 当SCL为高,SDA从高变为低,即发出了一个开始命令,I2C接口开始通讯。如图4所示,每一个SCL时钟传输一个数据位,传输一个字节至少需要9个数据位。一个写周期包括8个数据位和一个应答位(ACK)或者非应答位(NACK)。如图4b所示,当数据在I2C总线上传输时,在SLK的上升沿写入从设备,在SLK的下降沿从设备输出。在SCL时钟周期为高电平的时间内,SDA线的数据不可以改变。一次传输的完成必须跟随着一个中止或重新开始的命令,即SCL为高时,SDA由低变为高。当总线空闲时,SDA和SCL都为高。
I2C的写周期开始于一个开始命令,随后是7位的从设备地址和第8位用于标识是读操作还是写操作。将第8位设为低,说明是一个写操作;将第8位设为高,说明是一个读操作。主设备在第8个时钟周期后将总线释放。如果从设备要求通讯,则在第9个时钟周期将SDA置低。如果从设备不需要通讯,则将SDA线释放。主设备就再次写入8位命令,并跟随着第二个ACK/NACK位。然后,主设备再写入8位的命令,跟随着第三个ACK/NACK位。数据位和最后的应答位完成了读/写周期,将外设的数据更新。图5a是一个写周期的详细例子。
正在阅读:
I2C和SPI - 图文12-04
供水管网改造工程监理规划10-12
2017年中国旗袍行业市场研究及发展趋势预测报告(目录)08-30
纳税人满意度评价指标体系的构建05-25
幼儿园年度工作计划201702-27
XX局领导班子和党员领导干部征求意见建议情况分析报告08-19
2021年北师大版一年级语文下学期期中综合复习突破训练及答案05-27
xx供电所设备抢修应急预案04-27
进化生物学课后题答案11-03
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 图文
- I2C
- SPI
- 西南大学《思想政治教育学》网上作业及参考答案
- 化学动力学练习题
- 2012高中历史 第6课《殖民扩张与世界市场的拓展》教案2 新人教版必修2
- 现代汉语单元小节自测选择题库
- Hi3518内核和文件系统烧写以及nfs挂载
- 50Hz数字陷波器的设计
- 对新经济政策的不同诠释及其命运
- 江苏13市中考物理试题汇编 - 光现象 - 图文
- 全站仪试卷
- 数学压轴训练(三)
- 可逆电池的电动势及其应用的分章练习题
- 最新 教科版六年级科学上册:第二单元形状与结构
- (重要)本科毕业设计(论文)说明书模板
- 学练优春九年级语文下册第一单元1窃读记学案无答案鄂教版0104288 - 图文
- 河北省平泉四海中学七年级生物下册412人的生殖导学案无答案新人教版
- 枫桥湖街道办事处综治巡逻防控工作方案
- 2018-2019年高中政治人教版《选修三》《专题一 各具特色的国家和国际组织》《4 国际组织概观》
- 材料力学试题库
- 2016供配电专业知识真题(上午)
- 成本要素费用习题