《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 多路接口與E1協議轉換器設計與實現
多路接口與E1協議轉換器設計與實現
余發(fā)洪,劉 皖,王占峰 解放軍信息工程大學
摘要: 針對通信帶寬越來越高,低速設備無法連接到高速的E1線路的問題,提出了一種基于可編程邏輯器件FPGA、嵌入式微處理器MPC875的多路接口與E1協議轉換器的設計,給出了硬件原理框圖及主要元器件的選型,并對多路接口數據調度方法、空時隙處理策略、FPGA結構設計、軟件設計流程進行了詳細說明。通過實現RS 232,RS 449,V.35三路接口與E1的協議轉換,證明該方案是可行的。
Abstract:
Key words :

0 引言
    隨著計算機技術與通信技術的持續(xù)發(fā)展,人們對高帶寬需求不斷增加,接入DDN(Digital Data Network)網、幀中繼網等高速通信網的應用也越來越普遍。E1是我國電信傳輸網一次群使用的傳輸標準,速率是2.048 Mb/s。實現多路接口與E1協議的相互轉換,將可以把多種設備同時連接至高速的E1線路。本文基于FPGA(Field Programmable Gate Array)、嵌入式微處理器設計了一個多路接口與E1的協議轉換器,實現RS 232,RS 449,V.35等接口數據在E1線路上的高速傳輸。

1 系統(tǒng)原理
1.1 系統(tǒng)描述
    多路接口與E1協議轉換示意圖如圖1所示。在發(fā)送端,將多路接口數據按照一定順序合并成一路符合E1協議的數據在E1信道上進行傳輸,在接收端,將接收到的E1信號再按發(fā)送端順序分成多路接口數據。

a.jpg


1.2 多路接口數據映射到E1幀的方法
    E1是一種典型的時分復用結構,一個E1時分復用幀劃分為32個相等的時隙,編號為CH0~CH31,其中時隙CH0用作幀同步用,時隙CH16用來傳送信令。其余的時隙用來傳送有效數據。
    通過將不同的接口數據插入不同的數據時隙,把多路接口數據編成一個E1數據幀,實現多路接口與E1的協議轉換。
    將多路接口數據映射到E1時隙中,需要根據每路接口的速率進行時隙分配,也就是將E1的一個或多個時隙分配給一路接口使用,分配的時隙速率不小于接口速率(每個時隙的速率相當于64 Kb/s),DTE(Data Terminal Equipment)與DCE(Data Communications Equipment)設備端時隙分配設置必須一致。由于協議轉換器沒有自適應接口速率的功能,因此時隙的分配通過一個軟件界面由使用者完成。
    為了實現對時隙的分配,設置30個4位的時隙分配寄存器。CPU根據使用者的時隙分配設置,生成30個數據時隙地址并寫入對應時隙分配寄存器。數據時隙地址表示的是該數據時隙傳送的是哪個接口的數據。在發(fā)送端,根據該地址從相應接口讀取數據插入對應時隙;在接收端,根據該地址將相應時隙數據送往對應接口。表1為數據時隙地址與接口對應關系表,空閑表示該時隙空置沒有使用。

b.jpg


    系統(tǒng)將E1時隙分配給多路接口使用,當有時隙沒有被分配時,就會產生空時隙。在本設計中,系統(tǒng)可支配的最小單位是E1時隙,也就是說,系統(tǒng)可以將一個數據時隙分配給一路接口使用,也可以將多個數據時隙分配給一路接口使用,當一路接口數據不能完全填滿一個或多個時隙時,將會產生半空時隙。比如一個100 Kb/s的接口,占用兩個時隙,將會產生28 Kb/s的空時隙。
    對于沒有使用的空閑時隙,系統(tǒng)可以根據時隙分配寄存器的值識別空閑時隙。在發(fā)送端,默認發(fā)送全“1”數據,在接收端,拋棄該無用數據;對于一路接口數據不能完全填滿一個或多個數據時隙產生的半空時隙,采取循環(huán)發(fā)空包的方法來填充半空時隙,空包格式固定為“000 01111”。在接收端,檢測到這樣的空包數據,丟棄不用。
    下面主要實現V.35,RS 449,RS 232三路接口與E1協議轉換的設計。通過三路接口與E1協議轉換的實現,驗證多路接口同時與E1協議轉換的可行性。

