串行端口:串行通信是异步进行的,这意味着不需要同步信号(或时钟):数据可以以随机间隔发送。作为回报,外设必须能够区分发送的连续位中的字符(一个字符的长度为 8 位)。这就是为什么在这种类型的传输中,每个字符前面都有一个 START 位,后面是一个 STOP 位。这些控制位是串行传输所必需的,浪费了 20% 的带宽(对于发送的 10 位,8 位用于编码字符,2 位用于接收)。
并口:并行数据传输涉及在多个通道(线路)上同时发送数据。个人计算机上的并行端口可用于通过 8 根线路同时发送 8 位(一个八位字节)。
并行端口似乎优于串行端口,因为每秒可以发送更多的数据,有什么理由选择串行端口而不是并行端口假设你的电脑/笔记本电脑同时具有这两种功能???
答案1
您实际上是在比较苹果和橘子,因为许多通过串行端口连接到 PC 的硬件不会通过并行端口连接,反之亦然。
串行端口实际上是由 UART 控制的,设备、调制解调器等中的绝大多数串行端口也是如此。UART 处理大部分信号传输的低级细节并减轻 CPU 的负载(现代 UART 具有更大的 FIFO,这意味着它们每次中断可以传输更多数据)。
并行端口没有这样的设置,基本上,您写入特定 I/O 端口(在 x86 上)的内容会显示在引脚上。因此,您必须自己执行任何通信协议,并且这会占用大量 CPU。如果您在单任务 DOS 下编程 EEPROM,那么这没问题,但在现代多任务操作系统下就不太好。
至于并行是否比串行方案更快/更好的整体争论,如今的趋势是串行。在高速下,同时将并行接口的所有 8 或 16 条线路转换为所需状态变得很麻烦。使用串行和差分信号方法(RS-232 不是这样的方法),您实际上可以用相同的努力实现更高的速度。例如,SATA 和 PCIe 就是这样的。