电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本
换一换
首页 金锄头文库 > 资源分类 > DOC文档下载
分享到微信 分享到微博 分享到QQ空间

现代交换技术综合实验--课程设计(综合实验)报告

  • 资源ID:80711028       资源大小:1.39MB        全文页数:29页
  • 资源格式: DOC        下载积分:15金贝
快捷下载 游客一键下载
账号登录下载
微信登录下载
三方登录下载: 微信开放平台登录   支付宝登录   QQ登录  
二维码
微信扫一扫登录
下载资源需要15金贝
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
1、金锄头文库是“C2C”交易模式,即卖家上传的文档直接由买家下载,本站只是中间服务平台,本站所有文档下载所得的收益全部归上传人(卖家)所有,作为网络服务商,若您的权利被侵害请及时联系右侧客服;
2、如你看到网页展示的文档有jinchutou.com水印,是因预览和防盗链等技术需要对部份页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有jinchutou.com水印标识,下载后原文更清晰;
3、所有的PPT和DOC文档都被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;下载前须认真查看,确认无误后再购买;
4、文档大部份都是可以预览的,金锄头文库作为内容存储提供商,无法对各卖家所售文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;
5、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据;
6、如果您还有什么不清楚的或需要我们协助,可以点击右侧栏的客服。
下载须知 | 常见问题汇总

现代交换技术综合实验--课程设计(综合实验)报告

