通信接口五种主要的类型是什么?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 的相关文章

  • SWT:获取系统设备更改的通知(USB 设备连接/断开)

    我正在编写一个 SWT 应用程序 该应用程序需要位于系统托盘中 并在用户连接某些 USB 设备时自动弹出 该应用程序用作其控制面板 在本机环境 在本例中为 win32 但我最终应该与平台无关 中执行此操作的方法是侦听 WM DEVICECH
  • 对 USB 传输电缆进行编程/与 USB 设备驱动程序通信

    如何以编程方式访问 USB 传输电缆 例如 Belkin 的易传输电缆 http www belkin com easytransfercable 从Windows 我熟悉libusb win32 http libusb win32 sou
  • 无法使用 OpenCV 从辅助网络摄像头的 VideoCapture 读取帧

    Code 与主网络摄像头 设备 0 完美配合的简单示例 VideoCapture cap 0 if cap isOpened std cout lt lt Unable to read stream from specified devic
  • 如何禁用 Android 设备 USB 端口

    我正在尝试搜索是否有一种方法可以禁用 Android 设备 USB 端口 主要是软件级别 因此用户仍然可以为 Android 设备充电 但无法再与 PC 通信 我得到了一些线索link1 https groups google com fo
  • USB 控制传输能否保证交付?

    USB 2 0 指定 http www usb org developers docs usb20 docs 4 种传输类型 第 5 4 节传输类型 控制转移 同步传输 中断传输 批量转账 第 5 8 节规定批量转账提供 在带宽可用的基础上
  • python 3,尝试从多个 HID 输入读取,Raspberry Pi

    我有一个条形码扫描仪连接到我的 RasPi 没有任何 tty 这意味着没有显示器的无头 换句话说 数字输入的键盘记录器 该扫描仪可读取 GTIN 或 EAN 等数字条形码 它有效 脚本在启动时由 sh 启动 我使用的脚本如下所示 impor
  • 在c#中读取PVOID,我应该读取多少位?

    我正在读取 URB 类型的 USB 数据包 URB 标头定义于http msdn microsoft com en us library windows hardware ff540409 v vs 85 aspx http msdn mi
  • 使用 python 检测 Windows 10 上的 USB 设备插入

    我无法获取以下代码检测USB设备插入 http timgolden me uk python win32 how do i detect device insertion html在我的 Windows 10 64 位 计算机上使用 Pyt
  • Mac中如何获取usb设备的设备描述符和配置描述符?

    I have minimum exposure to xcode and I Okit framework I have seen device descriptor and configuration descriptor of a us
  • 是否有可通过 USB 密钥在 Mac OS X 10.6 上运行的便携式 python 解释器?

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

    最近我购买了 micromax a111 Android 设备 我是安卓开发者 因此尝试使用该设备进行调试选项 但 adb 无法检测到该设备 我也更改了设置 但没有成功 如果有人有解决方案 请帮助我解决这个问题 micromax没有官方的P
  • Android 到 PC USB 读/写

    我在 PC 上有一个程序 从 USB 接收字符串输入 旧程序 我有一个 Android 4 X 平板电脑 需要向在 PC 上运行的程序提供 USB 上的字符串输入 当我在 Android 上使用示例代码时 以下代码给出了空的哈希图 PC 在
  • Ubuntu 10.1下如何识别多个USB串口适配器

    我正在 Ubuntu 10 1 下从多个相同的 USB 串行适配器读取数据 有时 它们的 dev tty 路径会发生变化 例如 如果在启动时连接了其他 USB 设备 我需要一种通过任何此类更改重复引用同一适配器的方法 据 udevadm 称
  • 如何枚举 USB 设备*并*对其进行读/写?

    我需要与一个自定义 USB 设备进行通信 它没有特定的驱动程序 该设备不显示为 dev tty I 发现 http www signal11 us oss udev 我该如何使用libudev枚举 USB 设备 假设我设法获得相应的stru
  • 如何在 DriverKit 中将我的 dex 与 USB 设备匹配?

    我正在编写一个驱动程序包扩展 其目标是阻止 USB 设备 例如闪存驱动器 作为起点 我选择了示例项目https developer apple com documentation driverkit communicating Betwee
  • WriteFile 返回错误代码 87

    我正在开发一个写入 HID 设备的程序 但收到错误 87 WriteFile 函数参数无效 我从 Jan Axelson 的 USB Complete 获得了这些功能 所以我不确定为什么会收到错误 我用它来查找我的设备 private vo
  • 在 Python 中将 USB 视频捕获设备友好名称与 OpenCV 端口号相关联

    我想在 Windows 平台上使用 Python 获取外部 USB 视频捕获设备的友好名称和 USB 端口号 我正在使用 OpenCV 从 USB 捕获设备捕获视频 OpenCV 将 USB 端口称为 1 找到的第一个工作摄像头 0 对我来
  • 我无法找到 libftdi 的 mpsse (SPI) 模式的示例代码

    这不是一个家庭作业问题 尽管这是一个工作问题 几个月前 我刚写完一份规范 老板就会把它外包出去 因为资金紧张 所以我正在尝试自己做这件事 我是一个很弱的 C 编码员 如果 gcc 能输出一些运行时不会出现段错误的东西 或者有时根本没有任何东
  • 适用于 Android 的 USB 主机

    I am trying to communicate with my freeduino board which is similar to arduino uno via usb through android device nexus
  • 我可以从哪里开始使用可编程硬件?

    一段时间以来 我一直渴望至少学习一点有关硬件编程的知识 并想在这里提出要求以获得一些起点 我是一位相当有成就的程序员 具有 Delphi 和 Objective c 经验 但从未听过设备端口 中断 我什至不知道术语 更不用说对硬件进行编程了

随机推荐

  • 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