UC头条:IIC, SPI, UART, 单总线

IIC与SPI通信

IIC

SPI通信

IIC与SPI的比较

UART

单总线

因为面试时被问到IIC和SPI通信,所以又重新学习了一下。

IIC

IIC顾名思义就是两根线,一根SCL(时钟线),一根SDA(数据线)。时钟线用来通过电平变化来标志数据传输过程,SDA线传输数据。

通信过程

首先,SCL处于高电平,SDA从高电平变化为低电平表示START信号,此时将SCL线拉低便可通过SDA线读写数据(SCL线高电平时无法读写)。

然后,由于IIC通信分为主设备(比如单片机),从设备可能会有多个,这时候我们在读写数据之前要先确定从设备,每个从设备会对应一个特定的地址,所以主设备需要传输一个七位地址(好像现在有10位的地址)和一位R/W读写位,每个从设备接受到地址会和自己的地址进行对比,相同就会传输一个应答信号给主机。

主机收到应答信号确认从设备后可以进行数据传输。数据传输一般一帧数据为为8位,尾随一位应答位。从设备收到应答位,做出应答或非应答信号表示数据的接收成功与否(读操作主从应答相反)。

主机接收到应答,选择STOP信号输出便可以结束一帧的传输。

点击加载图片

SPI通信

与IIC不同的是SPI通信有四根线,MOSI(masterinputslaveoutput,主发从收),MISO(主收从发),SCLK(时钟线)和SS(serialselect)(片选信号,每个从机都需要单独的一条SS线与主机相连,而不是所有从机共用一条)。

点击加载图片

通信过程

首先,主机拉低SS线选择要通信的从机。

开始发送数据,时钟线不断输出脉冲,MOSI和MISO可以在相应时钟沿同时进行数据(1bit)的传输,所以SPI是全双工通信。

SS线被拉高,结束传输。

SPI_MOD

此外在数据传输时钟沿选择上有四种方式

CKP(时钟极性)//0–>ss休闲状态为低电平,1–>ss休闲状态为高电平

CKE(时钟相位)//0–>第一个时钟沿采集信号,1–>第二个时钟沿采集信号

点击加载图片

理论上,SPI通信的速率取决于时钟频率,所以就这一点来说会比IIC的传输速率要快得多,硬件设备的最大时钟频率的大小可以影响SPI通信。

IIC与SPI的比较

对于SPI我觉得优点可以有以下几点

高速率,传输bit频率最大与系统的时钟频率相当

传输bit无限制,对于IIC每次传输8位一个字节,而SPI是一位一位的传输,所以避免了某些无意义位的传输

硬件软件的配置比较轻便简单,硬件方面,没有IIC从机对应的逻辑地址,一根SS线连接一个从机;软件方面也没有过多复杂的时序,IIC中的起始应答停止的信号反复转换显得有点复杂。

缺点我觉得就是SPI通信没有应答,可能导致数据传输无效,或者在从机出现故障时主机依旧发送数据,就显得有点盲目。还有主机设备需要更多的引脚接口才能容纳更多的从设备。而且主设备只能有一个。

UART

通用异步收发器,三根线RX(接收数据端),TX(发送数据端),GND。

点击加载图片

通信过程

数据线上休闲时为高电平,将其拉低表示起始信号,从而可以开始通信。

单总线

1-wire通信,如DS18B20(温度传感器),DHT11(温湿度传感器)

这是DS18B20的单总线电路图,由图中可以看到单总线是收发双向的,但是也不能同时进行收发,所以是半双工。

点击加载图片

以上传输过程

初始化,主机发送复位脉冲(拉低总线一段时间),从机产生应答脉冲(拉低总线一段时间)。

写bit,低电平时为写0,高电平时为写1

单总线的数据传输速率一般为16.3Kbit/s,最大可达142Kbit/s,通常情况下采用100Kbit/s以下的速率传输数据。相比于IIC和SPI传输速率比较慢,但是硬件结构比较简单。

(0)

