通信接口五种主要的类型是什么?RS-232、485、CAN、USB

2023-05-16

笔者电子信息专业硕士毕业,获得过多次电子设计大赛、大学生智能车、数学建模国奖,现就职于南京某半导体芯片公司,从事硬件研发,电路设计研究。对于学电子的小伙伴,深知入门的不易,特开次博客交流分享经验,共同互勉!全套资料领取扫描文末二维码


温馨提示:学而不思则罔,思而不学则殆。实践是检验真理的唯一标准!

通信接口(communication interface 是指中央处理器和标准通信子系统之间的接口。如:RS232接口。RS232接口就是串口,电脑机箱后方的9芯插座,旁边一般有 "|O|O|" 样标识。

主要分类

计算机与计算机或计算机与终端之间的数据传送可以采用串行通讯并行通讯二种方式。

由于串行通讯方式具有使用线路少、成本低,特别是在远程传输时,避免了多条线路特性的不一致而被广泛采用。在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。RS-232-C接口(又称 EIA RS-232-C)是最常用的一种串行通讯接口。它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的 DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。

规定

  1. 接口的信号内容 实际上RS-232-C的25条引线中有许多是很少使用的,在计算机与终端通讯中一般只使用3-9条引线。接口的电气特性在RS-232-C中任何一条信号线的电压均为负逻辑关系。即:逻 辑“1”,-5— -15V逻辑“0” +5— +15V 。噪声容限为2V。即要求接收器能识别低至+3V的信号作为逻辑“0”,高到-3V的信号作为逻辑“1”。

  2. 接口的物理结构 RS-232-C接口连接器一般使用型号为DB-25的25芯插头座,通常插头在DCE端,插座在DTE端. 一些设备与PC机连接的RS-232-C接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据”、“接收数据”和“信号地”。所以采用DB-9的9芯插头座,传输线采用屏蔽双绞线。

  3. 传输电缆长度 由RS-232C标准规定在码元畸变小于4%的情况下,传输电缆长度应为50英尺,其实这个4%的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过50英尺,美国DEC公司曾规定允许码元畸变为10%而得出的实验结果。其中1号电缆为屏蔽电缆,型号为DECP.N.9107723 内有三对双绞线,每对由22# AWG组成,其外覆以屏蔽网。2号电缆为不带屏蔽的电缆。型号为9105856-04是22#AWG的四芯电缆。

类型

  1. 232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道,在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。

  2. RS-485总线,在要求通信距离为几十米到上千米时,广泛采用RS-485 串行总线标准。RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。RS-485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。RS-485用于多点互连时非常方便,可以省掉许多信号线。应用RS-485 可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。

种类

在工业现场能够选择的通讯接口非常多,常见的是如下几种:串口232、485、以太网、GPIB、USB、无线、光纤等

1、标准串口(RS232)

232通讯线路简单,只要一根交叉线即可与PC主机进行点对点双向通讯。线缆成本低,但传输速度慢、不适于长距离通讯。消费类PC机也逐渐取消了该接口,多存在于工控机及部分通信设备中。

工控机在安装完系统及必要的驱动后,其串口便可直接使用,网上也有许多流行的串口调试工具可用于测试仪器。用户二次开发通讯程序也相对简单。

2、GPIB

GPIB最大的特点是可用一条总线连接若干个仪器,组成一个自动测试系统。该通讯速率较低,常用于发送控制类命令,适用于电气干扰轻微的实验室或生产现场。由于普通的PC机及工控机较少提供GPIB接口,所以需要购买专用的控制卡、安装驱动程序后才能与仪器通讯。

3、以太网

大多数设备都配有LAN网络接口,俗称“水晶头”,该特点是可灵活组网、多点通讯、传输距离不限、高速率等优点,使其成为主流的通讯方式。

该接口本身的作用主要是用于路由器与局域网进行连接。但是,局域网类型是多种多样的,所以这也就决定了路由器的局域网接口类型也可能是多样的。不同的网络有不同的接口类型,常见的以太网接口主要有AUI、BNC和RJ-45接口,还有FDDI、ATM、光纤接口,这些网络都有相应的网络接口。在仪器行业或者系统集成行业,大多的工程师也会选择通过网口写入命令对仪器做控制。

4、USB

作为最最常用的接口,USB只有4根线,两根电源两根信号,信号是串行传输的,因此USB接口也称为串行口,接口的输出电压和电流是+5V 500mA 实际上有误差,最大不能超过+/-0.2V 也就是4.8-5.2V 。

USB接口的4根线一般是下面这样分配的:黑线:gnd 红线:vcc绿线:data+ 白线:data- USB的主要作用是对设备内的数据进行存储或者设备通过USB接口对外部信息进行读取识别;除此以外,USB也是做二次开发的有效接口。虽然USB3.0的技术已经在笔记本电脑等领域应用的非常成熟,但是在仪器领域,受处理速度和架构的影响,多见的还是USB2.0的技术。

5、无线

除了常见的通讯接口外,无线连接也是一种非常重要的通讯方式,它的特点是:无实体线连接,传输速率快,有很多仪器设备内部都直接内置了802.11无线接口。

可以将仪器与无线路由相连接,或连接到手机的WIFI热点形成组网。

6、多机同步接口

其实多机同步接口不同于上文提到的USB、LAN等常见通讯接口,而是功率分析仪类的设备为保证同时测量得到通道数加多设计的接口。通过线缆连接两台仪器即可同时测试多路型号,保证了信号测试的同步性。

决定方式

        以往,PC与智能设备通讯多借助RS232、RS485、以太网等方式,主要取决于设备的接口规范。但RS232、RS485只能代表通讯的物理介质层和链路层,如果要实现数据的双向访问,就必须自己编写通讯应用程序,但这种程序多数都不能符合ISO/OSI的规范,只能实现较单一的功能,适用于单一设备类型,程序不具备通用性。在RS232或RS485设备联成的设备网中,如果设备数量超过2台,就必须使用RS485做通讯介质,RS485网的设备间要想互通信息只有通过“主(Master)”设备中转才能实现,这个主设备通常是PC,而这种设备网中只允许存在一个主设备,其余全部是从(Slave)设备。而现场总线技术是以ISO/OSI模型为基础的,具有完整的软件支持系统,能够解决总线控制、冲突检测、链路维护等问题。

☛ 往期文章推荐

回复【更多资料】海量嵌入式资料赠送

笔者电子信息专业硕士毕业,获得过多次电子设计大赛、大学生智能车、数学建模国奖,现就职于南京某半导体芯片公司,从事硬件研发,电路设计研究。对于学电子的小伙伴,深知入门的不易,特开次博客交流分享经验,共同互勉!     

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通信接口五种主要的类型是什么?RS-232、485、CAN、USB 的相关文章

  • 如何在 OSX Catalina (10.15) 中使用 Wireshark 捕获 USB 流量

    我正在尝试让 Wireshark USB 捕获工作 显然 Catalina 之前的技巧就是调出界面 以便 Wireshark 可以看到它 https forums developer apple com thread 95380 https
  • 通过 USB 模拟 UART

    有谁知道是否可以通过 USB 模拟 UART 简单串行发送和接收 这将如何实现 我在 Microchip 网站上找到了这个链接 但不是很容易找到 http www microchip com forums m522571 print asp
  • 软件和与外部设备串行通信的波特率限制

    我使用 USB 端口作为虚拟 COM 端口运行 以使用 MATLAB 或 Visual Basic 6 实现与外部设备的串行通信 我面临波特率限制 具体取决于我用于与设备通信的软件 MATLAB 2018a 没有问题 因为它可以设置高波特率
  • 通过 USB 记忆棒携带和操作整个开发盒。可行的?

    最近我一直在考虑投资一个有价值的 USB 笔式驱动器 类似于 并在虚拟机上安装操作系统并开始在其上进行开发 我的想法是 我希望能够携带我的开 发箱 成为一名Windows 发行版用于 Net 开发和Linux发行版像 RoR Perl 之类
  • 是否有可通过 USB 密钥在 Mac OS X 10.6 上运行的便携式 python 解释器?

    我一直在努力寻找一个可以通过工作计算机上的 USB 密钥运行的便携式解释器 Work comp 运行的是 Mac OS X 10 6 环境相当受限 无法访问终端 无法安装应用程序 但我知道便携式应用程序可以从 USB 驱动器运行 我一直在使
  • Android 上的 HP TouchPad USB 驱动

    我可以在运行的 HP TouchPad 上进行应用程序开发吗氰基模组 http en wikipedia org wiki CyanogenMod 9 我有一个安装了 CyanogenMod 9 的 HP TouchPad 并且正在尝试从E
  • Android:与充当主机的 USB 设备通信

    我们制作了一个可以充当 USB 主机或从机并处理其接收到的数据的设备 我想使用Android手机通过USB向其发送数据 我的研究使我得出结论 如果不修改硬件或操作系统 我们就无法在 USB 主机模式下使用 Android 设备 这样做不是一
  • 如何在PyUsb中绑定/取消绑定USB设备?

    我需要在 python 脚本上打开 关闭多个 USB 设备 我可以使用 PyUsb 绑定和取消绑定 USB 设备吗 我可以使用 shell 命令来做到这一点 关闭电源 echo device nuber gt sys bus usb dri
  • Windows 8.1 上的 Pyusb - 没有可用的后端 - 如何安装 libusb?

    使用 pyinstaller 3 1 python 2 7 9 和 tkinter 尝试使用 pyusb 而不是 pyserial 但没有可用的后端 调查Windows 上的 Pyusb 没有可用的后端 https stackoverflo
  • Android:如何以编程方式连接/断开 OTG

    我想在我的 Android 设备中以编程方式连接和断开 USB OTG 笔式驱动器 硬盘驱动器等 对于USB 我使用以下路径在连接到PC时绑定 取消绑定USB sys bus usb drivers usb bind or unbind 我
  • Java 两个独立键盘的独立输入

    我有两个 USB 键盘插入同一台机器 我正在开发一个 Java 应用程序 是否有办法允许 Java 应用程序分离出它来自哪个 USB 键盘 即是否有类似的东西http docs oracle com javase 6 docs api ja
  • 如何在 C# 中从 USB 令牌读取证书

    我有一个 USB 令牌 其中包含一个加密证书 该证书具有公钥和私钥 现在我想用 C 创建一个应用程序 通过它我可以找到可访问的证书信息 当我插入 USB 令牌时 它会被检测到 但计算机部分上没有显示任何驱动器 就像闪存驱动器一样 如何从 U
  • USB 端口速度 Linux [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何以编程方式确定运行 Linux 内核的嵌入式设备中的 USB 端口速度 你可以阅读 sys bus usb devices usb s
  • 如何将 Android USB 连接模式更改为仅充电? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • Android USB_DEVICE_ATTACHED 持久权限

    如何让 Android 在每次重新连接 USB 设备时都不再请求权限 我想让它记住 USB 设备的 默认使用 复选标记 这样我就不必每次都向同一设备授予权限 我以编程方式检测 USB 设备 Android 手机 何时连接到我的主机设备 An
  • Python:获取USB闪存驱动器设备的名称[windows]

    我正在尝试编写一个小程序 它将能够读取有关 REMOVEABLE DEVICE USB 的一些信息 我试过了pyusb https github com walac pyusb但我无法提取我需要的数据 我想从系统中读取 USB 设备的名称
  • 我可以将 SQL Server 安装在 USB 驱动器上吗?

    我是一名开发人员 如果可以的话 我经常远程工作 而不是通勤上班 我希望能够随身携带开发数据库环境 我知道我可以远程访问数据库 但速度很慢 我有时在没有无线连接的地方工作 有任何想法吗 是的 这是可能的 看this http social m
  • 在 Windows 中以编程方式重新启动 USB 设备

    我正在开发的一些软件需要 USB 设备 我作为串行端口与 USB 转 UART 桥进行交互 有时 计算机从休眠状态重新启动后 无法检测到该设备 并且我无法再通过串行端口写入或读取该设备 需要对设备进行读 写访问 我不能依赖用户采取任何操作
  • 未找到 Chrome 应用 USB DigitalPersona 指纹识别器

    我正在尝试开发 Google Chrome 应用程序 或扩展程序 不确定 以在 Windows 上使用 DigitalPersona 指纹识别器 下列的 https developer chrome com apps usb https d
  • Vb中读取USB存储设备的序列号

    是否可以使用VB读取USB驱动器的序列号 这将为您提供 net 中驱动器的信息 包括 USB 设备 只需导入这些 导入脚本 导入系统 IO Private Class USBsn Private Sub Button1 Click ByVa

随机推荐

  • C++之异常处理

    异常 异常是面向对象语言 处理错误的一种方式 当一个函数出现自己无法处理的错误时 xff0c 可以抛出异常 xff0c 然后输的直接或者间接调用者处理这个错误 语法 捕获全部的异常 try 可能抛出异常的代码 throw异常对象 catch
  • C++之原子操作(atomic)

    原子操作 所谓原子操作是指不会被线程调度机制打断的操作 xff1b 这种操作一旦开始 xff0c 就一直运行到结束 xff0c 中间不会有任何 context switch xff08 切换到另一个线程 xff09 原子操作是不可分割的 x
  • C++之RAII机制

    RAIIResource acquisition is initialization的缩写 xff0c 意思是 资源获取即初始化 xff0c 其核心思想是利用C 43 43 对象生命周期的概念来控制程序的资源 它的技术原理很简单 xff0c
  • VsCode反应较慢(vscode卡顿,反应慢)

    简述 xff1a 这几天敲代码的时候发现vscode反应好慢 xff0c 有时候更改个样式 xff0c 也是同样 xff0c 然后就开始找原因 xff0c 之前开的代码自动保存 xff0c Git Autorefresh Files Aut
  • 【C++教学】第一课——头文件,全局命名空间,主函数的介绍

    头文件 初学者肯定疑惑为什么每次打代码都要写一个所谓的头文件 xff08 如 xff1a iostream xff09 xff0c 因为你所用的 cout gt gt 34 hello world 34 就是这个 是在iostream里的东
  • JavaWeb02(js基本语法&表单提交方式)

    一 xff0c js基本语法 1 jsp是什么 xff1f 实际上jsp就是Servlet xff0c 是一种可以用来开发web资源的技术 2 jsp运行原理 xff1f jsp文件先翻译成 java xff0c 在将其编译成 class
  • JavaWeb(分页)

    1 分页显示的步骤 xff1a xff08 1 xff09 确定每页显示的数据量 xff08 2 xff09 计算显示的页码 xff08 3 xff09 编写SQL语句 当数据多起来的时候 xff0c 记得需要一个容器将它包装起来 xff0
  • HTTP代理

    HTTP代理 xff08 HTTP Proxy xff09 是一种在网络中经常使用的技术 xff0c 允许客户端计算机通过指定的代理服务器来进行HTTP请求 在本文中 xff0c 我将介绍HTTP代理的基本原理 实现方法以及相关的应用和安全
  • LayUI项目之我的会议(送审以及排座)

    目录 一 xff0c 会议排座 1 前台编码 调试后的jsp代码 2 后台编码 1 图片工具类 2 js代码 3 SQL语句编写 4 子控制器 5 dao方法 三 图片处理 图片处理类 前台代码 后台接收 三 xff0c 会议送审 1 前台
  • Docker-宿主机与容器之间的文件拷贝

    目录 一 xff0c Docker运行MySQL容器 二 xff0c 数据卷 三 xff0c 数据卷容器 四 xff0c Dockerfile制作增强版 五 xff0c Docker制作自定义Tomcat 一 xff0c Docker运行M
  • 小程序框架

    目录 一 xff0c 框架 二 xff0c 响应的数据绑定 三 xff0c 页面管理 四 xff0c 基础组件 逻辑层 App Service 五 xff0c 小程序的生命周期 六 xff0c 注册页面 1 使用 Page 构造器注册页面
  • 小程序后台数据交互-个人中心

    目录 一 xff0c 获取用户昵称和头像 登录过程 二 xff0c 登录 小程序 三 xff0c 后台 小程序服器配置 一 xff0c 获取用户昵称和头像 登录过程 小程序登录 小程序可以通过微信官方提供的登录能力方便地获取微信提供的用户身
  • 微服务框架及多模块开发

    目录 一 xff0c 项目模式 二 xff0c 项目架构图 三 xff0c 案例演示 主模块 公共子模块 子模块 添加页面公共资源 一 xff0c 项目模式 电商模式 xff1a 市面上有5种常见的电商模式 xff0c B2B B2C C2
  • Mybatis与微服务注册

    目录 一 xff0c Springboot整合MybatisPlus 创建商品微服务子模块 二 xff0c SpringBoot整合Freeamarker 三 SpringBoot整合微服务 amp gateway amp nginx 整合
  • 服务调用&分布式session

    目录 一 xff0c Nginx动静分离 二 xff0c 服务调用 创建配置zmall cart购物车模块 创建配置zmall order订单模块 服务调用 四 xff0c spring session实战 什么是Spring Sessio
  • C语言调试技巧(以vs编译器为例)

    实用调试技巧 什么是bug调试是什么 xff0c 调试有何重要调试是什么 xff1f 调试的基本步骤Debug和Release的介绍 Windows环境调试介绍调试快捷键调试的时候查看程序当前信息查看临时变量的值查看内存信息查看调用堆栈查看
  • (十三)STM32——串口通信(UART)

    目录 学习目标 内容 通信方法 并行通信 串行通信 通信方向 通信方式 UART 特点 串口参数 通信流程 寄存器 USART SR USART DR USART BRR 过程 代码 运行结果 运行结果 遇到的问题 总结 学习目标 本节我们
  • 关于VINS-MONO与VIO轨迹漂移问题定位的一些方向

    整个VINS MONO系统 xff0c 较容易在系统静止或外力给予较大冲击时产生轨迹漂移 xff0c 原因是imu的bias在预积分中持续发散 xff0c 视觉重投影误差产生的约束失效 如静止 xff0c 先验约束可能会在LM的线性求解器中
  • 爬虫的基本原理

    爬虫是一种自动化程序 xff0c 可以模拟人类在互联网上的行为 xff0c 从而获取网页上的信息 爬虫技术在互联网上的应用非常广泛 xff0c 例如搜索引擎 数据挖掘 网络爬虫等等 本文将从爬虫的基本原理 爬虫的分类 爬虫的应用 爬虫的优化
  • 通信接口五种主要的类型是什么?RS-232、485、CAN、USB

    笔者电子信息专业硕士毕业 xff0c 获得过多次电子设计大赛 大学生智能车 数学建模国奖 xff0c 现就职于南京某半导体芯片公司 xff0c 从事硬件研发 xff0c 电路设计研究 对于学电子的小伙伴 xff0c 深知入门的不易 xff0