串口线接口

news/2024/7/5 3:24:28

设备com口与PC接口之间由于并无统一标准,有的提供了公头有的提供了母头。造成从PC的COM口与设备COM口之间可能还需要一根数据线转换拨接的可能。这根拨接的数据线却有可能是直通线、23交叉线、全交叉线中的一种,使用错误将导致设备不能正常工作。

1. 串口线的接口定义

Image

2. 直通和交叉

串口线也分直通和交叉,直通一般用于延长PC与设备,将2、3、5分别连接2、3、5,因为PC上一般为公头,而设备上多为母头,所以正好它们是通用的,既可用于延长也可用于连接;交叉一般用于PC与PC对接,将2对3、3对2、5对5,一般两头都是母头!

计算机出现之前,为连接串口设备,EIA 制定了RS232 标准。PC 机出现后,已有的串口设备成为PC机外设,自然采用RS232 标准。目前PC 机的串行通信接口采用EIA-RS-232C 标准,C 代表1969年最新一次的修改。EIA-RS-232C标准对电器特性、逻辑电平和各种信号线功能作了规定。EIA-RS-232C标准用正负电压来表示逻辑状态,在数据信号线上若电压在-3V~-15V之间表示逻辑1,若电压在+3V~+15V之间表示逻辑0;在控制信号线上若电压在-3V ~-15V 之间表示断开状态,若电压在+3V ~+15V之间表示接通状态。介于-3V ~+3V 之间和低于-15V 、高于+15V 的电压无意义。

而CPU 和终端则采用TTL 电平及正逻辑,TTL 电平用+5V 表示逻辑1,0V 表示逻辑0,它们与EIA采用的电平及负逻辑不兼容,需在接口电路中进行转换。EIA-RS-232C 标准没有定义连接器的物理特征.因此出现了DB-25、DB-15 和DB-9 各种类型的连接器,PC 机的COM1和COM2串行接口采用DB-9连接器。ELA-RS-232C 标准规定,当误码率小于4%时,允许导线长度15m 。实际应用中,当使用9600b/s、普通双绞屏蔽线时,传输距离可达30m ~35m 。PC 机的COM1和COM2两个串行接口采用的DB-9连接器是公( 针) 头,提供异步通信的 9 个引脚功能。分别为:①脚 (DCD) 数据载波检测,②脚 (RXD)接收数据,③脚(TXD) 发送数据,④脚 (DTR) 数据终端准备,⑤脚 (SG) 信号地,⑥脚 (DSR) 数据设备准备好,⑦脚(RaS)请求发送,⑧脚 (CTS) 清除发送,⑨脚 (RI) 振铃指示。DB-9 公( 针) 头排列顺序如下图左,DB-9母(孔)头排列顺序如下图右,特别注意公头引脚号从坐到右,母头是从右到左。EIA-RS-232C 标准中 , 有三个发送信号:TXD、RTS和DTR,每根线的典型输出电流为±8mA/±12V 。通常由RTS和DTR供电的话,可提供约192mW 功率。

结合上述说明,如果不涉及Modem。串口传输数据只要有接收数据端②脚和发送数据端③脚就能实现.应将一个设备的接收数据端与另一设备的发送数据端相连。即接收与发送彼此交叉,信号地对应相接。

2.1. 何时用交叉,何时用直连?

标准串口引脚2是RX,引脚3是TX,(即九针串口的2号引脚连接的是主控芯片的RXD引脚,3号引脚连接的是主控芯片的TXD引脚),如果单片机开发板的串口和电脑串口都是标准串口,则俩串口应该用交叉线连接。但现实生活中直连线居多(可能是直连线生产起来没交叉线麻烦吧),为了配合直连线的使用,在画板的时候,把主控芯片的RXD引脚连接至串口的3脚,主控芯片的TXD引脚连接至串口的2脚,这样这个开发板上的串口就不是标准串口了,即2变成TX,3变成RX,和标准串口连接时当然应该使用直连线了。看一个开发板上的串口是标准串口还是非标准串口,根本还是要看原理图是怎么连的!

总的来说:RS232的DB-9接口的连接线包括三种:公对母,公对公,母对母。这三种连接线都分别有交叉线和直连线,所以总共有6中连接方式。

2.2. 如何辨别交叉串口线与直连串口线?

用万用表测一下,如果2和2通,3和3通则为直连串口线;如果2和3通,3和2通则为交叉串口线。

有人困惑母口外面是一块绝缘的橡胶,万用表的探针插不进去怎么测?那就截一小段焊锡丝(我也曾考虑过用金属丝,可是金属丝太细了,我们不能保证它能够跟母口中的金属部分完好接触,焊锡丝粗一点,是可以跟母口内的金属很好地接触的),然后把万用表探针接触焊锡丝来测试即可。

当然了,如果每次拿到一根串口线都要拿个万用表来测测它是直连的还是交叉的岂不是很麻烦,教你一个轻松辨别的好方法,那就是:两头母口是交叉,一公一母是直连。(两头都是公口的串口线好像很少)

注意:强烈建议不要带电插拨串口,插拨时至少有一端是断电的,否则串口易损坏。

3. 协议

3.1. RS232