相关推荐

  • 接口IIC

    接口IIC

  • I2C接口与SPI和UART接口的区别

    一.SPI I2C UART通信速率比较: SPI > I2C > UART 1.同步通信>异步通信; 2.同步通信时必须有一根时钟线连接传输的两端; 3.都是串行通信方式,并行通信 ...

  • 杂七杂八的整理——STM32、Proteus使用、UART、IIC、SPI、LIN

    简要介绍两款ARM架构单片机 一. S32K1xx 系列单片机 S32K系列单片机是NXP比较新的车规级单片机,有S32K11x(基于ARM Cortex-M0+)和S32K14x(基于ARM Cor ...

  • UART、I2C、SPI、TTL、RS232、RS422、RS485、CAN、USB、SD卡、1-W...

    UART.I2C.RS485--这些通信虽然都普遍在用,但解释起来也是模棱两可,觉得有必要整理一下,目的是巩固和区分.文章有点长,建议先收藏,需要的时候再拿出来看. UART通用异步收发器 UART口 ...

  • 浅谈I2C总线,有时候它也叫 IIC

    [导读]I2C(Inter Integrated Circuit,内部集成电路)总线是价格低廉却很有效的用以互连小规模嵌入式系统内的外设的网络.I2C 总线有时候也叫作 IIC,它已有20多年的历史了 ...

  • 汽车总线文章合集

    汽车ECU设计 一个菜鸟程序猿的成长之路. 70篇原创内容 公众号 欢迎关注汽车ECU设计 ^_^ ~直接点击链接即可跳转至相关文章~ 第2期 CAN总线基础(上) CAN总线基础(下) CAN总线由 ...

  • 带你快速对比SPI、UART、I2C通信的区别与应用!

    电子设备之间的通信就像人类之间的交流,双方都需要说相同的语言.在电子产品中,这些语言称为通信协议. 之前有单独地分享了SPI.UART.I2C通信的文章,这篇对它们做一些对比. 串行 VS 并行 电子 ...

  • 串口基本知识

    一.什么是串口通讯? 举个例子,人与人之间的沟通可通过书面文件,语音或视频来交换信息.那么设备和计算机之间用来交换信息的桥梁是什么呢?那就是串口通讯.串口通信是以串行数字二进制形式用不同方法交换数据的 ...

  • 嵌入式开发中常用的几种通信接口总结

    在嵌入式系统中,板上通信接口是指用于将各种集成电路与其他外围设备交互连接的通信通路或总线. 以下内容为常用板上通信接口:包括I2C.SPI.UART.1-Wire: I2C总线 I2C总线是一种同步. ...

  • UC头条:单片机外设篇——SPI协议

    提示:若转载,请备注来源,谢谢! 文章目录 前言 一.SPI协议的特点 1. 优点 2. 缺点 3. 结构 二.SPI协议分析 1. 模式概念理解 2. 通信过程分析 3. SPI个人协议理解 4.使 ...

  • UC头条:疫情过后, 每个人都应该了解的天行病中医经方

    本 期 导 读 <辅行诀脏腑用药法要>中记载治疗外感天行病经方12首 ,皆出自<汤液经法>. 本文通过天行病经方与张仲景方的比对,发现张仲景除抄录<汤液经法>内容外 ...

  • UC头条:年轻男子肾炎争取中医治疗康复, 这4个经典中药方可治疗疑难肾病

    点击加载图片 慢性肾炎就是常见的肾脏疾病之一,中青年男性高发,是以慢性肾小球病变为主的疾病,但是大部分患者的病因并不明确.有研究表明,慢性肾炎和链球菌感染没有明确的联系,仅有大约20%的慢性肾炎从急性 ...

  • UC头条:按腹1月: 腰细了4、5厘米, 灸腹1年: 慢性病全不见

    点击加载图片 肚子里硬块.条索.包块是些啥? 只要认真按过自己腹部的人会发现,腹部结聚太常见了.那些痛点.结节.包块.条索.瘀血之类,可能早就成了你腹部的主人. 一切慢性疾患,都可以在腹部找到相应的阻 ...

  • UC头条:中医治健忘偏方验方大全

    健忘是我们日常生活中一种常见的疾病,我们如何防止病情的进一步的加重呢?这类病该如治疗呢?那么究竟是什么原因导致这类疾病的发生呢?今天小编就和大家一起来认识一下健忘的治疗方法相关知识. 治健忘的验方 方 ...

  • UC头条:有哪些你需要掌握的生存法则?

    UC头条:有哪些你需要掌握的生存法则?

  • UC头条:35条极简的人生建议: 闲人是非多, 一忙解千愁

    点击加载图片 闲人是非多,一忙解千愁. 02 不要絮絮叨叨个没完没了, 话越多越没分量,除非你的话都是干货! 03 一个男人值不值得嫁, 不要只看他追求你时的点滴, 更要看你们发生矛盾时, 他是怎么对 ...

  • UC头条:益阳刑事拘留29人, 快看他们犯了什么事!

    2021年以来,沅江市公安局庆云山派出所民.辅警日夜奋战,破获帮助信息网络犯罪系列案件8起, 抓获犯罪嫌疑人29人,刑事拘留29人,有力震慑了帮助信息网络犯罪不法之徒. 点击加载图片 点击加载图片 点 ...

  • UC头条:骨科建议: 50岁后的女性, 常备3种中成药, 骨钙或慢慢增加

    随着生活水平的提高,越来越多的人开始关注到自己的健康问题.而大多数人其实还是关注自己的骨骼健康问题,毕竟有句老话说得好"养骨享天年".骨骼养护的好,自然健康长寿也要跟着来!而对于骨 ...