M34116及其在专网通信中的应用
4M34116典型连接电路
M34116典型应用电路如图5所示。微处理器为MCS-51系列单片机W77E58P,交换网采用敏迪公司MT8980D。由于交换网采用的是4.096Mb/s时钟,F0i是其同步信号(8kHz)输入,置低后,C4i的第一个下降沿启动内部时钟,而M34116则是在C4i的第一个下降沿启动,所以,在使用同一时钟时,在M34116引脚CLK与交换网的C4i引脚间加一反向电路。在电话会议期间,控制系统可靠需要向参加会议的用户发送一些提示信号音。当外电路在TF端输入一个频率为f的方波时,M34116可能在PCM OUT端输出一个频率为f的正弦波PCM信号;当TD为高电平时,芯片输出信号音,同时关闭PCM话音信号。当TD为低电平时,信号音输出禁止,恢复正常的PCM输出。信号音从哪些时隙输出可由单片机写入适当的控制字规定,本文只介绍实现会议功能,故将TD与TF引脚接地。
5 M34116在专网中的应用程序实例
根据前面的介绍,通过图5的接口电路,处理器可以对控制字读写,完成所需的功能。本文简要列举会议的组织、加入、拆线,其它控制字可参考这些用例。
#define unch unsigned char
#define DATA34116 8001 //数据地址
#define CTRL34116 8000 //控制地址
#define START_CONF 0XFF//会议开始
#define JION_CONF 0X00 //加入会议
5.1 组织会议
/*参数ConfNumb:会议号(1~29)。MeetInGain:会议输入增益。MeetOutGain:会议输出增益。ChannelNumb:会议时隙。Flag:新会议开始标志*/
#pragma disable
void ConnetConf(unch ConfNumb,unch ChannelNumb,unch MeetInGain,unch MeetOutGain,unch Flag){
if(Flag==START_CONF){
XBYTE[DATA34116]=0x10|ConfNumb;/*创建的会议号*/
XBYTE[DATA34]=MeetInGain;/*输入增益*/
XBYTE[DATA34116]=MeetOutGain; /*输出增益*/
}
else if(Flag=JION_CONF){
XBYTE[DATA34116]=0x1F ConfNumb;/*会议号*/
XBYTE[DATA34116]=MeetInGain;/*输入增益*/
XBYTE[DATA34116]=MeetOutGain; /*输出增益*/
}
XBYTE[DATA34116]=0x40|ChannelNumb;/*会议时隙*/
XBYTE[CTRL34116=0x07;/*写控制字*/
}
5.2 拆线
/*参数ChannelNumb:会议时隙*/
#pragma disable
void DisconnetConf(unch ChannelNumb)
{
XBYTE[DATA34116]=0x1F ChannelNumb;/*会议时隙*/
XBYTE[CTRL34116]=0x0F; /*写控制字*/
}
图5
5.3 三方会议
A、B、C三方欲组织一会议。假设A母线为HW_A,时隙为tsa;B母线为HW_B,时隙为tsb;C母线为HW_C,时隙为tsc;输入输出增益均为0,HW_CONF为M34116的母线。
(1)会议初始化
ConnectConf(1,0,0,1,START_CONF);
//创建会议,会议号为1,时隙为1
ConnectConf(1,0,0,2,JOIN_CONF);//时隙2加入会议
ConnectConf(1,0,0,3,JOIN_CONF);//时隙3加入会议
(2)时隙交换
connect(HWA,tsa,HW_CONF,1);//将A的时隙与会议时隙1进行双向连接
connect(HWB,tsb,HW_CONF,2);//可参考《单片机与嵌入式系统应用》2002.7
connect(HWC,tsc,HW_CONF,3);//或参考MT8980D数据手册
这样就组成了三方会议。还可以将会议母线为HW_CONF、时隙为5送到专用操作台,组成多方式或交母会议。注意,时隙必须是5。因为输出时隙比输入时隙延时一个帧又一个时隙。
评论