2011-09-27 84 views
3

我試圖執行HDLC幀格式類型3和I有些懷疑至於八位位組/幀的模8編碼。HDLC幀 - 八位位組/模8懷疑

  1. 首先,HDLC幀是否完全以八位字節傳輸?
  2. 什麼他們通過意味着幀「N」字節的長度?請舉個例子。
  3. 我認爲,字節和模數是一樣的,所以假設我們有一個幀一個字節的X,那又怎麼樣?他們的意思X編碼必須是模8

我對這一切有點困惑,所以我需要更多的說明。示例和插圖將非常有幫助。

在此先感謝。


Thanks @clifford and @masoud。你的回答非常有幫助。但我必須閱讀這Octet String: What is it?(雖然聽起來很有趣,因爲它以一種簡單的方式解釋),然後我回來閱讀你的意見,然後我理解你所解釋的一切。儘管如此,祝我編程愉快。

回答

2

,完全是在八位傳輸的HDLC幀?

這就是說數據長度是8位的倍數。是的。

它們是什麼意思的一個幀是'n'八位字節的長度?

誰是「他們」?引用您的參考資料。八位字節只是一個八位組。這是一個較不明確的術語,即字節(很少使用是指長度不是8位的機器字)。術語八位字節廣泛用於電信領域,也用於英語以外的其他語言,意思是「字節」(當一個字節是8位時)。

我認爲,字節和模

根本不是,是一個數學術語,用在這裏也許不準確指通過整除(或整數倍)八強。

[...]什麼,那麼請他們所說的X的編碼必須是模8 [?]

再次誰是 「他們」?如果我們能夠看到你在哪裏閱讀這些內容,你可能會得到更好的解釋。

編輯: 我沒有去參考ISO 3309,其是定義HDLC幀結構的標準的長度,但至少在Wikipedia article術語「模數8」在幀序列的情況下僅使用數字,它只是意味着序列號從0增加到7,然後從0重新開始(即它是模數8的幀數 - 或者C代碼中的frame_num/8或簡單的frame_num % 8的其餘部分),我想知道你是否困惑條款 - 再次引用或提取將有所幫助

+0

我的引用是IEC62056-46。 –

4

在HDLC中每個字段長度必須例如是模8:

HDLC的幀是象下面這樣: [FLAG(8bits)|ADDRESS(8bits)|CONTROL(8/16bits)|INFORMATION(n*8bits)|FCS(8bits)|FLAG(8bits)]

每個字段是模8,即使信息的長度必須被模8

這意味着如果要發送的數據以1個比特的長度,則必須消耗一個字節(8位)。

如果你正在尋找一些HDLC幀樣本,看看這個鏈接:Click me! 和閱讀這樣的:首先Click me

+0

謝謝@Masoud,但我仍然不能放置你的意思**如果你想發送長度爲1位的數據,你必須消耗1字節**。幫助,你可以請解釋n使用HDLC幀的開始標誌,可能的幀類型和長度如下所示,使用二進制,十六進制和八位字節/模8表示。 ** 7E // HDLC幀開放標誌 A00A //幀類型和長度* *。再次感謝! –

+0

'7E =(01111110)in binary':它是一個開始和結束幀的常量值,並且您必須將此值放在幀的開始和結束處。第二個值('A00A')取決於您的應用程序。二進制,十六進制和八進制的值相同,我們使用十六進制表示,因爲人們易於閱讀。 – deepmax

+0

**如果要發送長度爲1位的數據,則必須消耗1個字節**表示:對於發送一點數據,至少必須使用一個字節。 – deepmax