- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第一页,共十三页,2022年,8月28日 实验目的: 1、了解用户摘挂机的硬件电路原理。 2、编制程序,用软件完成摘挂机的识别。 第二页,共十三页,2022年,8月28日 实验原理: 用户接口电路中摘挂机的识别是靠如图3-1的电路来完成的,当用户摘机时,话机相当于电阻,直流+24V回路闭合,在电阻R上形成电压差,该电压差使得光耦中的发光二极管发光,这时光敏三极管处于导通态, C极为低电平。当用户挂机时,话机相当于电容,直流+24V回路断开,电阻R上无电压,二极管不发光,这时光敏三极管处于截止态,使得加在其C极上的+5V相当于断路,则C极上的电压基本等于+5V,对计算机来说,这相当于信号“1”。由此,用户接口电路将用户的摘挂机操作转换成计算机可识别的“0”,“1”信号,计算机接口将该信号传输给计算机。 第三页,共十三页,2022年,8月28日 R c e +5v 检测点 图 3-1 第四页,共十三页,2022年,8月28日 基本用户状态 为了便于理解用户接口电路的组成与原理,我们将用户分为以下几种状态: (1)空闲 (2)摘机 (3)拨号 (4)听回铃音 (5)通话 (6)释放 第五页,共十三页,2022年,8月28日 编程说明: 执行周期: 192ms 子程序名: p_192ms 功能介绍: 判断用户的摘/挂机动作。 第六页,共十三页,2022年,8月28日 1.数据结构: 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表示处于待收号状态; 第七页,共十三页,2022年,8月28日 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所示 第八页,共十三页,2022年,8月28日 返 回 是 否 否 用户号usnum为0 用户状态前192ms有变化? 否 用户状态 本次192ms无变化? 用户原状态为挂机且当前为低电平? 否 是 否 发生摘机,修改话机状态位userstate[usnum][0]=1;脉冲 收号计数器pnum[usnum]=0 是 用户原状态为摘机且当前为高电平? 发生挂机,修改话机状态位userstate[usnum][0]=0; 保存本次192ms电平变化信息并将本次192ms电平变化信息清0 用户号usnum加1 用户号usnum=4? 是 是 第九页,共十三页,2022年,8月28日 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]) 第十页,共十三页,2022年,8月28日
文档评论(0)