需要 UART
当今使用的所有计算机操作系统都支持串口,因为串口已经存在了几十年。并行端口是较新的发明,速度比串口快得多。USB 端口仅有几年历史,并很可能在未来几年内完全取代串口和并行端口。
“串行”这个名称来源于串口“串行化”数据的事实。也就是说,它接收一个字节的数据,并每次传输该字节中的一个位(共8位)。优点是串口只需要一根线来传输8位数据(而并行端口需要8根)。缺点是传输数据所需的时间是如果有8根线时的8倍。串口降低了线缆成本并使线缆更小。
广告
在每个数据字节之前,串口会发送一个起始位,这是一个值为0的单个位。在每个数据字节之后,它会发送一个停止位来表示字节已完成。它还可能发送一个奇偶校验位。
串口,也称为通信(COM)端口,是双向的。双向通信允许每个设备接收和传输数据。串行设备使用不同的引脚来接收和传输数据——使用相同的引脚会将通信限制为半双工,这意味着信息一次只能在一个方向上传输。使用不同的引脚可以实现全双工通信,其中信息可以同时在两个方向上传输。
串口的正常运行依赖于一个特殊的控制器芯片,即通用异步收发器(UART)。UART芯片接收计算机系统总线的并行输出,并将其转换为串行形式,以便通过串口传输。为了更快地运行,大多数UART芯片都内置了16到64KB不等的缓冲区。该缓冲区允许芯片在处理发送到串口的数据时,缓存来自系统总线的数据。虽然大多数标准串口的最大传输速率为115 Kbps(千比特每秒),但高速串口,例如增强型串口(ESP)和超级增强型串口(Super ESP),数据传输速率可达460 Kbps。
广告
串口连接
串口的外部连接器可以是9针或25针。最初,串口的主要用途是连接调制解调器到您的计算机。引脚分配反映了这一点。让我们仔细看看调制解调器连接时每个引脚上发生的情况。
9针连接器
广告
- 载波检测(Carrier Detect) - 检测调制解调器是否连接到正常工作的电话线。
- 接收数据(Receive Data) - 计算机接收调制解调器发送的信息。
- 发送数据(Transmit Data) - 计算机向调制解调器发送信息。
- 数据终端就绪(Data Terminal Ready) - 计算机告诉调制解调器它已准备好通信。
- 信号地线(Signal Ground) - 引脚接地。
- 数据设备就绪(Data Set Ready) - 调制解调器告诉计算机它已准备好通信。
- 请求发送(Request To Send) - 计算机询问调制解调器是否可以发送信息。
- 清除发送(Clear To Send) - 调制解调器告诉计算机它可以发送信息。
- 振铃指示(Ring Indicator) - 一旦拨打电话,计算机确认(来自调制解调器发送的)检测到振铃的信号。
25针连接器
- 未使用
- 发送数据(Transmit Data) - 计算机向调制解调器发送信息。
- 接收数据(Receive Data) - 计算机接收调制解调器发送的信息。
- 请求发送(Request To Send) - 计算机询问调制解调器是否可以发送信息。
- 清除发送(Clear To Send) - 调制解调器告诉计算机它可以发送信息。
- 数据设备就绪(Data Set Ready) - 调制解调器告诉计算机它已准备好通信。
- 信号地线(Signal Ground) - 引脚接地。
- 接收线路信号检测器(Received Line Signal Detector) - 检测调制解调器是否连接到正常工作的电话线。
- 未使用:发送电流环路回线 (+)
- 未使用
- 未使用:发送电流环路数据 (-)
- 未使用
- 未使用
- 未使用
- 未使用
- 未使用
- 未使用
- 未使用:接收电流环路数据 (+)
- 未使用
- 数据终端就绪(Data Terminal Ready) - 计算机告诉调制解调器它已准备好通信。
- 未使用
- 振铃指示(Ring Indicator) - 一旦拨打电话,计算机确认(来自调制解调器发送的)检测到振铃的信号。
- 未使用
- 未使用
- 未使用:接收电流环路回线 (-)
通过引脚发送的电压可以是两种状态之一:开(On)或关(Off)。开(二进制值“1”)意味着引脚正在传输-3到-25伏之间的信号,而关(二进制值“0”)意味着它正在传输+3到+25伏之间的信号……
广告
了解流控制
串行通信的一个重要方面是流控制的概念。这是一种设备告诉另一设备暂时停止发送数据的能力。请求发送(RTS)、清除发送(CTS)、数据终端就绪(DTR)和数据设备就绪(DSR)这些命令用于启用流控制。
让我们看一个流控制如何工作的例子:您有一个以56 Kbps通信的调制解调器。您的计算机和调制解调器之间的串行连接以115 Kbps传输,速度是其两倍多。这意味着调制解调器从计算机接收到的数据量超过了它可以通过电话线传输的数据量。即使调制解调器有128K的缓冲区来存储数据,它仍然会很快耗尽缓冲区空间,并且无法在所有数据涌入的情况下正常工作。
广告
通过流控制,调制解调器可以在其缓冲区溢出之前停止从计算机传输数据。计算机不断地在请求发送引脚上发送信号,并检查清除发送引脚上的信号。如果没有清除发送响应,计算机将停止发送数据,等待清除发送信号后再恢复。这使得调制解调器能够保持数据流的顺畅运行。