日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
一種HDLC數(shù)據(jù)轉(zhuǎn)發(fā)的全自動硬件引擎設計
[1] [2]  下一頁
一種HDLC數(shù)據(jù)轉(zhuǎn)發(fā)的全自動硬件引擎設計
 更新時間:2008-8-17 16:12:21  點擊數(shù):12
【字體: 字體顏色

   摘要:討論了一種HDLC協(xié)議數(shù)據(jù)轉(zhuǎn)發(fā)的全自動硬件設計。在SDH產(chǎn)品的ECC接口中采用硬件實現(xiàn),通過自動控制BD的方式,實現(xiàn)HDLC協(xié)議的數(shù)據(jù)重新打包轉(zhuǎn)發(fā)、錯誤處理、重發(fā)幀數(shù)據(jù)等操作,不必CPU干預。該設計實現(xiàn)了兩個ECC口收發(fā)全雙工、8個DCC口點對點同時收發(fā)的高速率、多通道設計。

    關(guān)鍵詞:ECC HDLC BD

在傳輸產(chǎn)品中,IP over SDH的基本思路,是將IP數(shù)據(jù)通過點到點協(xié)議(PPP)直接映射到SDH幀,從而省掉了中間復雜的ATM層。具體作法是先把IP數(shù)據(jù)報封裝進PPP分組,然后再利用高級數(shù)據(jù)鏈路控制堆積HDLC按照RFC1662的規(guī)定組幀,最后將字節(jié)同步映射進SDH包中,加上相應的SDH開銷置入STM-N幀中。IP over SDH簡單的系統(tǒng)結(jié)構(gòu)如圖1所示,其中PPP層的功能包括IP多協(xié)議封裝、差錯檢驗和鏈路初始化控制,而HDLC為PPP封裝的IP數(shù)據(jù)包提供定界,并且01111110表示一幀的開始和結(jié)束。

本文討論如何用全自動硬件方式實現(xiàn)圖1中所示的HDLC模塊。

1 傳統(tǒng)的CPU實現(xiàn)方式

在圖1中,HDLC模塊實現(xiàn)一個HDLC總線到多個點對點HDLC接口之間的數(shù)據(jù)轉(zhuǎn)發(fā)。將HDLC總線的接口稱為ECC口,HDLC點對點接口稱為DCC口。傳統(tǒng)的實現(xiàn)方法如圖2所示,是若干HDLC控制器芯片加一塊CPU實現(xiàn)ECC到DCC的數(shù)據(jù)轉(zhuǎn)發(fā)功能。CPU通過軟件配置,向HDLC幀中插入或提取用戶自定義的10個字節(jié)(包括源地址、目標地址、DCC端口號、幀長度等)。以下行為例,HDLC控制器在ECC接口接收數(shù)據(jù)后,向CPU申請使用SRAM中的緩沖區(qū),CPU進行仲裁,分配緩沖區(qū)描述符BD,數(shù)據(jù)就可以存放在SRAM中。CPU在這些數(shù)據(jù)發(fā)送時需要指定DCC通信。由于數(shù)據(jù)量較大,每一幀都要進行BD的處理,且數(shù)據(jù)申請導致中斷處理頻繁,軟件很容易出錯。

另外,隨著單板集成度的提高,ECC接口的數(shù)據(jù)量越來越大,DCC接口的通道也越來越多。如果采用傳統(tǒng)的CPU實現(xiàn)方式,就必須不斷增加HDLC控制器,所要求的CPU性能也越來越高,這在技術(shù)上難以實現(xiàn),成本上也不能接受,因而必須確定一種更經(jīng)濟、有效的技術(shù)方式來實現(xiàn)大容量、高效率、低成本的ECC轉(zhuǎn)發(fā)技術(shù)。采用硬件方式,無須或盡量減少CPU的干預,在ECC接口實現(xiàn)自動的HDLC數(shù)據(jù)轉(zhuǎn)發(fā)。

筆者的目的是將HDLC控制器和CPU的大部分功能用硬件實現(xiàn),在整個運作過程中,不需要CPU實時協(xié)助,可實現(xiàn)全自動控制,CPU只需在開始進行一些初始化和配置工作,同時為CPU提供一些統(tǒng)計信息,方便CPU了解模塊數(shù)據(jù)傳送的性能。

2 全自動硬件結(jié)構(gòu)設計

硬件結(jié)構(gòu)如圖3所示,可劃分為六大塊:ECC接口的發(fā)送模塊、ECC接口的接收模塊、DCC接口的發(fā)送模塊、DCC接口的接收模塊、SRAM控制器和CPU接口。

圖3

    ECC_TX控制:

·仲裁DCC_RX發(fā)過來的數(shù)據(jù)申請;

·從SRAM內(nèi)讀取數(shù)據(jù)到內(nèi)部;

·按照要求添加前10個字節(jié)的信息;

·按照協(xié)議產(chǎn)生新的16位CRC;

·按照協(xié)議發(fā)送數(shù)據(jù);

·按照協(xié)議進行重發(fā)操作;

·在操作正確完成后,更新BD和發(fā)送指針。ECC_RX控制;

·實時監(jiān)控HDLC總線上的變化;

·解析正確的HDLC數(shù)據(jù)包,進行CRC檢查;

·接收屬于本地址的數(shù)據(jù)包到SRAM內(nèi);

·在發(fā)生錯誤的情況下,放棄已經(jīng)存入SRAM內(nèi)的數(shù)據(jù);

