RS-232-C接口与计算机与终端之间的数据传送

文本

计算机与计算机或计算机与终端之间的数据传输可以采用串行通信和并行通信两种方式。由于串行通信方式具有线路少、成本低的优点,特别是在远距离传输中,避免了多线路特性的不一致性,得到了广泛的应用。

在串行通信中,要求通信的双方都采用标准接口,以便不同的设备可以方便地连接起来进行通信。RS-232-C接口(也称为EIA RS-232-C)是最常用的串行通信接口。

RS-232-C 是美国电子工业协会 EIA ( ) 制定的串行物理接口标准。RS是英文“ ”的缩写,232是标识号,C是版本号,代表RS232的最新版本(1969),之前有。它是由1970年美国电子工业协会(EIA)是由贝尔系统公司、调制解调器制造商和计算机终端制造商共同制定的串行通信标准,它的全称是“数据终端设备(DTE)和数据通信设备之间的串行二进制( DCE). 数据交换接口技术标准”。

图片[1]-RS-232-C接口与计算机与终端之间的数据传送-4747i站长资讯

1、电气特性

EIA-RS-232C 规定了电气特性、逻辑电平和各种信号线功能。

在 TxD 和 RxD 上:逻辑 1(MARK)=-3V~-15V,逻辑 0(SPACE)=+3~+15V 在 RTS、CTS、DSR、DTR 和 DCD 等控制线上:

信号有效(on,ON状态,正电压)=+3V~+15V

信号无效(断开,OFF状态,负电压)=-3V~-15V

根据设备的电源,可能有 +-5、+-10、+-12 和 +-15 等级别。

2、连接器的机械特性

由于RS-232C没有定义连接器的物理特性,所以连接器有DB-25、DB-15和DB-9的各种类型,它们的引脚定义也不同。最近,8 针 RJ-45 型连接器变得越来越普遍,尽管其针脚分配差异很大。EIA/TIA 561 标准指定了一种引脚分配方法,但由 Dave Yost 发明并广泛用于 Unix 计算机的 Yost 串行设备接线标准(“Yost”)以及许多其他设备不使用上述方法。接线标准。下表列出了 RS-232 中较常用的信号和引脚分配:

图片[2]-RS-232-C接口与计算机与终端之间的数据传送-4747i站长资讯

信号的标记是从 DTE 设备的角度来看的。TD、DTR和RTS信号由DTE产生,RD、DSR、CTS、DCD和RI信号由DCE产生。

PC 的 RS-232 端口是一个 9 针插座。部分设备连接PC机的RS-232接口,由于不使用对方的传输控制信号,只需要“传输数据TXD”、“接收数据RXD”和“信号地GND”三根接口线。

由于所有 RS-232 信号共享一个公共地线,因此只需 3 根线即可实现双向接口。不平衡电路使 RS-232 非常容易受到两个设备之间的基极电压偏移的影响。对于信号的上升和下降周期,RS-232只是控制能力比较差,容易出现串扰问题。RS-232 推荐用于短距离(15m 以内)通信。由于电路不对称,RS-232 接口电缆通常不是由双绞线制成。

3、传输线

RS-232-C 标准规定的数据传输速率为 50、75、 100、150、300、600、每秒 1200、2400、4800、9600、19200 波特,驱动器允许一些容性负载,通信距离将受此电容限制。

例如,使用150pF/m的通讯电缆时,最大通讯距离为15m;如果减少每米电缆的电容,则可以增加通信距离。传输距离短的另一个原因是RS-232是单端信号传输,存在共地噪声、无法抑制共模干扰等问题,所以一般用于20m以内的通信。

根据 RS-232C 标准,当符号失真小于 4% 时,传输电缆长度应为 50 英尺。事实上,这 4% 的符号失真是非常保守的。在实际应用中,大约 99% 的用户都工作在 10-20% 的符号失真范围内,因此实际使用中的最大距离会远远超过 50 英尺。美国DEC公司规定符号失真允许为10%,得到以下实验结果。1号电缆为屏蔽电缆,型号为DECP.NO。双绞线共有三对,每对由 22#AWG 组成,并覆盖有屏蔽网。电缆 2 是非屏蔽电缆。型号 DECP.NO.-04 为 22#AWG 四芯电缆。

