串口

  串口是串行接口(serial port)的简称,也称为串行通信接口或COM接口。串口通信是指采用串行通信协议(serial communication)在一条信号线上将数据一个比特一个比特地逐位进行传输的通信模式。串口按电气标准及协议来划分,包括RS-232-C、RS-422、RS485等. RS232 与 RS485 一直是弱电常见的接口。

RS232与RS485在嵌入式中的实践

一、RS232 是什么?

RS-232 接口符合美国电子工业联盟 (EIA) 制定的串行数据通信的接口标准,原始编号全称是 EIA-RS-232(简称 232,RS232)。它被广泛用于计算机串行接口外设连接。连接电缆和机械、电气特性、信号功能及传送过程。

RS232串口设计

RS-232-C 标准规定的数据传输速率为每秒 50、75、100、150、300、600、1200、2400、4800、9600、19200 波特。

二、RS232 有啥特性

RS-232 是现在主流的串行通信接口之一。由于 RS232 接口标准出现较早,难免有不足之处,主要有以下四点:

(1) 接口的信号电平值较高,易损坏接口电路的芯片。RS232 接口任何一条信号线的电压均为负逻辑关系。即:逻辑 “1” 为-3—-15V;逻辑 “0”:+3—+15V,噪声容限为 2V。即要求接收器能识别高于 +3V 的信号作为逻辑 “0”,低于-3V 的信号作为逻辑 “1”,TTL 电平为 5V 为逻辑正,0 为逻辑负。与 TTL 电平不兼容故需使用电平转换电路方能与 TTL 电路连接。

(2) 传输速率较低,在异步传输时,比特率为 20Kbps;因此在 51CPLD 开发板中,综合程序波特率只能采用 19200,也是这个原因。

(3) 接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。

(4) 传输距离有限,最大传输距离标准值为 50 英尺,实际上也只能用在 15 米左右。

三、RS485 是什么?

在要求通信距离为几十米到上千米时,广泛采用 RS-485 串行总线。RS-485 采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至 200mV 的电压,故传输信号能在千米以外得到恢复。

RS485 数字电路原理图

RS-485 采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。

四、RS485 有啥特性

RS-485 用于多点互连时非常方便,可以省掉许多信号线。应用 RS-485 可以联网构成分布式系统,其允许最多并联 32 台驱动器和 32 台接收器。针对 RS-232-C 的不足,新标准 RS-485 具有以下特点:

(1) RS-485 的电气特性:逻辑 “1” 以两线间的电压差 +2V~+6V 表示,逻辑 “0” 以两线间的电压差-6V~-2V 表示。接口信号电平比 RS-232-C 降低了,就不容易损坏接口电路芯片,且该电平与 TTL 电平兼容,刻方便与 TTL 电路连接。

(2) 数据最高传输速率为:10Mbps

(3) RS-485 接口采用平衡驱动器和差分接收器的组合,抗共模干扰能力强,即抗噪声性能好。

(4) RS-485 接口的最大传输距离标准值 4000 英尺,实际上可达 3000 米。

(5) RS-232-C 接口在总线上只允许连接一个收发器,即单站能力;而 RS-485 接口在总线上只允许连接多达 128 个收发器,即具有多站能力,这样用户可以利用单一的 RS-485 接口方便地建立设备网络。

五、场景

RS-232 现在一般应用于数据传输率低的短距离传输中,在嘈杂的环境也能有效工作,比如工厂、公共站点等,其常用设备有低速调制解调器、工业控制设备、可编程逻辑控制器 (PLC)、计算机数控 (CNC) 机床、机器人、嵌入式控制电脑、医疗仪器及设备以及嵌入式控制器开发系统。

RS-485 则常用于数据传输速率高的长距离传输中,常用设备有销售点终端 (POS)、计量仪器和大型专用自动化机器等。

但在平常的应用中,我们经常需要在两个不同的接口类型间进行转换。这时我们可以使用现在流行的 USB 接口,可以帮助我们转换到 RS-232 接口和 RS-485 接口。

综上所述,RS-232 适合短距离低速率的传输要求,而 RS-485 则适合于长距离传输。RS-485 是针对 RS-232 接口的不足出现的新的接口标准,因其具有的良好抗噪声干扰能力和多站能力,现已成为首选标准。

六、最佳实践

在物联网场景中,经常使用 DTU (Data Transfer unit: 是专门用于将串口数据转换为IP数据或将IP数据转换为串口数据通过无线通信网络进行传送的无线终端设备) 来将串口设备的数据进行透传上云。

在市面上常见的DTU有基于TCP/UDP Client的数据透传设备、也有支持NB-IOT、2G、3G、4G、WIFI等联网方式,通讯协议为MQTT、COAP、HTTP的透传设备。基于稳定性以及通用性的要求,一般采用含有NB-IOT模组的DTU设备、协议为COAP。

串口设备在物联网中的数据接入方式

