《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA的HDLC轉E1傳輸控制器的實現
基于FPGA的HDLC轉E1傳輸控制器的實現
摘要: 通過對FPGA進行VHDL編程,實現了將速率為N×64Kbps (N=1~124)的HDLC數據按比特分接至M路(M=1~4)E1信道中傳輸,并充分利用E1奇幀的TS0時隙,為用戶提供12Kbps的同步數據傳輸通道,而且允許各路E1有64ms的時延。本文設計的HDLC轉E1傳輸控制器也可以作為其它協議轉換器的一個過渡橋梁。例如可以將10Base-T的以太網信號,先經過以太網轉HDLC協議控制器(如ADMtek公司生產的ADM6993芯片),然后通過HDLC轉E1傳輸控制器,從而實現了Ethernet over TDM的功能。
Abstract:
Key words :

  引言

  E1是我國電信傳輸網一次群使用的傳輸標準,由于我國的E1資源十分豐富, 這樣的傳輸路徑非常容易獲得,靈活利用現有豐富的E1信道來傳輸HDLC數據,可以節(jié)約大量傳輸成本。通常,一路HDLC數據僅通過一路E1信道傳輸,但是如果HDLC數據的速率很大,一路E1信號的帶寬不足以傳輸,那么HDLC數據就要分接到M路E1信道中傳輸,接收端再把M路E1信號合路恢復出HDLC數據,M路E1信號如果傳輸路徑不同,肯定會導致不同的延遲,本系統(tǒng)設計時,允許各路E1信號的最大延遲為64ms。

  系統(tǒng)E1幀結構設計

  本系統(tǒng)中的E1碼流的幀結構可以參照CCITT G.732、G.704或G.706建議給出的PCM基群30/32路系統(tǒng)幀結構得到,但又有所不同。

  信息位的組成

  本系統(tǒng)所要傳輸的凈負荷(信息位)是N×64Kbps的HDLC數據,標準E1中的TS16信令時隙與TS1~TS15及TS17~TS31共31個時隙可以傳送凈負荷。所以,N和M滿足關系式N≤31×M。對于最大情況,即N=124,M=4時,凈負荷占用31個時隙。當N<124,以至不能填滿所有31個時隙,則固定填入無效位‘1’。

  TS0時隙的設計

  考慮到系統(tǒng)要能實現將一路N×64Kbps的HDLC數據按比特分接在M路E1信道中獨立傳輸,并在接收端通過合路正確恢復出此數據,合路過程要求M路E1信號完全同步,而實際線路中各路之間有不同程度的延遲,這就要求系統(tǒng)具有延時緩沖能力。在此期間利用一個存儲器對數據進行緩沖保存。而為了辨別某一路保存在SRAM中的CRC復幀應該和其它路保存在SRAM中的相應CRC復幀合路,即為了實現復幀同步,就需要對每一個CRC復幀加上標號,也就是加上復幀定位碼。此外,由于HDLC數據是按比特分接在M路E1信道中傳輸的,當M=2,3,4時,那么在接收端就必須按照發(fā)送時分接的順序將M路E1信道中的信息位按比特復接成HDLC數據。所以各路E1都需要一個代表分/復接順序的路標號。為了充分利用E1信道資源 ,利用E1奇幀幀頭后三個備用比特為用戶提供一個12Kbps的同步數據通道,也可以作為低速的異步數據通道,如常用的2400、4800、9600bps的RS-232信號。

  系統(tǒng)設計硬件設計

  系統(tǒng)的硬件部分包括一片FPGA和一塊SRAM,FPGA選用Altera公司Cyclone系列EP1C6。Cyclone系列器件是低價格,中等密度的FPGA,內部有5980個邏輯單元,20個4Kbit的RAM塊和2個內部鎖相環(huán)。

  由于系統(tǒng)允許各路E1信道可以有最大64ms的延時,一個復幀周期為2ms,即最大延遲為32個復幀時間。一個復幀由16個基本幀組成,32個復幀的的比特數為32×256×16=128Kbit,那么各路需要RAM的最大容量為128Kbit。由于最大路數M=4,所以系統(tǒng)所需的RAM最大容量為4×128Kbit= 512Kbit。而EP1C6內部只有80Kbit的RAM,所以選擇使用外接RAM的方法,本系統(tǒng)選用Inbond公司的W24L01,其容量為1024Kbit。

  通過VHDL實現系統(tǒng)功能

  系統(tǒng)采用自頂向下的EDA設計流程,利用VHDL語言編程實現系統(tǒng)功能。

  發(fā)送部分主要由鎖相環(huán)模塊、分路模塊、成幀模塊、CRC校驗模塊和串行擾碼模塊組成。在主時鐘模式下,由本地晶振經有理數分頻產生N×64KHz時鐘和2.048MHz時鐘,N×64KHz時鐘作為HDLC數據的時鐘產生源,N×64Kbps的HDLC先經過串/并轉換,并寫到M個緩存器中,然后用2.048MHz時鐘讀出,并將其插入到E1幀相應的時隙中,組成M路E1信號,并經過CRC-4校驗,最后經過串行擾碼,發(fā)送出去。在從時鐘模式下,N×64KHz時鐘由HDLC提供,2.048MHz時鐘由鎖相環(huán)模塊從N×64Kbps的HDLC中提取。時鐘模式的選擇及M、N的數值都可以在FPGA內部通過VHDL語言編程設定。

  接收部分包括鎖相模塊、幀頭檢測模塊、解擾碼模塊、讀寫RAM模塊以及合路模塊。在接收部分,先用鎖相環(huán)通過輸入的E1信號鎖出2.048MHz的同步時鐘和N×64KHz時鐘,用2.048MHz的時鐘對E1信號進行幀頭檢測,找到幀頭后,系統(tǒng)進入幀同步狀態(tài),然后解擾碼,CRC反校驗,以及提取其它各種控制信息和數據。解擾碼以后的數據經串/并轉換后輸出FPGA,存到片外RAM中。收到控制信息后,FPGA開始從RAM中讀取數據,并在N×64KHz時鐘的控制下進行并/串轉換,去幀頭,最后合成一路N×64Kbps的HDLC輸出信號。

仿真波形圖仿真與測試

 

圖1 仿真波形圖仿真與測試

 


  對整個系統(tǒng)和每個子模塊都進行了功能 仿真和后仿真。功能仿真平臺為ModelSim + 5.5f ,綜合平臺為FPGA Express 3.5,后仿真平臺為Altera Quartus3.0。用邏輯分析儀HP54645D實測波形如圖1所示(取M=4,N=104)。

  結語

  通過對FPGA進行VHDL編程,實現了將速率為N×64Kbps (N=1~124)的HDLC數據按比特分接至M路(M=1~4)E1信道中傳輸,并充分利用E1奇幀的TS0時隙,為用戶提供12Kbps的同步數據傳輸通道,而且允許各路E1有64ms的時延。本文設計的HDLC轉E1傳輸控制器也可以作為其它協議轉換器的一個過渡橋梁。例如可以將10Base-T的以太網信號,先經過以太網轉HDLC協議控制器(如ADMtek公司生產的ADM6993芯片),然后通過HDLC轉E1傳輸控制器,從而實現了Ethernet over TDM的功能。

 

此內容為AET網站原創(chuàng),未經授權禁止轉載。