接口/总线/驱动
RS232 标准包括定义的线路电平以及握手的操作模式。
通过这种方式,可以确保任何 RS232 系统正确运行。如果电压落在定义的电平范围内,则接收器能够正确检测正在传输的数据或其他线路的状态。
如果线路超出要求的限制,则可能存在不确定性和数据错误。
RS 232 电压电平
为了使 RS 232 发射器和接收器能够按照通用标准进行设计,有必要定义构成数据传输所需的两种逻辑状态的电压电平。这两种状态的定义如下表所示。
还需要定义控制信号的电压状态,因为这些状态在 RS 232 中被广泛使用。
RS232串行数据传输
数据在 RS232 上串行发送,每个位一个接一个地发送,因为每个方向只有一条数据线。这种数据传输模式还要求接收方知道实际数据位何时到达,以便它可以与传入的数据同步。为了实现这一点,逻辑 0 被发送为同步的起始位。接下来是数据本身,通常有七位或八位。接收器显然必须知道预期有多少个数据位,并且通常在设备背面或设备内部都有小型双列直插式开关来设置此信息。
RS232 上的数据通常使用 ASCII(美国信息交换标准代码)发送。但是,其他代码,包括默里代码或 EBCDIC(扩展二进制编码十进制交换代码)也可以同样使用。
在数据本身之后,将发送奇偶校验位。同样,这需要设置,因为它是可选的,它可以是偶数或奇数奇偶校验。这用于检查接收数据的正确性,它可以指示数据是否具有奇数或偶数个逻辑。与现在的许多系统不同,它没有纠错功能。
最后发送停止位。这通常为一位长,用于表示特定字节的末尾。有时需要两个停止位,这也是通常可以在设备上设置的选项。
RS232数据传输通常是异步的。但是,传输和接收速度显然必须相同。允许一定程度的容忍度。发送起始位后,接收器将对每个位的中心进行采样以查看电平。在每个数据字中,同步的差异不得超过半位长度,否则将看到不正确的数据。幸运的是,使用当今精确的比特或波特率发生器,这很容易实现。
RS232 握手
为了在 RS232 链路上交换数据,控制信号必须指示链路两端的设备已准备好发送数据并准备好接收数据。这可以通过多种方式实现,但更常见的一种是使用 RTS、CTS 和 DTR 线路。
这些线路位于数据终端设备、DTE 和数据通信设备 DCE 中,如下所示:
启动数据流的握手交换非常简单,可以看作是许多不同的阶段:
RTS 由 DTE 置于 ON 状态
然后,DCE 将 CTS 线路置于 ON 状态
然后,DTE 通过将 DTR 线路置于 ON 状态来做出响应。
传输数据时,DTR 线路保持打开状态。
RS232 握手信号
在传输结束时,DTR 和 RTS 被拉到 OFF 状态,然后 DCE 将 CTS 线路拉到 OFF 状态。这一系列握手控制旨在允许DTE从相关调制解调器请求对通信链路的控制,然后让调制解调器通知终端设备已获得控制。这样,只有当链路的两端都准备就绪时,才会进行通信。
RS-232电压电平很重要,因为它们使系统设计能够确保将数据错误降至最低。通过为标记和空间条件分配级别,并在两者之间设置一个带子,确保将数据错误降至最低。除此之外,使用包括RST,CTS和DTR在内的线路进行握手操作,系统的运行可以可靠,并且仅在所有设备准备就绪时才发送数据。
审核编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !