欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    现代交换原理实验指导书.docx

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

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    现代交换原理实验指导书.docx

    1、现代交换原理实验指导书交换仿真实验平台简介一.实验平台概述:下图即交换仿真实验系统平台的主界面,因为该实验系统中多数的实验需要编程实现,我们的主界面采用了像Visual Studio、Dephi这样的集成开发环境界面,集成了需编程实验需要的编辑、编译、链接、运行、演示以及帮助等常用的工具。 下面我们对上面的实验环境进行简单的介绍,以帮助大家尽早地熟悉该实验环境。二. 有关实验平台的视图:本实验系统包括两个视图:编辑视图和结果视图。编辑视图:在主界面上半部分的视图为编辑视图,主要用于编辑源代码使用; 结果视图:在主界面下半部分的视图为结果视图,主要用于显示源代码编译、链接的结果信息; 两个视图都

    2、含有垂直滚动条,并且两个视图的相对大小可以手工调节。三. 有关实验平台的菜单:在主菜单中包括“选择实验”、“源文件编辑”、“编译运行”、“帮助”几个部分。 1.在“选择实验”菜单下包括基础实验(程控交换实验)、提高实验(分组实验、ATM实验、MPLS实验)的相关实验项,点击相应菜单项后可以进入该实验;我们也可在一个实验下通过“选择实验”菜单切换到其他的实验;退出实验的“退出”选项也在该菜单项(退出该实验环境也可以通过点击标题栏的“关闭”按钮实现); 2.在“源文件编辑”菜单下(在需编程实验中可用)包括了常用的编辑命令:撤销、剪切、复制以及粘贴等。因为该菜单主要针对需编程实验,所以保存源代码文件

    3、的命令也集成在了该菜单项下。这里要强调的是当您点击“保存”命令时,我们会把视图内的内容自动保存在您安装目录下的sourcefile目录下。当下一次您重新开启该实验系统时,该目录下的文件将会重写,所以,如果您需要备份源文件时,我们建议两种办法:1.在实验过程中,把您需要备份的文件另存于其他目录下;2.在实验结束后,把您安装程序的“sourcefile”子目录下需要备份的文件另存于他处。3.在“编译运行”菜单下包含了“编译”、“连接”、“运行”、“演示”四个菜单项,它们的用途如下:编译菜单项:编译(Compile)当前视图中的源代码文件,并把编译后的结果显示在结果视图下面。当源代码文件没有语法错误

    4、时,结果视图内会显示产生的对象文件(.obj文件);当源代码文件存在语法错误时,结果视图内会显示出错的行号和出错原因。该菜单项只在需编程实验中可用。链接菜单项:链接(Link)当前目录下的对象文件(.obj文件)成动态链接库文件(.dll文件)供运行时调用。当链接成功时会显示链接后形成的库文件(.lib文件)和(.exp文件),当链接错误时,结果视图内会显示出错的原因。该菜单项只在需编程实验中可用。运行菜单项:显示运行界面,加载当前目录下的动态链接库文件(.dll文件)显示运行结果。该运行界面为Flash界面,您可在界面进行相应的操作。例如运行界面通用的“运行”“停止”“退出”等控制命令,一些

    5、涉及具体实验的控制动作,例如基础实验运行界面的点击话机、拨号等动作,具体的实验控制动作请参见相应的实验部分,这里不再赘述。演示菜单项:提供正确的实验运行效果,供参考对照。演示界面和运行界面相同,但内部的控制逻辑均已预先确定,可在任何时候点击观看。提示说明:我们的编译命令编译的是当前视图的源文件内容,因此会自动保存当前视图内容;链接命令会链接当前目录下的对象文件;运行命令会运行当前目录下的动态链接库文件,所以如果您对源文件进行了改动,想确定新源文件的逻辑正确性,请您依次进行编译、链接以产生新的dll文件。4.在“帮助”菜单下包括了“实验手册”和“有关我们”的菜单项。实验手册:包括了实验平台的使用

    6、说明、实验流程以及各个实验的相关原理、编程实验需要的的数据结构和运行时的情况分析。有关我们:有关本实验系统的版本和版权等信息。四.有关实验平台的工具栏和状态栏:工具栏:本实验系统为了便于您操作,提供了一些常用的工具栏,固定安排在编辑视图之上,从左到右的工具按钮为:保存、撤销、剪切、复制、粘贴;编译、链接、运行、演示和帮助,您把鼠标停放在某工具按钮上,半秒以后会显示该工具按钮的用处。状态栏:安排在结果视图以下,当您把鼠标指向某菜单命令上时,状态栏中会显示该菜单命令的描述信息;用于指示键盘“Num Lock”、“Caps Lock”、“Scroll Lock”灯亮灭的指示信息安排在状态栏的右侧。五

    7、.有关实验系统的目录设置:在您的安装目录下的目录和文件说明如下:1.SourceFile 目录:保存了需编程实验需要的源代码文件;2.Scfile_BackUp目录:保存了需编程实验需要的源代码文件的备份,该目录下的文件请不要改动;3.Utility目录:包括了编程实验编译时需要的工具和需要的库文件、头文件等;实验运行演示时需要的音信号和动画文件也存放在这里;该目录下的文件请不要改动,否则可能会给您的实验带来不利影响;4.BackUp目录:实验系统的备份文件;5.现代交换原理仿真实验系统.exe:本实验系统的应用程序;6.uninstall.exe:本实验系统的卸载程序,你也可以通过控制面板的

    8、“添加删除程序”工具进行删除;其它部分为本实验系统安装时的一些说明和安装信息等,为了便于您的使用,我们在你的桌面和开始菜单中也设置了您可能需要的快捷方式。交换仿真实验流程交换仿真实验系统中包括两类实验:需编程实验和非编程实验。1.点击“现代交换原理仿真实验系统.exe”进入本实验系统,点击主界面“帮助”菜单下的“帮助手册”打开交换仿真实验帮助系统,阅读交换仿真实验平台简介部分,熟悉实验环境。2.点击主界面的“选择实验”菜单下的某个实验,进入该实验部分,将看到界面给你的提示。2.1对于需编程实验:2.1.1 阅读帮助系统中有关该实验的内容,包括实验原理、实验所编函数的用处和该函数的输入输出参数、

    9、实验所编函数的流程图等;2.1.2 在主界面的编辑视图内完成源代码部分的编写工作;2.1.3点击“编译”菜单命令或者“编译”工具按钮编译源代码,如果在结果视图中看到形成对象文件的提示(即产生*.obj),表示编译成功,进行2.1.4,否则返回2.1.2,根据结果视图的错误信息修改源程序;2.1.4点击“链接”菜单命令或者“链接”工具按钮链接产生的对象文件,如果在结果视图中看到形成目标模块文件(即产生*.lib和*.exp),表示链接成功,进行2.1.5,否则返回2.1.2,修改源代码;2.1.5点击“演示”菜单命令或者“演示”工具按钮,进入演示运行界面,进行相应的控制操作,观看正确的运行结果。

    10、2.1.6 点击“运行”菜单命令或者“运行”工具按钮,进入演示运行界面,进行相应的控制操作,检验完成的目标模块的逻辑正确性。如果正确的话,点击“编辑源文件”下的“保存”子菜单项保存该源文件。否则返回2.1.2修改源代码。验收标准:在验收人员的监督下,完成编译、链接工作,进行运行确定代码逻辑的正确性。注意:如需完成实验报告,在退出实验系统前点击“编辑源代码”下的“另存为”子菜单”,推荐把源文件保存在其他的目录下。不要把源文件保留在本实验系统的安装目录以及其子目录下,否则该源文件可能会在下次实验系统启动时被改写。2.2 对于非编程实验:2.2.1 阅读帮助系统中有关该实验的内容,包括实验原理、在实

    11、验运行界面的操作以及以及正确时的实验现象。2.2.2按照主界面对话框的提示,直接点击“编译运行”菜单下的“运行”子菜单,或者点击工具栏上的“运行”按钮,进行相应实验。验收标准:在验收人员的监督下,在运行界面完成所需表格的填写,进行运行确定代码逻辑的正确性。3. 如还需进行其他实验,点击主界面的“选择实验”菜单下的其它实验项,进入相应实验部分。仿真基础实验基础实验一 时间表调度实验(必做实验)一.实验目的:驱动交换网络实验用来考查学生对时间表调度原理的掌握情况。二.实验原理及设计: 在程控数字交换的体系结构中,周期级程序(例如摘挂机检测程序、脉冲识别程序、位间隔识别程序)是由时间表调度实现的。所

    12、谓时间表调度,是指每经过交换系统的最短有效时间(这通常是指各周期性程序周期的最大公约数),都会检查调度表的调度要求,如果某个程序在这时需要执行,则调度程序开始执行它。 在我们设计的时间表调度实验中,这个调度表的调度是静态的。所谓静态,是指我们的调度表是在系统初始化的时候就建立起来的,在系统运行的情况下不再改动。 实验要求的就是这个调度表的初始化。这个调度表如下:时间(10ms) 任务0:摘挂机检测任务1:脉冲检测任务2:位间隔检测任务 0 0/1 0/1 0/1 1 0/1 0/1 0/1. . . 18 0/1 0/1 0/1 19 0/1 0/1 0/1我们这个交换系统提供了三个周期性调度

    13、程序(摘挂机检测程序、脉冲识别程序和位间隔识别程序),它们的调用周期分别为200ms、10ms和100ms,所以我们系统的最小调度时间为10ms。如图所示,每隔10ms,我们就会检查这个表的一行,如果该行上某一列为1,我们就执列所对应的任务,如果为0,就什么都不做。每当执行到这个表的最后一行,调度任务会返回第一行循环执行。而你所要做的就是按照你的理解来填写这个调度表。三.实验主要数据结构: 函数功能:完成调度表的初始化; 函数原型:initSchTable(int ScheduleTableSchTabLenSchTabWdh); 其中SchTalLen和SchTabWdh为在bconstan

    14、t.h中的宏定义: #define SchTabLen 20 /代表这个调度表为20行(相邻行之间的时间间隔为10ms); #define SchTabWdh 3 /代表三个周期性调度任务0:摘挂机检测任务;1:脉冲检测任务;2:位间隔检测任务;四.实验效果检验:当调度表初始化正确时,能够进行正常的通话;如果初始化不正确,可能会造成周期性程序的不正常调用,例如位间隔调度的延迟会造成识别位间隔的延误甚至丢失。注:由于为循环程序,所以调度表的初始化方案不唯一。基础实验二 摘挂机检测实验(必做实验) 一.实验目的:摘挂机检测实验用来考查学生对摘挂机检测原理的掌握情况。二.实验原理及设计: 设用户在挂

    15、机状态时扫描输出为“0”,用户在摘机状态时扫描输出为“1”,摘挂机扫描程序的执行周期为200ms,那么摘机识别,就是在200ms的周期性扫描中找到从“0”到“1”的变化点,挂机识别就是在200ms的周期性扫描中找到从“1”到“0”的变化点,该原理的示意图如下所示: 在我们的实验中,我们把前200ms的线路状态保存以备这次可以读取,同时读出这次的线路状态,把前200ms的线路状态取反与这次的线路状态相与,如果为1,就说明检测到摘机消息了。同理,我们把这次的线路状态取反再与前200ms的线路状态相与,如果为1就说明检测到挂机消息了,然后把摘挂机信号作为事件放入摘挂机队列中。三.实验主要数据结构:

    16、函数功能为:检测到摘、挂机事件,并把该事件放入到摘挂机事件队列中。函数原型:void scanfor200(int linestate200LINEMAX,int linestateLINEMAX,UpOnnode * head1, UpOnnode* end1);其中LINEMAX为线路总数,是定义在bconstant.h中的一个宏,linestate200LINEMAX为已保存的200ms前线路状态,linestateLINEMAX为当前的线路状态,head1,end1为摘挂机队列的首尾指针,该队列已经在主程序中进行了初始化。我们所要做的就是把检测到的摘挂机事件以摘挂机队列节点的形式插入到

    17、摘挂机事件队列中。数据结构说明:头文件:bconstant.h;(以下的数据结构都已在该文件中定义)LINEMAX:最大线路数;int linestate200LINEMAX,linestateLINEMAX:线路从0开始编号;状态:1:有电流,0无电流;enum UporOn ehandup,ehandon :为摘挂机区别符:ehandup表示摘机,ehandon表示挂机;struct UpOnnode /摘挂机队列节点结构 UporOn phonestate; /摘挂机区别符; int linenum; /线路号(从0开始); struct UpOnnode* next; /指向下一节点的

    18、指针; ;注意事项:1.我们编写的模块是基础实验部分预加载的本局交换系统的一个模块而已,在系统中head1头指针和end1尾指针已经完成初始化。为方便起见,我们的摘挂机事件队列是一个包含头节点的单向链表,并且头指针指向该头节点,尾指针在初始化时也指向了该节点。所以在我们的函数编写中应保证头指针始终指向该头节点上、尾指针指向摘挂机事件队列的最末一个节点。2.注意把这次扫描的线路状态值保存在前200ms扫描线路状态数组中,以便主程周期调用。四.实验主体流程图:基础实验三 脉冲计数实验(选做实验) 一.实验目的:脉冲计数实验用来考察查学生对脉冲识别原理的掌握情况。二.实验原理以及实验设计: 拨号盘所

    19、发出的拨号脉冲有规定的参数。我国规定的号盘脉冲的参数有:1.脉冲速度:即每秒钟送出的脉冲个数,规定的脉冲速度为每秒钟8-16个脉冲;2.脉冲断续比:即脉冲宽度(断)和间隔宽度(续)之比,规定的脉冲断续比为1:1-3:1。1)脉冲识别程序扫描周期的确定:为确定脉冲识别扫描的周期,需要计算出最短的变化间隔(脉冲或间隔宽度),这样才能保证每个脉冲都能够识别而不至于丢失脉冲。由于号盘每秒发出的最快脉冲个数为16个,脉冲周期T=1000/16=62.5ms,在这种情况下断续时间比为3:1时续的时间最短,为1/4*T,所以最短变化周期为1/4*(1000/16)=15.625ms,脉冲识别扫描程序的周期9

    20、6ms无变化)。这时在再下一个周期内仍能识别出“无变化”,但已经识别出一次了,不能再作重复识别。对上面的讨论加以概括,只要识别两个变量就可以了:(1)上一个96ms周期内无变化;(2)再上一个周期内有变化就可确定为“位间隔”了。在上面的图中的“首次变化”是识别变量(1)的,首次变化=1是说明上一周期内无变化,否则有变化。上图中前次“首次变化”是识别后一个变量(2)的,前次“首次变化”是读取“首次变化”的存储内容,不过96ms读一次,读的正是再上一个周期的最后结果。前次“首次变化”=1,说明再上一个周期有过变化,否则无变化。将“首次变化”取反后与前次“首次变化”相与,结果为“1”,表示有位间隔。

    21、值得注意的是,仅上面识别出的“位间隔”还是不够的,因为它只能说明前一次变化在96ms以前,那么用户中途挂机也可以达到这个条件,因此必须区别是“位间隔”还是“中途挂机”。区别这个很容易,只要区别一下现在用户处于挂机还是摘机状态就可以了。前者是中途挂机,后者是位间隔。方法可以是查一下当前的用户线状态,如果为“1”,说明用户已经挂机,那么识别的是“中途挂机”,否则为“位间隔”。在我们的实验中提供了前100ms的线路状态数组和当前的线路状态数组,以及用来保存“变化识别”、“首次变化”和“前次首次变化”的数组等供学生使用,学生通过编程检测位间隔的位置,当学生检测到位间隔以后,学生把与该线路对应的脉冲值放

    22、入到一个接收号码队列中,并且放在接收号码队列中的事件需保存着与该号码对应的线路号,因为几个线路接收到的号码都是放在同一个队列中的。(然后,一个外部程序将扫描该接收号码队列,逐一把各个接收号码事件发送给交换系统中央控制系统。学生只要做到将号码事件按照接收号码队列节点格式放入队列即可。) 三.实验主要数据结构:函数功能:识别出一位号码,将该号码放入到号码接收队列中;函数原型为:void scandigit(int linestateLINEMAX,int linestate100 LINEMAX,int pulsenumLINEMAX,int fchangeLINEMAX,int lfchange

    23、 LINEMAX, Digitnode * head2,Digitnode * end2)。其中LINEMAX为线路总数,是定义在bconstant.h中的一个宏,linestateLINEMAX为当前的线路状态linestate100LINEMAX为100ms前的线路状态,pulsenum为当前已经检测到的脉冲计数值,fchange为首次变化,lfchange为前次首次变化,head2,end2为号码接收队列的首尾指针,该队列已经完成了初始化。本次实验就是把检测到位间隔的线路的号码值插入这个队列中。数据结构说明:头文件:bconstant.h;(以下的数据结构都已在该文件中定义)LINEMAX:最大线路数;int linestateLINEMAX,linestate100LINEMAX:线路从0开始编号;状态:1:有电流,0无电流;int pulsenumLINEMAX:线路已检测到的脉冲值数;int fchangeLINEMAX,lfchange LINEMAX:首次变化数组,前次首次变化数组,有变化为1。struct Digitnode /号码接收队列节点数据结构int num; /号码值int linenum; /线号struct Digitnode * next;/指向下一节点的指针注意事项:1.我们编写的模块是基础实验部分预加载的本局交换系统的一个模块而已,在


    注意事项

    本文(现代交换原理实验指导书.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

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




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开