科 技 学 院课程设计(综合实验)报告( 2014 - 2015 年度第 2学期)名 称: 现代交换技术综合实验 题 目: 现代交换技术实验 院 系: 信息工程系 班 级: 通信12K1 学 号: 121903010133 学生姓名: 张雅玫 指导教师: 鲍慧、赵丽娟、王劭龙 设计周数: 2周 成 绩: 日期:2015年 7月 时间表调度一、 综合实验的目的与要求驱动交换网络实验用来考查学生对时间表调度原理的掌握情况。二、正文1、实验原理:在程控数字交换的体系结构中,周期级程序(例如摘挂机检测程序、脉冲识别程序、位间隔识别程序)是由时间表调度实现的(这通常是指各周期性程序周期的最大公约数),都会检查调度表的调度要求,如果某个程序在这时需要执行,则调度程序开始执行它。在我们设计的时间表调度实验中,这个调度表的调度是静态的。所谓静态,是指我们的调度表是在系统初始化的时候就建立起来的,在系统运行的情况下不再改动。 2、实验内容编程运行完成上述时间表调度功能,这个调度表如下:我们这个交换系统提供了三个周期性调度程度(摘挂机检测程序、脉冲识别程序和位间隔识别程序),它们的调用周期分别为200ms、10ms和100ms,所以我们系统的最小调度时间为10ms。如图所示,每隔10ms,我们就会检查这个表的一行,如果该行上某一列为1,我们就执列所对应的任务,如果为0,就什么都不做。每当执行到这个表的最后一行,调度任务会返回第一行循环执行。三、总结或结论实验是通过编程来实现时间表的功能。程控数字交换的体系结构中,周期级程序是由时间表调度实现的,它规定了周期级程序的执行周期和执行时间,因此建立正确的时间调度表极为重要。  时间表调度实验实现的是调度表的初始化,如果初始化不成功的话,可能会造成周期性调度程序的延迟或者频繁调用,对于前者可能的结果是检测不要需要的事件(例如脉冲、位间隔),对于后者,频繁的调度可能造成系统的负担过大。因为调度表的调度是静态的。即在系统初始化的时候就建立起来的,在系统运行的情况下不再改动。所以程序中由于将列固定,在本次实验中使用方便,却没有很好的通用性,是本次实验中的不足。附录#include "bconstant.h"extern "C" _declspec(dllexport) void initSchTable(int ScheduleTableSchTabLenSchTabWdh)/SchTabLen 定义时间表为20行SchTabWdh定义三个周期调度实验0:摘挂机检测任务,1:脉冲检测任务,2:位间隔检测任务int i,j;/摘挂机检测程序200msfor(i=1;i<SchTabLen;i+) ScheduleTablei0=0;ScheduleTable00=1;/脉冲识别程序10msfor(j=0;j<SchTabLen;j+) ScheduleTablej1=1;/位间隔识别程序100msfor(i=1;i<SchTabLen;i+)ScheduleTablei2=0;ScheduleTable02=1;ScheduleTableSchTabLen/22=1; return;脉冲计数实验一、 综合实验的目的与要求脉冲计数实验用来考察查学生对脉冲识别原理的掌握情况。二、正文1、实验原理及内容:拨号盘所发出的拨号脉冲有规定的参数。我国规定的号盘脉冲的参数有:    脉冲速度:即每秒钟送出的脉冲个数,规定的脉冲速度为每秒钟8-16个脉冲;脉冲断续比:即脉冲宽度(断)和间隔宽度(续)之比,规定的脉冲断续比为1:1-3:1。1)脉冲识别程序扫描周期的确定:为确定脉冲识别扫描的周期,需要计算出最短的变化间隔(脉冲或间隔宽度),这样才能保证每个脉冲都能够识别而不至于丢失脉冲。由于号盘每秒发出的最快脉冲个数为16个,脉冲周期T=1000/16=62.5ms,在这种情况下断续时间比为3:1时续的时间最短,为1/4*T,所以最短变化周期为1/4*(1000/16)=15.625ms,脉冲识别扫描程序的周期<15.625ms。2)拨号脉冲识别原理:在下图中,采用了10ms的扫描周期,其中的变化识别标志了状态的变化。对于一个脉冲来说,是前沿和后沿各识别一次,我们可以任取一个来识别脉冲,下图中采用了前沿识别。从逻辑上讲,也就是说(这前)前=!这前相当于前面所说的挂机识别,同样(这前)!前=这!前相当于摘机识别。在这里采用比较麻烦的逻辑运算的原因是需要“变化识别”这个结果。在我们设计的实验中,用一个数组保留各线路10ms前的状态,用另一个数组保留各线路当前的状态,并且提供了保存“变化识别”的数组(以供后面的位间隔识别使用),另外提供给学生使用的是保存已检测的脉冲值的数组,学生编程检测到一个脉冲以后,就将该线路对应的脉冲值加一。三、总结或结论编译连接运行上述程序,拨打电话时能够打通,说明所编的程序正确,实现了脉冲计数功能。脉冲计数实验实现的是一个8ms脉冲检测的周期级扫描,如果该模块的编写不正确,就不会对一位号码按键产生的脉冲正确地计数,例如把号码“5”产生的5个脉冲识别出4个或者3个的情况。如果该函数的实现为空的话,即使位间隔识别的函数编写正确,在拨号音的情况下点击号码产生的脉冲也不能识别,从而使主叫进程得不到一个“送”上来的号码而导致拨号音超时,导致听到忙音。在实验过程中,要把这次的线路状态值保存到10ms前的线路状态数组中,以便主程序周期调用。附录脉冲识别原理原理示意图:程序:#include "bconstant.h" int nor_op(int a,int b); int or_op(int a,int b); extern "C" _declspec(dllexport) void scanpulse(int linestateLINEMAX,int linestate10LINEMAX,int changeLINEMAX,int fchangeLINEMAX,int pulsenumLINEMAX) int temp; for (int i=0;i<LINEMAX;i+) /遍例线路 /读这次和前次扫描结果并生成当前变化识别和首次变化识别changei=nor_op(linestatei,linestate10i);/ 当前变化识别fchangei=or_op(fchangei,changei); /首次变化识别if (changei&&linestatei) /判断变化识别与当前状态是否为1(原理图是change linestate10) pulsenumi=pulsenumi+1; /脉冲计数器加1linestate10i=linestatei;/保存当前的扫描结果到10ms前扫描结果 return; int nor_op(int a,int b) /异或子函数 if(a=b) return 0; else return 1; int or_op(int a,int b) /或子函数 if(a=0)&&(b=0) return 0; else return 1; 摘挂机检测实验一、综合实验的目的与要求增强对摘挂机检测原理的掌握。二、正文实验原理设用户在挂机状态时扫描输出为“0”,用户在摘机状态时扫描输出为“1”,摘挂机扫描程序的执行周期为200ms,那么摘机识别,就是在200ms的周期性扫描中找到从“0”到“1”的变化点,挂机识别就是在200ms的周期性扫描中找到从“1”到“0”的变化点。在此次实验中,已经把前200ms的线路状态保存以备这次可以读取,同时读出这次的线路状态,把前200ms的线路状态取反与这次的线路状态相与,如果为1,就说明检测到摘机消息了。同理,把这次的线路状态取反再与前200ms的线路状态相与,如果为1就说明检测到挂机消息了,然后把摘挂机信号作为事件放入摘挂机队列中。三、总结或结论连接运行上述程序,拨打电话时能够正常打通,说明所编的摘挂机检测程序正确。 编写的模块是基础实验部分预加载的本局交换系统的一个模块而已,在系统中head1头指针和end1尾指针已经完成初始化。为方便起见,摘挂机事件队列是一个包含头节点的单向链表,并且头指针指向该头节点,尾指针在初始化时也指向了该节点。所以在函数编写中应保证头指针始终指向该头节点上、尾指针指向摘挂机事件队列的最末一个节点。附录主体流程图主体流程图程序#include <malloc.h> #include <stdio.h> #include "bconstant.h" extern "C" _declspec(dllexport) void scanfor200(int linestate200LINEMAX, int linestateLINEMAX,UpOnnode * head1,UpOnnode * end1) /int linestate200LINEMAX为已保存的200ms前线路状态,int linestateLINEMAX为当前的线路状态 线路从0开始编号,状态:1有电流,0无电流head1及end1摘挂机队列的首尾指针 int i; UpOnnode *p; /定义摘挂机队列节点指针 for(i=0;i<LINEMAX;i+) /遍例所有状态 if(nor_op(linestatei,linestate200i) ) /异或判断摘挂机识别信号是否产生,判断出摘机和挂机信号 p=(UpOnnode*)malloc(sizeof(UpOnnode); /申请空间 p->phonestate=(! linestate200i &&linestatei?ehandup:ehandon); /取摘挂机状态,将摘挂机事件送入队列,ehandup表示摘机,ehandon表示挂机 p->linenum=i; p->next=NULL; if (head1= NULL) head1 = p; /作为头节点,初始状态 else end1 ->

注意事项

本文(现代交换技术综合实验--课程设计(综合实验)报告)为本站会员(自***)主动上传,金锄头文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即阅读金锄头文库的“版权提示”【网址:https://www.jinchutou.com/h-59.html】,按提示上传提交保证函及证明材料,经审查核实后我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.