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

UART、RS232、RS485基础知识

一、UART串口通信介绍

UART是一种采用异步串行、全双工通信方式的通用异步收发传输器功能。

硬件电路:

•简单双向串口通信有两根通信线(发送端TX和接收端RX)
•TX与RX要交叉连接
•当只需单向的数据传输时,可以只接一根通信线
•当电平标准不一致时,需要加电平转换芯片

串口通信最重要的参数是端口(com)、波特率、数据位、停止位和奇偶的校验。对于两个需要进行串口通信的端口,这些参数必须匹配,共同遵守,这也是能够实现串口通讯的前提。

二、数据帧格式

起始位:起始位必须是持续一个比特时间的逻辑0电平,标志传输一个字符的开始,接收方可用起始位使自己的接收时钟与发送方的数据同步。

数据位:数据位紧跟在起始位之后,是通信中的真正有效信息。数据位的位数可以由通信双方共同约定。传输数据时先传送字符的低位,后传送字符的高位。

奇偶校验位:奇偶校验位仅占一位,用于进行奇校验或偶校验,奇偶检验位不是必须有的。如果是奇校验,需要保证传输的数据总共有奇数个逻辑高位;如果是偶校验,需要保证传输的数据总共有偶数个逻辑高位。

停止位:停止位可以是是1位、1.5位或2位,可以由软件设定。它一定是逻辑1电平,标志着传输一个字符的结束。

空闲位:空闲位是指从一个字符的停止位结束到下一个字符的起始位开始,表示线路处于空闲状态,必须由高电平来填充。

三、波特率

波特率是指数据信号对载波的调制速率,它用单位时间内载波调制状态改变的次数来表示。

四、RS232协议介绍

UART存在问题

电气接口不统一: UART只是对信号的时序进行了定义,而未定义接口的电气特性抗干扰能力差: 使用TTL电平来表示0和1,抗干扰能力差,数据在传输过程中很容易出错。
通信距离短: 抗干扰能力差,通信距离短。

引入RS232协议

    信号: 提高抗干扰能力,增加通信距离,传送距离一般可达到15m。
    接口 : 最开始使用的是DB-25连接器,后面IBM将其改为DB-9连接器。现在工业控制的接口一般只使用RXD、TXD、GND三条线。
    电平转换: 输出需要用TTL转为RS232电平

    五、RS485协议介绍

    该标准由电信行业协会和电子工业联盟定义;使用该标准的通信网络能在远距离条件下以及电子噪声大的环境下有效传输信号:该标准允许连接多个收发器,即具有多站能力,这样可以利用单一的RS485接口方便地建立起一个设备网络。

    信号: 采用差分信号进行数据传输,两线之间电压差为+2v~+6v为逻辑1,-2v-6v表示逻辑0。

    接口 : RS485采用两线制,这种接线方式为总线式拓扑结构,在同一总线上可以同时存在多个节点。 因为采用两线制,数据的发送和接收都要使用这对差分信号线,发送和接收不能同时进行,所以只能采用半双工的方式工作,编程时也需要加以处理。

    电平转换: 输出需要用TTL转为RS485电平电平转换芯片

    参考:

    RS-485通讯协议解析-CSDN博客

    UART、RS232、RS485基础知识+硬件知识_uart rs485-CSDN博客

    嵌入式通信协议(一)——UART、RS232、RS485_uart rs485-CSDN博客

    http://www.lryc.cn/news/2386071.html

    相关文章:

  1. AI重塑数据治理的底层逻辑
  2. 基于 AI 实现阿里云的智能财务管家
  3. 【成品论文】2025年电工杯数学建模竞赛B题50页保奖成品论文+matlab/python代码+数据集等(后续会更新)
  4. ​​IIS文件上传漏洞绕过:深入解析与高效防御​
  5. 【node.js】数据库与存储
  6. leetcode2081. k 镜像数字的和-hard
  7. Halcon 单目相机标定测量
  8. git子模块--常见操作
  9. 解决SQL Server SQL语句性能问题(9)——创建和更新统计对象
  10. 数据被泄露了怎么办?
  11. 绩效管理缺乏数据支持,如何提高客观性?
  12. unity控制相机围绕物体旋转移动
  13. 线性代数:AI大模型的数学基石
  14. 【C/C++】从零开始掌握Kafka
  15. 02_redis分布式锁原理
  16. 简单血条于小怪攻击模板
  17. Win11 系统登入时绑定微软邮箱导致用户名欠缺
  18. 代码随想录算法训练营第四十六四十七天
  19. 华硕FL8000U加装16G+32G=48G内存条
  20. 前后端联调实战指南:Axios拦截器、CORS与JWT身份验证全解析
  21. java高级 -Junit单元测试
  22. 在 UVM验证环境中,验证 Out-of-Order或 Interleaving机制
  23. V9数据库替换授权
  24. 勇闯Chromium—— Chromium的多进程架构
  25. Go语言中常量的命名规则详解
  26. 软件质量保证与测试实验
  27. 历年华东师范大学保研上机真题
  28. 【C++】什么是静态库?什么是动态库?
  29. 项目阅读:Instruction Defense
  30. springboot中拦截器配置使用