基于SOPC技術的以太網遠程網橋的設計與實現(xiàn)
原創(chuàng)性聲明
聲明:本文的核心思想及方案設計實現(xiàn)均為本文作者原創(chuàng),除了文中特別加以標注的地方外,論文中不包含其他人已經發(fā)表和撰寫過的研究成果。
設計題目:基于SOPC技術的以太網遠程網橋的設計與實現(xiàn)
作者簽名: 吳昆
日期: 二OO六年六月二十日
Design and implementation of the E1-Ethernet adapter based on SOPC
摘要:本文主要介紹在以太網遠程網橋中多路E1信號輸入情況下的數(shù)據(jù)緩存、時鐘恢復、信號編碼轉換以及NIOS處理器平臺的設計,并用 Altera 的 Cyclone 器件實現(xiàn)的整個過程。包括簡單介紹以太網網橋的原理,SOPC技術在系統(tǒng)中的作用和地位,并詳細介紹了此系統(tǒng)用fpga 設計實現(xiàn)的過程。
Abstract:This paper introduce the design and implementation of the E1-Ethernet adapter based on SOPC platform, and it is implemented by Altera Cyclone series product. The introduction of this paper includes the function module such as E1 data buffer,E1 line clock recovery, frame synchronization,E1 frame organize, HDB3 code and decode, interface to NIOS processor in the whole system, and the details of the design and implementation by FPGA.
1. 概述
在傳統(tǒng)的電信網中,采用SDH為主的網絡架構,以TDM方式向用戶提供語音和窄帶數(shù)據(jù)業(yè)務。SDH網建設成本高、帶寬利用率低,而且難以提供多種業(yè)務。隨著數(shù)據(jù)業(yè)務的快速增長以及IP網絡技術的進步,IP技術日益成為新一代傳輸網絡的主導。與此同時,傳統(tǒng)的話音業(yè)務和其它基于電路交換的業(yè)務如何被IP網絡支持成為眾多電信運營商所面臨的一大難題,雖然目前已經出現(xiàn)了VoIP技術,但是其應用僅局限于話音業(yè)務,且通話質量不高,還需要擴展的PBX。為此,TDMoverIP技術應運而生,即在IP網上透明地傳輸TDM業(yè)務。我們在這里稱之為以太網遠程網橋,以基本原理是將以太網數(shù)據(jù)不做解釋和處理,直接封裝為以太網數(shù)據(jù)包,然后通過基于分組交換的以太網傳送到目的端,目的端再將收到的數(shù)據(jù)包打開,并恢復出原始的TDM數(shù)據(jù)流。如圖1所示。對用戶而言,不需要考慮中間的傳輸媒介,相當于為用戶提供一條透明的通道。
圖1 TDMoverIP
2001年,城域以太網論壇(MEF)就開始了有關運營商級以太網架構的研究,并達成共識。隨著以太網業(yè)務的不斷發(fā)展,以太網正在向城域網甚至廣域網邁進。另外,現(xiàn)在E1/T1以及SDH/SONET等專線業(yè)務很普遍,為了使以太網也能夠提供這些基于電路交換的業(yè)務,以太網論壇于2002年開始定義了在城域以太網上提供電路仿真業(yè)務的需求。電路仿真即通過異步網絡傳送同步電路(如E1/T1),最初是用在ATM上仿真,現(xiàn)在可擴展到IP/以太網。這里,將以太網電路仿真技術統(tǒng)稱為TDMoverIP。
TDMoverIP相對于VoIP,其優(yōu)越性是十分明顯的,它主要有以下特點:
1)對于協(xié)議和信令是透明的
2)實現(xiàn)比較簡單且價格不貴
3)提供低延遲的高質量語音,通過可配置的包的大小將時延和開銷降至最低
4)保留了現(xiàn)有PBX系統(tǒng)的特性和功能
5)以各種速率支持modem、傳真和圖像服務
6)保持了E1幀的完整性,支持各種協(xié)議,包括幀中繼、ATM、ISDN等
本設計所采用的硬件平臺,是基于Altera公司的大容量、高密度的FPGA器件。FPGA(Field Programmed Gray Array)是一種大規(guī)模的可編程邏輯器件(Programmed Logic Device)。在二十世紀九十年代末,F(xiàn)PGA器件的復雜度已經能夠在芯片內實現(xiàn)整個系統(tǒng),完整的片上系統(tǒng)(System On Chip)的概念是指在一個芯片中實現(xiàn)用戶定義的系統(tǒng)。在一個SOC設計中,將涵蓋到包括微處理器、DSP芯片、存儲器件、I/O、控制邏輯、混合信號模塊(Mixed-Signal Blocks )等在內的許多部分。
在系統(tǒng)設計復雜度不斷的提高及新產品市場周期不斷縮短的壓力下,把FPGA及微處理器的核心內嵌在同一芯片上,構建成為一個可編程的SOC系統(tǒng)體系框架結構,即所謂的可編程芯片系統(tǒng)SOPC(System on a Programmable Chip),從而為系統(tǒng)設計者提供了又一靈活快捷的設計方法與途徑。{{分頁}}
2. 系統(tǒng)實現(xiàn)方案
2.1 硬件組成
本系統(tǒng)在功能實現(xiàn)上可以分為三個子模塊,以下將分別介紹。
NIOS系統(tǒng)平臺:這部分構成了系統(tǒng)的核心,它包括NIOS軟核處理器、MAC控制器、SDRAM控制器、FLASH控制器以及系統(tǒng)調試所需的JTAG、URAT等外設接口。NIOS處理器與外設間,均通過其自定義的Avalon總線連接,達到數(shù)據(jù)快速交換的目的。
E1接口模塊:這部分實現(xiàn)與交換機的底層接口功能,包含E1幀的產生,線路信號特定波形的產生與轉換,2.048MHz線路時鐘的恢復,E1物理線路的阻抗匹配和過流過壓保護。為了減輕CPU的負擔,系統(tǒng)的物理層和數(shù)據(jù)鏈路層的大部分工作由FPGA內部邏輯來完成。包括鏈路的同步建立與管理,數(shù)據(jù)的CRC校驗,數(shù)據(jù)塊的組織等。
以太網接口模塊:這部分主要完成系統(tǒng)以太網側的功能,包括IP數(shù)據(jù)包的封裝與拆封,以及MAC層數(shù)據(jù)處理,由片上的MAC控制器通過MII接口與物理層控制器連接。
另外,外掛的FLASH用以裝載ucLinux操作系統(tǒng)及應用程序,SDRAM用于程序運行中數(shù)據(jù)的緩存。電源和時鐘模塊為系統(tǒng)提供所需的各種電源與時鐘。
本系統(tǒng)的硬件結構如圖2所示。
圖2 系統(tǒng)硬件結構圖
2.2 軟件架構
本文的以太網遠程網橋采用了ucLinux作為嵌入式操作系統(tǒng),ucLinux是一免費的且源代碼公開的操作系統(tǒng),它具備現(xiàn)代的UNIX系統(tǒng)所具有的大部分特征,其中包括真正的多任務、虛擬內存、共享庫、需求裝載、優(yōu)秀的內存管理以及TCP/IP網絡支持等。ucLinux是一種嵌入操作系統(tǒng),它通過裁減標準的Linux,體積更小、功能更強、快速穩(wěn)定,更具有針對性。再在裁減內核的基礎上編寫設備驅動程序,為用戶程序中的系統(tǒng)調用提供接口。本設計為對等模式下的UDP通信,其模型如圖3所示。
它的通信步驟如下:
1)建立一個數(shù)據(jù)報方式的套接字;
2)綁定地址,系統(tǒng)調用bind();
3)進行數(shù)據(jù)傳輸,使用系統(tǒng)調用sendto()和recevfrom()分別用于發(fā)送和接收數(shù)據(jù)報
系統(tǒng)所需的兩個最基本進程分別用于從以太網上讀取數(shù)據(jù)交給TDM幀處理模塊以及接收TDM幀處理模塊傳來的數(shù)據(jù)按照一定的規(guī)則打包交給以太網發(fā)送。這兩個進程在系統(tǒng)中處于相等的位置,并發(fā)運行。
圖3 對等模式的UDP通信 {{分頁}}
3. 課題涉及關鍵技術介紹
3.1 TDMoIP的關鍵問題
1)服務質量
TDMoverIP并未提供機制保證實時交互或提供其它服務質量保證,因此,它需要底層服務去實現(xiàn);鏈路層通過采用VLAN優(yōu)先權域賦予TDMoIP信息流優(yōu)先權;網絡層通過采用經過可控路由的第三層交換機和路由器進行設置,必須考慮這些優(yōu)先權,這樣給TDMoIP數(shù)據(jù)的傳送提供了一個相對良好的網絡環(huán)境。在這意味著網絡具有優(yōu)先權分級、有效帶寬。有效帶寬可由許可權控制和話務量工程保證低誤碼率、較低的包倒序率或低丟包率。
2)時鐘恢復
當在以太網上實現(xiàn)TDM流傳輸時,必須實現(xiàn)時鐘的同步傳輸,但是基于時間統(tǒng)計復用以太網,并不能傳輸時鐘信息。廣義上有兩種方法可以克服這個困難,一是通過某種不依賴于以太網本身的手段提供時鐘信息,二是在以太網上傳輸所需定時信息。最好的方法就是從TDMoIP數(shù)據(jù)流中提取恢復時鐘,這種機制利用了源端產生數(shù)據(jù)流的速率恒定的特點,雖然這些數(shù)據(jù)流是通過時延隨機變化的數(shù)據(jù)包傳輸?shù)侥康亩说模涍^緩沖處理可以消除這種影響。為理解這種機制,首先假設目的端取出的時鐘,頻率低于源端的參考頻率,緩沖區(qū)中數(shù)據(jù)寫入的速率將高于讀取的速率。這樣,緩沖區(qū)填充級別會不斷提高,目的端根據(jù)填充級別的提高趨勢相應提高本地時鐘頻率,這樣兩端的頻率最終將會一致。該方法只能用在被仿真數(shù)據(jù)流的速率是恒定的情況下,且系統(tǒng)時鐘頻率鎖定的時間比較長。。通過使用更復雜的時鐘恢復算法,可以更精確地跟蹤系統(tǒng)時鐘變化,同時獲得最佳的反應時間。
3)抖動和丟包
以太網絡中的數(shù)據(jù)包到達目的地時的延遲具有隨機性,這種延遲的變化被稱為抖動。為補償在任一以太網絡中都存在的包延遲,必須在復用器中采用抖動緩沖器。這個緩沖器的長度應該是可以設置和動態(tài)調整的,也就是說根據(jù)延遲變化的統(tǒng)計數(shù)據(jù)增大或減少緩沖器的長度。盡管有各種流量保證機制,數(shù)據(jù)包經常以錯誤的順序到達,甚至根本不會到達。為了處理丟包和錯序,應該采用包的順序合成機制和丟包隱藏機制。這種機制應該能在抖動緩沖器中跟蹤包的序列號,當檢測到丟包時,應插入包以保持定時時序。當包的序列號或是其它可檢測到的頭部出錯時,可將該包丟棄。當包的到達順序不對時,應進行交換,可能情況下,插入的包應確保正確的同步比特發(fā)到TDM網絡。對于TDMoIP,常在接收下一個信息包后被告知丟包。因此,在丟失的信息包前后的樣本都是可用的,這時可以通過插補來估計丟失的樣本值。對于語音業(yè)務,數(shù)據(jù)包的丟失會導致出現(xiàn)短暫的背景噪音,采用適當機制能有效降低數(shù)據(jù)包丟失的影響。
3.2 SOC系統(tǒng)平臺的構建
3.2.1 NIOS軟核處理器的實現(xiàn)
NIOS軟核RISC處理器,是Altera Excalibur嵌入處理器計劃中第一個產品,它成為業(yè)界第一款為可編程邏輯優(yōu)化的可配置處理器,支持16位/32位精簡指令集。
NIOS具有以下特點:
1) 較高的性能。全功能的Nios處理器性能超過200 DMIPS,而且輕易地實現(xiàn)任何數(shù)量的處理器或將不同的處理器核組合在一起。
2) 較低的系統(tǒng)成本。通過將處理器、外設、存儲器和I/O接口集成到一個單一的FPGA中,從而降低了系統(tǒng)成本、復雜性和功耗。
3) 設計的靈活性更強。Nios基于可編程器件,易于修改與更新。從而使基于Nios II處理器的產品避免了處理器的更新?lián)Q代而帶來的損失, 延長了產品的生命周期。
在設計中,Altera把可編程邏輯的固有的優(yōu)勢集成到嵌入處理器的開發(fā)流程中,一旦定義了處理器之后,設計者就“具備”了體系結構,可以馬上開始設計軟件原型。CPU 周邊的專用硬件邏輯可以慢慢地集成進去,在每個階段軟件都能夠進行測試,解決遇到的問題。另外,軟件組可以對結構方面提出一些建議,改善代碼效率和處理器性能,這些軟件/硬件權衡可以在硬件設計過程中間完成。
3.2.2 各種外設接口的實現(xiàn)
系統(tǒng)所需的多種外設,如以太網接口、FLASH、SDRAM、UART等接口,都可以方便地應用Altera及其合作伙伴提供的IPcore來實現(xiàn)。借助Altera提供的系統(tǒng)級設計工具SOPC Builder,大大減輕了設計的難度。它包括兩方面的內容:第一,直觀的圖形用戶接口(GUI),便于設計者準確地添加和配置系統(tǒng)所需的外設(包括存儲器,定制外設和 IP 模塊)。第二,它會自動完成系統(tǒng)集成工作,這樣設計者不必拘泥于定義存儲器映射,中斷控制和總線控制這樣的工作。
3.3.4 片內異步fifo的實現(xiàn)
當今集成電路設計的主導思想之一就是設計同步化,但在實際的應用系統(tǒng)中,實現(xiàn)完全同步化的設計非常困難,很多情況下不可避免地要完成數(shù)據(jù)在不同時鐘域間的傳遞(如高速模塊和低速模塊之間的數(shù)據(jù)交換)。這時,如何保持系統(tǒng)的穩(wěn)定,順利完成數(shù)據(jù)的傳輸就成為一個重要的問題,這也是異步電路設計中最為棘手的問題。
通常的做法是采用對每位信號加同步器或增加握手信號來解決這一問題,但這樣會增加系統(tǒng)的復雜度且影響傳輸速度。本文的做法是在兩個時鐘域的交界處設計一個異步FIFO,通過它來實現(xiàn)數(shù)據(jù)流的傳輸。由發(fā)送時鐘域將數(shù)據(jù)寫入,接收時鐘域將數(shù)據(jù)取出,在數(shù)據(jù)傳輸?shù)耐瑫r實現(xiàn)了數(shù)據(jù)的緩存,因此是一種較理想的方法。
不同時鐘域間數(shù)據(jù)傳遞的最重要問題就是亞穩(wěn)態(tài)問題。亞穩(wěn)態(tài)是在兩時鐘敏感沿靠得很近、第二級時鐘敏感沿到來時其輸入數(shù)據(jù)不穩(wěn)時發(fā)生,可將其視為僅僅是第二級觸發(fā)器輸入信號不穩(wěn)定所導致的結果。只要使輸入信號穩(wěn)定,就能解決亞穩(wěn)態(tài)問題。
針對如上所述亞穩(wěn)態(tài)的特點,可設計一個同步器來保證數(shù)據(jù)的穩(wěn)定傳輸以解決這個問題。其原理在于使信號在新的時鐘域中先穩(wěn)定下來再進入相關的邏輯,以保證信號與新的時鐘同步。本設計在時鐘域的接口處就采用此法。
在本系統(tǒng)中,采用了Cyclone系列FPGA內部的RAM塊組成了雙口RAM實現(xiàn)了異步fifo,實現(xiàn)了在不同時鐘域中數(shù)據(jù)傳遞。
3.3 E1幀的產生和數(shù)字傳輸碼
3.3.1 E1同步機制的處理
E1鏈路由成幀,成復幀,不成幀三種傳輸模式,在成幀和成復幀模式下0時隙都是用來傳基本幀同步碼,復幀模式下每一復幀的第一子復幀第16時隙的傳復幀同步碼。本設備能實現(xiàn)基本幀同步和復幀同步,支持成幀和成復幀的E1鏈路數(shù)據(jù)接口。
根據(jù)CCITT相關要求,E1接收幀同步機構應遵守下列規(guī)定:
1)同步捕獲:在系統(tǒng)處于‘捕獲’狀態(tài)下,
把檢測到的幀同步碼型作為‘捕獲’對象。若在隔一幀的同一位置檢測到同步碼,則立即進入‘同步’狀態(tài)。
2)失步條件:在系統(tǒng)處于‘同步’的狀態(tài)下,若
。在一個偶幀內的TS0的b0位置沒檢測到同步碼;
。在第二偶幀內的同一位置也沒檢測到同步碼;
。在第三偶幀內的同一位置還沒檢測到同步碼
則立即進入失步狀態(tài),開始同步捕獲。
3)在‘失步’捕捉狀態(tài)下,它把檢測到的第一個同步碼作為捕獲對象,若在同一位置沒有檢測到同步碼,則立即‘重新捕獲’,即把其后檢測到的同步碼作為捕獲對象重新捕獲操作,直到進入‘同步’狀態(tài)為止。
參考以上規(guī)定的本設備采用基本幀同步狀態(tài)轉換圖如下圖4所示。
圖4 E1 幀同步狀態(tài)機原理圖 {{分頁}}
復幀失步采用以下規(guī)則判斷:在8ms內(含四組復幀定位信號)三次或三次以上沒有捕捉到正確的復幀定位信號。另外,當系統(tǒng)處于偽幀同步態(tài)時,將導致一秒內出現(xiàn)915個以上CRC塊錯誤,也將引起復幀失步。LOS告警和AIS告警也會使系統(tǒng)處于幀失步狀態(tài)。
復幀定位系統(tǒng)重新進入同步態(tài)的判斷依據(jù)為:在8ms內至少收到兩組復幀定位信號,且這兩組定位信號的間隔為2ms(或2ms的整數(shù)倍)。
3.3.2 HDB3編解碼的實現(xiàn)
在數(shù)字通信系統(tǒng)中,為了使信息適合于在信道上傳輸,由終端機發(fā)出的數(shù)字信息必須編成合適的傳輸碼序列。在電纜中傳輸?shù)膽请p極性碼,如AMI碼、HDB3碼等。AMI碼曾被CCITT推薦為傳輸型之一,但由于這種編碼方式有可能存在對定時提取有影響的長連零,而HDB3碼很好地克服了這個缺點,所以現(xiàn)在E1線路中多采用HDB3碼。
HDB3碼是AMI(Alternate Mark Inversion)碼的改進型。AMI碼是用交替極性的脈沖表示碼元“1”,用無脈沖表示碼元“0”。為了防止電路長時間出現(xiàn)無脈沖狀態(tài),HDB3碼的編碼規(guī)則是:
1) 碼流中連“0”碼個數(shù)不超過3個時,其編碼規(guī)則與AMI碼相同:碼元“0”用0電平表示;碼元“1”交替用50%占空正或者負矩形脈沖表示。
2) 當出現(xiàn)四個連零用取代節(jié)取代。取代節(jié)有兩種,分別是“BOOV”和“OOOV”。這里的B和V均為傳號脈沖。
3) 當相鄰破壞點V中間有奇數(shù)個原始傳號(不包括B碼)時,用“OOOV"取代。
4) 當相鄰破壞點V中間有偶數(shù)個原始傳號時,用“BOOV"取代。
5) 用“BOOV”取代時,B碼和V碼與它們前面一個原始傳號極性相反。
6) 用“OOOV”取代時,V碼與它們前面一個原始傳號極性相同。
根據(jù)上述HDB3編碼原則,可得到HDB3編碼的原理框圖,圖5所示:
圖5 HDB3編碼原理框圖
HDB3譯碼電路完成編碼的逆過程。由于HDB3碼中的V碼破壞了極性交替原則,因此,在接收端很容易找到它。在譯碼時,將破壞點V檢出,包括它前面的三位碼還原為“0”碼,就完成了HDB3的譯碼工作。關鍵之處是檢出破壞點、取消“取代節(jié)”。HDB3解碼原理框圖如圖6所示:
圖6 HDB3解碼原理框圖
4. 總結
SOPC 是一種新的系統(tǒng)設計技術,也是一種新的軟硬件綜合設計技術。與傳統(tǒng)的FPGA+CPU構架相比,它可以很快地將硬件系統(tǒng)(包括微處理器,存儲器,外設以及用戶邏輯電路等)和軟件設計都放在單個可編程的芯片中,以達到系統(tǒng)級的設計。這種設計方式,具有開發(fā)周期短以及系統(tǒng)可修改等優(yōu)點,CPU 本身是以軟核的方式實現(xiàn),其功能可根據(jù)需要進行定制。設計完成的 SOPC 可以通過 HARDCOPY轉為 ASIC 芯片,從而可以實現(xiàn)快速量產。SOPC Builder 不但在硬件設計上提供了支持,在軟件上也為設計者提供了較好的支持,方便驅動程序和上層應用軟件的編寫。本設計實現(xiàn)的以太網網橋,充分發(fā)揮了SOPC平臺的優(yōu)越性,具有功能可擴展、系統(tǒng)升級簡便、低成本等一系列優(yōu)點,也顯示了SOPC技術在未來網絡設備領域的巨大優(yōu)勢。
5. 參考文獻
【1】 ATM Forum:atm-vtoa-0078.Circuit Emulation Service Interoperability Specification,
【2】 Stein Y(J),Shashoua,Insler ,et al, draft-anavi-tdmoip-06,IETF,April200
【3】 Stallings,W. Data and Computer Communications,5th Ed.Macmillan,1997
【4】 Altera Corporation :Nios Software Development Reference Manual
【5】 Altera Corporation : Nios II Processor Reference Handbook
【6】 Altera Corporation : cyclone_device_handbook
【7】 謝希仁. 計算機網絡. 北京:電子工業(yè)出版社.2004
【8】 樊昌信,詹道庸,徐炳祥,吳成柯. 通信原理. 北京:國防工業(yè)出版社.2003
【9】 林建中,王纓,郭世滿. 數(shù)字傳輸技術基礎. 北京:北京郵電大學出版社.2003
【10】 楊世平,張引發(fā),鄧大鵬,何淵. SDH光同步數(shù)字傳輸設備與工程應用.北京:人民郵電出版社.2001
【11】 潘松,黃偉業(yè),曾毓. SOPC技術實用教程. 北京:清華大學出版社. 2005
【12】 唐思章,黃勇.SoPC與嵌入式系統(tǒng)軟硬件協(xié)同設計.單片機與嵌入式系統(tǒng)應用.2004
【13】 俞道法,李喜民,李世東,裴濟杰. 在IP網上實現(xiàn)TDM業(yè)務的傳輸. 電信網技術. vol 8,2005.8
【14】 溫兆泉, 郭樹旭.IP網絡傳輸話音和TDM業(yè)務的新技術—TDMoIP. 信息技術 VOL.28 NO.4 Apr.2004
作者簡介
吳昆,男 ,華中科技大學在讀碩士研究生,從事FPGA與嵌入式系統(tǒng)方面的研究與開發(fā)。
聯(lián)系地址:湖北武漢華中科技大學主校區(qū) 西七舍140室 430074
E-mail: rickywu1024@126.com
電話:13971495114
評論