当前位置: 首页 > article >正文

串口通信以及USART和UART以及IIC和SPI-学习笔记

串行通讯与并行通讯

  1. 串行通讯是指设备之间通过少量数据信号线(一般8根以下)、地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式,串行通讯同一时刻只能传输一个数据位的数据,但通讯距离比并行通讯远、抗干扰能力比并行通讯强,成本较低
  2. 并行通讯指使用8、16、32及64根或更多的数据线进行传输的通讯方式。并行通讯可传输多个数据位的数据,传输速率相比于串行通讯较高

全双工、半双工及单工通讯

  1. 全双工就是同一时刻两个设备间可同时收发数据;半双工同一时刻不能同时收发数据但设备间可进行数据收发;单工表示随时但只能进行一个方向的通讯,设备向另一个设备发送和接收都是固定的。

同步通讯和异步通讯

  1. 根据是否使用到时钟信号简单可区分;

USART

  1. 具体名称:通用同步/异步串行接收/发送器;
  2. 特点:全双工通用同步/异步串行收发模块;
  3. 注意:它只是一种通信方式;不具体到串口名称;

UART

  1. 具体名称:通用异步串行接收/发送器;
  2. 特点:全双工通用异步串行收发模块;
  3. 串口通信的接收和发送方无统一的时钟信号,故也可算为异步通信;
  4. 串口通信使用电平信号传输:电平信号是用信号线电平减去参考线电平得到的电压差,此电压差决定了传输值为0或1(逻辑值);
  5. RS232电平和TTL电平以及RS485电平:RS232电平中-15-3V表示值为1,+3V+15V表示0;而TTL电平中+2.4V+5V表示1,0V0.5V表示0;RS485中+2V+6V表示逻辑1,-6V-2V表示逻辑0;注意:它们都是一种逻辑电平的表示方式,算是一个电平标准。
  6. 串口通信为了使双方正常通信,所以需要事先约定号通信格式对应参数值,比如波特率(指串口通信速率,9600波特率表示每秒传输一个二进制位需要1/9600=104us),需要注意通信时双方必须设置相同的波特率才可通信
  7. 其他参数:起始位:表示发送方发送一个通信单元;数据位:是一个通信单元中发送的有效信息位,一般可选6、7、8、9,一般为8位;校验位、停止位(一般可设1、1.5、2);
  8. 232通信主要由RX、TX和GND三根线组成,设备间发送接接收,接收连发送,地线接地线,为了保证数据传输增加至九个引脚,也叫DB9;
  9. 485通信时主要为了解决232通信距离问题,它以一种差分信号进行传输,只需要两根线,A和B作为数据信号传输。
  10. 422就是把232的RX分为RX+、RX-,TX分为TX+、TX-,确保可以同时发送和接收,传输距离也比较长。(RS232接口通讯距离小于等于15m,只能连接一个设备,而RS422和485接口通讯距离最大可达1200m并且可连接多台设备。)
  11. 参考地址

SPI和IIC总线

  1. SPI总线

SPI总线是一种全双工的串行通信总线,由一个主设备(Master)和一个或多个从设备(Slave)组成。SPI总线通常由四根线构成:
SCLK(Serial Clock):时钟线,由主设备产生,并用于同步数据传输。
MOSI(Master Out Slave In):主设备输出从设备输入的数据线。
MISO(Master In Slave Out):主设备输入从设备输出的数据线。
SS(Slave Select):从设备选择线,用于选择从设备进行通信。
SPI总线的工作方式如下:
主设备通过SS线选择目标从设备。
主设备发送数据到MOSI线。
主设备从MISO线读取从设备的响应数据。
在每个时钟周期中,主设备和从设备都会在各自的数据线上同时发送和接收数据。
SPI总线具有以下特点:
高速:SPI总线通常可以达到很高的数据传输速率,适用于对速度要求较高的应用。
灵活性:SPI总线可以连接多个从设备,并且可以通过SS线选择目标设备。
简单性:SPI总线协议相对简单,易于实现和调试。
SPI总线广泛应用于许多领域,如存储器芯片、传感器、显示屏等。例如,存储器芯片可以使用SPI总线来读取和写入数据。
20. I2C总线

I2C总线是一种双线制的串行通信总线,由一个或多个主设备和一个或多个从设备组成。I2C总线通常由两根线构成:
SCL(Serial Clock):时钟线,由主设备产生,并用于同步数据传输。
SDA(Serial Data):数据线,用于传输数据。
I2C总线的工作方式如下:
主设备通过SCL线产生时钟信号驱动通信。
主设备通过SDA线发送起始位(Start Bit)和从设备地址,并指定读取或写入操作。
主设备或从设备通过SDA线传输数据,每个字节都会由接收方发送一个应答位(ACK)作为确认。
通信结束后,主设备发送停止位(Stop Bit)结束通信。
I2C总线具有以下特点:
多设备连接:I2C总线支持多个主设备和从设备的连接,通过地址选择实现通信。
低速:相对于SPI总线,I2C总线的数据传输速率较低。
简单性:I2C总线协议较为简单,易于实现和调试。
I2C总线广泛应用于许多领域,如存储器芯片、传感器、温度监测器、电源管理芯片等。例如,传感器可以使用I2C总线来传输测量数据,而电源管理芯片可以使用I2C总线来控制和监测电源的状态。
注意:由于SPI总线采用全双工模式,数据可以同时在主设备和从设备之间传输,因此SPI总线通常具有较高的数据传输速率。而I2C总线采用半双工模式,数据只能在一个方向上传输,因此其数据传输速率相对较低。
参考地址


http://www.kler.cn/a/373594.html

相关文章:

  • Springboot Rabbitmq + 线程池技术控制指定数量task执行
  • Colossal-AI:深度学习大规模分布式训练框架
  • Java Web开发进阶——错误处理与日志管理
  • VS2015 + OpenCV + OnnxRuntime-Cpp + YOLOv8 部署
  • 后端技术选型 sa-token校验学习 中 文档学习
  • nvm use使用nodejs版本时报错
  • Java 开发——(下篇)从零开始搭建后端基础项目 Spring Boot 3 + MybatisPlus
  • C# .NET最小API?
  • 【利器】12个评估大语言模型(LLM)质量的自动化框架
  • GAME JAM:加入我们的甜蜜幽灵冒险之旅
  • Centos安装ffmpeg的方法
  • Electron调用nodejs的cpp .node扩展【非安全】
  • 「图文详解」Pycharm 远程服务器Debug
  • 【SSM-Day5】SpringMVC入门
  • Redis新数据类型
  • 基于vue框架的的驾校预约车辆管理系统设计与实现jwoqj(程序+源码+数据库+调试部署+开发环境)系统界面在最后面
  • [瑞吉外卖]-10前后端分离
  • Vue3学习:vue组件中的图片路径问题
  • 字符函数和字符串函数(C 语言)
  • 微服务电商平台课程二:技术图谱
  • AI产品独立开发变现实战营,炒掉老板做自由职业赚大钱
  • 【vue 全家桶】1、vue 基础
  • Pytorch学习--DataLoader的使用
  • 验证工程师如何使用UVM
  • springcloud网关和熔断配置
  • YOLOv11改进策略【SPPF】| NeuralPS-2022 Focal Modulation : 使用焦点调制模块优化空间金字塔池化SPPF