因为数字技能和计算机技能的开展,传统的模仿交流机现已被程控数字交流机所替代,数字中继接口是数字交流机中不可或缺的部分。本文便是使用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.048M bit/s的双极性HDB3码,具有PCM30/32体系的帧结构,用于衔接PCM30/32基群线路。[2] 经过外接发送和接纳两变压器与外部中继线相连,其间,TX1、TX2为线路发送端,经一阻抗匹配电路衔接一个1:2的发送变压器;RX1、RX2为线路接纳端,经一阻抗匹配电路衔接一个1:1的接纳变压器。
2)ST—BUS接口,传输的码流是2.048M bit/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.096 MHz)和根本帧同步信号Fob(8kHz)由高稳频时钟发生器直接给出,MT9075能够使用内部的数字锁相环从这些信号中主动分频发生64 kHz的内部时钟和2.048 MHz的位同步时钟E2o。

图1 MT9075 电路图
3、软件部分规划
软件分别从对MT9075的读写操控、初始化处理以及数字中继处理程序三方面进行介绍。MT9075分配的地址是S3C44B0的NGCS5下的一部分地址,其基地址为0a000000,界说如下:
#define MT9075_Page (*(volatile unsigned char *) 0x0a000000)
其页类的操控字的地址分别为0a000010~0a00001f,如Page 01H下Multiframe、National Bit Buffer and Data Link Selection Word 和Mode Selection Control Word地址分别为0a000010和0a000011,界说如下:
#define MT9075_ADDR0 (*(volatile unsigned char *) 0x0a000010)
#define MT9075_ADDR1 (*(volatile unsigned char *) 0x0a000011)
3.1 对MT9075的读写操控
对MT9075的读写操控首要分为2个进程:第一步挑选要读写的操控字页号,第二步对该页内的操控字进行读写操控操作。如对MT9075进行软复位,代码如下所示:
MT9075_Page = 0x01; //挑选Page 01H(Master Control 1)
MT9075_ADDR1 = 0x20; //对Page 01H下的操控字Mode Selection Control Word(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, 0xa0);
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需求发送话路的线路信令时,能够经过对Page 05H (Transmit Channel Associated Signalling Page)的相关寄存器进行操作。在初始化的最终是对Page 05H中的操控字进行操作,向MT9075_Addr1到MT9075_Addr15中写入ff,使得输出通道DSTo在上电后输出为高电平,在上面省掉了向MT9075_Addr3到MT9075_Addr14中写ff几行代码。
3.3 数字中继处理程序
在完结进程中,信令部分是自己规划的一个简略协议,不是规范的E1信令。信令在DSTo和DSTi的第16时隙中传输,同步信令在第0时隙中传输,主叫方的信令经过接口线传输抵达被叫中继,存入被叫方MT9075的寄存器中,被叫方CPU经过读取寄存器中的信令内容来履行相应的操作,被叫方信令抵达主叫方和这个进程相反。图2为一用户经过数字中继呼叫另一用户的示意图。此图假定被叫方不忙,若此进程中任一时间被叫方忙,则发送被叫忙的信息给主叫方,让主叫方封闭已开通道等候下次呼叫。图3为数字中继处理程序的根本流程图。