华电现代交换实验报告.

上传人:最**** 文档编号:116623751 上传时间:2019-11-16 格式:DOC 页数:43 大小:2.10MB
返回 下载 相关 举报
华电现代交换实验报告._第1页
第1页 / 共43页
华电现代交换实验报告._第2页
第2页 / 共43页
华电现代交换实验报告._第3页
第3页 / 共43页
华电现代交换实验报告._第4页
第4页 / 共43页
华电现代交换实验报告._第5页
第5页 / 共43页
点击查看更多>>
资源描述

《华电现代交换实验报告.》由会员分享,可在线阅读,更多相关《华电现代交换实验报告.(43页珍藏版)》请在金锄头文库上搜索。

1、综合实验报告( 2014 - 2015年度第二学期)名 称: 现代交换技术综合实验 题 目: 现代交换技术实验 院 系: 电子与通信工程系 班 级: 通信120班 学 号: 201203010 学生姓名: 指导教师: 鲍慧、项洪印、赵丽娟 设计周数: 2周 成 绩: 日期:2015 年 7月实验一、1:电路交换原理仿真实验时间表调度一、实验目的 掌握时间表调度原理。二、实验原理在所设计的时间表调度实验中,这个调度表的调度是静态的。所谓静态,是指调度表是在系统初始化的时候就建立起来的,在系统运行的情况下不再改动。实验要求的就是这个调度表的初始化。这个调度表如下图所示:调度表时间(10ms) 任务

2、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 这个交换系统提供了三个周期性调度程度(摘挂机检测程序、脉冲识别程序和位间隔识别程序),它们的调用周期分别为200ms、10ms和100ms,所以系统的最小调度时间为10ms。每隔10ms就会检查这个表的一行,如果该行上某一列为1,就执列所对应的任务,如果为0,就什么都不做。每当执行到这个表的最后一行,调度任务会返回第一行循环执行。三、实验程序#include bconstant.hextern C _decls

3、pec(dllexport) void initSchTable(int ScheduleTableSchTabLenSchTabWdh)/SchTabLen 定义时间表为20行SchTabWdh定义三个周期调度实验int i,j;/摘挂机检测程序200msfor(i=1;iSchTabLen;i+) ScheduleTablei0=0;ScheduleTable00=1;/脉冲识别程序10msfor(j=0;jSchTabLen;j+) ScheduleTablej1=1;/位间隔识别程序100msfor(i=1;iSchTabLen;i+)ScheduleTablei2=0;Schedul

4、eTable02=1;ScheduleTableSchTabLen/22=1; return;四、结论或总结连接运行上述程序,拨打电话时能够正常打通,说明所编的时间调度表正确,此这个调度表正确。时间表的建立与执行周期、和任务数目有关。在程控数字交换的体系结构中,周期级程序是由时间表调度实现的,它规定了周期级程序的执行周期和执行时间,因此建立正确的时间调度表极为重要,如果建立不正确,将导致系统的崩溃。实验一、2:电路交换原理仿真实验脉冲计数实验一、实验目的掌握脉冲识别原理二、实验原理拨号盘所发出的拨号脉冲有规定的参数。我国规定的号盘脉冲的参数有:脉冲速度:即每秒钟送出的脉冲个数,规定的脉冲速度为

5、每秒钟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的扫描周期,其中的变化识别标志了状态的变化。对于一

6、个脉冲来说,是前沿和后沿各识别一次,我们可以任取一个来识别脉冲,下图中采用了前沿识别。从逻辑上讲,也就是说(这前)前=!这前相当于前面所说的挂机识别,同样(这前)!前=这!前相当于摘机识别。在这里采用比较麻烦的逻辑运算的原因是需要“变化识别”这个结果。这在位间隔识别中要用到,下面是脉冲识别原理原理示意图:在我们设计的实验中,用一个数组保留各线路10ms前的状态,用另一个数组保留各线路当前的状态,并且提供了保存“变化识别”的数组(以供后面的位间隔识别使用),另外提供给学生使用的是保存已检测的脉冲值的数组,学生编程检测到一个脉冲以后,就将该线路对应的脉冲值加一。三、程序流程图四、实验程序#incl

7、ude 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;i96ms无变化)。这时在再下一个周期内仍能识别出“无变化”,但已经识别出一次了,不能再作重复识别。 对上面的讨论加以概括,只要识

8、别两个变量就可以了:(1)上一个96ms周期内无变化;(2)再上一个周期内有变化就可确定为“位间隔”了。在上面的图中的“首次变化”是识别变量(1)的,首次变化=1是说明上一周期内无变化,否则有变化。上图中前次“首次变化”是识别后一个变量(2)的,前次“首次变化”是读取“首次变化”的存储内容,不过96ms读一次,读的正是再上一个周期的最后结果。前次“首次变化”=1,说明再上一个周期有过变化,否则无变化。将“首次变化”取反后与前次“首次变化”相与,结果为“1”,表示有位间隔。 值得注意的是,仅上面识别出的“位间隔”还是不够的,因为它只能说明前一次变化在96ms以前,那么用户中途挂机也可以达到这个条

9、件,因此必须区别是“位间隔”还是“中途挂机”。区别这个很容易,只要区别一下现在用户处于挂机还是摘机状态就可以了。前者是中途挂机,后者是位间隔。方法可以是查一下当前的用户线状态,如果为“1”,说明用户已经挂机,那么识别的是“中途挂机”,否则为“位间隔”。三、 程序流程图四、实验程序#include stdio.h#include bconstant.h#include malloc.hextern C _declspec(dllexport) void scandigit(int linestate2LINEMAX,int linestate100LINEMAX,int pulsenumLINEMAX,int fchangeLINEMAX,int

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号