文章目录

  • 串行通信
    • PC和单片机之间的通讯转换
  • RS232
  • RS485

串行通信


关于串行通信的前序知识在之前的博客中提到:
串口通信
IIC通讯
SPI通讯
接下来会着重讲解RS232和RS485的部分
RS232和RS485同属于异步串口通信,在前序部分讲过,他们在程序上的写法都是一样的,区别在于物理上的发送和接收器需要经过特定的电平转换。
RS232
逻辑“1”:-5V~-l5V
逻辑“0”:+5V~+l5V
转换芯片:MAX232
单5V供电,完成TTL和EIA电平互换,双路串行口,4个电解电容及其极性连接要正确 。

PC和单片机之间的通讯转换


RS232

RS-232虽然使用很广,但因推出较早,在现代网络通信中已暴露出明显的缺点:

①数据传输速率慢,最快传输速率可达20KB/S
②传送距离短,RS–232接口一般装置之间电缆长度为15m,即使有较好的线路器件、优良的信号质量,电缆长度也不会超过60m
③单线非平衡式信号传输,导致抗干扰能力差,只能应用在低速、近距离应用中,如PC与外设的连接


RS485

RS485的出现可以说是为了弥补232的缺点。
①平衡式传输(差分信号),抗干扰能力大大加强,传输速度快。
②传输速率达到12Mbps。在1200m传输距离时,速率可达100Kbps。

RS485为半双工(同一时刻只能收或者发)。
当RS485线路空闲时,线路处于高阻(或挂起)状态。这时,RS485线路就可以允许被其它设备占用,即具有RS485接口的设备连成总线。

对于RS485采用平衡式发送,差分式接收的方式有以下的要求:

①接收器的输入电阻RIN≥12kΩ
②驱动器能输出±7V的共模电压,只有满足该范围才能正常工作

  • RS-422与RS-485接口均采用差分方式传输信号方式,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了。但收发器有一定的共模电压范围,如RS-422共模电压范围为-7~+7V,而RS-485收发器共模电压范围为-7~+12V,只有满足上述条件,整个网络才能正常工作。当网络线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口
  • (EMI)问题:发送驱动器输出信号中的共模部分需要一个返回通路,如没有一个低阻的返回通道(信号地),就会以辐射的形式返回源端,整个总线就会像一个巨大的天线向外辐射电磁波
  • 由于上述原因,RS-422、RS-485尽管采用差分平衡传输方式,但对整个RS-422或RS-485网络,必须有一条低阻的信号地。一条低阻的信号地将两个接口的工作地连接起来,使共模干扰电压VGPD被短路。值得注意的是,这种做法仅对高阻型共模干扰有效,由于干扰源内阻大,短接后不会形成很大的接地环路电流,对于通信不会有很大影响。当共模干扰源内阻较低时,会在接地线上形成较大的环路电流,影响正常通信

③在节点数为32个,配置了120Ω的终端电阻的情况下,驱动器至少还能输出电压1.5V
④接收器的输入灵敏度为200mV

  • 这点就是说:(V+)-(V-)≥0.2V,表示信号“0”;(V+)-(V-) ≤-0.2V,表示信号“1”;当-0.2V≤ A-B≤0.2V,状态不定。为了防止这个状态不定,就要加上拉或者下拉电阻,阻值的选择其实就是为了让两线之间电压大于200mV
  • 此外为了防止短时间内的电压变化,需要对线路进行瞬态保护