图片[3]-RS-232-C接口与计算机与终端之间的数据传送-4747i站长资讯

4、链路层

在 RS-232 标准中,字符作为一系列位一个接一个地传输。使用时间最长的编码格式是异步启停格式,它使用一个起始位后跟 7 个或 8 个数据位,可能是奇偶校验位,后跟两个停止位。因此,发送一个字符需要10个比特,一个好的效果是使整个传输速率,传输信号的速率除以10。

串行通信需要在软件设置中进行多项设置,最常见的设置包括波特率、奇偶校验和停止位。波特率是指从一台设备发送到另一台设备的波特率,即每秒多少比特(bit/s)。典型的波特率为 300、1200、2400、9600、19200 bit/s。一般通信两端的设备应设置为相同的波特率,但也可以将部分设备设置为自动检测波特率。

奇偶校验用于验证数据的正确性。一般不使用奇偶校验。如果使用它,它可以用于奇数和偶数检查。奇偶校验通过修改发送的每个字节来工作(也可以限制发送的字节)。如果不检查奇偶校验,则数据不会更改。在偶校验中,由于奇偶校验位相应地设置为 1 或 0(通常是最高位或最低位),因此数据被更改,以便所有传输的数字(包括字符的数字和校验位)中的数字“1”是偶数;在奇校验中,所有传输的数字(包括字符的数字和校验位)中的“1”个数为奇数。接收方可以使用奇偶校验来检查传输是否错误发送 – 如果一个字节中的“1”数量错误,那么这个字节的传输肯定有错误。如果奇偶校验正确,则要么没有发生错误,要么发生了偶数个错误。

图片[4]-RS-232-C接口与计算机与终端之间的数据传送-4747i站长资讯

停止位在每个字节传输后发送,用于协助接收器的硬件重新同步。

D/P/S 是串行通信软件设置中的常规符号。8/N/1(很常见)表示8bit数据,无奇偶校验,1bit停止位。数据位可以设置为 7、8 或 9电脑有232接口吗,奇偶校验位可以设置为无(N)、奇数(O)或偶数(E),奇偶校验位可以使用数据中的位,所以8 /E/1 表示一共8个数据位,其中1个用作奇偶校验位。停止位可以是 1、1.5 或 2 位(1.5 用于波特率为 60wpm 的电传打字机)。

5、传输控制

当需要发送握手信号或数据完整性检查时,需要进行额外的设置。常见的组合是 RTS/CTS、DTR/DSR 或 XON/XOFF(实际上不使用连接器引脚,但在数据流中插入了特殊字符)。

接收方向发送方发送 XON/XOFF 信号,以控制发送方何时发送数据。这些信号与数据传输方向相反。XON 信号告诉发送方接收方准备好接受更多数据,XOFF 信号告诉发送方停止发送数据,直到它知道接收方再次准备好。XON/XOFF 一般不推荐使用,建议使用 RTS/CTS 控制流代替它们。

XON/XOFF是一种在终端之间工作的带内方式,但协议必须两端都支持,突然启动有可能造成混乱。

XON/XOFF 可以在 3 线接口上工作。RTS/CTS 最初是为电传打字机和调制解调器之间的半双工协作通信而设计的,一次只能从一个调制解调器发送数据。终端必须发送请求发送信号并等待调制解调器以清除发送信号作出响应。RTS/CTS握手虽然是通过硬件实现的,但也有其自身的优势。

6、RS-232 标准不足

经过多年对RS-232设备和通讯技术的改进,RS-232的通讯距离大大增加。由于RS-232接口标准出现较早,难免存在不足,主要有以下四点:

(1)接口的信号电平高,容易损坏接口电路的芯片,而且由于不兼容TTL电平,需要电平转换电路与TTL电路连接.

