【嵌入式开发-RS-485】

嵌入式开发-RS-485

  • ■ RS-485 连接方式
  • ■ RS-485 半双工通讯
  • ■ RS-485 的特点
  • ■ UART硬流控
  • ■ RS-485
    • 1. 全双工、半双工接线
    • 2. 拓扑结构
    • 3. RS-485收发器
      • 3.1 发送模式(TX)
      • 3.2 接收模式(RX)
    • 4. RS-485数据链路
    • 5. RS-485常用电路
    • 6. CH340芯片USB转RS485参考电路

■ RS-485 连接方式

在这里插入图片描述

■ RS-485 半双工通讯

一线定义为A
一线定义为B
RS-485传输方式:半双工通信、(逻辑1:+2V ~ +6V 逻辑0:-6V ~ -2V)这里的电平指AB 两线间的电压差。

■ RS-485 的特点

  • 电气特性:逻辑“1”通常由两线间的电压差为+(2-6)V表示,而逻辑“0”由两线间的电压差为-(2-6)V表示。
  • 传输速率:数据最高传输速率可达10Mbps。
  • 抗干扰性:采用平衡驱动器和差分接收器的组合,增强了抗共模干扰能力。
  • 传输距离:最大传输距离可达1200米。
  • 多点通信:允许在总线上连接多达32个设备,实现多点通信。

■ UART硬流控

如果有RX,TX,CTS,RTS 四个信号,则多半是支持硬流控的UART;

RTSCTS
RTS (Require ToSend,发送请求) :为输出信号,用于指示本设备准备好可接收;发送请求低电平有效,低电平说明本设备可以接收数据。
CTS (Clear ToSend,发送清除):为输入信号,有效时停止发送。 发送允许 用于判断是否可以向对方发送数据,低电平有效,低电平说明本设备可以向对方发送数据。

在这里插入图片描述
编程思路

编号说明
1模块与MCU之间的串口是用硬件流控CTS、RTS两个IO口进行发送接收的通知和控制。
2这两个IO常态高位,置低触发。
3当模块可以接收数据时,模块会置低本机RTS(MCU为CTS)信号通知MCU可以发送数据。
4当MCU可以接收数据时,MCU要置低其RTS(模块为CTS)信号通知模块可以发送数据

■ RS-485

1. 全双工、半双工接线

DB9输出信号RS-422全双工接线RS-485半双工接线
1T/R+发(A+)RS-485(A+)
2T/R-发(B-)RS-485(B-)
3RXD+收(A+)
4RXD-收(B-)
5GND地线地线

2. 拓扑结构

在这里插入图片描述

3. RS-485收发器

在这里插入图片描述
RO 一 接收器输出
RE 一 接收器输出使能(低电平有效)
DE — 驱动器输出使能(高电平有效)
DI 一 驱动器输入

3.1 发送模式(TX)

DE:发送器输出使能(高电平有效)
引脚DE为逻辑高时,差分输出A和B遵循数据输入DI 处的逻辑状态。

数据流向: MCU_TX -> DI -> 内部驱动器 -> A/B差分输出
在这里插入图片描述

3.2 接收模式(RX)

RE:接收器输出使能(低电平有效)

数据流向: A/B差分信号 -> 内部接收器 -> RO -> MCU_RX

在这里插入图片描述

4. RS-485数据链路

在这里插入图片描述

当DIR=0时,接收电路使能,发送电路禁止DE=0,对总线而言相当于高阻;
当DIR=1时,接收电路使能,发送电路禁止DE=1,对总线A/B信号取决于DI的信号。

5. RS-485常用电路

在这里插入图片描述

1)使能信号RE和DE可采用一个GPIO控制,节省资源,
GPIO25 输出高电平,RE=DE=0V, 进入接收模式;
GPIO25 输出低电平,RE=DE=3.3V,进入发送模式。

2)有一些电路中会在A上加上拉,B上加下拉电阻,
主要原因是:RS-485总线在idle状态,电平是不固定的,即电平在-200mV~+200mV之间,收发器可能输出高也可能输出低,UART在空闲时需要保持高电平的,如果此时收发器输出一个低电平,对UART来说是一个start bit,会导致通信异常,

