《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 業界動態 > 一種HDLC數據轉發的全自動硬件引擎設計

一種HDLC數據轉發的全自動硬件引擎設計

2008-10-14
作者:文冠果 陳家錦 何剛躍 趙

  摘 要: 討論了一種HDLC協議數據轉發的全自動硬件設計。在SDH產品的ECC接口中采用硬件實現" title="硬件實現">硬件實現,通過自動控制BD的方式,實現HDLC協議的數據重新打包轉發、錯誤處理、重發幀數據等操作,不必CPU干預。該設計實現了兩個ECC口收發全雙工、8個DCC口點對點同時收發的高速率、多通道" title="多通道">多通道設計。
  關鍵詞: ECC HDLC BD


  在傳輸產品中,IP over SDH的基本思路,是將IP數據通過點到點協議(PPP)直接映射到SDH幀,從而省掉了中間復雜的ATM層。具體作法是先把IP數據報封裝進PPP分組,然后再利用高級數據鏈路" title="鏈路">鏈路控制規程HDLC按照RFC1662的規定組幀,最后將字節同步映射進SDH包中,加上相應的SDH開銷置入STM-N幀中。IP over SDH簡單的系統結構如圖1所示,其中PPP層的功能包括IP多協議封裝、差錯檢驗和鏈路初始化控制,而HDLC為PPP封裝的IP數據包提供定界,并用01111110表示一幀的開始和結束。
  本文討論如何用全自動硬件方式實現圖1中所示的HDLC模塊。


1 傳統的CPU實現方式
  在圖1中,HDLC模塊實現一個HDLC總線到多個點對點HDLC接口之間的數據轉發。將HDLC總線的接口稱為ECC口,HDLC點對點接口稱為DCC口。傳統的實現方法如圖2所示,是若干HDLC控制器芯片加一塊CPU實現ECC到DCC的數據轉發功能。CPU通過軟件配置,向HDLC幀中插入或提取用戶自定義的10個字節(包括源地址、目標地址、DCC端口號、幀長度等)。以下行為例,HDLC控制器在ECC接口接收數據后,向CPU申請使用SRAM中的緩沖區,CPU進行仲裁,分配緩沖區描述符BD,數據就可以存放在SRAM中。CPU在這些數據發送時需要指定DCC通道。由于數據量較大,每一幀都要進行BD的處理,且數據申請導致中斷處理頻繁,軟件很容易出錯。
  另外,隨著單板集成度的提高,ECC接口的數據量越來越大,DCC接口的通道也越來越多。如果采用傳統的CPU實現方式,就必須不斷增加HDLC控制器,所要求的CPU性能也越來越高,這在技術上難以實現,成本上也不能接受,因而必須確定一種更經濟、有效的技術方式來實現大容量、高效率、低成本的ECC轉發技術。采用硬件方式,無須或盡量減少CPU的干預,在ECC接口實現自動的HDLC數據轉發。
  筆者的目的是將HDLC控制器和CPU的大部分功能用硬件實現,在整個運作過程中,不需要CPU實時協助,可實現全自動控制,CPU只需在開始進行一些初始化和配置工作,同時為CPU提供一些統計信息,方便CPU了解模塊數據傳送的性能。
2 全自動硬件結構設計
  硬件結構如圖3所示,可劃分為六大塊:ECC接口的發送模塊" title="發送模塊">發送模塊、ECC接口的接收模塊" title="接收模塊">接收模塊、DCC接口的發送模塊、DCC接口的接收模塊、SRAM控制器和CPU接口。


  ECC_TX控制:
  ·仲裁DCC_RX發過來的數據申請;
  ·從SRAM內讀取數據到內部;
  ·按照要求添加前10個字節的信息;
  ·按照協議產生新的16位CRC;
  ·按照協議發送數據;
  ·按照協議進行重發操作;
  ·在操作正確完成后,更新BD和發送指針。
??? ECC_RX控制:
  ·實時監控HDLC總線上的變化;
  ·解析正確的HDLC數據包,進行CRC檢查;
  ·接收屬于本地址的數據包到SRAM內;
  ·在發生錯誤的情況下,放棄已經存入SRAM內的數據;
  ·在數據包正確接收到SRAM之后,產生新BD并更新接收指針。
  DCC_RX控制:
  ·接收的邏輯有8組,可同時接收;
  ·實時監控HDLC點對點的數據變化;
  ·解析正確的HDLC數據包,進行CRC檢查;
  ·接收數據包到SRAM內;
  ·在發生錯誤的情況下,放棄已經存入SRAM內的數據;
  ·在數據包正確接收到SRAM之后,產生新BD并更新接收指針。
  DCC_TX控制:
  ·發送是由自己控制,只需一套邏輯,8個通道輪流發送;
  ·判斷是否有新的數據要發送(判斷發送指針是否與接收指針一致);
  ·從SRAM內讀取數據到內部;
  ·分析前10個字節的信息,決定8個發送端口的其中1個發送;
  ·去除前10個字節的信息;
  ·按照協議產生新的16位CRC;
  ·按照協議發送數據;
  ·在操作正確完成之后,更新BD和發送指針。
  SRAM控制器:
  ·這一部分實現數據的存取,ECC接收和發送各1個,DCC接收8個,DCC發送1個,共有11個數據申請;
  ·考慮到數據流量,SRAM采用16位寬。
  CPU接口:
  ·配置前10個字節的信息,設置源地址和目標地址;
  ·復位通道;
  ·提供統計信息,供CPU分析運作情況。


