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