如何设计与实现基于mt9075数字中继接口?-皇冠最新app版本

×
嵌入式 > 嵌入式开发 > 详情

如何设计与实现基于mt9075数字中继接口?

发布时间:2024-08-16 发布时间:
|
  • 标签:

由于数字技术和计算机技术的发展,传统的模拟交换机已经被程控数字交换机所取代,数字中继接口是数字交换机中不可或缺的部分。本文就是利用mitel公司生产的mt9075芯片来实现数字中继接口的功能。

1、mt9075芯片简介[1]

mt9075是mitel公司推出的一个可以产生并处理pcm30信号的器件,不仅合并了pcm30成帧器、线性接口部件(uu)和链路控制器,还具有时钟同步、中断控制、同步处理与差错保护、cas信令、ccs信令处理、信号回送等功能。通过mt9075提供的并行微处理器接口,主cpu可对其状态字进行读写控制和中断接收处理,从而方便地实现对线路信令的控制和处理。用mt9075来实现数字中继接口既可以减轻cpu的负担,又可以简化系统硬件和软件的设计。

2、硬件电路设计

本文采用arm芯片s3c44b0作为主控cpu,来完成对整个系统的控制;用mt8980作为数字交换网络部分的核心器件;用mt9075作为数字中继接口的核心器件。图1为数字中继接口的具体电路。电路设计是根据芯片要求设计必要的外围电路,mt9075有3个主要端口:

1)线路接口,传输的码流是2.048mbit/s的双极性hdb3码,具有pcm30/32系统的帧结构,用于连接pcm30/32基群线路。[2]通过外接发送和接收两变压器与外部中继线相连,其中,tx1、tx2为线路发送端,经一阻抗匹配电路连接一个1:2的发送变压器;rx1、rx2为线路接收端,经一阻抗匹配电路连接一个1:1的接收变压器。

2)st—bus接口,传输的码流是2.048mbit/s的单极性码,码流具有pcm30/32系统的帧结构,其中dsti连接数字交换芯片mt8980的输出通道sto,dsto连接mt8980的输入通道sti。

3)处理机接口,a0~a5,do~d7,cs,r/w等。mt9075与处理机的接口可采用两种接法:int或mot,这里采用int接法。mt9075的地址线a0~a4、do~d7直接与s3c44b0的相应的地址线和数据线相连,作为s3c44b0的一个外部扩展器件占用一定的地址空间。s3c44b0通过片选信号ngcs5和/rd、/wr读写信号对mt9075进行控制。[3]

此外,mt9075可以自动监控各种同步状态,比如位同步、基本帧同步、crc-4多帧同步、远程多帧同步。无论这几种同步中的任何一个出现丢失的情况,均无法完成正常通信,为使通信稳定,本文中mt9075的20mhz定时信号以及系统时钟c4b(4.096mhz)和基本帧同步信号fob(8khz)由高稳频时钟产生器直接给出,mt9075能够利用内部的数字锁相环从这些信号中自动分频产生64khz的内部时钟和2.048mhz的位同步时钟e2o。


图1mt9075电路图

3、软件部分设计

软件分别从对mt9075的读写控制、初始化处理以及数字中继处理程序三方面进行介绍。mt9075分配的地址是s3c44b0的ngcs5下的一部分地址,其基地址为0a000000,定义如下:

#definemt9075_page(*(volatileunsignedchar*)0x0a000000)

其页类的控制字的地址分别为0a000010~0a00001f,如page01h下multiframe、nationalbitbufferanddatalinkselectionword和modeselectioncontrolword地址分别为0a000010和0a000011,定义如下:

#definemt9075_addr0(*(volatileunsignedchar*)0x0a000010)

#definemt9075_addr1(*(volatileunsignedchar*)0x0a000011)

3.1对mt9075的读写控制

对mt9075的读写控制主要分为2个步骤:第一步选择要读写的控制字页号,第二步对该页内的控制字进行读写控制操作。如对mt9075进行软复位,代码如下所示:

mt9075_page=0x01;//选择page01h(mastercontrol1)

mt9075_addr1=0x20;//对page01h下的控制字modeselectioncontrolword(11h)//进行写操作设置mt9075软件复位,写入控制字0x20

3.2对mt9075的初始化处理

在系统上电的时候需要对mt9075进行初始化处理,包括mt9075软件复位、中断处理、cas模式选择、阻抗工作方式设置、ja模式设置、dsto输出使能、传输信号设置等方面。

为使代码简洁,用一个函数代替了上面对mt9075读写控制的两个步骤,函数如下:

control_9075(pageno,regaddr,wdata)

{mt9075_page=pageno;

regaddr=wdata;}

对mt9075的初始化代码如下:

control_9075(0x01,mt9075_addr1,0x20);

control_9075(0x01,mt9075_addr11,0xff);

control_9075(0x01,mt9075_addr10,0xc8);

control_9075(0x01,mt9075_addr1,0x82);

control_9075(0x01,mt9075_addr15,0x02);

control_9075(0x02,mt9075_addr8,0);

control_9075(0x02,mt9075_addr3,0x04);

control_9075(0x01,mt9075_addr10,0x8c);

control_9075(0x01,mt9075_addr2,0x9f);

control_9075(0x05,mt9075_addr1,0xff);

control_9075(0x05,mt9075_addr2,0xff);

............

control_9075(0x05,mt9075_addr15,0xff);

当cpu需要发送话路的线路信令时,可以通过对page05h(transmitchannelassociatedsignallingpage)的相关寄存器进行操作。在初始化的最后是对page05h中的控制字进行操作,向mt9075_addr1到mt9075_addr15中写入ff,使得输出通道dsto在上电后输出为高电平,在上面省略了向mt9075_addr3到mt9075_addr14中写ff几行代码。

3.3数字中继处理程序

在实现过程中,信令部分是自己设计的一个简单协议,不是标准的e1信令。信令在dsto和dsti的第16时隙中传输,同步信令在第0时隙中传输,主叫方的信令通过接口线传输到达被叫中继,存入被叫方mt9075的寄存器中,被叫方cpu通过读取寄存器中的信令内容来执行相应的操作,被叫方信令到达主叫方和这个过程相反。图2为一用户通过数字中继呼叫另一用户的示意图。此图假定被叫方不忙,若此过程中任一时刻被叫方忙,则发送被叫忙的信息给主叫方,让主叫方关闭已开通道等待下次呼叫。图3为数字中继处理程序的基本流程图。



『本文转载自网络,皇冠最新app版本的版权归原作者所有,如有侵权请联系删除』

热门文章 更多
74ls164功能及工作原理
网站地图