3 數據流
  (1)上行數據流
  如圖4所示,DCC接收到的數據(8個同時)→正確數據存放于SRAM內→數據取出,添加10字節,從ECC_TX發送出去。
  (2)下行數據流
  如圖5所示,HDLC總線的數據→地址匹配且正確的數據存到SRAM內→數據取出,從DCC_TX的其中一個端口發送出去。


4 CPU干預程度分析和性能分析
  (1) 系統使能后硬件即可正常工作,不需要CPU任何配置,相當于一個自動的微引擎;
  (2) 發送部分不受寄存器控制,始終在運作,通過與接收的BD指針比較決定有沒有數據要發送;同理,接收部分通過BD指針的比較決定SRAM中還有沒有BD空間存放數據,通過BUF指針比較決定要不要存放數據;
  (3) 接收部分和發送部分有一個共同的BD和BUF基準地址,有一個各自初始值為0的指針,接收部分每接收一幀數據,指針加2,發送部分可以看到這個指針的變化;
  (4) 通過BD的結構,可以完成接收與發送部分關于數據幀的長度通知;接收部分收到一幀,將統計下來的幀長度存放在BD中,發送部分讀到BD中的幀長度,按該長度向SRAM申請數據;
  (5) 通過wrap設置,可以完成自動檢測空間和返回緩沖區起始地址,重用緩沖區;
  (6) 錯誤處理可以自動恢復和重發,只有發生致命錯誤,如下溢時,才需要CPU對系統進行復位;
  (7) 如果考慮最差情況下的速率,最高速度是5MHz(ECC_HDLC接口),現在SRAM采用16位操作,并且FIFO只有一級,則訪問頻率為5MHz/16,一次SRAM訪問需要5個時鐘,此時最壞情況是其它9個接口也同時申請數據操作(共11個接口,ECC_HDLC占兩個接口,但在5MHz情況下這兩個接口只能有一個在運作之中)。此時系統時鐘必須滿足以下條件才不會產生下溢錯誤: 5MHz/16<sys_clk/(9×5+5),其中(9×5+5)為9個其它設備的數據申請以及它自身數據操作需要的時間。此時得到的系統最小時鐘為:15.625MHz。這個速率對FPGA的硬件實現來說,是毫無困難的。
  本系統實現SDH產品中ECC接口到開銷處的數據交換,以HDLC協議實現ECC和DCC兩邊的數據傳送,整個傳送過程不需要CPU實時控制。采用該設計,可不再使用多個HDLC控制器,CPU可由原來的高性能改為低檔CPU,極大地降低成本,同時可具有良好的擴展性。該設計采用Xilinx的Spartan 600E實現,已成功在產品中應用。
