通信UART、I2C、SPI

内部通信UARTI2CSPI

目录

1.UART

2.I2C

3.SPI


1.UART

 全双工异步通信,有两根线发送与接收。

UART串口通信需要两个信号线来实现,一根用于串口发送,另外一根负责串口接收。

一开始高电平,然后拉低表示开始位,接着8个数据位,然后校验位,最后拉高表示停止位,并且进入空闲状态,等待下一次的数据传输。

起始位:先发出逻辑0的信号,表示传输开始。

数据位:支持 4、5、6、7、8 位等,完成约定后才能正确地传输。

检验位 目前简单常用的数据校验方式是奇偶校验    协议就变成了:开始+数据+停止。

停止位:一个字符结束标志。

波特率为 9600/,数据位为 8 位,无校验位。波特率表示它表示每秒传输二进制数据的位数

由于波特率为 9600,时钟50Mhz. 因此我需要的计数为:50000000/9600≈5208。每位占用时间1s/9600=104166ns。

2.I2C

半双工通信

 IIC总线分别由SDA(串行数据线)和SCL(串行时钟线)及上拉电阻组成。

在总线空闲时SCLSDA由上拉电阻拉高保持高电平状态

IIC总线的传输速率在标准模式下可达100kbit/s;快速模式下可达400kbit/s;高速模式下可达3.4Mbit/s

起始与终止信号:SCL为高期间,

             SDA : 由高到低,起始信号

             SDA:由低到高,终止信号

ACK(从机应答):拉低代表收到数据

3.SPI

高速、全双工、同步通信总线 。由一个主模块和一个或多个从模块组成。

MISO(主设备数据输入)、MOSI(主设备数据输出)、SCLK(时钟)和CS/SS(片选)

SPI的时钟极性和时钟相位特性可以设置4种不同的SPI通信操作模式

主设备发起信号,将CS/SS拉低,启动通信。

主设备通过发送时钟信号,来告诉从设备进行写数据或者读数据操作(采集时机可能是时钟信号的上升沿(从低到高)或下降沿(从高到低),因为SPI有四种模式,后面会讲到),它将立即读取数据线上的信号,这样就得到了一位数据(1bit)。

两个移位寄存器中的内容就被交换。

CPOL:时钟极性, 表示 SPI 在空闲时, 时钟信号是高电平还是低电平。

CPHA:时钟相位, 表示 SPI 设备是在 SCK 管脚上的时钟信号变为上升沿时触发数据采样, 还是在时钟信号变为下降沿时触发数据采样。

CPOL= 0CPHA=0SCK串行时钟线空闲是为低电平,数据在SCK时钟的上升沿被采样,数据采样是在上升沿,数据发送是在下降沿。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/235611.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

layui 树组件tree 通过API获取数据

