串口通信
- 更新时间2025-08-27
- 阅读时长3分钟
串口通信是指在一台计算机和一个外围设备(如一台可编程仪器或另一台计算机)间传输数据。串口通信使用发送器每次向接收器发送一位数据,数据经过一条通信线路到达接收器。这种方法适用于数据传输率较低或数据传输的距离较长的情况。大部分计算机都有一个或多个串口,因此除了需要用电缆将设备和计算机或两台计算机连接起来之外,不需要其它多余的硬件。
使用串口通信前必须指定四个参数:传送的波特率、对字符编码的数据位数、可选奇偶校验位的奇偶性和停止位位数。字符帧将每个传输过来的字符封装成单一起始位+数据位的形式。
波特率是指使用串口通信时数据在仪器间传送的速度。
数据位是倒置和反向传输的,即数据位使用的是反向逻辑,而传输的顺序是从最低有效位(LSB)到最高有效位(MSB)。解析字符帧中的数据位时,必须从右到左读取,在负电压时读取1,正电压时读取0。
在字符帧中,数据位之后紧随一个可选的奇偶校验位。奇偶校验位如果存在,也遵循反逻辑。校验位是检查错误的方法之一。事先指定传输的奇偶性。如果奇偶性选为奇性,那么设置奇偶校验位时,使包括数据位和奇偶校验位在内的所有数位中,1的个数合计为奇数。
字符帧的最后部分包含了1、1.5或者2个停止位,这些停止位一般用负电压表示。如果没有其它字符传输进来,数据线路就停留在负(MARK)状态。如果还有字符传输进来,那么下一个字符帧的传输就从正(SPACE)电压的起始位开始。
数据传输率
根据已知的通信设置,将波特率除以每个字符帧的位数,可以计算出每秒最大的字符传输率。
串口硬件概述
下例是串口通信中最常用的推荐标准:
- RS232(ANSI/EIA-232标准)应用广泛,如连接鼠标、打印机或者调制解调器。它也应用于工业仪器中。由于线路驱动程序和电缆的改进,RS232的性能通常得到提升,甚至超过标准中列出的距离和速度。RS232仅限于实现个人电脑的串口和设备之间的点对点连接。
- RS422(AIA RS422A标准)使用的是差分电信号,这与RS232使用的非平衡(单端)接地信号不同。差分传输使用了两根线同时传输和接收信号,因此和RS232相比有更好的噪声抗扰度和更长的传输距离。
- RS485(EIA-485标准)是RS422的演变标准,允许将多达32个设备连到一个端口上,并定义了必要的电气特性以确保在最大负载时信号电压足够大。有了这种增强的多点传输功能,就可以创建连到一个RS485串口上的设备网络。对于那些需要将许多分布式仪器连接到一台个人电脑或其它控制器来完成数据采集和其它操作的工业应用来说,噪声抗扰度和多点传输功能使得RS485成为一个有吸引力的选择。
连接串口设备
如系统中有串口设备,则必须首先知道设备的管脚并确保使用正确的电缆将该串口设备与计算机相连。确定某设备是数据通信设备(DCE)还是数据终端设备(DTE),以及设备的通信设置,例如,波特率、数据位、停止位或握手(流控制)。
串口通信的详细信息
关于与串行仪器通信的详细信息,请见NI开发者园地。