文/Edward

  TTL串口

TTL串口是我们日常做电子产品调试时候常用的一种通讯口,你可以用它来控制外设芯片,可以用它来做调试输出。之所以TTL串口这么受大众欢迎,是因为在硬件层面,它连接简单,只需要RXD、TXD和GND三根线即可连接两台机器进行通讯,而且通讯方向全双工。软件层面,TTL串口没有复杂的协议栈,软件处理非常简单。

但是,5V电平的TTL串口显然无法做长距离的通讯,因为串行通讯在较长距离(1m以上)传输时,由于传输线缆的阻抗因素影响,外加外部电磁环境的干扰,5V的单端通讯电平显然无法做长距离传输的。事实上,现在一些单片机的电压都普遍为3.3V,因此这些单片机自带的串口只能做一些近距离的调试,或者一些PCB板内的传感器、模块控制。

  RS232串口

为了克服TTL串口传输距离不足的问题,RS232串口采用了一种最直接的办法来解决。其具体做法为:

1 将TTL串口的0~5V电平标准提升到了-12V~+12V;

2 将原本TTL串口中规定的0V表示数字0,5V表示数字1这样的正逻辑进行反向,采用了这种负逻辑形式,具体规定为-12V表示数字1,+12V表示数字0。

这样的作法可以解决两个问题,首先-12V电平在电路系统中不是常规电压,因此将其表示数字1的好处是,即是通讯电缆上有一个正电压的干扰进来,也不会被误判为1。其次将电压标准提高到了±12V,可以大大增加传输的驱动力。

介于此,RS232可以用来传输一些频率不是很高,干扰不是很强,距离较长(综合距离60m~150m左右,具体看实际环境)的信息。因此RS232早前被广泛用于小型机终端接入,广告牌通讯等应用。

三线制的RS232有着诸多的优点,如传输距离适中,电缆成本低,通讯简单等。但是由于RS232需要接受双方的RXD和TXD线交叉连接,因此这种连接方式注定只能在两台设备之间点对点连接。而且在高干扰的电磁环境中,单端式的电平通信根本无法保证通讯的可靠性。

  RS485串口

RS232采用单端式电压信号传输有效信息,单端式的通讯很难满足长距离的通讯,因为单端信号距离过长时,地线的阻抗,地线的干扰,还有信号的失真都会对通讯质量产生影响。而且随着科技的发展,点对点的通讯远远满足不了现代的智能仪表和智能设备技术了,这种智能仪表和智能设备的应用最重要的一点就是可以多机组网,而RS485的出现解决了这个问题。

RS485是一种利用差分传输的半双工接口,又名TIA-485-A, ANSI/TIA/EIA-485或TIA/EIA-485。RS485是一个定义平衡数字多点系统中的驱动器和接收器的电气特性的标准,该标准由电信行业协会和电子工业联盟定义。使用该标准的数字通信网络能在远距离条件(1200m左右,100Kbps情况下)下以及电子噪声大的环境下有效传输信号。

RS485信号的传输是通过一组差分线来实现的,一般标记为A(非反向(non-inverting)信号)和B反向(inverting)信号。A和B信号的关系,RS-485标准中提到:

若是MARK(逻辑1),线路B信号电压比线路A高;

若是SPACE(逻辑0),线路A信号电压比线路B高。

一个由RS485组成的总线系统中最多可以挂接32个节点,这个总线网络是半双工的,即每一时刻只能允许一个设计发送信息。由于硬件上RS485网络没有CSMA/CD(载波侦听多路访问/冲突检测)机制,因此利用RS485组成的总线系统,必定是单主机多从机形式的。大多数时刻,从机都是处于接收状态,当主机请求自己数据发送时,主机进入接收状态,被选中的从机进入发送状态,将信息发送给主机。

RS485接口传输的信号虽然是差分信号,但是我们在日常应用的时候,还是需要将其转换为TTL串口送入单片机去处理的。

常用的RS485转TTL串口的芯片有MAX485系列芯片,这个系列芯片中包含了多种其它型号的芯片,这些芯片使用方法一模一样,引脚Pin-to-Pin兼容,其原理图为:

这些芯片的区别也是存在的,主要的区别主要在传输速率,支持的最大节点数等。

MAX485/MAX487系列的芯片,其中的A(Pin6)和B(Pin7)用来传输RS485差分信号,一个总线网络中的两个端节点需要借一个120Ω的匹配电阻。

VCC(Pin8)和GND(Pin5)分别是电源和地,输入电压为4.75V ≤ VCC ≤ 5.25V。

RO(Pin1)是数据输出,其实转换成TTL之后就是TTL的RXD,DI(Pin4)是数据输入,转换成TTL之后,就是连接TTL的TXD。

RE(Pin2)是接收数据使能,DE(Pin3)是发送数据使能。前面我们说过,由于RS485是半双工的,因此需要通过MCU来控制整个数据的流向,这两个信号一个是互斥的,因此我们为了节约IO口和收发逻辑不冲突,因此使用时都将这两个引脚接到同一个IO口,这样,当IO口为1时,DE有效,此时RS485总线上的信号是单片机TXD信号转成的差分信号,当IO口为0时,RE有效,此时的单片机RXD引脚一直在监控RS485总线上的数据。

