一位读者在PCShow论坛《微型计算机》编读往来里面问道:我在微型计算机第268期上看到过一篇“串行的魅力”的文章,里面介绍了SATA的串行通道理论上只需要两根数据线和一根地线就可能组成一组串行通道,请问为何需要两根数据线,一根数据线和一根地线不可以吗?
这个问题有一定的专业性,能提出这个问题,说明这位读者很善于思考。我相信,在不断提出问题和解决问题的过程中,读者的技术水平将得以提升。
回到读者的问题上来。SATA是一种串行接口,现在这个东西很流行,USB、PCI Express都是串行接口。所谓串行接口,通俗地讲,就是通信接口中只提供了一个数据通道,一次只能传送一个bit,不像并行接口那样多个bit同时传送。
图1 差分信号传输电路
串行接口采用差分信号传输方式,信号在发送端被分解成“正”和“负”两个部分,分别通过D+和D-两根线进行传输,在接收端再将“正”和“负”两个部分合成为一个信号。因此,串行通信线路中至少要有2根信号线,1根都不能少。想想看,USB接口也是串行接口,用了4根线,中间两根是数据线“D+”和“D-”,边上两根分别是VBUS(+5V)和GND,给USB设备供电。
图2 采用差模信号传送方式的USB
串行通信的好处是,提高了信号传输过程中的抗干扰能力,允许数据使用更高的频率进行传输,因此可以获得比传统并行传输方式更高的信号传输率。正如希捷英文网站上对SATA的恢谐说法:“运一个球要比一次运16个球容易的多!”
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><?xml:namespace prefix = w ns = "urn:schemas-microsoft-com:office:word" /> 既然2根线可以解决问题,那么,SATA接口为什么用了7根线呢?这个问题涉及到两个重要概念:一、单工通信与双工通信;二、热插拔。下面就结合这两个概念来回答这个问题。
前面曾经提到,USB由两根线构成差分传输通道。USB接口是双工通信接口,信号可以在线路的两个方向上传送,既可以从主机到设备,也可以从设备到主机。SATA的设计与USB不同,它虽然也是双工通信,但是由两个单工通道组成,一个用于发送信号(写数据),一个用于接收信号(读数据)。由于每个单工通道使用2根数据线,所以SATA共有4根数据线。
图3 SATA接口
剩下的3根线又是做什么用的呢?答案是:地线。地线之所以有必要,是因为SATA支持热插拔——数据线可以带电插入和拔出。大家仔细观察下面这个SATA端口的图片就会发现,地线比数据线的插针要长一些。这样处理是为了在插入数据线时让地线先接触到;而拔出数据线时,地线在数据线之后撤出。有了先入后出的地线,就可以防止在热插拔过程中静电损坏接口芯片了。
你也许还要问:1根地线不就可以了吗?为什么要用3根呢?我们再看看数据线与地线的分布情况,就能体会SATA物理设计者的用心。除了防静电,地线还具有屏蔽两个单工通道相互干扰的作用,3根地线正好可以把两对信号线相互隔离开来。这种设计类似于40线的并行ATA数据线改进为80线的扁平电缆,使得每根信号线的两侧都有1根地线在保护着它,干扰小了,信号传输速度自然也就可以提上去了。
[知识链接]陈忠民,“串行”为什么会走红?,EDNChina
原创作品,禁止网络转载。
用户377235 2012-10-31 09:16
用户1271628 2008-11-7 05:15
用户1317679 2007-9-9 14:29