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

STM内部通信、I2C、USART、

通信接口

(1)定义

用来让单片机和外部的芯片(传感器,存储器等)交换数据用的

(2)作用(为什么需要通信接口)

用GPIO口也可以完成单片机和外部硬件的交换数据,但是GPIO有很大的限制,仅仅它的电平变化远不够完成复杂的通信,以下表格是解释

时序同步

缺乏公共时钟信号,接收方无法准确知道何时采样数据,容易因时钟漂移导致误码,GPIO口需要双方就位,需要cpu多次的中断,精确的控制每一位传输的时间
效率用GPIO口通信占用cpu,速度也慢,软件模拟位传输速度慢
多设备连接每一个设备需要一个专用的IO口,多个设备造成IO口的巨大占用
协议复杂性与标准化难以实现复杂协议 (寻址、帧结构、错误检测、流控),不同设备间兼容性差
抗干扰性和可靠性单线传输易受噪声干扰,长距离传输可靠性低,缺乏错误检测

相对应的解决方案就是下面这个表格

时序同步

提供同步机制:
• 同步接口 (SPI, I2C): 使用专用时钟线 (SCK/SCL) 精确控制采样时刻。
• 异步接口 (UART): 使用预定义的波特率和起始位/停止位来界定字节边界。
效率硬件加速与优化:
• 硬件控制器自动处理比特级操作 (生成时钟、移入/移出数据)。
• 支持更高传输速率 (MHz 级别)。
• 部分接口支持并行传输 (如 SPI 的多数据线模式)。
多设备连接支持总线拓扑:
• 多个设备共享通信线路 (如 I2C 的 SDA/SCL)。
• 提供寻址机制 (I2C 地址帧) 或片选信号 (SPI 的 SS/CS) 来选择目标设备。
协议复杂性与标准化定义标准协议:
• 规范物理层、数据链路层 (数据帧格式、地址、错误检测如奇偶校验/CRC)。
• 确保不同厂商设备间的互操作性。
抗干扰性和可靠性增强鲁棒性:
• 差分信号 (RS-485, CAN, USB): 使用双线传输相位相反信号,抗共模干扰能力强。
• 内置错误检测机制 (奇偶校验、CRC),可请求重传或报告错误。

 

 USART、UART

(1)定义:USART (Universal Synchronous/Asynchronous Receiver/Transmitter)通用同步/异步接收/发送器;UART 通用异步接收/发送器;是一种常用的通信接口

(2)没有地址概念,不区分主从设备

(3)直接连接两台设备,速度可达2Mbit/s

(4)近距离通信(如果增加变压芯片RS232,RS485提高电压保证稳定性,可以达到20m、1km)

SPI

(1)SPI(Serial Peripheral Interface)协议是一种常用的串行通信协议

(2)近距离通信(板级通信)

(3)全双工

(4)最高传输速度18MB/s

(5)区别主设备,从设备;一个主设备(单片机),其他都是从设备

 

I2C

(1)I2C协议(Inter-Integrated Circuit)是一种简单的双向二线制同步串行总线协议

(2)近距离通信(板级通信)

(3)半双工

(4)只有一个主设备(单片机),可以挂几百个从设备

CAN

(1)控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号

(2)远距离通信(可达10km)

(3)传输速度可达1MB/s

(4)每个设备即可当主设备,也可当从设备

特性USART/UARTSPII2CCAN
全称USART: 通用同步/异步接收/发送器
UART: 通用异步接收/发送器
Serial Peripheral Interface(串行外设接口)Inter-Integrated Circuit(集成电路互联)Controller Area Network(控制器局域网)
通信类型异步(UART)或同步(USART)同步同步异步
双工模式全双工全双工半双工半双工
主从结构无主从区分主从结构(1主多从)主从结构(1主多从,支持数百从设备)无严格主从,设备可主动发送数据
通信距离近距离(增加RS232/RS485可达20m-1km)板级通信(短距离)板级通信(短距离)远距离(可达10km)
最大速度2 Mbps18 Mbps标准模式100kbps,高速模式3.4Mbps1 Mbps
线路数量2线(TX、RX)
(无时钟线,UART需约定波特率)
4线(SCLK、MOSI、MISO、SS)2线(SDA、SCL)2线(CAN_H、CAN_L,差分信号)
地址机制无地址概念通过片选(SS)选择从设备7/10位从设备地址报文ID标识优先级
典型应用设备间简单通信(如MCU与PC)高速板级通信(如传感器、Flash存储器)多设备控制(如EEPROM、温湿度传感器)工业控制、汽车电子(抗干扰强,实时性高)
扩展性点对点连接从设备数量受主设备片选线限制支持多从设备(地址空间限制)多节点网络,支持广播和优先级仲裁
信号类型单端信号单端信号单端信号差分信号(抗干扰强)

http://www.xdnf.cn/news/14851.html

相关文章:

  • 二十九、windows系统安全---windows注册表安全配置
  • LNMP搭建discuz论坛
  • 力扣 hot100 Day36
  • 系统架构设计师论文分享-论软件体系结构的演化
  • C++ 模板宏相关
  • 力扣网编程45题:跳跃游戏II之正向查找方法(中等)
  • 容声W60以光水离子科技实现食材“主动养鲜”
  • 爬虫-协议基础
  • XHTML 简介
  • 使用LIMIT + OFFSET 分页时,数据重复的风险
  • Spring Bean 控制销毁顺序的方法总结
  • stm32的三种开发方式
  • js游戏简单修改
  • 【每天一个知识点】子空间聚类(Subspace Clustering)
  • SpringCloud系列(50)--SpringCloud Stream消息驱动之实现消费者
  • Python Async/Await 异步编程详解
  • <script setup>中的setup作用以及和不带的区别对比
  • 【UnityAssetBundle】异步加载
  • 【ESP32-IDF笔记】09-UART配置和使用
  • 基于大模型的领域知识图谱构建--python语言实现
  • Qt处理USB摄像头开发说明与QtMultimedia与V4L2融合应用
  • 二叉树题解——二叉搜索树中第 K 小的元素【LeetCode】使用外部变量ans记录答案
  • MyChrome.exe与Selenium联动避坑指南:User Data目录冲突解决方案
  • 60天python训练营打卡day52
  • Python gmssl.SM4使用案例
  • 动手学深度学习-学习笔记(总)
  • IDEA中application.yml配置文件不自动提示解决办法
  • 运算方法和运算器补充
  • 【AI大模型面试八股文】大模型训练中如何应对灾难性遗忘问题?
  • Swagger 安装使用教程