1.3 系統(tǒng)硬件原理框圖與模塊功能描述
    系統(tǒng)硬件原理框圖如圖2所示,主要由接口芯片、FPGA、CPLD、微處理器構成。

c.jpg


    LTC1546/LTC1544:多功能接口芯片LTC1546,LTC1544,二者結合,構成全功能的多協議接口界面,支持RS232,RS449,EIA530,EIA-530-A,V.35,V.36,X.21協議,協議的選擇可完全由軟件進行。
    MPC875:飛思卡爾MPC875嵌入式CPU,基于POWERPC架構,主頻高達133 MHz,8 KB指令cache,8 KB數據cache,總線頻率最高可達80 MHz。
    EP3C25F324C8:Altera公司的CycloneⅢ系列FPGA,性價比高,資源豐富。
    EPM7256 AETCl44-7:A1tera公司MAX7000AE系列CPLD,支持多種接口電平。由于LTC1546,LTC1544接口電平為5 V,FPGA不支持這樣的接口電壓,這里使用CPLD作接口電路。
    XRT82D20:RXAR公司的E1線路接口芯片,支持單路E1,具有HDB3編碼、時鐘恢復、線路驅動等功能,75 Ω或者120 Ω阻抗匹配。
    keyboard:4×4鍵盤,用來接收時隙分配設置輸入。
    LED:LED指示燈,共30個,用來指示30個數據時隙的使用情況:當LED燈點亮時,表示該時隙已經使用;LED燈不亮,表示該時隙為空閑。

2 關鍵模塊設計
2.1 與CPU通信FPGA端硬件電路設計
    當FPGA與CPU通信時,由于CPU總線特殊的時序關系,FPGA端須做相應的處理才能保證讀寫數據的穩(wěn)定性。圖3為MPC875讀數據總線時序圖。其中:d.jpg為片選信號,e.jpg為讀信號,A[0:31]為地址信號,D[0:31]為數據信號。圖4為MPC875寫數據總線時序圖,f.jpg為寫信號,其余信號與讀總線相同。

g.jpg

    當CPU讀取FPGA中數據時,先給出地址信號,然后使能片選d.jpg、讀信號e.jpg,這時如果數據總線上有數據,CPU讀入數據。但MPC875總線頻率高達80 MHz,為了CPU能穩(wěn)定的讀取到數據,這里將片選信號與讀信號相“與”,然后擴寬3倍得到總線可用信號,在總線可用信號有效期間,數據總線上總有數據,這樣,可以保證CPU能穩(wěn)定的讀到數據。
    當CPU寫入數據時,CPU先給出地址信號,然后給出片選及寫信號,在寫信號有效期間,CPU穩(wěn)定的給出數據。因此,在片選及寫信號有效時,鎖存數據總線上的數據即可。
2.2 CPLD硬件接口電路設計
    CPLD主要完成V.35,RS 449,RS 232數據收發(fā);keyboard,LED控制;FIFO讀寫等功能。功能框圖如圖5所示。

i.jpg


    CPU通過CPLD對接口芯片進行模式選擇。V.35,RS 449為同步平衡接口,常用接口速率為N×64 Kb/s(N=1~32)。時鐘、數據信號為兩線平衡傳輸,控制信號為不平衡傳輸。發(fā)送數據時,將與之對應的時鐘一并輸出。在接收數據時,用接口時鐘采樣數據。
     RS 232為不平衡傳輸。幀格式固定為:1位開始位、8位數據位、結束位。結束位有三種:1位、1.5位、2位。開始位固定為“0”,停止位固定為“1”。通信雙方在開始通信前必須約定好串行傳輸的參數(傳輸速度、幀格式)。在發(fā)送端,首先通過分頻產生需要的串行波特率,然后按照幀格式以約定好的速率發(fā)送。在接收端,使用8倍于波特率的時鐘對接收到的信號進行過采樣,經過濾波后如果為低電平信號,即認為是開始位,然后按照約定好的速率接收數據。
    在接收數據時,FIFO讀寫模塊將串行接收數據變成8位并行,同時,將與接收數據同步的時鐘8分頻,用此時鐘將8位并行數據寫入與該接口對應的FIFO;在發(fā)送數據時,將發(fā)送時鐘8分頻,用此時鐘從與該接口對應的FIFO讀取數據,同時將8位并行數據串行輸出。
    keyboard為4×4掃描式矩陣鍵盤,具有16個鍵。由硬件程序自動掃描鍵盤,輸入數據觸發(fā)中斷,CPU讀取數據。LED輸出由CPU寫入相應的顯示寄存器,然后硬件程序將相關信號輸出點亮LED。