參考文獻
1 ISO/IEC 3309,1993,Information technology—Telecommuni-cations and information exchange bet-ween systems—Highlevel data link con-trol(HDLC) procedures—Frame structure
2 文冠果. 一種可重用的SoC通訊微引擎結構設計.微電子學與計算機,2004;21(1)
3 文冠果. 一種新型的128路多通道HDLC引擎設計.微電子學與計算機,2004;21(9)

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲日本成人在线观看| 亚洲素人一区二区| 亚洲精品一二区| 狠狠色狠狠色综合日日tαg| 国产精品日韩欧美一区二区三区| 欧美国产日韩视频| 久久一区二区精品| 久久青青草原一区二区| 久久爱另类一区二区小说| 亚洲一区观看| 亚洲在线视频免费观看| 国产精品99久久99久久久二8 | 久久国产精彩视频| 性欧美videos另类喷潮| 午夜精品一区二区三区电影天堂| 亚洲中字黄色| 亚洲免费在线精品一区| 亚洲尤物在线| 亚洲欧美日韩国产综合在线| 亚洲欧美日韩一区二区| 欧美亚洲综合在线| 久久精品国产99国产精品| 亚洲国产成人精品久久| 亚洲激情综合| 99这里有精品| 亚洲一区在线视频| 香蕉久久国产| 欧美一区二区三区精品| 欧美在线啊v| 久久久伊人欧美| 久久综合伊人77777麻豆| 另类欧美日韩国产在线| 欧美肥婆在线| 欧美日韩一区二区欧美激情| 欧美性事在线| 国产视频综合在线| 影音先锋日韩精品| 亚洲人体影院| 亚洲视频精选在线| 亚洲欧美中文另类| 欧美中文在线视频| 亚洲黄色免费网站| 一区二区欧美亚洲| 亚洲欧美综合| 久久蜜桃香蕉精品一区二区三区| 免费黄网站欧美| 欧美精品色综合| 国产精品丝袜xxxxxxx| 国产一区二区三区的电影 | 欧美理论电影在线播放| 国产精品扒开腿爽爽爽视频| 国产精品午夜在线观看| 国产一区二区三区不卡在线观看| 永久91嫩草亚洲精品人人| 亚洲精品护士| 午夜激情综合网| 亚洲破处大片| 亚洲中字黄色| 久久影院午夜片一区| 欧美伦理视频网站| 国产欧美短视频| 亚洲第一偷拍| 亚洲自拍偷拍麻豆| 亚洲国产一区二区三区a毛片| 一区二区久久久久| 欧美制服丝袜| 欧美理论大片| 国产在线视频欧美| 亚洲精品日韩在线观看| 欧美亚洲一区二区三区| 日韩一级黄色片| 欧美在线视频全部完| 欧美丰满高潮xxxx喷水动漫| 国产精品欧美日韩| 亚洲国产视频一区| 午夜精品视频在线| 99精品99久久久久久宅男| 欧美在线日韩精品| 欧美美女bb生活片| 国产亚洲欧美色| 99精品国产99久久久久久福利| 欧美一区二区大片| 宅男噜噜噜66一区二区| 亚洲伦理自拍| 久久久久成人精品免费播放动漫| 欧美日韩1234| 欧美国产三级| 国产亚洲va综合人人澡精品| 国产原创一区二区| 在线亚洲自拍| 日韩一级欧洲| 麻豆精品视频在线| 欧美人与性动交α欧美精品济南到| 国产精品久久久久久久久久妞妞| 亚洲黄色成人久久久| 午夜一区在线| 亚洲综合色婷婷| 欧美日韩国产成人在线| 在线观看国产欧美| 亚洲欧美激情精品一区二区| 99视频一区二区| 免费观看成人网| 狠狠久久五月精品中文字幕| 亚洲欧美日韩国产成人| 亚洲一区二区三区免费在线观看 | 在线电影一区| 欧美亚洲三区| 欧美一区日韩一区| 国产精品狠色婷| 99国产成+人+综合+亚洲欧美| 亚洲精品欧美日韩专区| 蜜桃精品久久久久久久免费影院| 国产一区二区精品| 亚洲欧美日韩国产精品| 亚洲欧美另类国产| 欧美视频在线一区| 亚洲精品视频啊美女在线直播| 亚洲高清二区| 久久亚洲精品一区二区| 国产一区二区欧美| 欧美一区二视频在线免费观看| 久久福利影视| 国产区亚洲区欧美区| 亚洲欧美久久| 久久av资源网| 国产亚洲在线| 欧美资源在线观看| 久久人人爽人人| 国内久久精品视频| 久久超碰97中文字幕| 久久亚洲精品视频| 在线精品亚洲| 亚洲精品一区二区在线| 欧美剧在线观看| 99精品视频一区| 亚洲一区二区精品视频| 国产精品hd| 亚洲欧美电影院| 久久久久国产一区二区三区| 激情一区二区三区| 亚洲国产一区二区三区高清| 欧美成人69av| 日韩午夜剧场| 午夜精品视频一区| 国产偷国产偷亚洲高清97cao| 欧美在线视频播放| 米奇777超碰欧美日韩亚洲| 亚洲国产精品黑人久久久| 99国产成+人+综合+亚洲欧美| 欧美日韩国产综合视频在线观看中文 | 亚洲国产另类久久精品| 日韩性生活视频| 欧美视频在线一区二区三区| 亚洲午夜未删减在线观看| 欧美一区二区| 伊人久久亚洲热| 一区二区日本视频| 国产精品一区二区久久精品| 欧美一级专区| 欧美粗暴jizz性欧美20| 一本色道久久综合亚洲精品不 | 亚洲人成毛片在线播放女女| 亚洲小说欧美另类社区| 国产精品入口福利| 欧美中日韩免费视频| 久久躁日日躁aaaaxxxx| 亚洲日本无吗高清不卡| 亚洲欧洲av一区二区| 国外成人在线视频网站| 日韩视频在线免费| 国产精品你懂的在线欣赏| 久久成人免费网| 欧美日韩国产美女| 亚洲中字在线| 欧美成人免费大片| 一区二区三区视频在线播放| 久久久美女艺术照精彩视频福利播放 | 亚欧美中日韩视频| 在线视频观看日韩| 亚洲欧美国产视频| 精久久久久久| 亚洲欧美韩国| 亚洲国产精品v| 欧美一激情一区二区三区| 在线观看视频一区| 午夜国产不卡在线观看视频| 亚洲国产经典视频| 欧美在线|欧美| 亚洲人成网站999久久久综合| 久久aⅴ国产紧身牛仔裤| 亚洲清纯自拍| 久久久久免费观看| 一区二区三区久久| 久久亚洲高清| 亚洲伊人伊色伊影伊综合网| 欧美精品久久天天躁| 欧美影视一区| 国产精品久久久久久久久久久久久 | 亚洲无线一线二线三线区别av| 免播放器亚洲一区|