rs485调试软件_【乐创“芯”说】你想知道的RS485相关推荐

  1. rs485调试软件_5种RS485切换方向的方法及优劣势分析

    来源:创易栈,排版整理:晓宇微信公众号:芯片之家(ID:chiphome-dy) RS485作为常见的总线之一,几乎每个工控设备都在用,我们也对其熟悉不过了.我们都知道RS485双半双工通信,其CPU ...

  2. modbus rtu 调试软件_一文最全解读Modbus 的RTU、ASCII、TCP

    导 读 ( 小库 ) 多年来没少调试施耐德PLC,因此Modbus-RTU.Modbus-TCP等协议都经常接触,但一直都没有认真总结一下,借这篇文章总结一下. 01 术语解读 1 word =2 b ...

  3. opc调试软件_组态王和三菱OPC软件完美演绎天塔之光

    许多朋友因为在学习组态王的过程中因为没有实物PLC而发愁,这里我通过天塔之光实例分享一个三菱OPC软件模拟实物PLC与组态王通信的方法. 一.需要软件 组态王软件 三菱PLC编程软件GX Works2 ...

  4. 三菱伺服调试软件_三菱M70第四轴追加参数设定一览表

    M70第四轴追加参数 相关链接: 三菱系统添加第四轴参数表 FANUC 0I系统 第四轴参数调试 FANUC 31iA/B 原装DDR四轴安装步骤 FANUC如何查看机床有没有四轴功能? FANUC机 ...

  5. 华为交换机调试软件_手把手教网络工程师用2种方法如何恢复交换机配置

    前面几期,我们分享了备份交换机配置的相关文章后 有网友想看如何通过备份恢复配置的教程,今天它来了. 本期的实验环境: 1.交换机的G0/0/24口,划为vlan10,并接到我的台式电脑网口上: 2.接 ...

  6. usb hid 调试软件_开源USB免驱固件升级软件分享

    跳兔科技开源软件分享,免驱的USB固件升级软件,给您的产品提供无限的活力.加快产品上市速度. 相信做MCU开发的人都免不了要做boot升级功能,产品投入使用中,如果再使用link进行固件更新的话就比较 ...

  7. pyqt 获取 UI 中组件_你想知道的React组件设计模式这里都有(上)

    本文梳理了容器与展示组件.高阶组件.render props这三类React组件设计模式 往期回顾:HBaseCon Asia 2019 Track 3 概要回顾 随着 React 的发展,各种组件设 ...

  8. python 创意项目_选择创意项目您需要知道的7个步骤

    python 创意项目 There are obvious surface-level positives and negatives to most projects. If you look be ...

  9. web开发集成数字证书_每个数字设计师都应该知道的Web开发的七个原则

    web开发集成数字证书 A career path into digital design is often winding, meaning many practitioners come from ...

最新文章

  1. ubuntu编译内核_鸿蒙源码下载并编译
  2. 类加载器ClassLoader的角色
  3. ruby hash方法_Ruby中带有示例的Hash.default(key = nil)方法
  4. 沈航计算机考研上岸,【图片】一战厦大计算机上岸,经验帖。慢更【考研吧】_百度贴吧...
  5. mysql数据库安全机制研究意义_MySQL数据库的安全机制
  6. Linux下安装spf13-vim
  7. OpenShift 4 之获取版本升级路径图
  8. Python群机器人发送城市天气情况
  9. java 生成条形码_Springboot生成二维码,怎么搞?
  10. pythom打包文件太大_PDF太大,不让上传怎么办?教你1分钟将100M的PDF变成10M
  11. 【C/C++】求解线性方程组的雅克比迭代与高斯赛德尔迭代
  12. 高中数学如何考120以上高中数学如何快速提高
  13. 【英语语法入门】 第23讲 动词的用法
  14. 北京林业大学matlab公选课,北林选课攻略
  15. 边境的悍匪—机器学习实战:第十四章 使用卷积神经网络的深度计算机视觉
  16. python+selenium+scrapy框架爬取斗鱼主播相册内的 图片
  17. 金融业务系统日志精益化分析
  18. Failing because I am unlikely to write too排查方案
  19. muduo日志学习笔记
  20. 【C++】使用VS2022和GCC编译Xlnt库读取EXCEL

热门文章

  1. python是开源的.它可以被移植_Facebook 发布开源框架 PyTorch, Torch 终于被移植到 Python 生态圈...
  2. Kali Linux又增加一个顶级域名kali.download
  3. php的sql语句用变量赋值,sql语句变量赋值
  4. harmonyos能否移植到MCU,HarmonyOS(LiteOs_m) 官方例程移植到STM32初体验
  5. linux ll一页一页,Linux使用技巧33则
  6. 重磅回击!ZeniMax回击Oculus新试验
  7. 「机器人界的微软」创始人逝世,从iPhone到汽车都离不开他的创造
  8. 商汤组了「最强大脑」局,正儿八经解释为啥搞起电竞AI
  9. SciHub下载量成论文影响力预测指标:能被下载的论文被引次数高出72%
  10. 祝「杭州程序媛」母亲节快乐!