·在數(shù)據(jù)包正確接收到SRAM之后,產(chǎn)生新BD并更新接收指針;

DCC_RX控制:

·接收的邏輯有8組,可同時接收;

·實時監(jiān)控HDLC點對點的數(shù)據(jù)變化;

·解析正確的HDLC數(shù)據(jù)包,進行CRC檢查;

·接收數(shù)據(jù)包到SRAM內(nèi);

·在發(fā)生錯誤的情況下,放棄已經(jīng)存入SRAM內(nèi)的數(shù)據(jù);

·在數(shù)據(jù)包正確接收到SRAM之后,產(chǎn)生新BD并更新接收指針。

DCC_TX控制:

·發(fā)送是由自己控制,只需一套邏輯,8個通道輪流發(fā)送;

·判斷是否有新的數(shù)據(jù)要發(fā)送(判斷發(fā)送指令是否與接收指針一致);

·從SRAM內(nèi)讀取數(shù)據(jù)到內(nèi)部;

·分析前10個字節(jié)的信息,決定8個發(fā)送端口的其中1個發(fā)送;

·去除前10個字節(jié)的信息;

·按照協(xié)議產(chǎn)生新的16位CRC;

·按照協(xié)議發(fā)送數(shù)據(jù);

·在操作正確完成之后,更新BD和發(fā)送指針。

圖4

    SRAM控制器:

·這一部分實現(xiàn)數(shù)據(jù)的存取,ECC接收和發(fā)送各1個,DCC接收8個,DCC發(fā)送1個,共有11個數(shù)據(jù)申請;

·考慮到數(shù)據(jù)流量,SRAM采用16位寬。

CPU接口:

·配置前10個字節(jié)的信道,設置源地址和目標地址;

·復位通道;

·提供統(tǒng)計信息,供CPU分析運作情況。

3 數(shù)據(jù)流

(1)上行數(shù)據(jù)流

如圖4所示,DCC接收到的數(shù)據(jù)(8個同時)→正確數(shù)據(jù)存放于SRAM內(nèi)→數(shù)據(jù)取出,添加10字節(jié),從ECC_TX發(fā)送出去。

(2)下行數(shù)據(jù)流

如圖5所示,HDLC總線的數(shù)據(jù)→地址匹配且正確的數(shù)據(jù)存到SRAM內(nèi)→數(shù)據(jù)取出,從DCC_TX的其中一個端口發(fā)送出去。

4 CPU干預程度分析和性能分析

(1) 系統(tǒng)使能后硬件即可正常工作,不需要CPU任何配置,相當于一個自動的微引擎;

(2) 發(fā)送部分不受寄存器控制,始終在動作,通過與接收的BD指針比較決定有沒有數(shù)據(jù)要發(fā)送;同理、接收部分通過BD指針的比較決定SRAM中還有沒有BD空間存放數(shù)據(jù),通過BUF指針比較決定要不要存放數(shù)據(jù);

(3) 接收部分和發(fā)送部分有一個共同的BD和BUF基準地址,有一個各自初始值為0的指針,接收部分每接收一幀數(shù)據(jù),指針加2,發(fā)送部分可以看到這個批易地的變化;

(4) 通過BD的結(jié)構(gòu),可以完成接收與發(fā)送部分關(guān)于數(shù)據(jù)幀的長度通知;接收部分收到一幀,將統(tǒng)計下來的幀長度存放在BD中,發(fā)送部分讀到BD中的幀長度,按該長度向SRAM申請數(shù)據(jù);

(5) 通過wrap設置,可以完成自動檢測空間和返回緩沖區(qū)起始地址,重用緩沖區(qū);

(6) 錯誤處理可以自動恢復和重發(fā)。只有發(fā)生致命錯誤,如下溢時,才需要CPU對系統(tǒng)進行復位;

圖5

    (7) 如果考慮最差情況下的速率,最高速度是5MHz(ECC_HDLC接口),現(xiàn)在SRAM采用16位操作,并且FIFO只有一級,則訪問頻率為5MHz/16, 一次SRAM訪問需要5個時鐘, 此時最壞情況是其它9個接口也同時申請數(shù)據(jù)操作(共11個接口,ECC_HDLC占兩個接口,但在5MHz情況下這兩個接口只能有一個在運作之中)。此時系統(tǒng)時鐘必須滿足以下條件才不會產(chǎn)生下溢錯誤:5MHz/16<sys_clk/(9×5+5),其中(9×5+5)為9個其它設備的數(shù)據(jù)申請以及它自身數(shù)據(jù)操作需要的時間。此時得到的系統(tǒng)最小時鐘為:15.625MHz。這個速率對FPGA的硬件實現(xiàn)來說,是毫無困難的。

本系統(tǒng)實現(xiàn)SDH產(chǎn)品中ECC接口到開銷處的數(shù)據(jù)交換,以HDLC協(xié)議實現(xiàn)ECC和DCC兩邊的數(shù)據(jù)傳送,整個傳送過程不需要CPU實時控制。采用該設計,可不再使用多個HDLC控制器,CPU可由原來的高性能改為低檔CPU,極大地降低成本,同時可具有良好的擴展性。該設計采用Xilinx的Spartan 600E實現(xiàn),已成功在產(chǎn)品中應用。


 

  • 上一篇: 為FM基帶信號產(chǎn)生19kHz導頻音的簡單正弦波合成器
  • 下一篇: StrataXGS® III 網(wǎng)絡交換機系列產(chǎn)品
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內(nèi)容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1