|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
<strong>1 引言</strong>
在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较高的性价比、开发周期短和功能灵活等优势使本课题的实现具有较大的实际意义。
<strong>2 UTOPIA LEVEL2接口功能和时序分析</strong>
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层连接多个物理层端口。
<ignore_js_op>
2010-3-24 11:25:17 上传
<strong>下载附件</strong> (5.47 KB)
</ignore_js_op>
图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所示的时序关系,才能正确实现发送接口功能。
<ignore_js_op>
2010-3-24 11:25:17 上传
<strong>下载附件</strong> (8.8 KB)
</ignore_js_op>
图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所示的时序关系,才能正确实现接收接口功能。
<ignore_js_op>
2010-3-24 11:25:14 上传
<strong>下载附件</strong> (9.15 KB)
</ignore_js_op>
图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一直有效至当前信元接收结束。
<strong>3 UTOPIA LEVEL2接口的FPGA实现</strong>
在以上对UTOPIA LEVEL2接口信号的功能描述和时序分析的基础上,本设计采用FPGA通过VHDL编程来实现,开发平台为Altera公司的Quartus II 5.1。
3.1发送模块设计
首先利用Altera公司megafunctions生成一个发送FIFO,缓存ATM层需要发送的信元;然后用VHDL编程设计发送控制模块,通过地址信号轮询PHY层状态,根据ATM层的UTOPIA控制信号、物理层的控制信号以及发送FTF0的状态信号,控制信元一个一个地从ATM层发送到物理层,该模块仿真时序如图4,符合图2的时序要求。最后将仿真通过的控制逻辑模块工程生成符号文件和发送FIFO对接起来,完成发送模块的设计。
<ignore_js_op>
2010-3-24 11:25:14 上传
<strong>下载附件</strong> (7.64 KB)
</ignore_js_op>
图4发送模块仿真时序
3.2接收模块设计
首先利用Altera公司megafunctiotts生成一个接收FIFO,缓存从PHY层接收来的信元;然后用VHDL编程设计接收控制模块,通过地址信号轮询PHY层状态,根据ATM层的UTOPIA控制信号、物理层的控制信号以及接收FIFO的状态信号,控制信元一个一个地从物理层传送到ATM的FIFO中,该模块仿真时序如图6,符合图3的时序要求。最后将仿真通过的控制逻辑模块工程生成符号文件和接收FIFO对接起来,完成接收模块的设计
<strong>4 结论</strong>
本文作者创新点在于通过详细分析ATM层和物理层之间UTOPIA LEVEL2接口时序后,采用FPGA实现了该接口的发送和接收模块,具有开发周期短、灵活性好、性价比高等优点。设计好的FPGA芯片在实际的硬件平台与物理层设备对接测试中,数据收发正确,工作稳定,证明FPGA实现的UTOPIA LEVEL2接口是正确的,为替代专用的通信处理芯片迈出了成功的一步。
作者:谢永安 来源:《微计算机信息》(嵌入式与soc)2009年第25卷第1-2期 |
|