串行总线与并行总线的相关知识,
什么是并行总线?串行总线?
并行总线就是一组走并行信号的传输通道;而串行总线就是一组走串行信号的传输通道。
何为并行信号?
并行信号就是以并行方式通信的信号,在并行通信中一个字节(8位)数据是在8条并行传输线上同时由源端传到目的地,也可以说有多个数据线(几根就是几位),在每个时钟脉冲下可以发送多个数据位(几位的并行口就发送几位)。
所以早期对串行通信与并行通信的理解为:同样的一个字节数据(8位),并行通信有8根线路,所以只要一次就可以传送过去,形象的说,把线路(通道)比作道路,能并排开几辆车的就可以说是“并行”
何为串行信号?
串行信号就是以串行方式通信的信号。串行通信指数据在单条一位宽的传输线上,一比特接一比特地按顺序传送的方式,在早期的定义里也有说只有一根数据线,每个时钟脉冲下只能发送一位数据的方式;
所以早期对串行通信的理解为:同样的一个字节数据(8位),串行通信要分8次由低位到高位按顺序一位位地传送。形象的说,把线路(通道)比作道路,只能一辆一辆开的就属于“串行”了。
并行总线与串行总线的对比很明显,并行通信的速度要比串行通信的速度快得多,效率更高,费时更少。
不过这些都是早期I/O速率都不高的情况下的理论理解,但信息技术飞速发展,之前的理解放在现在来看已经过时了,因为现在是高速串行信号时代了。
在高速状态下,并行口的几根数据线之间存在串扰,而并行口需要信号同时发送同时接收,任何一根数据线的延迟都会引起问题。而串行只有一根数据线,不存在信号线之间的串扰,而且串行还可以采用低压差分信号,可以大大提高它的抗干扰性,所以可以实现更高的传输速率,尽管并行可以一次传多个数据位,但是时钟远远低于串行,所以目前串行传输是高速传输的首选。
另外,由于并行信号由于需要多位传输路径,这在早期是可以接受的。但是摩尔定律的现象使得与几十年前相比可生产的芯片中硅电路的数量大幅增加,而芯片封装技术的pin密度并没有像硅密度一样以相同的速度在增加,因此I/O pin的封装实际上比硅电路还贵,这就意味着对于大多数芯片来说pin管脚越来越多变得不可接受。
参考资料:http://www.edadoc.com/cn/TechnicalArticle/Show.aspx?id=1096
一、并行总线
并行总线,就是并行接口与计算机设备之间传递数据的通道。采用 并行传送方式在 微型计算机与 外部设备之间进行 数据传送的接口叫并行接口,它有2个主要特点;一是同时并行传送的二进位数就是数据宽度;二是在计算机与外设之间采用应答式的联络信号来协调双方的数据传送操作,这种联络信号又称为握手信号。
1、简单的并行接口 简单的并行接口分0线握手并行接口、1线握手并行接口和2线握手并行接口等多种。
(1)0线握手并行接口所谓0线握手(连络),即接口电路中不含协调数据传送的连络信号,这是并行接口的最简形式,它又分输入并行接口和输出并行接口以及输入/输出双向并行接口 3种形式。 0线握手 输入接口 在输入量比较稳定的情况下(输入的状态信息在一个的时间内不改变,如开关量输入),可采用三态门直接读取。 0线握手输出接口 当输出数字量无需锁存时,可采用三态门直接输出。 0线双向输入/输出接口当外设与CPU之间需要利用 数据总线进行双向传送信息时,I/O设备即能发送信息,又能接收信息。
(2)1线握手并行接口 1线握手并行接口是在0线握手并行接口的基础上,增加了一条握手信号线。 1线握手方式总是假设发送方式所发送的数据已经就绪,接收方可以接收。
2、可编程并行接口 可编程并行接口芯片种类较多,Intel公司的8255A(PPI),Motorola公司的MC6820(PIA)和Zilog公司的Z80-PIO 都属于这一类器件。
3、计算机常见的并行总线:STD、PC总线、IEEE488总线。
二、串行总线
计算机常见的串行总线:I2C、SPI、RS232、UART、USB
(1)I2C
I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。
主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件.在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送;如果主机要接收从器件的数据,首先由主器件寻址从器件.然后主机接收从器件发送的数据,最后由主机终止接收过程。在这种情况下.主机负责产生定时时钟和终止数据传送。
(2)SPI
SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,如今越来越多的芯片集成了这种通信协议,比如AT91RM9200。
(3)RS232
RS-232-C是美国电子工业协会EIA(Electronic Industry AssociaTIon)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道。
在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。
(4)UART
UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用于主机与辅助设备通信,如汽车音响与外接AP之间的通信,与PC机通信包括与监控调试器和其它器件,如EEPROM通信。
(5)USB
USB,是英文Universal Serial Bus(通用串行总线)的缩写,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术。USB接口支持设备的即插即用和热插拔功能。
所以,一般设备内部(包括芯片)都是并行传输的,几米以上一般都是串行传输。
有个例外,就是硬盘,以前是IDE接口(并行),现在是SATA接口(串行),前提是传输速度,新的传输速度已经远远超过老的IDE接口了。现在SATA3.0可以达到600MB/S,而IDE只发展到133MB/S。
至于具体传输技术标准,串口参考RS232C。