M34116及其在專網(wǎng)通信中的應用
4 M34116典型連接電路
M34116典型應用電路如圖5所示。微處理器為MCS-51系列單片機W77E58P,交換網(wǎng)采用敏迪公司MT8980D。由于交換網(wǎng)采用的是4.096Mb/s時鐘,F(xiàn)0i是其同步信號(8kHz)輸入,置低后,C4i的第一個下降沿啟動內(nèi)部時鐘,而M34116則是在C4i的第一個下降沿啟動,所以,在使用同一時鐘時,在M34116引腳CLK與交換網(wǎng)的C4i引腳間加一反向電路。在電話會議期間,控制系統(tǒng)可靠需要向參加會議的用戶發(fā)送一些提示信號音。當外電路在TF端輸入一個頻率為f的方波時,M34116可能在PCM OUT端輸出一個頻率為f的正弦波PCM信號;當TD為高電平時,芯片輸出信號音,同時關閉PCM話音信號。當TD為低電平時,信號音輸出禁止,恢復正常的PCM輸出。信號音從哪些時隙輸出可由單片機寫入適當?shù)目刂谱忠?guī)定,本文只介紹實現(xiàn)會議功能,故將TD與TF引腳接地。
5 M34116在專網(wǎng)中的應用程序實例
根據(jù)前面的介紹,通過圖5的接口電路,處理器可以對控制字讀寫,完成所需的功能。本文簡要列舉會議的組織、加入、拆線,其它控制字可參考這些用例。
#define unch unsigned char
#define DATA34116 8001 //數(shù)據(jù)地址
#define CTRL34116 8000 //控制地址
#define START_CONF 0XFF//會議開始
#define JION_CONF 0X00 //加入會議
5.1 組織會議
/*參數(shù)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;/*創(chuàng)建的會議號*/
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 拆線
/*參數(shù)ChannelNumb:會議時隙*/
#pragma disable
void DisconnetConf(unch ChannelNumb)
{
XBYTE[DATA34116]=0x1F ChannelNumb;/*會議時隙*/
XBYTE[CTRL34116]=0x0F; /*寫控制字*/
}
圖5
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);
//創(chuàng)建會議,會議號為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);//可參考《單片機與嵌入式系統(tǒng)應用》2002.7
connect(HWC,tsc,HW_CONF,3);//或參考MT8980D數(shù)據(jù)手冊
這樣就組成了三方會議。還可以將會議母線為HW_CONF、時隙為5送到專用操作臺,組成多方式或交母會議。注意,時隙必須是5。因為輸出時隙比輸入時隙延時一個幀又一個時隙。
評論