6. CH340芯片USB转RS485参考电路

在这里插入图片描述

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

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

相关文章

[硬件电路-18]:MCU - LPC1765FBD100是恩智浦(NXP)半导体推出的一款基于ARM Cortex-M3内核的高性能32位微控制器

LPC1765FBD100是恩智浦(NXP)半导体推出的一款基于ARM Cortex-M3内核的高性能32位微控制器,具备高集成度、低功耗、丰富的外设接口和强大的处理能力,适用于工业控制、消费电子、医疗设备、通信系统等嵌入式应用场景。 以下从核心特…

MyBatis(进阶)(xml标签)

本节⽬标 1. 学习MyBatis的动态SQL查询 2. 掌握MyBatis在项⽬中的应⽤, 可以使⽤Spring MVC完成⼀些基础的功能 1. 动态SQL(XML) 动态 SQL 是Mybatis的强⼤特性之⼀,能够完成不同条件下不同的 sql 拼接 可以参考官⽅⽂档: M…

QT QList容器及行高亮

总结QList是一个泛型/模板链表,可以自己定义数据类型,ExtraSelection是一种“数据类型”

【Python】Python项目中的依赖与配置:requirements.txt、setup.py、pyproject.toml 详解

在昨天的文章【Python】通过Editable Install模式详解,解决Python开发总是import出错的问题 中, 我们提到了Python项目的配置文件requirements.txt、setup.py、pyproject.toml。在昨天的解决方案中, 我们同时维护了这三个文件。 由同学就问&a…

详细聊聊 Synchronized,以及锁的升级过程

在Java中,synchronized关键字是用于实现线程同步的重要机制,它通过内置锁(Monitor)确保多个线程对共享资源的安全访问。 1. synchronized 的基本使用与实现原理 使用方式 修饰实例方法:锁是当前对象实例。public syn…

vue3的深入组件-组件 v-model

组件 v-model 基本用法​ v-model 可以在组件上使用以实现双向绑定。 从 Vue 3.4 开始&#xff0c;推荐的实现方式是使用 defineModel() 宏&#xff1a; <script setup> const model defineModel()function update() {model.value } </script><template>…

15.thinkphp的上传功能

一&#xff0e;上传功能 1. 如果要实现上传功能&#xff0c;首先需要建立一个上传表单&#xff0c;具体如下&#xff1a; <form action"http://localhost/tp6/public/upload"enctype"multipart/form-data" method"post"><input type&…

word文档基本操作: 编辑页眉页脚和插入目录

文章目录 引言I 编辑页眉页脚II 插入目录III 知识扩展基于axure画架构图基于Knife4j导出接口文档基于PDManer导出数据库设计文档引言 背景: 信息安全认证需要准备相关文件用于审核 一般的开发设计包含总体设计、概要设计、详细设计、接口设计、数据库设计、部署结构设计、原型…

Qt 通过控件按钮实现hello world + 命名规范(7)

文章目录 使用编辑框来完成 hello world通过编辑图形化界面方式通过纯代码方式 通过按钮的方式来创建 hello world通过编辑图形化界面方式通过纯代码方式 总结Qt Creator中的快捷键如何使用文档命名规范 简介&#xff1a;这篇文章着重点并不在于创建hello world程序&#xff0c…

实时网络流量监控与防御:Python实现DDoS攻击检测

1. 需求分析 DDoS攻击通过海量请求耗尽服务器资源。本文使用 Python Scapy 实时监控流量&#xff0c;自动触发IP封禁。 2. 核心代码实现 2.1 依赖安装 pip install scapy psutil2.2 流量监控脚本&#xff08;ddos_detector.py&#xff09; import time from scapy.all im…

电赛经验分享——模块篇

