HDLC - 双向同时通信中异步平衡模式下PF位的用途



我正在尝试为微控制器项目编写仅在ABM中(点对点(工作的HDLC协议。我主要依靠ISO 13239文档点击。

通信应以双向同时模式工作。现在,我想连接一个微处理器的两个USART,在同一微上运行两个HDLC上下文。 我在理解 ABM 中的 P/F 位用途时遇到了问题。

在半双工链路中,具有正常响应模式 (NRM( 原理很简单 - 主站发送在最后一帧上设置了 P 位的命令帧,向辅助站授予在最后一帧上也设置了 F 位的帧响应的权限。

在 NRM 主站的全双工链路中,发送在第一帧上设置 P 位的命令,可以发送更多帧。当辅助接收到第一个设置了 P 位的命令帧时,它可以发送在第一帧上设置 F 位的响应帧。在第一个命令/响应帧上设置 P/F 位的目的是速度 - 主节点授予尽可能快地将命令传输到辅助帧的权限,以便辅助节点可以在主节点仍在发送命令(双向同时发送(时发送响应。

在全双工 ABM 情况下对我来说很复杂。没有主要的辅助关系,但两个站都是组合站,并且都可以随时(异步(发送命令和响应。以下是我之前提到的 ISO 文档中 ABM 中信息交换的示例。为什么两个站都使用带有 P/F 位的帧。没有P/F位,交换看起来不会一样吗?一个站何时以及为什么发送带有 ABM 中 P/F 位的帧

如ISO13239的第5.4.3.1.3节所述:

在 ARM 和 ABM 中,设置为 "1" 的 P 位用于请求 响应,在最早的响应机会,F 位设置为 "1"。

注意:例如,如果主站/组合站需要正站 确认已收到特定命令,它设置 命令中的 P 位为 "1"。这会强制来自 5.4.3.1.6所述的二级/组合台站。

(对 5.4.3.1.6 的引用一定是拼写错误,因为该部分不存在......

一个电台何时以及为什么发送带有 ABM 中 P/F 位的帧?

什么时候?工作站发送命令帧(设置了目标站地址和 P/F 位的帧。在这种情况下,P/F 位被视为 P 位(尽快。即在对话开始时,然后每次收到响应时。响应是设置了发射站地址(对等地址(和P/F位的帧。在这种情况下,P/F 位被视为 F 位。

6.4 寻址方案

在所有类(不平衡、平衡和无连接(中,应始终发送包含 目标数据站地址,应始终发送响应 包含分配的传输数据站地址。

为什么?因为检查点。它有助于检测丢失的帧并重新传输它们。您也可以使用 REJ 帧,但它是可选的。

5.4.3.3.4 检查点

在 ABM 中 在 ABM 中,接收到的 I、RR 或 RNR 响应帧的 N(R( 如果 F 位设置为"1",则会导致 收到组合站以启动适当的错误恢复,如果 N(R( 至少不承认由 接收上一个之前和与最后一个并发的组合站 由接收组合站与 P 位设置为"1"。

最新更新