|
引言
E1是我國電信傳輸網(wǎng)一次群使用的傳輸標準,由于我國的E1資源十分豐富, 這樣的傳輸路徑非常容易獲得,靈活利用現有豐富的E1信道來(lái)傳輸HDLC數據,可以節約大量傳輸成本。通常,一路HDLC數據僅通過(guò)一路E1信道傳輸,但是如果HDLC數據的速率很大,一路E1信號的帶寬不足以傳輸,那么HDLC數據就要分接到M路E1信道中傳輸,接收端再把M路E1信號合路恢復出HDLC數據,M路E1信號如果傳輸路徑不同,肯定會(huì )導致不同的延遲,本系統設計時(shí),允許各路E1信號的最大延遲為64ms。
系統E1幀結構設計
本系統中的E1碼流的幀結構可以參照CCITT G.732、G.704或G.706建議給出的PCM基群30/32路系統幀結構得到,但又有所不同。
信息位的組成
本系統所要傳輸的凈負荷(信息位)是N×64Kbps的HDLC數據,標準E1中的TS16信令時(shí)隙與TS1~TS15及TS17~TS31共31個(gè)時(shí)隙可以傳送凈負荷。所以,N和M滿(mǎn)足關(guān)系式N≤31×M。對于最大情況,即N=124,M=4時(shí),凈負荷占用31個(gè)時(shí)隙。當N<124,以至不能填滿(mǎn)所有31個(gè)時(shí)隙,則固定填入無(wú)效位‘1’。
TS0時(shí)隙的設計
考慮到系統要能實(shí)現將一路N×64Kbps的HDLC數據按比特分接在M路E1信道中獨立傳輸,并在接收端通過(guò)合路正確恢復出此數據,合路過(guò)程要求M路E1信號完全同步,而實(shí)際線(xiàn)路中各路之間有不同程度的延遲,這就要求系統具有延時(shí)緩沖能力。在此期間利用一個(gè)存儲器對數據進(jìn)行緩沖保存。而為了辨別某一路保存在SRAM中的CRC復幀應該和其它路保存在SRAM中的相應CRC復幀合路,即為了實(shí)現復幀同步,就需要對每一個(gè)CRC復幀加上標號,也就是加上復幀定位碼。此外,由于HDLC數據是按比特分接在M路E1信道中傳輸的,當M=2,3,4時(shí),那么在接收端就必須按照發(fā)送時(shí)分接的順序將M路E1信道中的信息位按比特復接成HDLC數據。所以各路E1都需要一個(gè)代表分/復接順序的路標號。為了充分利用E1信道資源 ,利用E1奇幀幀頭后三個(gè)備用比特為用戶(hù)提供一個(gè)12Kbps的同步數據通道,也可以作為低速的異步數據通道,如常用的2400、4800、9600bps的RS-232信號。
系統設計硬件設計
系統的硬件部分包括一片FPGA和一塊SRAM,FPGA選用Altera公司Cyclone系列EP1C6。Cyclone系列器件是低價(jià)格,中等密度的FPGA,內部有5980個(gè)邏輯單元,20個(gè)4Kbit的RAM塊和2個(gè)內部鎖相環(huán)。
由于系統允許各路E1信道可以有最大64ms的延時(shí),一個(gè)復幀周期為2ms,即最大延遲為32個(gè)復幀時(shí)間。一個(gè)復幀由16個(gè)基本幀組成,32個(gè)復幀的的比特數為32×256×16=128Kbit,那么各路需要RAM的最大容量為128Kbit。由于最大路數M=4,所以系統所需的RAM最大容量為4×128Kbit= 512Kbit。而EP1C6內部只有80Kbit的RAM,所以選擇使用外接RAM的方法,本系統選用Inbond公司的W24L01,其容量為1024Kbit。
通過(guò)VHDL實(shí)現系統功能
系統采用自頂向下的EDA設計流程,利用VHDL語(yǔ)言編程實(shí)現系統功能。
發(fā)送部分主要由鎖相環(huán)模塊、分路模塊、成幀模塊、CRC校驗模塊和串行擾碼模塊組成。在主時(shí)鐘模式下,由本地晶振經(jīng)有理數分頻產(chǎn)生N×64KHz時(shí)鐘和2.048MHz時(shí)鐘,N×64KHz時(shí)鐘作為HDLC數據的時(shí)鐘產(chǎn)生源,N×64Kbps的HDLC先經(jīng)過(guò)串/并轉換,并寫(xiě)到M個(gè)緩存器中,然后用2.048MHz時(shí)鐘讀出,并將其插入到E1幀相應的時(shí)隙中,組成M路E1信號,并經(jīng)過(guò)CRC-4校驗,最后經(jīng)過(guò)串行擾碼,發(fā)送出去。在從時(shí)鐘模式下,N×64KHz時(shí)鐘由HDLC提供,2.048MHz時(shí)鐘由鎖相環(huán)模塊從N×64Kbps的HDLC中提取。時(shí)鐘模式的選擇及M、N的數值都可以在FPGA內部通過(guò)VHDL語(yǔ)言編程設定。
接收部分包括鎖相模塊、幀頭檢測模塊、解擾碼模塊、讀寫(xiě)RAM模塊以及合路模塊。在接收部分,先用鎖相環(huán)通過(guò)輸入的E1信號鎖出2.048MHz的同步時(shí)鐘和N×64KHz時(shí)鐘,用2.048MHz的時(shí)鐘對E1信號進(jìn)行幀頭檢測,找到幀頭后,系統進(jìn)入幀同步狀態(tài),然后解擾碼,CRC反校驗,以及提取其它各種控制信息和數據。解擾碼以后的數據經(jīng)串/并轉換后輸出FPGA,存到片外RAM中。收到控制信息后,FPGA開(kāi)始從RAM中讀取數據,并在N×64KHz時(shí)鐘的控制下進(jìn)行并/串轉換,去幀頭,最后合成一路N×64Kbps的HDLC輸出信號。
對整個(gè)系統和每個(gè)子模塊都進(jìn)行了功能仿真和后仿真。功能仿真平臺為ModelSim + 5.5f ,綜合平臺為FPGA Express 3.5,后仿真平臺為Altera Quartus3.0。用邏輯分析儀HP54645D實(shí)測波形如圖1所示(取M=4,N=104)。
結語(yǔ)
通過(guò)對FPGA進(jìn)行VHDL編程,實(shí)現了將速率為N×64Kbps (N=1~124)的HDLC數據按比特分接至M路(M=1~4)E1信道中傳輸,并充分利用E1奇幀的TS0時(shí)隙,為用戶(hù)提供12Kbps的同步數據傳輸通道,而且允許各路E1有64ms的時(shí)延。本文設計的HDLC轉E1傳輸控制器也可以作為其它協(xié)議轉換器的一個(gè)過(guò)渡橋梁。例如可以將10Base-T的以太網(wǎng)信號,先經(jīng)過(guò)以太網(wǎng)轉HDLC協(xié)議控制器(如ADMtek公司生產(chǎn)的ADM6993芯片),然后通過(guò)HDLC轉E1傳輸控制器,從而實(shí)現了Ethernet over TDM的功能。 |
|