之所以取名为“串行”端口,是因为这种端口会将数据“串行化”。更具体地说,它一次获取一个字节的数据并传输该字节的8位。这样做的优势在于,串行端口只需要一条线路就能传输8个位,而并行端口则需要8条。相应的劣势在于,其传输数据的用时是拥有八条线路时的8倍。此外,串行端口还可以降低线缆成本,使线缆更加小巧。
在发送数据的每个字节之前,串行端口会发送一个开始位,这是一个值为0的单个位。在发送完数据的每个字节之后,它将发送一个停止位,表示该字节已传输完成。此外,它还可以发送奇偶校验位。
串行端口也称为通信(COM)端口,是一种双向端口。在双向通信中,每个设备都可以接收数据和传输数据。串行设备使用不同的针脚来接收和传输数据——如果使用相同的针脚,通信将限制为半双工模式,这表示信息一次只能在一个方向上传播。使用不同的针脚可以实现全双工通信,在这种模式中,信息可以同时在两个方向上传播。
![]() 这个40针的双列直插封装(DIP)芯片是美国国家半导体公司NS16550D UART芯片的一种型号。 |
串行端口依靠特殊的控制器芯片通用异步接收/传输器(UART)来实现自己的功能。UART芯片从计算机的系统总线获得并行输出,然后将其转换成串行形式,以便通过串行端口传输。为了提高效率,大多数UART芯片都内置有16到64千字节的缓冲区。利用这个缓冲区,芯片便可以在处理要流向串行端口的数据的同时,缓存从系统总线流入的数据。大多数标准串行端口的最大传输速率为115Kbps(千比特每秒),增强型串行端口(ESP)和超级增强型串行端口(Super ESP)等高速串行端口可以实现460Kbps的数据传输速率。