完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
由于数字技术和计算机技术的发展,传统的模拟交换机已经被程控数字交换机所取代,数字中继接口是数字交换机中不可或缺的部分。本文就是利用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为数字中继处理程序的基本流程图。 图2 数字中继呼叫示意图 4、结束语 应用以上方案设计的数字中继续接口电路的硬件软件都已调试通过,工作稳定,能够满足用户的正常使用。用单片MT9075可以同时实现30对用户的交换工作,考虑到用户不在同时通话,即可以非常方便的实现更多用户的交换工作。 图3 数字中继处理程序基本流程图 |
|
|
|
CYUSB3014烧录失败Cypress Benicia USB Boot Device
2667 浏览 1 评论
6469 浏览 0 评论
9398 浏览 3 评论
【开源资料】基于机智云的智能感应灯(原理图+PCB+源程序)
47437 浏览 4 评论
3756 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 11:45 , Processed in 0.917182 second(s), Total 35, Slave 28 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号