数字程控交换摘挂机识别
第一页,共13页
实验目的:
1、了解用户摘挂机的硬件电路原理。
2、编制程序,用软件完成摘挂机的识别。
第二页,共13页
实验原理:
用户接口电路中摘挂机的识别是靠如图3-1的电路来完成的,当用户摘机时,话机相当于电阻,直流+24V回路闭合,在电阻R上形成电压差,该电压差使得光耦中的发光二极管发光,这时光敏三极管处于导通态, C极为低电平。当用户挂机时,话机相当于电容,直流+24V回路断开,电阻R上无电压,二极管不发光,这时光敏三极管处于截止态,使得加在其C极上的+5V相当于断路,则C极上的电压基本等于+5V,对计算机来说,这相当于信号“1”。由此,用户接口电路将用户的摘挂机操作转换成计算机可识别的“0”,“1”信号,计算机接口将该信号传输给计算机。
第三页,共13页
R
c
e
+5v
检测点
图 3-1
第四页,共13页
基本用户状态
为了便于理解用户接口电路的组成与原理,我们将用户分为以下几种状态:
(1)空闲
(2)摘机
(3)拨号
(4)听回铃音
(5)通话
(6)释放
第五页,共13页
编程说明:
执行周期: 192ms
子程序名: p_192ms
功能介绍: 判断用户的摘/挂机动作。
第六页,共13页
:
extern short int usps[8]:最近一次8ms扫描的用户环路电平值,数组下标为用户号;“0”--环路通;”1”--环路开。
extern char userstate[8][8]:用户状态表;每个用户占据用户状态表的一行,每行共有8个状态字节,其意义如下表所示:
0 1 2 3 4 5 6 7
摘/挂机 超时 主/被叫 听忙音 通话 振铃 待收号 忙/闲
摘/挂机位:0为挂机,1为摘机,由摘挂机识别子程设置;
超 时 位:1为超时,包括久不拨号和久不应答;
待收号位:1表示处于待收号状态;
第七页,共13页
extern short int pnum[8]:为脉冲收号计数器,在收号状态下,若发现用户环路电平出现上升沿,则相应用户的脉冲收号计数器加1;数组下标为用户号;
extern short int pv96[8],pv192[8]:标志出96ms及192ms内用户环路电平的变化状况,由8ms扫描程序设置。若为1,则说明有变化,0为无变化。 用以位间隔识别及摘挂机识别。在8ms扫描中当发现用户环路电平有变化时,将数组下标为用户号的pv192[ ]值置1;
extern short int lv96[8],lv192[8]:上一次的pv96[8],pv192[8]值。摘挂机识别流程如图3-3所示
第八页,共13页
返 回
是
否
否
用户号usnum为0
用户状态前192ms有变化?
否
用户状态 本次192ms无变化?
用户原状态为挂机且当前为低电平?
否
是
否
发生摘机,修改话机状态位userstate[usnum][0]=1;脉冲
收号计数器pnum[usnum]=0
是
用户原状态为摘机且当前为高电平?
发生挂机,修改话机状态位userstate[usnum][0]=0;
保存本次192ms电平变化信息并将本次192ms电平变化信息清0
用户号usnum加1
用户号usnum>=4?
是
是
第九页,共13页
2:编程原理:
如图3-2所示。
若前192ms有变化(lv192[usnum]==1),而本次192ms无变化(pv192[usnum]==0),当前用户环路电平为0(usps[usnum]==0),且用户原状态为挂机(userstate[usnum][0]==0〕,即可判别为一次摘机发生。
若当前用户环路电平为 (usps[usnum1]==1),且用户原状态为摘机,即可判别为一次挂机发生;报告基本级,即将userstate[usnum][0]置为”0”或“1”。最后保存本次192ms电平。〔lv192[usnum]==pv192[usnum])
第十页,共13页
数字程控交换摘挂机识别 来自淘豆网m.daumloan.com转载请标明出处.