在每个数据字节之前,串行端口发送一个起始位,该起始位是值为0的单个位。在每个数据字节之后,它发送一个停止位以表示该字节已完成。它还可以发送奇偶校验位。
串行端口,也称为通信(COM)端口,是双向的。双向通信允许每个设备接收和发送数据。串口设备(例串口服务器)使用不同的引脚来接收和传输数据-使用相同的引脚会将通信限制为半双工,这意味着信息一次只能沿一个方向传播。使用不同的引脚可以进行全双工通信,其中信息可以一次双向传播。
串行端口依靠特殊的控制器芯片通用异步接收器/发送器(UART)正常运行。UART芯片获取计算机系统总线的并行输出,并将其转换为串行形式,以通过串行端口进行传输。为了更快地运行,大多数UART芯片都内置了16至64 KB的缓冲区。该缓冲区允许芯片在处理输出到串行端口的数据时,缓存从系统总线传入的数据。大多数标准串行端口的最大传输速率为115 Kbps(千比特每秒),而高速串行端口(如增强型串行端口(ESP)和超级增强型串行端口(Super ESP)),可以达到460 Kbps的数据传输速率。
● 运营商检测:确定调制解调器是否已连接到正常工作的电话线。
● 接收数据:计算机接收从调制解调器发送的信息。
● 传输数据:计算机将信息发送到调制解调器。
● 数据终端就绪:计算机告诉调制解调器已准备好通话。
● 信号接地:引脚接地。
● 数据集就绪:调制解调器告诉计算机已准备好通话。
● 请求发送:计算机询问调制解调器是否可以发送信息。
● 清除发送:调制解调器告诉计算机它可以发送信息。
● 振铃指示器:拨打电话后,计算机会确认(从调制解调器发送的)信号,表明已检测到振铃。
串行通信的一个重要方面是流控制的概念。这是一台设备告诉另一台设备暂时停止发送数据的能力。使用命令发送请求(RTS),清除发送(CTS),数据终端就绪(DTR)和数据集就绪(DSR)来启用流控制。
让我们看一下流控制如何工作的示例:您有一个调制解调器,以56 Kbps的速度进行通信。您的计算机和调制解调器之间的串行连接以115 Kbps的速度传输,速度是以前的两倍。这意味着调制解调器从计算机中获取的数据量超过了它可以通过电话线传输的数据量。即使调制解调器具有用于存储数据的128K缓冲区,它仍将很快用完缓冲区空间,并且无法在所有数据流中正常运行。
使用流控制,调制解调器可以在溢出调制解调器缓冲区之前停止来自计算机的数据流。计算机一直在“发送请求”引脚上发送信号,并在“清除发送”引脚上检查信号。如果没有“清除发送”响应,计算机将停止发送数据,等待清除发送后再恢复。这使调制解调器能够保持数据流平稳运行。