(2)传输速率较低,在异步传输中,波特率。现在由于使用了新的UART芯片等,波特率达到了115.2Kbps。

(3)接口采用信号线和信号返回线形成共地传输形式,这种共地传输容易产生共模干扰,抗噪声干扰较弱。

(4)传输距离有限,标准最大传输距离为50米,实际上只能在15米左右使用。

二、RS485 基础知识

鉴于RS-232串口标准的局限性,人们提出了RS-422和RS-485接口标准。RS-485/422采用平衡发送和差分接收来实现通信:发送端将串口的TTL电平信号转换成差分信号A和B供两路输出,经电缆传输后,接收端将差分信号恢复为TTL电平信号。由于传输线通常采用双绞线,并且是差分传输,因此具有很强的抗共模干扰能力。总线收发器具有高灵敏度,可检测低至 200mV 的电压。因此,传输信号可以在几公里外恢复。

1、RS-485 电气特性

驱动器可以输出±7V的共模电压

接收机输入电阻RIN≥12kΩ

输入端电容≤50pF

当节点数为32,配置120Ω终端电阻时,驱动器至少可以输出电压1.5V(终端电阻大小与所用双绞线参数有关)

变送器:逻辑“1”用两线间的电压差表示为+(2到6)V;逻辑“0”用两线间的电压差表示为-(2到6)V 。

接收机输入灵敏度为200mV(即(V+)-(V-)≥0.2V,表示信号“0”;(V+)-(V-)≤-0.2V ,表示信号“1”)

2、传输速率和传输距离

RS-485的最大数据传输速率为,最大通讯距离约为1219M,传输速率与传输距离成反比,只有10Kb/S的传输速率才能达到最大通讯距离。

但由于 RS-485 经常需要与 PC 的 RS-232 端口通信,所以实际最大为 115.2Kbps。并且因为太高的速率会降低RS-485的传输距离,所以经常是左右或下方。

3、网络拓扑

RS-485接口采用平衡驱动和差分接收组合,抗共模干扰能力增强,即抗噪声干扰好。RS-485采用半双工工作方式,支持多点数据通讯。

RS-485总线网络拓扑一般采用终端匹配总线结构。即采用总线串联各个节点,不支持环网或星形网。如果需要使用星型结构,则必须使用485中继器或485集线器。RS-485/422 总线一般最多支持 32 个节点。如果使用专用的485芯片,可以达到128或256个节点,最大可以支持400个节点。

图片[5]-RS-232-C接口与计算机与终端之间的数据传送-4747i站长资讯

4、连接器

RS-485的国际标准没有规定RS485的接口连接器标准,所以可以使用接线端子或DB-9、DB-25连接器。

三、RS422 基础知识

RS-422 的电气性能与 RS-485 大致相同。主要区别在于:

(1)RS-485有2条信号线:A和B用于发送和接收。由于RS-485接收和发送共用两条线,所以不能同时接收和发送(半双工)。

(2)RS-422有4条信号线:两条发送(Y,Z),两条接收(A,B)。由于RS-422接收和发送分开,所以可以同时接收和发送发送(全双工)。

(3)支持多机通讯的RS-422可以短接YA作为RS-485的A,短接RS-422的ZB作为RS-485的B,可以很方便的转换成RS -485。

图片[6]-RS-232-C接口与计算机与终端之间的数据传送-4747i站长资讯

很多人经常将 RS-422 串行接口误认为是 RS-485 串行接口的全双工版本。事实上,它们在电气特性上有很多差异。共模电压范围和接收器输入电阻这两个标准适用于不同的应用领域。RS-485串口的驱动可以在RS-422串口的应用中使用,因为RS-485串口满足RS-422串口的所有性能参数,反之无法建立。对于带有RS-485串行接口的驱动器电脑有232接口吗,共模电压输出范围在-7V到+12V之间;对于带有RS-422串行接口的驱动器,这个性能指标只有±7V。RS-422串行接口接收器的最小输入电阻为4KΩ;

