IIC

  特点

    1、Inter-Integrated Circuit,内部集成总线,半双工

    2、短距离传输,有应答,速度较慢

    3、SDA双向数据线,SCL时钟线

    4、可以挂载多个设备,IIC设备有固化地址,传输值等于IIC固化地址,对应设备作出响应

  基本过程

    初始空闲:SDA和SCL均为高电平(具有上拉电阻)

    起始位:SCL高电平期间,SDA下降沿

    寻址:主机发送8位数据,前7位为从机地址,后一位表示数据方向,1为读,0为写,对应从机响应,SDA线拉低

    传输:SCL高电平,数据写入从机;故SDA的数据需要在SCL低电平器件完成数据发送

    响应:从机接收到8位数据后,第9个周期拉低SDA电平,表示从机接到数据产生应答

    终止位:SCL高电平期间,SDA上升沿

SPI

  特点

    1、Serial Peripheral Interface,串行外设接口,全双工

    2、短距离传输,无应答,速度块

    3、4根线(或3根线单向传输)MISO(master input slave output)、MOSI(master output slave input)、SCLK(serial clk时钟)、CS(chip select片选、从设备使能)

    4、可以挂载多个设备,每个设备片选都接入主设备,通信时需使其有效

  工作模式

    CPOL(时钟极性)和CPHA(时钟相位)

    CPOL配置SCLK的电平出于哪种状态时是空闲态或者有效态(0:空闲低电平 1:空闲高电平)

    CPHA配置数据采样是在第几个边沿(0:采样第一沿,发送第二沿)

    :CPOL=0,CPHA=0:空闲态时,SCLK处于低电平,数据采样是在第1个边沿,所以数据采样(即读取发送的数据)是在上升沿,数据发送(即将数据放在输出线上)是在下降沿。

  基本过程

    主设备上升(下降沿)输出,从设备下降(上升沿)读取,即一个时钟周期完成一次传输

    SCLK由主设备产生(使得spi不像其他串行设备按字节发送,可以比特发送)

    可以同时输入输出(全双工)

    利用移位寄存器实现

UART

  特点

    1、Universal Asynchronous Receiver/Transmitter,异步收发传输器,全双工

    2、较长距离传输,有奇偶校验

    3、RX接收,TX发送

  基本过程

    起始位:起始高,发送数据前拉低一个时钟周期表示起始

    数据位:5-8位(有校验),9位(无校验)

    校验位:奇偶校验(奇:校验位使传输内容中1的个数为奇数 偶:使1的个数为偶数)

    停止位:将信号线从低电平变为高电平至少两个周期

IIC、SPI、UART协议总结的更多相关文章

  1. 通信方案软件设计(环形动态申请内存,支持USART+IIC+SPI+CAN协议

    1 <STM32进阶之串口环形缓冲区实现>中讲得比较清楚(链接) 2 amobbs中讲的方法有点复杂,以下是链接和参考源码: 通信方案软件设计(环形动态申请内存,支持USART+IIC+S ...

  2. 【转载】IIC SPI UART串行总线

    一.SPISPI(Serial Peripheral Interface,串行外设接口)是Motorola公司提出的一种同步串行数据传输标准,在很多器件中被广泛应用. 接口SPI接口经常被称为4线串行 ...

  3. 关于I2C和SPI总线协议【转】

    关于I2C和SPI总线协议 IICvs SPI 现今,在低端数字通信应用领域,我们随处可见IIC (Inter-Integrated Circuit) 和 SPI (Serial Peripheral ...

  4. SPI总线协议及SPI时序图详解

    SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口.SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚 ...

  5. 基于FPGA的UART协议实现(通过线性序列机)

    //////////////////2018/10/15 更新源代码: 实现uart这东西其实早就写了,不过不太完善,对于一个完美主义者来说,必须解决掉它. 1.什么是UART?        通用异 ...

  6. SPI总线协议及SPI时序图详解【转】

    转自:https://www.cnblogs.com/adylee/p/5399742.html SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接 ...

  7. MicroBlaze核的串行接口实验:SPI UART

    reference : https://blog.csdn.net/weixin_42413559/article/details/80720566 串行接口:SPI UART XPS->SDK ...

  8. UART协议总结

    之前一直使用UART作为单片机之间以及和计算机的简单通信,但一直没有研究过该协议的内部原理.今天刚买了一个逻辑分析仪,于是使用该分析仪对UART数据进行分析,以便更好的理解UART协议原理. UART ...

  9. 【转】SPI总线协议

    SPI总线协议 By Xiaomin | April 17, 2016| 技术 概述 SPI(Serial Peripheral Interface)总线是主要应用于嵌入式系统内部通信的串行同步传输总 ...

  10. UART协议详解

    UART(Universal Asynchronous Receiver/Transmitter)是一种异步全双工串行通信协议,由Tx和Rx两根数据线组成,因为没有参考时钟信号,所以通信的双方必须约定 ...

随机推荐

  1. python中jsonpath模块运用

    原文链接:https://www.cnblogs.com/denise1108/p/10265911.html 1. jsonpath介绍用来解析多层嵌套的json数据;JsonPath 是一种信息抽 ...

  2. 【最大匹配+二分答案】HDU 2236 无题II

    题目内容 这是一个简单的游戏,在一个\(n×n\)的矩阵中,找\(n\)个数使得这\(n\)个数都在不同的行和列里并且要求这\(n\)个数中的最大值和最小值的差值最小. 输入格式 输入一个整数\(T\ ...

  3. python爬取知乎评论

    点击评论,出现异步加载的请求 import json import requests from lxml import etree from time import sleep url = " ...

  4. Kubernetes K8S之存储Volume详解

    K8S之存储Volume概述与说明,并详解常用Volume示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS7.7 2C ...

  5. Disconnected from the target VM, address: '127.0.0.1:1135', transport: 'socket'-SpringBoot启动报错

    一.问题由来 本地代码在一次打包后,再次启动项目时报了一个错误,详细的错误信息如下: 2020-10-23 15:10:26.724 [] [main] INFO o.s.c.a.Annotation ...

  6. Vue.js 3.0搭配.NET Core写一个牛B的文件上传组件

    在开发Web应用程序中,文件上传是经常用到的一个功能. 在Jquery时代,做上传功能,一般找jQuery插件就够了,很少有人去探究上传文件插件到底是怎么做的. 简单列一下我们要做的技术点和功能点 使 ...

  7. H5页面 用户启动无痕浏览本地储存 localstorage 清楚数据

    移动端开发时,如果用户浏览器启用了无痕浏览,那么本地存储信息就会失效,会导致页面信息报错 解决办法: 先判断是否能适用 localStorage.setItem 如果不行在适用  cookie coo ...

  8. B. Nauuo and Circle 解析(思維、DP)

    Codeforce 1172 B. Nauuo and Circle 解析(思維.DP) 今天我們來看看CF1172B 題目連結 題目 略,請直接看原題 前言 第一個該觀察的事情一直想不到,看了解答也 ...

  9. 签到功能,用 MySQL 还是 Redis ?

    现在的网站和app开发中,签到是一个很常见的功能,如微博签到送积分,签到排行榜. 如移动app ,签到送流量等活动.   用户签到是提高用户粘性的有效手段,用的好能事半功倍! 下面我们从技术方面看看常 ...

  10. 宝塔面板无法进入phpadmin管理数据库解决办法

    ECS--华为云 宝塔面板6.0 phpMyAdmin 4.4 经过搜索发现问题在于端口和安全组规则 解决方法如下 1.在安全中添加888端口 2.华为云安全组规则--入方向规则--添加规则 3.打开 ...