IIC、SPI、UART协议总结
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协议总结的更多相关文章
- 通信方案软件设计(环形动态申请内存,支持USART+IIC+SPI+CAN协议
1 <STM32进阶之串口环形缓冲区实现>中讲得比较清楚(链接) 2 amobbs中讲的方法有点复杂,以下是链接和参考源码: 通信方案软件设计(环形动态申请内存,支持USART+IIC+S ...
- 【转载】IIC SPI UART串行总线
一.SPISPI(Serial Peripheral Interface,串行外设接口)是Motorola公司提出的一种同步串行数据传输标准,在很多器件中被广泛应用. 接口SPI接口经常被称为4线串行 ...
- 关于I2C和SPI总线协议【转】
关于I2C和SPI总线协议 IICvs SPI 现今,在低端数字通信应用领域,我们随处可见IIC (Inter-Integrated Circuit) 和 SPI (Serial Peripheral ...
- SPI总线协议及SPI时序图详解
SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接口.SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚 ...
- 基于FPGA的UART协议实现(通过线性序列机)
//////////////////2018/10/15 更新源代码: 实现uart这东西其实早就写了,不过不太完善,对于一个完美主义者来说,必须解决掉它. 1.什么是UART? 通用异 ...
- SPI总线协议及SPI时序图详解【转】
转自:https://www.cnblogs.com/adylee/p/5399742.html SPI,是英语Serial Peripheral Interface的缩写,顾名思义就是串行外围设备接 ...
- MicroBlaze核的串行接口实验:SPI UART
reference : https://blog.csdn.net/weixin_42413559/article/details/80720566 串行接口:SPI UART XPS->SDK ...
- UART协议总结
之前一直使用UART作为单片机之间以及和计算机的简单通信,但一直没有研究过该协议的内部原理.今天刚买了一个逻辑分析仪,于是使用该分析仪对UART数据进行分析,以便更好的理解UART协议原理. UART ...
- 【转】SPI总线协议
SPI总线协议 By Xiaomin | April 17, 2016| 技术 概述 SPI(Serial Peripheral Interface)总线是主要应用于嵌入式系统内部通信的串行同步传输总 ...
- UART协议详解
UART(Universal Asynchronous Receiver/Transmitter)是一种异步全双工串行通信协议,由Tx和Rx两根数据线组成,因为没有参考时钟信号,所以通信的双方必须约定 ...
随机推荐
- python中jsonpath模块运用
原文链接:https://www.cnblogs.com/denise1108/p/10265911.html 1. jsonpath介绍用来解析多层嵌套的json数据;JsonPath 是一种信息抽 ...
- 【最大匹配+二分答案】HDU 2236 无题II
题目内容 这是一个简单的游戏,在一个\(n×n\)的矩阵中,找\(n\)个数使得这\(n\)个数都在不同的行和列里并且要求这\(n\)个数中的最大值和最小值的差值最小. 输入格式 输入一个整数\(T\ ...
- python爬取知乎评论
点击评论,出现异步加载的请求 import json import requests from lxml import etree from time import sleep url = " ...
- Kubernetes K8S之存储Volume详解
K8S之存储Volume概述与说明,并详解常用Volume示例 主机配置规划 服务器名称(hostname) 系统版本 配置 内网IP 外网IP(模拟) k8s-master CentOS7.7 2C ...
- 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 ...
- Vue.js 3.0搭配.NET Core写一个牛B的文件上传组件
在开发Web应用程序中,文件上传是经常用到的一个功能. 在Jquery时代,做上传功能,一般找jQuery插件就够了,很少有人去探究上传文件插件到底是怎么做的. 简单列一下我们要做的技术点和功能点 使 ...
- H5页面 用户启动无痕浏览本地储存 localstorage 清楚数据
移动端开发时,如果用户浏览器启用了无痕浏览,那么本地存储信息就会失效,会导致页面信息报错 解决办法: 先判断是否能适用 localStorage.setItem 如果不行在适用 cookie coo ...
- B. Nauuo and Circle 解析(思維、DP)
Codeforce 1172 B. Nauuo and Circle 解析(思維.DP) 今天我們來看看CF1172B 題目連結 題目 略,請直接看原題 前言 第一個該觀察的事情一直想不到,看了解答也 ...
- 签到功能,用 MySQL 还是 Redis ?
现在的网站和app开发中,签到是一个很常见的功能,如微博签到送积分,签到排行榜. 如移动app ,签到送流量等活动. 用户签到是提高用户粘性的有效手段,用的好能事半功倍! 下面我们从技术方面看看常 ...
- 宝塔面板无法进入phpadmin管理数据库解决办法
ECS--华为云 宝塔面板6.0 phpMyAdmin 4.4 经过搜索发现问题在于端口和安全组规则 解决方法如下 1.在安全中添加888端口 2.华为云安全组规则--入方向规则--添加规则 3.打开 ...