zoukankan      html  css  js  c++  java
  • 怎样区分直连串口线和交叉串口线?

      串口线也分直通和交叉,直通一般用于延长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 功率。


    PC端一般为公头,如图

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

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

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

    问题2:怎样辨别交叉串口线与直连串口线?
          用万用表測一下,假设2和2通,3和3通则为直连串口线;假设2和3通,3和2通则为交叉串口线。
    有人困惑母口外面是一块绝缘的橡胶,万用表的探针插不进去怎么測?那就截一小段焊锡丝(我也曾考虑过用金属丝,但是金属丝太细了,我们不能保证它可以跟母口中的金属部分完善接触,焊锡丝粗一点,是可以跟母口内的金属非常好地接触的),然后把万用表探针接触焊锡丝来測试就可以。
    当然了,假设每次拿到一根串口线都要拿个万用表来測測它是直连的还是交叉的岂不是非常麻烦,教你一个轻松辨别的好方法,那就是:两头母口是交叉,一公一母是直连。(两头都是公口的串口线好像非常少)

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

  • 相关阅读:
    C#中委托和事件的区别
    Linux centos7 计划任务与日志的管理
    linux shell检查字符串是否是IP
    Linux脚本中$#、$0、$1、$@、$*、$$、$?
    Linux命令学习之shift命令
    CentOS7编写systemd服务脚本
    java数据类型转换
    centos7 升级openssh到openssh-8.3p1版本
    oracle的簇的创建
    oracle 分区表的维护
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/4052026.html
Copyright © 2011-2022 走看看