四、 串口基础

串行是计算机上设备通信的一种非常常见的协议(不要与通用串行总线或 USB 混淆)。大多数计算机包含两个基于 RS232 的串行端口。串口也是仪器仪表设备常用的通信协议;许多 GPIB 兼容设备也有一个 RS-232 端口。同时,也可以使用串行通信协议从远程采集设备中获取数据。

图片[7]-RS-232-C接口与计算机与终端之间的数据传送-4747i站长资讯

串口通信的概念很简单,串口按位发送和接收字节。虽然比逐字节并行通信慢,但串行端口可以使用一根线发送数据,同时使用另一根线接收数据。它很简单,可以实现远距离通信。例如,定义并行流量状态时,规定设备线路总长度不得超过20米,任意两台设备之间的长度不得超过2米;对于串口,长度可达1200米。

图片[8]-RS-232-C接口与计算机与终端之间的数据传送-4747i站长资讯

通常,串行端口用于传输 ASCII 字符。通信使用 3 根线完成:(1), (2)send, (3))。由于串行通信是异步的,端口能够在一根线上发送数据,而另一根线接收数据,另一条线用于握手,但不是必须的,串口通信最重要的参数是波特率、数据位、停止位和奇偶校验,对于通过的两个端口,这些参数必须匹配:

1、波特率

这是衡量通信速度的参数。它表示每秒传输的比特数。例如 300 波特意味着每秒发送 300 位。当我们提到时钟周期时,我们指的是波特率,例如,如果协议需要 4800 波特,那么时钟就是。这意味着串行通信在数据线上具有采样率。通常电话线的波特率为 14400、28800 和 36600。波特率可以远大于这些值,但波特率和距离成反比。高波特率通常用于靠近放置的仪器之间的通信,一个典型的例子是 GPIB 设备的通信。

2、数据位

这是通信中实际数据位的度量。计算机发送数据包时,实际数据不会是8位,标准值为5、7和8位。如何设置取决于您要发送的信息。例如,标准 ASCII 码是 0 到 127(7 位)。扩展的 ASCII 码是 0 到 255(8 位)。如果数据使用简单文本(标准 ASCII),则每个数据包使用 7 位数据。每个数据包指的是一个字节,包括开始/停止位、数据位和奇偶校验位。由于实际数据位取决于通信协议的选择,因此术语“数据包”指的是任何通信情况。

3、停止位

用于表示单个数据包的最后一位。典型值为 1、1.5 和 2 位。由于数据是在传输线上定时的,而且每个设备都有自己的时钟,所以在通信中两个设备之间很可能会出现小的不同步。所以停止位不仅表示传输结束,而且还为计算机提供了校正时钟同步的机会。可用于停止位的位越多,不同时钟同步的容差越大,但数据传输速率越慢。

4、奇偶校验位

串行通信中一种简单的错误检测方法。有四种错误检测模式:偶数、奇数、高位和低位。当然,没有校验位也是可能的。对于奇偶校验的情况,串口会设置奇偶校验位(数据位后一位),并使用一个值来保证传输的数据有偶数或奇数逻辑高位。例如,如果数据为011,那么对于偶校验,校验位为0,保证逻辑高的位数为偶数。如果是奇校验,校验位为1,所以有3个逻辑高位。高低位并不真正检查数据,只是设置逻辑高或逻辑低检查。

五、握手基础

RS-232 直通允许简单连接三根线:Tx、Rx 和接地。但是对于数据传输,双方必须使用相同的波特率进行数据定时。虽然这种方法对于大多数应用来说已经足够了,但它的使用受限于接收器过载的情况。这时候就需要串口的握手功能了。在本节中,我们将讨论三种最常用的 RS-232 握手形式:软件握手、硬件握手和 .

1、软件握手

我们讨论的第一种握手类型是软件握手。通常在实际数据是控制字符时使用,类似于 GPIB 使用命令字符串的方式。必要的行还是三行:Tx、Rx和地,因为控制字符与传输线上的普通字符没有区别,该功能允许用户启用或禁止用户使用XON和OXFF这两个控制字符。这些字符在通信中由接收方发送,导致发送方暂停。