2.3 FPGA硬件電路設計
    FPGA主要根據時隙的分配設置,在時鐘系統(tǒng)的管理控制下,完成E1的編解幀功能。功能框圖如圖6所示。

j.jpg


    CPU根據設置向時隙分配寄存器寫入相應的數據。在發(fā)送數據時,E1編解幀模塊根據時隙分配設置,從相應的FIFO讀取數據,寫入該時隙。對于沒有使用的空時隙,按照空時隙處理辦法填入無效數據。發(fā)送時鐘為FPGA外接的2.048 MHz時鐘。由于XRT82D20為數據差分輸入,因此將編解幀模塊輸出的數據TPOS進行反向得到TNEG,平衡輸出。TCLK為發(fā)送時鐘。
    在接收時,XRT82D20數據差分輸入RPOS,RNEG,將兩個信號相減得到輸入數據信號,RCLK為時鐘輸入。在輸入時鐘的控制下,E1編解幀模塊將數據解幀。同時,根據時隙分配設置,將各個時隙的數據送入不同的接口FIFO。

3 軟件主程序流程圖
    MPC875主要完成接口芯片初始化設置、時隙分配設置輸入、狀態(tài)顯示等功能。軟件主程序流程圖如圖7所示。


    上電以后,CPU進行初始化設置。延遲1 ms進行內存地址分配:每個自定義寄存器及I/O均分配一個內存地址,CPU操作時讀寫相應地址即可;接著進行LTC1546/LTC1544模式選擇,將三組接口分別配置為V.35,RS 449,RS 232;然后查詢時隙分配設置輸入,如果已經輸入時隙分配設置,則讀取時隙設置數據,否則,等待時隙設置輸入;協議轉換器初始化設置完畢,每隔100 ms進行一次線路運行狀態(tài)告警顯示。

4 協議轉換器測試
4.1 測試平臺搭建
    測試平臺由JDSU ANT-5 SDH接入測試儀,協議轉換器,示意圖如圖8所示。JDSU ANT-5手持型SDH/PDH傳輸分析儀,內置所有必要的接口:從T1Bantam、E1平衡與E1非平衡,到STM-16/OC48光接口;測試速率從1.544 Mb/s~2.5 Gb/s;大屏幕、簡單圖形化界面、中文菜單,易于使用。

l.jpg


    首先進行時隙分配設置,將1到15時隙分配給V.35接口,17到30時隙分配給RS 449接口,31時隙分配給RS 232接口。由JDSU ANT-5 SDH接入測試儀發(fā)出的2 MHz信號,進入協議轉換器,然后分別將V.35,RS 449,RS 232接口環(huán)回,再將輸出的E1信號接入測試儀,在測試儀中測試環(huán)回信號的各種特性。
4.2 測試結果
    依照上述測試平臺進行協議轉換器功能測試,測試結果顯示,誤碼率為0,說明協議轉換器功能正常。JDSU ANT-5 SDH接入測試儀測試截圖如圖9所示。其中BER為誤碼率。

m.jpg



5 結語
    本文提出了一種多路接口與E1的協議轉換設計方法,并具體介紹了時隙分配及調度、空時隙處理等技術難點。通過實現V.35,RS449,RS 232三路接口與E1的協議轉換,證明該方案是可行的。另外,本設計具有良好的擴展性,可以方便的根據具體應用添加或去除接口,也可以在本設計的基礎上進行二次開發(fā),完成更多的功能。

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