1 引言 在ADSL系統中,由DSLAM(數字用戶接入復用器)完成ATM的終結和路由。該模型分為4層,自上而下分為高層、從AAL層、ATM層和物理層。這里高層是指RFCl483及其以上各層,AAL層(ATM適配層)又分為拆分與組裝子層(SAR)和匯聚子層(CS)兩個子層,ATM層主要完成信元復用、解復用、有關信元頭的操作以及流控等功能,物理層的主要任務是物理線路編碼和信息傳輸。UTOPIA接口(ATM的通用測試和操作物理接口)位于ATM層和物理層之間,規范ATM層和物理層之問的信號電平和時序定義;作為一種標準的高速接口,UTOPIA接口是連接物理層和ATM層的紐帶,共分為LEVELl、2、3、4四級,每一級都是在前一級的基礎上加強了某些功能,使得這四級分別應用于芯片級、板級、設備級和系統級連接。 目前,在國內外的應用系統中,ATM功能和UTOPIA接口都由一些技術成熟的專用通信處理芯片來完成,如Motorola公司MPC866系列處理器等,成本較高,功能固定,靈活性較差;國外一些FPGA芯片設計廠商,如美國的Ahera公司逐漸設計出了一些這方面的megafunctions(兆功能函數庫),支持在一些新型號的FPGA芯片應用,但是不像Ahera提供的一些常用函數庫,這些專用函數庫是要付費的。 本課題來源于學校和公司合作課題,采用Altera公司Cyclom系列FPGA來實現ATM層UTOPIA LEVEL2主接口,與物理層UTOPIA從接口連接。FPGA較高的性價比、開發周期短和功能靈活等優勢使本課題的實現具有較大的實際意義。 2 UTOPIA LEVEL2接口功能和時序分析 2.1接口功能描述 UTOPIA接口是連接ATM層和物理層的接口,允許物理層以不同的速度在不同的媒質上進行數據傳輸,它包括收發數據端口、控制信號和地址信號。UTOPIA LEVELI和LEVEL2主要在地址信號的定義上有所不同,其中LEVELl未定義地址信號,主要針對Single-PHY的情況,最大工作頻率25MHz,支持物理層傳輸速率達到155Mbps,能夠很好地支持OC-1、OC-3等同步數字網的典型傳輸速率;LEVEL2針對Multi-PHY的情況,比LEVELI多了兩組地址信號,最多支持31個PHY端口(地址0-30,地址3l起端口分隔作用),最大工作頻率50MHz,支持物理層傳輸速率達到622Mbps,能夠很好地支持OC-12、OC-12c等同步數字網的典型傳輸速率。 ATM論壇UTOPIA LEVEL2接口規范的ATM層和物理層連接參考結構如圖1。本課題采用的是B類連接結構,即1個AIM層連接多個物理層端口。 ![]() 圖1連接參考結構圖 2.2接口時序分析 UTOPIA LEVEL2接口分為發送(TX)和接收(RX)兩兩組接口,參考點為ATM層,其中TX的方向為ATM層到物理層.RX方向為物理層到ATM層。接口支持兩種傳輸方式。第一種是字節級握手傳輸方式,它是以字節為基本單位進行傳輸的,控制信號是以字節和ATM信元為基礎的;第二種是信元級握手傳輸方式,它是以信元為基礎的。本設計當中采用了只有1個TxClav信號和1個RxClav信號的接13方式和基于信元級的握手傳輸方式,8位數據總線寬度。 2.2.1發送接口時序 UTOPIA LEVEL2發送接口包括如下信號: TxData(7.0)字節寬度的數據信號,由ATM層傳送到物理層。 Txsoc:信元起始信號,當TxData上出現信元的第一個有效字節時,由ATM層把TxSoc置為高電平。 TxEnb*:傳輸使能信號,TxData上包含有效信元數據時,由ATM層把TxEnb*置為低電平。 TxFull*/TxClav:滿/信元可用信號,對于字節級流控制,TxFull*是物理層發向ATM層的低電平信號,表明物理層最多還能接納4個字節。對于信元級流控制,TxCIav由物理層發向ATM層,置高表示物理層可以接收一個完整的信元。 TxClk:時鐘信號,ATM層發向物理層的數據傳輸侗步時鐘。 TxAddr[4..0]:地址信號,是ATM層發向MPHY層的5位信號,用以選擇MPHY端口。 另外還有兩個可選信號:TxPrty用于奇偶校驗,TxRef*為同步設置。 這些信號必須滿足如圖2所示的時序關系,才能正確實現發送接口功能。 ![]() 圖2信元級發送接口時序圖 如圖2,N-3、N-2、N-1、N、N+1、N+2、N+3為已配置的物理層端口地址,ATM層通過TxAddr[4..0]發出地址輪詢信號:N-3,1F,N-2.1F,N-1,1F,N,1F,⋯,如果某一個端口的物理地址在被輪詢到時,恰好有空閑的接收緩存,則向ATM層發出一個有效的TxClav信號;如果此時ATM層有信元要發送,將有效的端13地址送上地址線TxAddr[4..0],在下一個周期置TxEnb信號有效,同時發出TxSoc信號,表示信元開始發送,在TxData[7..0]上發送信元數據。在發送信元過程中,繼續輪詢物理層端口,但對當前正在發送的端口在數據P44之前檢測到的Txclav信號無效。 2.2.2接收接口時序 UTOPIA LEVEL2接收接口包括如下信號: RxData[7..0]:字節寬度的數據信號,由物理層傳到ATM層。 RxSoc:信元起始信號,表示信元的第一個數據已經出現。 RxEnb*:傳輸使能信號,RxData上包含有效數據時,由AIM層把TxErib*置為低電平。 RxEmpry*/RxClav:空/信元可用信號,對于字節級流控制,RxEmpty*是物理層發向ATM層的低電平信號,表明物理層已經沒有有效數據發送。對于信元級流控制,RxClav由物理層發向ATM層.置高表示物理層有—個完整吲高元傳輸給A1’M層。 RxClk:時鐘信號,ATM層發向物理層的數據傳輸侗步時鐘。 RxAddr[4..0]:地址信號,是ATM層發向MPHY層的5位信號,用以選擇MPHY端口。 另外還有兩個可選信號:RxPrty用于奇偶校驗,RxRef*為同步設置。 這些信號必須滿足如圖3所示的時序關系,才能正確實現接收接口功能。 ![]() 圖3信元級接收接口時序圖 如圖3,ATM層通過RxAddr[4..0]發出地址輪詢信號:N-3,1F,N-2,1F,N-1,lF,N,lF,⋯,當被輪詢的物理層端口有信元要發時,向ATM層發出一個有效的RxClav信號;如果此時ATM層有空閑的緩存時,將有效的端口地址送上地址線RxAddr[4..0],并置RxEnb信號為有效,在此有效期間,物理層有效端口發出RxSoc信號表示信元開始發送,信元數據開始在RxData[7..0]數據線上傳輸。在接收信元過程中,繼續輪詢其他物理層端口,RxClav在本端口接收過程中不被輪詢,因為RxClav一直有效至當前信元接收結束。 3 UTOPIA LEVEL2接口的FPGA實現 在以上對UTOPIA LEVEL2接口信號的功能描述和時序分析的基礎上,本設計采用FPGA通過VHDL編程來實現,開發平臺為Altera公司的Quartus II 5.1。 3.1發送模塊設計 首先利用Altera公司megafunctions生成一個發送FIFO,緩存ATM層需要發送的信元;然后用VHDL編程設計發送控制模塊,通過地址信號輪詢PHY層狀態,根據ATM層的UTOPIA控制信號、物理層的控制信號以及發送FTF0的狀態信號,控制信元一個一個地從ATM層發送到物理層,該模塊仿真時序如圖4,符合圖2的時序要求。最后將仿真通過的控制邏輯模塊工程生成符號文件和發送FIFO對接起來,完成發送模塊的設計。 ![]() 圖4發送模塊仿真時序 3.2接收模塊設計 首先利用Altera公司megafunctiotts生成一個接收FIFO,緩存從PHY層接收來的信元;然后用VHDL編程設計接收控制模塊,通過地址信號輪詢PHY層狀態,根據ATM層的UTOPIA控制信號、物理層的控制信號以及接收FIFO的狀態信號,控制信元一個一個地從物理層傳送到ATM的FIFO中,該模塊仿真時序如圖6,符合圖3的時序要求。最后將仿真通過的控制邏輯模塊工程生成符號文件和接收FIFO對接起來,完成接收模塊的設計 4 結論 本文作者創新點在于通過詳細分析ATM層和物理層之間UTOPIA LEVEL2接口時序后,采用FPGA實現了該接口的發送和接收模塊,具有開發周期短、靈活性好、性價比高等優點。設計好的FPGA芯片在實際的硬件平臺與物理層設備對接測試中,數據收發正確,工作穩定,證明FPGA實現的UTOPIA LEVEL2接口是正確的,為替代專用的通信處理芯片邁出了成功的一步。 作者:謝永安 來源:《微計算機信息》(嵌入式與soc)2009年第25卷第1-2期 |