图片[9]-RS-232-C接口与计算机与终端之间的数据传送-4747i站长资讯

例如:假设发送方以高波特率发送数据。在传输过程中,接收方发现输入已满,因为 CPU 正忙于其他工作。为了暂时停止传输,接收方发送 XOFF,典型值为十进制 19 或十六进制 13,直到输入为空。一旦接收器准备好接收,它就会发送 XON(典型值为十进制 17 或十六进制 11)以继续通信。当输入为半满时,发送 XOFF。此外,如果 XOFF 传输中断,则在达到 75% 和 90% 时发送 XOFF。显然,发送者必须遵循此代码以确保传输继续进行。

2、硬件握手

第二种是使用硬件线握手。与 Tx 和 Rx 线路一样,RTS/CTS 和 DTR/DSR 一起工作,一个作为输出,另一个作为输入。第一组线路是 RTS(发送)和 CTS(清除发送)。当接收方准备好接收数据时,将RTS线置高表示准备好,如果发送方也准备好,将CTS置高表示即将发送数据。另一组线是 DTR(数据就绪)和 DSR(数据集就绪)。这些现在主要用于调制解调器通信。使串行端口和调制解调器通信它们的状态。例如:当 Modem 准备好接收来自 PC 的数据时,它会将 DTR 线设置为高电平,表示与电话线的连接已经建立。读取的 DSR 线设置为高电平,PC 开始发送数据。

图片[10]-RS-232-C接口与计算机与终端之间的数据传送-4747i站长资讯

其中,该函数启用或禁用硬件握手。如果启用 CTS 模式,则适用以下规则: PC 发送数据时:RS-232 库必须在发送数据前检测 CTS 线高电平。

PC接收数据时:

如果端口打开并且输入队列可以自由接收数据,则库函数将 RTS 和 DTR 设置为高电平。

如果输入队列已满 90%,则库函数取消断言 RTS 但保持 DTR 为高。

如果端口队列几乎为空,则库函数将 RTS 设置为高,但将 DRT 保持为高。

如果端口关闭,库函数将置低 RTS 和 DTR。

3、握手

讨论的最后一次握手称为文件传输协议。该协议在 Modem 通信中非常常见。虽然它通常用于调制解调器通信,但该协议可以直接用于与遵循该协议的其他设备进行通信。在 中,实际的应用程序对用户是隐藏的。每当 PC 和其他设备使用该协议时,文件传输中使用的功能。函数是 和 。

图片[11]-RS-232-C接口与计算机与终端之间的数据传送-4747i站长资讯

使用具有以下参数的协议: , , , , . 这些参数需要通信双方来识别,标准的有一个标准的定义:但是可以通过函数来​​修改,以满足特定的需要。这些参数的使用方式取决于接收方发送的字符。这会通知发送方它已准备好接收数据。它开始尝试发送,带有超时参数;当超时超过尝试次数时,或者当它收到来自接收方的消息时,发送方停止尝试。如果从发送方收到,接收方将读取后续信息包。数据包包含数据包的数量、作为错误检查的数据包编号的补码、以字节为单位的实际数据包大小以及用于进一步错误检查的和校验值。读取数据后,接收者将调用然后向发送者发送响应。如果发送方没有收到响应,它会重新发送数据包,直到收到响应或超过最大重传次数。如果没有收到响应,发送方会通知用户数据传输失败。

由于数据必须以字节为单位分组发送,所以在发送最后一个数据包时,如果数据不足以装下一个数据包,ASCII码NULL(0)字节将在后面填充。这导致接收到的数据比原来的大,数据很多,这种情况下一定不能使用XON/XOFF,因为发送方发送的数据包数量很可能会增加到XON/OFF控制字符的值,导致通讯失败。

文章来源:https://www.sohu.com/a/331709736_505824

------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享