个人计算机上的通讯接口之一,由电子工业协会 (Electronic Industries Association,EIA) 所制定的异步传输标准接口。通常RS-232接口以9个引脚(DB-9)或是25个引脚 (DB-25) 的型态出现,一般个人计算机上会有两组RS-232接口,分别称为COM1和 COM2。

3.2. RS422

RS-422标准全称是“平衡电压数字接口电路的电气特性”,它定义了接口电路的特性。实际上还有一根信号地线,共5根线。由于接收器采用高输入阻抗和发送 驱动器 比RS232更强的驱动能力,故允许在相同传输线上连接多个接收 节点 ,最多可接10个节点。一个主设备(Master),其余为从设备(Slave),从设备之间不能通信,所以RS-422支持点对多的双向通信。

3.3. RS485

RS485是一个定义平衡数字多点系统中的驱动器和接收器的电气特性的标准,该标准由电信行业协会和电子工业联盟定义。使用该标准的数字通信网络能在远距离条件下以及电子噪声大的环境下有效传输信号。RS-485使得廉价本地网络以及多支路通信链路的配置成为可能。

3.4. 三者对比

RS232 -3线全双工,点对点通信,传输距离 25米以内

RS485 -2线半双工,点对多主从通信,传输距离可达 1200米以上

RS422 -4线全双工,主从通信,传输距离可达 1200米以上

4. 串口转USB

USB转串口输出,在kernel启动阶段加载相应的usb转串口芯片驱动,加载成功后,可通过usb转串口与pc机端交互。

sudo usermod -aG dialout $USER && echo 1 | sudo tee /sys/bus/usb-serial/devices/ttyUSB0/latency_timer

参考文献

  • 如何区分直连串口线和交叉串口线?_kevinhg的博客-CSDN博客_直通串口和交叉串口
  • 串口9针数据线的分类:直通、23交叉、全交叉_weixin_33656634的博客-CSDN博客_23交叉串口线
  • RS232-422-485,一样的串口,不一样的讲解,超级白话,都能看_通信
  • usb转串口如何配置? - 我的小人生 - 博客园
  • [usb/uart]内核添加USB转串口驱动支持 - aaronGao - 博客园

http://lihuaxi.xjx100.cn/news/247658.html

相关文章

学习Mybatis与mysql数据库的示例笔记

目录结构&#xff1a; pom.xml文件 1 <?xml version"1.0" encoding"UTF-8"?>2 <project xmlns"http://maven.apache.org/POM/4.0.0"3 xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"4 xsi:schem…

MATLAB中subplot函数使用

格式&#xff1a;subplot(m,n,p) 或 subplot(m n p) 将多个图显示到一个平面上的函数。其中m&#xff0c;n表示窗口被分为m*n块区域&#xff0c;p表示当前图所在位置。p1表示从左到右从上到下的第一个位置. clear; subplot(2,3,1);%第一块绘图 x[0.1000,0.0500,0.0100,0.0050]…

说说大型高并发高负载网站的系统架构【转】

我在CERNET做过拨号接入平台的搭建&#xff0c;而后在Yahoo&3721从事过搜索引擎前端开发&#xff0c;又在MOP处理过大型社区猫扑大杂烩的架构升级等工作&#xff0c;同时自己接触和开发过不少大中型网站的模块&#xff0c;因此在大型网站应对高负载和并发的解决方案上有一些…

【SSRS】入门篇(二) -- 建立数据源

原文:【SSRS】入门篇(二) -- 建立数据源通过 【SSRS】入门篇(一) -- 创建SSRS项目 这篇&#xff0c;我们建立了一个SSRS项目&#xff1b; 接下来&#xff0c;我们以 AdventureWorks2012 示例数据库&#xff0c;讲下如何建立数据源&#xff1b;(AdventureWorks2012 下载) 1、解决…

自动驾驶汽车数据闭环方法分析

算法与数据双轮驱动才能实现更成熟的自动驾驶技术&#xff0c;也是自动驾驶技术落地的必然选择。随着时间的推移&#xff0c;各家公司在算法方面的差距会逐渐缩小&#xff0c;真正影响自动驾驶技术水平的其实是数据&#xff0c;海量数据会助力自动驾驶技术再上新台阶。但如何获…

MATLAB中linspace函数使用

格式&#xff1a;linspace(x1,x2,N) 功能&#xff1a;用于产生x1,x2之间的N点行矢量。其中x1,x2为起始值&#xff0c;N为元素个数。如果缺省N,默认N100. xlinspace(1,10,10);的效果和x[1:1:10]类似 >> x1[1:1:10]x1 1 2 3 4 5 6 7 8 9 …

Scala和范畴论 -- 对Monad的一点认识

背景 所有一切的开始都是因为这句话&#xff1a;一个单子&#xff08;Monad&#xff09;说白了不过就是自函子范畴上的一个幺半群而已&#xff0c;有什么难以理解的。第一次看到这句话是在这篇文章&#xff1a;程序语言简史(伪)。这句话出自Haskell大神Philip Wadler&#xff0…

'libxml/tree.h' file not found

本文转载至 http://www.cnblogs.com/hanjun/p/3711173.html 看看Header Search Paths 为 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.1.sdk/usr/include/libxml2 看看Base SDK 为 ios 6.1 于是把Header Search Paths 该…