一、简单 var treedata[];tree.render({elem: #addLeftType,id: demoId,data: treedata,showCheckbox: true,oncheck: function(obj){console.log(obj.data); // 得到当前点击的节点数据console.log(obj.checked); // 节点是否被选中console.log(obj.elem); // 得到当前节点元素…

java --- 反射

目录 一、什么是反射? 二、获取 Class对象 的三种方式 三、反射获取构造方法(Constructor) 四、反射获取成员变量(Field) 五、反射获取成员方法(Method) 一、什么是反射? 反射允…

app上架-您的应用在运行时,未同步告知权限申请的使用目的,向用户索取(相机)等权限,不符合华为应用市场审核标准。

上架提示 您的应用在运行时,未同步告知权限申请的使用目的,向用户索取(相机)等权限,不符合华为应用市场审核标准。 测试步骤:管理-添加-点击二维码,申请相机权限 修改建议:APP在调…

智能优化算法应用:基于非洲秃鹫算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于非洲秃鹫算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于非洲秃鹫算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.非洲秃鹫算法4.实验参数设定5.算法结果6.…

UE4 UE5 一直面向屏幕

一直面相屏幕,方法很简单 新建一个蓝图,如下添加组件: 蓝图如下: Rotation Actor :需要跟随镜头旋转的物体 Update:一个timeline(替代event tick 只是为了循环) Timeline&#xff…

百年东芝“瞄准”汽车「芯」机遇

在汽车“新四化”大变革的驱动下,汽车半导体市场进入需求暴涨的新周期。 “智能电动汽车所需要的半导体种类和数量正在急剧增加。” 东芝电子分立器件应用技术部经理成栋表示,东芝电子正在加大汽车半导体市场的布局,从而满足汽车电动化、智能…

深入了解Java中的锁机制

目录 1. synchronized关键字 1.1 基本概念 1.2 内置锁 1.3 限制 2. ReentrantLock 2.1 概述 2.2 公平性与非公平性 2.3 条件变量 3. 读写锁(ReadWriteLock) 3.1 概念 3.2 适用场景 4. StampedLock 4.1 概述 4.2 乐观读与悲观读 4.3 适用场…

Linux 操作系统 015-进程操作

Linux 操作系统 015-进程操作 本节关键字:Linux、进程操作、终止进程、进程树 本节相关指令:ps、pstree ps指令介绍 ps命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况,可以不加任何参数。 菜单栏介绍…

WT588F34B-16S语音芯片:四通道16K采样率混音播放的应用优势

随着科技的不断进步,语音芯片在电子产品中的应用越来越广泛。其中,WT588F34B-16S语音芯片凭借其卓越的性能和创新的功能,引起了市场的广泛关注。特别是其支持四通道16K采样率混音播放的功能,为实际应用带来了显著的优势。本文将深…

w13渗透测试实战之https账号密码捕抓

此次实验需要配合arp欺骗,不知道arp欺骗的,可以查看这篇w13渗透测试实战之ARP欺骗攻击(ARP断网攻击) 一、实验环境 攻击机:linux Kali 靶机:window 7 网络环境:虚拟机NAT 网关:192.168.89.2实…

Avalonia MVVM

Avalonia MVVM 是一种用于构建跨平台桌面应用程序的架构模式,它结合了 Avalonia UI 框架和 Model-View-ViewModel (MVVM) 设计模式。 以下是对 Avalonia MVVM 的各个部分的简要解释: Avalonia UI:Avalonia 是一个开源的跨平台 GUI&#xff0…

C11编写简易16位虚拟机

虚拟机 在计算领域,VM(虚拟机)是一个术语,指的是模拟/虚拟化计算机系统/架构的系统。 一般来说,虚拟机有两类: 系统虚拟机提供真实机器的完整替代品。 它们实现了足够的功能,允许操作系统在它…

MIT 6.824 练习1

Hi, there! 这是一份根据 MIT 6.824(2021) 课程的第 2 课的课堂示例代码改编的 2 个 go 语言编程练习。像其他的编程作业一样,我去除了核心部分,保留了代码框架,并编写了每一步的提示 练习代码在本文的最后面 爬虫 在第一部分,…

浅谈能耗系统在马来西亚连锁餐饮业的应用

1.背景信息 Background 针对连锁餐饮业能耗高且能源管理不合理的问题,利用计算机网络技术、通讯技术、计量控制技术等信息化技术,实现能源资源分类分项计量和能源资源运行监管功能,清晰描述各分店总的用能现状;实时监测各供电回路…

Hal深入实战/perfetto-systrace实战/SurfaceFlinger合集-安卓framework开发实战开发

背景 hi,粉丝朋友们: 大家好! 下面来介绍一下新的framework专题halperfettosurafceflinger,这个专题主要就是分为3大块,但是彼此直接又是相互关联的。 比如surfaceflingre模块深入分析需要用到hal相关的模块&#xff…

IDEA创建springboot工程

选择spring boot的版本和依赖 finish创建完成 删除无用的文件

【make/Makefile】Linux下进度条的设计与实现

一、简单介绍make/Makefile Makefile 和 makefile 不区分大小写,但是一定只能是 “makefile” !!! make 是一个指令,makefile 是一个文件。 Makefile 格式形式: 使用 make 生成目标文件时,默认…

论文解读:On the Integration of Self-Attention and Convolution

自注意力机制与卷积结合:On the Integration of Self-Attention and Convolution(CVPR2022) 引言 1:卷积可以接受比较大的图片的,但自注意力机制如果图片特别大的话,运算规模会特别大,即上图中右边(卷积)会算得比较快…

Web前端-JavaScript(js数组和函数)

文章目录 1.数组1.1 数组的概念1.2 创建数组1.3 获取数组中的元素1.4 数组中新增元素1.5 遍历数组 2.函数2.1 函数的概念2.2 函数的使用函数声明调用函数函数的封装 2.3 函数的参数函数参数语法函数形参和实参数量不匹配时 2.4 函数的返回值2.4.1 案例练习 2.5 arguments的使用…

Python开发GUI常用库PyQt6和PySide6介绍之二:设计师(Designer)注意事项

Python开发GUI常用库PyQt6和PySide6介绍之二:设计师(Designer)注意事项 PySide6和PyQt6都有自己的设计师(Designer),用于可视化地设计和布局GUI应用程序的界面。这些设计师提供了丰富的工具和功能&#xf…