嵌入式设计应用
1 交换矩阵的硬件结构
这里所指的交换矩阵主要包括链路接口、时钟同步、速率转换、控制系统和交换矩阵单元五个部分。结构图见图1。链路接口采用MITEL公司的MT9075B芯片,负责在线路上接收和发送HDB3或AMI编码的PCM30/32脉冲调制信号,并转换为ST BUS数据流(即PCM30/32调制信号),同时该芯片还负责采集各种同步信号。时钟同步由MITEL公司的MT9041B芯片完成,根据MT9075B采集到的同步信号产生供所有芯片使用的统一的系统时钟。速率转换和控制系统由XINLIX的xc2s100 FPGA芯片完成,负责4个2M数据流和一个8M数据流之间的复用分解,以及链路接口芯片和交换矩阵的初始化和控制。交换矩阵单元由MITEL的MT90820完成。MT90820大型数字交换矩阵芯片拥有2048×2048时隙的无阻塞交换能力,可提供最多16个通道的接收接口和16个通道的发送接口,单通道接口速率最高为8Mb/s,由于PCM30/32的速率为2Mb/s,因此,为了实现速率匹配,必须在MT90820和MT9075B之间使用速率转换电路。
2 器件分析及相关内容
限于篇幅,这里仅简要介绍各个芯片的基本情况,详细使用细节请参考相关文档。
2.1 MT9075B
2.1.1 功能描述
MT9075B是一块集成了高级PCM30/32成帧器和线路接口单元的芯片,线路接口单元提供与外部线路的接口。MT9075B支持最新的ITU-T建议,包括关于PCM30的G.703、G.704、G.706、G.732、G.775、G0796、G.823和关于ISDN基本速率的I.431。同时还支持ETSI的ETS300 011、ETS300 166、ETS300233和BS6450。
2.1.2 线路接口单元
包括一个输入信号峰值检测单元(Input SignalPeak Detector),一个可选的两步式均衡器(Two-Stage Equalizer),一个平滑滤波单元(SmoothingFilter),多个自适应阈值比较单元(AdaptiveThreshold Comparators)以及一个时钟信号提取单元(Clock Extractor)。接收信号的均衡增益(ReceiveEqualization Gain)可以通过软件进行控制,也可以由峰值检测单元自动进行设置。接收均衡器的输出通过平滑滤波单元以后被传送到数据和时钟分割器,后者的输出信号驱动一个锁相环(Phase Locked Loop),从而提取出其中的时钟信号(E2o)。这个时钟信号用来对数据比较单元的输出信号进行采样。
2.1.3 参考时钟
MT9075B的参考时钟既可以是时钟信号也可以外接晶振产生,它们都连接到OSC1和OSC2管脚上。2.1.4 主要管脚功能
在本文中只使用MT9075B的LIU功能,TTIP、TRING、RTIP、RRING管脚与外部线路相连,接收和发送HDB3或AMI编码的PCM30/32信号,DSTi、CSTi、DSTo、CSTo管脚分别是内线侧向外线侧发送和接收的数据接口和控制接口。E2o输出从外部线路 上采集到的2M时钟。2.2 MT90820
2.2.1 功能描述
MT90820大型数字交换矩阵在接口速率为8Mb/s情况下具备2048×2048时隙的无阻塞交换能力。MT90820具有包括消息模式、输入偏移量延迟、高阻抗输出控制等特性,可以对每一个数据流或时隙进行可编程操作。
2.2.2 主要管脚功能
STi0至STi15管脚是接收接口,接收从速率转换电路来的8Mb/s数据流。STo0至STo15管脚是发送接口,将交换过的数据发送到速率转换电路,然后分解成2Mb/s的数据由MT9075B发送到线路上。
2.3 MT9041B
2.3.1 功能描述
MT9041BT1/E1系统同步器包含一个数字锁相环,为T1和E1传输链路提供时钟和同步信号。
2.3.2 主要管脚功能
REF管脚接收由MT9075B芯片采集的2MHz时钟信号,在输出接口电路的各个管脚可以分别输出ST BUS16Mb/s、ST BUS2Mb/s、ST BUS8Mb/s帧脉冲,1.5MHz、3MHz、2MHz、4MHz、8MHz、和16MHz时钟。
2.4 xc2s100
现场可编程门阵列FPGA最早由美国XILINX公司于1985年推出,FPGA的设计可在厂家提供的开发系统中快速有效地完成,生成的设计文件以构造代码的形式存储在FPGA外的存储体中。系统上电时将这些构造代码读入FPGA内由SRAM构成的配置存储器,并由各个配置存储单元控制FPGA中的可编程资源,实现用户的专用设计。这里采用XILINXSpartan2系列器件中的xc2s100。下面着重介绍基于xc2s100和VHDL硬件描述语言的速率转换电路设计。
3 速率转换电路的VHDL语言描述及行为级仿真
下面以2Mb/s到8Mb/s的速率转换为例。MT90820的接口速率为8Mb/s,而MT9075B收发的E1接口信号的速率为2Mb/s,因此,需要将四个MT9075B的数据流复用到一个8Mb/s的数据流上。每个PCM30/32帧包含32个时隙,每个时隙有8bit数据,那么,一个帧包括256bit的数据。在一帧的时间内总的数据量为256×4=1024bit,因此,需要至少1024位的存储器,而为了避免存储器读写操作冲突,规定一帧的写操作完成后才开始读操作,所以,需要两倍即2048位的存储器。为了清楚地理解读写数据的时隙关系,请看图2。
下面给出VHDL硬件描述语言写的源程序,在XILINXISEWebpack 5.01i下调试成功。
-库调用部分(略)
-定义实体
为简明起见,在实际行为级仿真中,将每帧的长度缩短至原来的1/64,即每帧4个bit。图3是用ModelSim XEII5.6a Starter实现的行为级仿真波形。
从图3可以看出,在写时钟clk1和读时钟clk2的分别控制下,四个输入数据流的第n帧在第n+1帧时刻被输出流顺序读出,说明仿真通过。
全部0条评论
快来发表一下你的评论吧 !