serialport通过usb通讯_IOT串口通讯-RS232/RS485相关推荐

  1. USB VCP虚拟串口通讯详细配置步骤(STM32H732)

    USB VCP虚拟串口通讯详细配置步骤(STM32H732) 一.软件版本 二.CodeMX配置 1.使能外部高速时钟. 2.开启USB外设,选择USB Device功能,速度为默认全速USB设备12 ...

  2. s7300plc串口通信_什么是串口通讯?plc串口通讯的使用

    什么是串口通讯?plc串口通讯的使用 串口是计算机上一种非常通用设备通信的协议(不要与通用串行总线Universal Serial Bus或者USB混淆).大多数计算机包含两个基于RS232的串口.串 ...

  3. labview+PLC程序+OPC完整项目程序Labview和西门子PLC smart200 OPC通讯仪器串口通讯

    labview+PLC程序+OPC完整项目程序Labview和西门子PLC smart200 OPC通讯仪器串口通讯 全套项目资料,包括Labview 程序,研华工控机,西门子Smart 200程序, ...

  4. Labview和西门子PLC smart200 OPC通讯仪器串口通讯

    Labview和西门子PLC smart200 OPC通讯仪器串口通讯 全套项目资料,包括Labview 程序,研华工控机,西门子Smart 200程序,电气原理图,元器件清单,详细注释 Labvie ...

  5. 西门子PLC与Unity3D通讯丨串口通讯

    串口通讯 前言 通讯协议 代码部分 引用文件的准备 数据类型的声明 写接收数据函数DataReceiveFunction() 写打开串口函数OpenPort() 关闭串口ClosePort() 发送数 ...

  6. 高速USB转8串口产品设计-RS485串口

    基于480Mbps 高速USB转8路串口芯片CH348,可以为各类主机扩展出8个独立的串口.使用厂商提供的VCP串口驱动程序,可支持Windows.Linux.Android.macOS等操作系统.使 ...

  7. 串口---UART RS232 RS485 TTL

    什么是串口? 串口通信分同步串口通信USRT,异步串口通信UART, 串口主流的电气(电平)标准 RS232 RS485 RS422 TTL 相关芯片 PL2303.CP2102芯片都是常用的USB转 ...

  8. android串口通讯奇偶校验,串口通讯奇偶数校验及CRC校验如何使用详解

    我们以前在学校使用串口基本都不用奇偶数校验都是采用硬件CRC(循环冗余校验码)校验的.但有时候为了数据传输的更加严谨和差错的处理会采用奇偶校验.这里简单说下软件上CRC校验是如何计算的. 所谓CRC是 ...

  9. 串口RS232 RS485最本质的区别!-!I2C通讯协议 最简单的总线通讯!-深入理解SPi通讯协议!

    5分钟看懂!串口RS232 RS485最本质的区别!-4分钟看懂!I2C通讯协议 最简单的总线通讯!-深入理解SPi通讯协议,5分钟看懂! 一.5分钟看懂!串口RS232 RS485最本质的区别! 二 ...

最新文章

  1. 初识tmux---编译安装tmux
  2. 一条简单的 SQL 执行超过1000ms,纳尼?
  3. 技嘉主板万能网卡驱动_技嘉Z490系列主板来袭:16相供电/钽电容,堆料更进一步...
  4. 韩国最新「美女元宇宙」引爆Reddit!最强换脸神器美女自拍一键转漫画
  5. php版本哪个没有面向对象,php面向对象的方法重载两种版本比较
  6. (76)FPGA随机函数($dist_uniform)
  7. 并行计算课程上机作业
  8. 安装Vue +webpack ,以及出现的问题d的解决
  9. Python字符串加密
  10. project软件_Project软件操作篇——第三篇 优化计划
  11. Webstorm汉字乱码时
  12. 智能家居竞品分析:米家/HomeKit/美居/涂鸦智能的体验与思考
  13. 【零基础】MT4量化入门三:写一个双均线指标
  14. 为什么软件工程师的脾气都这么暴躁
  15. Multi-Instance Multi-Label Learning Networks for Aspect-Category Sentiment Analysis
  16. 利用MATLAB画传递函数的奈奎斯特曲线
  17. 中原银行实时风控体系建设实践
  18. 0x00007FF73DF2C2EB 处(位于 PCL中)引发的异常: 0xC0000005: 读取位置 0x0000000000000000 时发生访问冲突。
  19. HTML overflow: hidden 属性详解
  20. mybatis第三话 - mybatis的高端用法你会吗?

热门文章

  1. jedis watch Java_jedis操作redis的几种常见方式总结
  2. oracle dbwr trace文件,ORA-01157: cannot identify/lock data file 19 - see DBWR trace file问题处理...
  3. python中函数的定义实例_Python基础之函数的定义与使用实例
  4. python package和目录_PyCharm中Directory与Python package的区别
  5. 【渝粤教育】国家开放大学2018年秋季 1062t文学英语赏析 参考试题
  6. [渝粤教育] 西南科技大学 数控机床与编程 在线考试复习资料
  7. 【渝粤题库】广东开放大学 面向对象方法精粹 形成性考核
  8. 分享百度文库提交成功的八大因素
  9. LoRa无线通信模块在运动安全上的物联网运用
  10. matlab 里try用法,matlab在整个程序(全局)中使用try-catch来报告错误