现场总线技术笔记——3、通用串行端口的数据通信(RS232、RS485)相关推荐

  1. 现场总线技术笔记——1、数字信号是怎么完成通信的?(匹配阻抗、CRC校验)

    文章目录 数字通信系统模型 信道 信道容量--解决传输速率的方法 如何提高传输的稳定性和准确性? ①通过编码规则提高准确性 ②同步和异步传输中的同步技术 ③阻抗匹配技术 信号的传输模式--基带.载带. ...

  2. 《Python Cookbook 3rd》笔记(5.20):与串行端口的数据通信

    与串行端口的数据通信 问题 你想通过串行端口读写数据,典型场景就是和一些硬件设备打交道 (比如一个机器人或传感器). 解法 尽管你可以通过使用 Python 内置的 I/O 模块来完成这个任务,但对于 ...

  3. [转] 电子技术·笔记1(9月份)

    一.       I/O接口强推挽输出 二.       PCB布线 1.输入端与输出端的边线应避免相邻平行,以免产生反射干扰.必要时应加地线隔离:两相邻层的布线要互相垂直,平行容易产生寄生耦合. 2 ...

  4. Java高级技术笔记

    Java高级技术笔记 URL地址 HTTP协议 开发工具 Java开发工具包(JDK) JSP引擎 MyEclipse IDEA 工具集成 C/S架构是Client/Server的简写,也就是客户机/ ...

  5. OpenStack 实现技术分解 (7) 通用库 — oslo_config

    目录 目录 前文列表 扩展阅读 osloconfig argparse cfgpy class Opt class ConfigOpts CONF 对象的单例模式 前文列表 OpenStack 实现技 ...

  6. 看技术笔记,提高嵌入式基础

    今天给大家推荐一个嵌入式方向公众号[嵌入式大杂烩],该公众号专注于嵌入式技术,主要分享C语言. 嵌入式.物联网.Linux等方面的技术笔记,力求通俗易懂. [嵌入式大杂烩]号主ZhengN,是一位新能 ...

  7. 阿里P7爆款《K8s+Jenkins》技术笔记,读了后确实有实质性的帮助

    前些日子从阿里的朋友那里取得这两份K8s+Jenkins的爆款技术笔记:<K8S(kubernetes)学习指南>+<Jenkins持续集成从入门到精通>,非常高质量的干货,读 ...

  8. Web应用开发技术笔记

    Web应用开发技术笔记 第一章 1.1 WEB技术概述 Web的三要素 静态网页 动态网页(Applet) 动态网页 动态Web的发展 静态网页动态网页的比较 1.2 Web应用程序的工作原理 C/S ...

  9. canvas绘图夕颜技术笔记

    neveryu看到一个生成颜色的js方式: m = Math, r = 0, v = m.cos, u = m.PI * 2 '#' + (v( r ) * 127 + 128 << 16 ...

  10. JAVA大厂面试突击训练(夕颜技术笔记|总结大厂的面试题)

    欢迎大家进群,一起探讨学习 微信公众号,每天给大家提供技术干货 博主技术笔记 博主网站地址1 博主网站地址2 博主开源微服架构前后端分离技术博客项目源码地址,欢迎各位star https://brig ...

最新文章

  1. Linux (四)其他一些服务的实现
  2. 《jQuery、jQuery UI及jQuery Mobile技巧与示例》——9.17 技巧:使用多个列
  3. Matplot的常见问题
  4. python装饰器函数执行后日志_Python装饰器使用规范案例详解
  5. Jupyter中打印所有结果的解决办法
  6. 数据结构和算法(03)---栈和队列(c++)
  7. Django登录验证——原生表单验证
  8. python取出矩阵中的某一元素_将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例...
  9. Glusterfs(distribute) + DRBD + heartbeat + mon 实现分布式文件系统1
  10. jQuery addClass
  11. android如何关闭响应程序,android – 如何修复应用程序没有响应?
  12. ios11修改微信步数_网页一键就能修改微信步数?这个网站你值得看下
  13. 利用openpyxl在Excel文件中批量复制模板表格
  14. Deep Graph Contrastive Representation Learning
  15. 在c语言万年历中怎么添加节日,用C实现简单万年历
  16. css中只读,是否可以通过CSS将输入字段设置为只读?
  17. ffmpeg的下载及安装JAVA工具类
  18. 动态八卦图html,HTML绘制太极八卦图
  19. 深度盘点:机器学习、深度学习面试知识点3W字汇总
  20. ios怎么引入masonry_ios masonry 怎样设置边距自适应

热门文章

  1. Java读写csv文件操作
  2. blog post list.html,Zblog模板修改和Zblog各模板代表的含义
  3. 【小程序】自定义组件设置样式失效使用外部样式类解决
  4. 关于学习scala中lazy关键字的记录
  5. e430c参数 thinkpad,联想ThinkPad E430c的详细参数
  6. 关于后盾网yii框架的学习小结(1)--yii模块的安装
  7. C语言猜数字游戏(超级详解)
  8. Deepin下安装日文输入法
  9. APISpace IP归属地API
  10. 热门好用的IP归属地API