交叉串口线:2<====>3 3<====>2
平行串口线:2<====>2 3<====>3
在工作和学习中,经常会遇到这样一个问题,串口通信使用的串口线要不要交叉?到底什么时候选用交叉串口线,什么时候选用平行串口线?其实,当我们认识到事情的本源之后,这些问题自然就迎刃而解。
通常我们所使用的串口是 9 针的(在串口座上都会有相应标号),如果不考虑流控情况下,我们只会使用里面的 3 条线 RX TX GND。对于 PC 机串口(无论是本身自带的串口,还是使用 USB 转串口线扩展出来的串口),2 是接收,3 是发送。
下面我们以一个具体的下位机电路来分析:
由于 PC 机的串口是 RS232 电平,而下位机使用的是 TTL 电平,因此中间需要用 MAX232 或 MAX3232 进行电平转换。MAX232/MAX3232 内部有两个转换电路,可以接两路串口。现在我们来分析信号的流向,对于下位机的发送,即 PC 机的接收:(下位机发送端)TXD0 => T1IN => T1OUT => 2 ====> 2(PC机接收端);对于下位机的接收,即PC机的发送:(下位机接收端)RXD0 <= R1OUT <= R1IN <= 3 <==== 3(PC机发送端)。从 2 ====> 2 和 3 <==== 3 就可以看出,在这个例子中我们应该使用平行串口线。但需要明确的是,使用什么串口线是根据下位机电路板情况决定的,你完全可以把上述电路图串口座的 2 和 3 对调,然后就可以使用交叉串口线。然而这样做的缺点就是你无形之中让你的连线更加复杂,因为对于平行串口线,我们可以把它简单地当做延长线,要与不要都不会有影响。
对于嵌入式开发比较经常用的还有网线,它和串口线有一样的道理,通常我们是将 PC 机和开发板的网线都接到路由上进行通信,这时候它们用的网线都是一样的,可以互换的。但是当你想把你的开发板和 PC 机不通过路由直接连接,那么你就不能再用平常我们所用的那种网线了!
——忠于梦想 勇于实践 linux_xpj@opencores.org
阅读(4032) | 评论(0) | 转发(0) |