完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>
標簽 > hdlc
高級數據鏈路控制(High-Level Data Link Control或簡稱HDLC),是一個在同步網上傳輸 數據、面向比特的數據鏈路層協議,它是由國際標準化組織(ISO)根據IBM公司的SDLC(Synchronous Data Link Control)協議擴展開發而成的。
高級數據鏈路控制(High-Level Data Link Control或簡稱HDLC),是一個在同步網上傳輸 數據、面向比特的數據鏈路層協議,它是由國際標準化組織(ISO)根據IBM公司的SDLC(Synchronous Data Link Control)協議擴展開發而成的。
特點
1. HDLC是面向比特的數據鏈路控制協議的典型代表,該協議不依賴于任何一種字符編碼集;2. 數據報文可透明傳輸,用于實現透明傳輸的“0比特插入法”易于硬件實現;3. 全雙工通信,有較高的數據鏈路傳輸效率;4. 所有幀采用CRC檢驗,對信息幀進行順序編號,可防止漏收或重發,傳輸可靠性高;5. 傳輸控制功能與處理功能分離,具有較大靈活性。高級數據鏈路規程(HDLC),是位于數據鏈路層的協議之一,其工作方式可以支持半雙工、全雙工傳送,支持點到點、多點結構,支持交換型、非交換型信道,它的主要特點包括以下幾個方面:1. 透明性:為實現透明傳輸,HDLC定義了一個特殊標志,這個標志是一個8位的比特序列,(01111110),用它來指明幀的開始和結束。同時,為保證標志的唯一性,在數據傳送時,除標志位外,采取了0比特插入法,以區別標志符,即發送端監視比特流,每當發送了連續5個1時,就插入一個附加的0,接收站同樣按此方法監視接收的比特流,當發現連續5個1時而第六位為0時,即刪除這位0。2. 幀格式:HDLC幀格式包括地址域、控制域、信息域和幀校驗序列。3. 規程種類:HDLC支持的規程種類包括異步響應方式下的不平衡操作、正常響應方式下的不平衡操作、異步響應方式下的平衡操作。
高級數據鏈路控制(High-Level Data Link Control或簡稱HDLC),是一個在同步網上傳輸 數據、面向比特的數據鏈路層協議,它是由國際標準化組織(ISO)根據IBM公司的SDLC(Synchronous Data Link Control)協議擴展開發而成的。
作用
鏈路控制協議著重于對分段成物理塊或包的數據的邏輯傳輸,塊或包由起始標志引導并由終止標志結束,也稱為幀。幀是每個控制、每個響應以及用協議傳輸的所有信息的媒體的工具。所有面向比特的數據鏈路控制協議均采用統一的幀格式,不論是數據還是單獨的控制信息均以幀為單位傳送。每個幀前、后均有一標志碼01111110,用作幀的起始、終止指示及幀的同步。標志碼不允許在幀的內部出現,以免引起歧義。為保證標志碼的唯一性但又兼顧幀內數據的透明性,可以采用“0比特插入法”來解決。該法在發送端監視除標志碼以外的所有字段,當發現有連續5個“1”出現時,便在其后添插一個“0”,然后繼續發后繼的比特流。在接收端,同樣監除起始標志碼以外的所有字段。當連續發現5個“1”出現后,若其后一個比特“0”則自動刪除它,以恢復原來的比特流;若發現連續6個“1”,則可能是插入的“0”發生差錯變成的“1”,也可能是收到了幀的終止標志碼。后兩種情況,可以進一步通過幀中的幀檢驗序列來加以區分。“0比特插入法”原理簡單,很適合于硬件實現。在面向比特的協議的幀格式中,有一個8比特的控制字段,可以用它以編碼方式定義豐富的控制命令和應答,相當于起到了BSC協議中眾多傳輸控制 字符和轉義序列的功能。作為面向比特的數據鏈路控制協議的典型,HDLC具有如下特點:協議不依賴于任何一種字符編碼集;數據報文可透明傳輸,用于實現透明傳輸的“0比特插入法”易于硬件實現;全雙工通信,不必等待確認便可連續發送數據,有較高的數據鏈路傳輸效率;所有幀均采用CRC校驗,對信息幀進行編號,可防止漏收或重份,傳輸可靠性高;傳輸控制功能與處理功能分離,具有較大靈活性和較完善的控制功能。由于以上特點,使得網絡設計普遍使用HDLC作為數據鏈路管制協議。
特點
1. HDLC是面向比特的數據鏈路控制協議的典型代表,該協議不依賴于任何一種字符編碼集;2. 數據報文可透明傳輸,用于實現透明傳輸的“0比特插入法”易于硬件實現;3. 全雙工通信,有較高的數據鏈路傳輸效率;4. 所有幀采用CRC檢驗,對信息幀進行順序編號,可防止漏收或重發,傳輸可靠性高;5. 傳輸控制功能與處理功能分離,具有較大靈活性。高級數據鏈路規程(HDLC),是位于數據鏈路層的協議之一,其工作方式可以支持半雙工、全雙工傳送,支持點到點、多點結構,支持交換型、非交換型信道,它的主要特點包括以下幾個方面:1. 透明性:為實現透明傳輸,HDLC定義了一個特殊標志,這個標志是一個8位的比特序列,(01111110),用它來指明幀的開始和結束。同時,為保證標志的唯一性,在數據傳送時,除標志位外,采取了0比特插入法,以區別標志符,即發送端監視比特流,每當發送了連續5個1時,就插入一個附加的0,接收站同樣按此方法監視接收的比特流,當發現連續5個1時而第六位為0時,即刪除這位0。2. 幀格式:HDLC幀格式包括地址域、控制域、信息域和幀校驗序列。3. 規程種類:HDLC支持的規程種類包括異步響應方式下的不平衡操作、正常響應方式下的不平衡操作、異步響應方式下的平衡操作。
操作方式
HDLC是通用的數據鏈路控制協議,當開始建立數據鏈路時,允許選用特定的操作方式。所謂鏈路操作方式,通俗地講就是某站點以主站方式操作,還是以從站方式操作,或者是二者兼備。在鏈路上用于控制目的站稱為主站,其它的受主站控制的站稱為從站。主站負責對數據流進行組織,并且對鏈路上的差錯實施恢復。由主站發往從站的幀稱為命令幀,而由從站返回主站的幀稱響應幀。連有多個站點的鏈路通常使用輪詢技術,輪詢其它站的站稱為主站,而在點到點鏈路中每個站均可為主站。主站需要比從站有更多的邏輯功能,所以當終端與主機相連時,主機一般總是主站。在一個站連接多條鏈路的情況下,該站對于一些鏈路而言可能是主站,而對另外一些鏈路而言又可能是從站。有些可兼備主站和從站的功能,這站稱為組合站,用于組合站之間信息傳輸的協議是對稱的,即在鏈路上主、從站具有同樣的傳輸控制功能,這又稱作平衡操作,在計算機網絡中這是一個非常重要的概念。相對的,那種操作時有主站、從站之分的,且各自功能不同的操作,稱非平衡操作。HDLC中常用的操作方式有以下三種:
NRM(Normal Responses Mode)是一種非平衡數據鏈路操作方式,有時也稱非平衡正常響應方式。該操作方式適用于面向終端的點到點或一點與多點的鏈路。在這種操作方式,傳輸過程由主站啟動,從站只有收到主站某個命令幀后,才能作為響應向主站傳輸信息。響應信息可以由一個或多個幀組成,若信息 由多個幀組成,則應指出哪一個是最后一幀。主站負責管理整個鏈路,且具有輪詢、選擇從站及向從站發送命令的權利,同時也負責對超時、重發及各類恢復 操作的控制。NRM操作方式見圖3.7(a)。
ARM異步響應方式ARM(Asynchronous Responses Mode)也是一種非平衡數據鏈路操作方式,與NRM不同的是,ARM下的傳輸過程由從站啟動。從站主動發送給主站的一個或一組幀中可包含有信息,也可以是僅以控制為目的而發的幀。在這種操作方式下,由從站來控制超時和重發。該方式對采用輪詢方式的多站鏈路來說是必不可少的。ARM操作方式見圖3.7(b)。
ABM異步平衡方式ABM(Asynchronous Balanced Mode)是一種允許任何節點來啟動傳輸的操作方式。為了提高鏈路傳輸效率,節點之間在兩個方向上都需要的較高的信息傳輸量。在這種操作方式下任何時候任何站都能啟動傳輸操作,每個站既可作為主站又可作為從站,每個站都是組合站。各站都有相同的一組協議,任何站都可以發送或接收命令,也可以給出應答,并且各站對差錯恢復過程都負有相同的責任。
幀格式
hdlc幀格式在HDLC中,數據和控制報文均以幀的標準格式傳送。HDLC中的幀類似于BSC的字符塊,但BSC協議中的數據報文和控制報文是獨立傳輸的,而HDLC中的命令應以統一的格式按幀傳輸。HDLC的完整的幀由標志字段(F)、地址字段(A)、控制字段(C)、信息字段(I)、幀校驗序列字段(FCS)等組成。
標志字段(F)標志字段為01111110的比特模式,用以標志幀的起始和前一幀的終止。標志字段也可以作為幀與幀之間的填充字符。通常,在不進行幀傳送的時刻,信道仍處于激活狀態,在這種狀態下,發方不斷地發送標志字段,便可認為一個新的幀傳送已經開始。采用“0比特插入法”可以實現數據的透明傳輸。
地址字段(A)地址字段的內容取決于所采用的操作方式。在操作方式中,有主站、從站、組合站之分。每一個從站和組合站都被分配一個唯一的地址。命令幀中的地址字段攜帶的是對方站的地址,而響應幀中的地址字段所攜帶的地址是本站的地址。某一地址也可分配給不止一個站,這種地址稱為組地址,利用一個組地址傳輸的幀能被組內所有擁有該組的站一一接收。但當一個站或組合站發送響應時,它仍應當用它唯一的地址。還可用全“1”地址來表示包含所有站的地址,稱為廣播地址,含有廣播地址的幀傳送給鏈路上所有的站。另外,還規定全“0”地址為無站地址,這種地址不分配給任何站,僅作作測試。
控制字段(C)控制字段用于構成各種命令和響應,以便對鏈路進行監視和控制。發送方主站或組合站利用控制字段來通知被尋址的從站或組合站執行約定的操作;相反,從站用該字段作對命令的響應,報告已完成的操作或狀態的變化。該字段是HDLC的關鍵。控制字段中的第一位或第一、第二位表示傳送幀的類型,HDLC中有信息幀(I幀)、監控幀(S幀)和無編號幀(U幀)三種不同類型的幀。控制字段的第五位是P/F位,即輪詢/終止(Poll/Final)位。控制字段中第1或第1、2位表示傳送幀的類型,第1位為“0”表示是信息幀,第1、2位為“10”是監控幀,“11”是無編號幀。信息幀中,234位為存放發送幀序號,5位為輪詢位,當為1時,要求被輪詢的從站給出響應,678位為下個預期要接收的幀的序號。監控幀中,34位為S幀類型編碼。第5位為輪詢/終止位,當為1時,表示接收方確認結束。無編號幀,提供對鏈路的建立、拆除以及多種控制功能,用34678這五個M位來定義,可以定義32種附加的命令或應答功能。
信息字段(I)信息字段可以是任意的二進制比特串。比特串長度未作限定,其上限由FCS字段或通信站的緩沖器容量來決定,國際上用得較多的是1000~2000比特;而下限可以為0,即無信息字段。但是,監控幀(S幀)中規定不可有信息字段。
幀校字段(FCS)幀校驗序列字段可以使用16位CRC,對兩個標志字段之間的整個幀的內容進行校驗。FCS的生成多項式CCITT V4.1建議規定的X16+X12+X5+1。
幀類型
信息幀(I幀)信息幀用于傳送有效信息或數據,通常簡稱I幀。I幀以控制字第一位為“0”來標志。信息幀的控制字段中的N(S)用于存放發送幀序號,以使發送方不必等待確認而連續發送多幀。N(R)用于存放接收方下一個預期要接收的幀的序號,N(R)=5,即表示接收方下一幀要接收5號幀,換言之,5號幀前的各幀接收到。N(S)和N(R)均為3位二進制編碼,可取值0~7。
監控幀(S幀)監控幀用于差錯控制和流量控制,通常簡稱S幀。S幀以控制字段第一、二位為“10”來標志。S幀不帶信息字段,只有6個字節即48個比特。S幀的控制字段的第三、四位為S幀類型編碼,共有四種不同編碼,分別表示:00——接收就緒(RR),由主站或從站發送。主站可以使用RR型S幀來輪詢從站,即希望從站傳輸編號為N(R)的I幀,若存在這樣的幀,便進行傳輸;從站也可用RR型S幀來作響應,表示從站希望從主站那里接收的下一個I幀的編號是N(R)。01——拒絕(REJ),由主站或從站發送,用以要求發送方對從編號為N(R)開始的幀及其以后所有的幀進行重發,這也暗示N(R)以前的I幀已被正確接收。10——接收未就緒(RNR),表示編號小于N(R)的I幀已被收到,但當前正處于忙狀態,尚未準備好接收編號為N(R)的I幀,這可用來對鏈路流量進行控制。11——選擇拒絕(SREJ),它要求發送方發送編號為N(R)單個I幀,并暗示其它編號的I幀已全部確認。可以看出,接收就緒RR型S幀和接收未就緒RNR型S幀有兩個主要功能:首先,這兩種類型的S幀用來表示從站已準備好或未準備好接收信息;其次,確認編號小于N(R)的所有接收到的I幀。拒絕REJ和選擇拒絕SREJ型S幀,用于向對方站指出發生了差錯。REJ幀用于GO-back-N策略,用以請求重發N(R)以前的幀已被確認,當收到一個N(S)等于REJ型S幀的N(R)的I幀后,REJ狀態即可清除。SREJ幀用于選擇重發策略,當收到一個N(S)等SREJ幀的N(R)的I幀時,SREJ狀態即應消除。
無編號幀(U幀)無編號幀因其控制字段中不包含編號N(S)和N(R)而得名,簡稱U幀。U幀用于提供對鏈路的建立、拆除以及多種控制功能,但是當要求提供不可靠的無連接服務時,它有時也可以承載數據。這些控制功能5個M位(M1、M2、M3、M4、M5,也稱修正位)來定義。5個M位可以定義32種附加的命令功能或32種應答功能,但現在許多是空缺的。
工作原理
HDLC如何保證數據的透明傳輸HDLC通過采用“0比特插入法”來保證數據的透明傳輸。即:在發送端,只要發現有5個連續“1”,便在其后插入一個“0”。在接收一個幀時,每當發現5個連續“1”后是“0”,則將其刪除以恢復比特流的原貌。
常見問題
1)什么是HDLC高級數據鏈路控制(High-Level Data Link Control或簡稱HDLC),是一個在同步網上傳輸數據、面向比特的數據鏈路層協議。思科路由器上的默認WAN接口封裝協議,是思科私有協議,如果同不同廠商的設備連接需要改成其他的封裝協議進行通信。
2) 什么是 DCEData Communications Equipment(數據通信設備)的首字母縮略詞。它在DTE和傳輸線路之間提供信號變換和編碼功能,并負責建立、保持和釋放鏈路的連接,如Modem。在思科路由器上作為DCE端的接口需要提供時鐘,才能使兩端協議協商成功。使用show controller 命令可以查看接口是否屬于DCE
3) clock rate 命令如果本端口連接的是DCE線纜,則要設同步時鐘,單位bps ,默認情況下接口上不配置 clock rate 。eg. Router# configure terminalEnter configuration commands, one per line. End with CNTL/Z.Router(config)# interface serial 5/0Router(config-if)# clock rate 1234567%clock rate rounded to nearest value that your hardware can support.%Use Exec Command ‘more system:running-config’ to see the value rounded to.Router(config-if)# exitRouter(config)#Router# more system:running-configBuilding configuration.。。。。。!interface Serial5/0no ip addressclock rate 1151526!。。.
HDLC協議芯片PT7A6525及其在交換機中的應用 摘要 在數字程控交換機或網絡設計中,通常采用HDLC高級數據鏈路控制協議。PT7A6525是百利...
2009-05-12 標簽:HDLC 4185 0
摘要: HDLC(高級數據鏈路控制)的一般實現方法為采用ASIC器件和軟件編程等。應用ASIC器件時設計簡單,但靈活性較差;軟件編程方法靈活,但占用處理器資源多
2009-06-20 標簽:HDLC 3617 0
來源:羅姆半導體社區 ? ? ?現場總線是信息技術、網絡技術的發展在控制領域的體現,是自動化技術發展的熱點之一。因其具有數字化、開放性、分散性以及對現場...
MSP430F5xxx 實現高速公路不停車收費系統實時HDLC編解碼
本文探討了使用MSP430F5xxx實現ETC系統中實時HDLC編解碼的方法。MSP430F5xxx是TI公司MSP430家族最新產品序列,采用先進的0...
2017-04-26 標簽:hdlc 1843 0
基于FPGA的多通道HDLC收發電路設計 HDLC(High Level Date Link Control)協議是通信領域中應用最廣泛的協議之一,它...
HDLC(High-level Data Link Control,高級數據鏈路控制)是一種面向比特的鏈路層協議,其最大特點是對任何一種比特流,均可以實...
編輯推薦廠商產品技術軟件/工具OS/語言教程專題
電機控制 | DSP | 氮化鎵 | 功率放大器 | ChatGPT | 自動駕駛 | TI | 瑞薩電子 |
BLDC | PLC | 碳化硅 | 二極管 | OpenAI | 元宇宙 | 安森美 | ADI |
無刷電機 | FOC | IGBT | 逆變器 | 文心一言 | 5G | 英飛凌 | 羅姆 |
直流電機 | PID | MOSFET | 傳感器 | 人工智能 | 物聯網 | NXP | 賽靈思 |
步進電機 | SPWM | 充電樁 | IPM | 機器視覺 | 無人機 | 三菱電機 | ST |
伺服電機 | SVPWM | 光伏發電 | UPS | AR | 智能電網 | 國民技術 | Microchip |
開關電源 | 步進電機 | 無線充電 | LabVIEW | EMC | PLC | OLED | 單片機 |
5G | m2m | DSP | MCU | ASIC | CPU | ROM | DRAM |
NB-IoT | LoRa | Zigbee | NFC | 藍牙 | RFID | Wi-Fi | SIGFOX |
Type-C | USB | 以太網 | 仿真器 | RISC | RAM | 寄存器 | GPU |
語音識別 | 萬用表 | CPLD | 耦合 | 電路仿真 | 電容濾波 | 保護電路 | 看門狗 |
CAN | CSI | DSI | DVI | Ethernet | HDMI | I2C | RS-485 |
SDI | nas | DMA | HomeKit | 閾值電壓 | UART | 機器學習 | TensorFlow |
Arduino | BeagleBone | 樹莓派 | STM32 | MSP430 | EFM32 | ARM mbed | EDA |
示波器 | LPC | imx8 | PSoC | Altium Designer | Allegro | Mentor | Pads |
OrCAD | Cadence | AutoCAD | 華秋DFM | Keil | MATLAB | MPLAB | Quartus |
C++ | Java | Python | JavaScript | node.js | RISC-V | verilog | Tensorflow |
Android | iOS | linux | RTOS | FreeRTOS | LiteOS | RT-THread | uCOS |
DuerOS | Brillo | Windows11 | HarmonyOS |