任何人都可以向我提供有关我在何处以及如何理解“地址字段”(在HDLC帧中)到八位字节的编码的良好资源信息,使用扩展位(位0),偶数扩展寻址。
让我们假设我想发送地址0x1234,用扩展位编码后的最后八位字节是什么。希望你能理解我的问题吗?
感谢您的期待。
可以通过保留每个地址八位字节的第一个发送位(低位)来扩展地址字段范围,然后将其设置为二进制零以指示后面的八位位组是地址字段的扩展。扩展八位字节的格式应与第一个八位字节的格式相同。因此,可以递归地扩展地址字段。通过将低位设置为二进制1来指示地址字段的最后一个八位字节。见附图1。 当使用扩展时,在第一个地址八位位组的第一个发送位中存在二进制“1”表示只使用了一个地址八位位组。因此,使用地址扩展将单个八位位组地址的范围限制为0x7F,将两个八位位组地址限制为0 ... 0x3FFF。
较低的HDLC地址= 3FFF H = 0011111111111111 B
上HDLC地址= 1234 H = 0001001000110100 B
考虑到上面的地址及其编码结果如图2所示,我真的想知道他们如何得到这个最终编码的八位位组(图2)。 我无法修复它。这就是为什么我需要更多可以帮助我理解的信息。有人可以提供一些简单的解释吗?谢谢。
答案 0 :(得分:0)
我在这里看到了很好的解释 http://www.interfacebus.com/HDLC_Protocol_Description.html
http://tools.ietf.org/html/rfc2687
http://www.cse.dmu.ac.uk/~cfi/Networks/DataLink/DataLink12.htm
答案 1 :(得分:0)
1111111b + 128 * 1111111b = 0x3FFF
0110100b + 128 * 0100100b = 0x1234
从这里可以看出,他们采用了这些十六进制数中的每一个并从中提取了7个最低有效位和7个最高有效位(假设总共只有14个),并将它们分成4个八位字节。
答案 2 :(得分:0)
我正在尝试将它分组,其中u是单播位x是LSB:
u1 0010 0x 011 0100x 11 1111 1x 111 1111x
1 2 3 4 3 F F F
答案 3 :(得分:0)
简单步骤中的答案。
请注意,可以避免第1步,但我只想帮助简化答案。感谢所有贡献者,我希望有一天能帮到你!