1、前言 打算在这一个专栏中&#xff0c;分享一些本科控制题电赛期间的经验&#xff0c;和大家共同探讨&#xff0c;也希望能帮助刚刚参加电赛的同学&#xff0c;了解一些基本的知识。一些见解和看法可能不同或有错误&#xff0c;欢迎批评指正。 在本文中&#xff0c;主要介绍笔…

【LLM】Open WebUI 使用指南:详细图文教程

Open WebUI 是一个开源的、可扩展且用户友好的自托管 AI 平台,专为生成式人工智能模型交互而设计。 Open WebUI 旨在为用户提供一个简单易用、功能强大且高度定制化的界面,使其能够轻松与各种 AI 模型(如文本生成、图像生成、语音识别等)进行交互。 一、安装与初始化配置 扩…

HarmonyOS Next~HarmonyOS应用测试全流程解析:从一级类目上架到二级类目专项测试

HarmonyOS Next&#xff5e;HarmonyOS应用测试全流程解析&#xff1a;从一级类目上架到二级类目专项测试 引言&#xff1a;HarmonyOS生态下的质量保障挑战 在万物互联的智能时代&#xff0c;HarmonyOS作为分布式操作系统&#xff0c;为开发者带来了前所未有的创新空间&#x…

一种机载扫描雷达实时超分辨成像方法——论文阅读

一种机载扫描雷达实时超分辨成像方法 1. 专利的研究目标与产业意义1.1 研究目标与实际问题1.2 产业意义2. 专利的创新方法:滑窗递归优化与实时更新2.1 核心模型与公式2.2 与传统方法对比优势3. 实验设计与验证3.1 仿真参数3.2 实验结果4. 未来研究方向与挑战4.1 学术挑战4.2 技…

滚筒洗衣机拆解学习

本文图片来自于B站视频&#xff0c;链接在文末&#xff0c;不涉及任何公司及实验室产品 对小米滚筒洗衣机进行拆解&#xff0c;并收集了用户对这款产品的评价&#xff0c;认识了关键部件。下一步重点学习对各个电机的控制逻辑和供电系统。 整机拆解学习&#xff1a; 功能面板…

【金仓数据库征文】金仓数据库 KingbaseES 在电商平台数据库迁移与运维中深入复现剖析

【金仓数据库征文】金仓数据库 KingbaseES 在电商平台数据库迁移与运维中深入复现剖析 前言 在当今数字化商业蓬勃发展的时代&#xff0c;电商平台的数据量呈爆发式增长&#xff0c;对数据库性能、稳定性和扩展性提出了极高要求。本文章基于大型电商平台原本采用 MySQL 数据库&…

iPhone手机连接WiFi异常解决方法

iPhone手机连接WiFi异常解决方法 一、问题现象二、iPhone连不上可能的原因三、基础排查与快速修复第一步:重启大法第二步:忽略网络,重新认证第三步:关闭“私有无线局域网地址”第四步:修改DNS服务器第五步:还原网络设置四、路由器端排查及设置关闭MAC地址过滤或添加到白名…

Android NDK版本迭代与FFmpeg交叉编译完全指南

在Android开发中&#xff0c;使用NDK(Native Development Kit)进行原生代码开发是一项常见需求&#xff0c;特别是当我们需要集成FFmpeg这样的多媒体处理库时。本文将深入分析Android NDK的版本迭代分界线&#xff0c;详细讲解FFmpeg交叉编译的注意事项&#xff0c;并提供完整的…

typecho中的Widget设计文档

组成系统的最基本元素 什么是Widget Widget是组成Typecho的最基本元素&#xff0c;除了已经抽象出来的类库外&#xff0c;其它几乎所有的功能都会通过Widget来完成。在实践中我们发现&#xff0c;在博客这种小型但很灵活的系统中实施一些大型框架的思想是不合适的&#xff0c…

Python序列Day3

序列 序列是一种数据存储方式&#xff0c;用方括号标注&#xff0c;逗号分隔的一组值。在内存中&#xff0c;序列就是一块用来存放多个值的连续的内存空间。 常见序列结构有&#xff1a;字符串、列表、元组、字典、集合 列表 用于存储任意数目&#xff0c;任意类型的数据集…