串口线的交叉直连之痛

串口是嵌入式设备调试开发必备的硬件模块,嵌入式设备最常用的串口协议是RS232,标准九针串口,这是由RS232标准协议文档定义的。
串口采用插针方式连接,接口两端一个是插针,一个是插槽,也就是我们常说的公头(插针)和母头(插槽),只能说这个比喻真是太邪恶了。。。
PC机都会有1-2个串口,一般是使用公头,设备号是COM1 COM2。
但嵌入式设备在硬件设计时并不会规定必须使用哪个,有的是公头,有的是母头,这就导致了串口线直连和交叉之分,使用直连串口线 还是交叉串口线,确实有点乱。
要说清楚这个问题,首先从公母头的定义说起。从网上找到的引脚定义图如下:
这里写图片描述

这里写图片描述
公头串口引脚定义是从左边开始计数,母头串口引脚定义是从右边开始计数。

首先我感觉要明确一点的是2台设备串口相连最基本的原则:
保证2台设备串口的收发引脚交叉相连,即设备的发送引脚与另一台设备的接收引脚相连,RX与TX交叉相连,其余引脚还是一一对应。

作为嵌入式设备的调试串口,波特率一般为115200,距离也就是1米左右,这样的数据压力并不需要流控制。九针全功能串口中只需要保证RX TX GND连接正确即可,其余引脚都是用作流控。
大部分嵌入式设备不会引出串口插座,为了节省空间仅仅给出RX TX GND 3个引脚。我们需要用线与PC串口线的TX RX GND相连即可。

细心的同学根据公母头引脚定义和连接原则可能看出一点问题来了,根据这个引脚定义,公母头对接,明显的是RX接RX,TX接TX啊,跟连接原则不一致啊。
这里只能说公头跟母头定义方向不一致了,公头定义是自己的引脚定义,而母头定义,特别是RX TX引脚定义是以公头方向来定义的引脚,比如母头的数据输入引脚,含义是该引脚连接公头的数据输入引脚,该引脚其实是母头的数据输出引脚,也就是说在这方面公母头引脚定义都是以公头为参考方向的。
这样的引脚定义保证了公头与母头相接,串口就能正常通讯。

因此如果设备使用母头串口,我们只需要直连串口线(其实就是相当于延长线)连接即可,保证了RX与TX交叉相连。

但是如果设备使用公头串口,我们就需要交叉串口线了。
因为两端都是公头,如果使用直连串口线,可以想象插一起,2接4,3接3,肯定不行。
如何解决这个问题呢?
这就需要交叉串口线来帮忙了,它是在串口线内部将2,3引脚交叉,其余不变。
使用双母头交叉串口线连接两端的公头串口,这样公头引脚2,3与串口线母头的2,3相连,内部一转,变成3,2。另一端串口线母头引脚3,2与设备公头的3,2相连。
最终就是将公头的2,3与母头的3,2相连!

如何区分串口线是直连还是交叉?
万用表测量串口线一端的引脚2与另一端的引脚2是否短接,是则是直连串口线,否则是交叉串口线。

所以一句话总结:
串口异性相接(公母头),使用直连串口线。同性相接(公公 母母),使用交叉串口线。

最后说明一点,在这里讨论都是标准的九针串口,也就是按照图引脚定义来布线连接,特定线序的串口,如公头插座但是按照母头引线,不在我们的讨论范围。

  • 12
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值