您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 通信109通信网络实验指导书2-学生
网络通信实验指导书陈宏明,朱全银淮阴工学院计算机工程学院二O一二年一月1目录实验一串行通信……………………………………………………………………………2实验二局域网共享介质访问控制方式CSMA/CD模拟…………………………………7实验三交换机的配置和管理………………………………………………………………8实验四路由器的配置和管理……………………………………………………………………16实验五网络安全与管理…………………………………………………………………26实验六网络互连…………………………………………………………………………29实验七WinSock编程……………………………………………………………………32实验八VOIP通信……………………………………………………………………………………37附件1通信网络试验考核大纲……………………………………………………………………38附件2计算机通信网课程考核大纲……………………………………………………………392实验一串行通信(必修)【实验目的】1.掌握通过计算机串行通信接口实现两台计算机数据通信的原理;2.掌握不同类型接口间串行通信电缆的连接方式及制作过程;3.掌握Windows操作系统环境提供的“超级终端”的配置和使用过程;4.基本掌握C/C++/VB环境下,实现串行通信相关函数或控件的使用。【实验内容】1.根据实验室提供计算机所配备的串行通信接口的形式,制作串行通信电缆;2.使用“超级终端”软件,实现两台计算机之间的串行通信;3.编制、调试串行通信程序,实现一台计算机从键盘输入的内容,可以在另一台计算机的屏幕上显示出来的基本目的;4.可根据情况自行增加一些功能,如:可随时调整波特率、数据位等通信参数;文本文件的传输等。【实验原理】EIA-232异步接口标准,串行接口异步通信,虚调制解调器原理。1.异步串行通信基础异步通信电平采用负逻辑,传输线的状态有:(1)空闲状态(2)起始传输状态(3)奇偶校验位(4)停止位2.信号传输速率与接口安全RS232C传输速率在0~20000bps范围内,在实际应用中被限制在19200bps以内。主信道的传输速率有:19200、9600、4800、2400、1200、600、300、150、110、75、50bps。RS232C标准接口能承受任何两个引脚的短路,但短路电流不超过0.5A3.URAT(可编程异步串行通信芯片)内部寄存器端口分配第n个字符第n+1个字符起始位7位数据奇偶校验停止位下一个字符起始位…100/10/100/10/10/10/10/10/10/10/11111…低位高位一位时间取决于波特率下降边沿指出下一个字符的开始第n个字符第n+1个字符起始位7位数据奇偶校验停止位下一个字符起始位…100/10/100/10/10/10/10/10/10/10/11111…低位高位一位时间取决于波特率下降边沿指出下一个字符的开始读出MODEM状态寄存器读出线路状态寄存器写入MODEM控制寄存器写入线路控制寄存器读出中断标识寄存器写入中断允许寄存器写入波特率因子(MSB)写入波特率因子(LSB)读出接收器数据寄存器写入发送器保持寄存器寄存器名称及作用IN3FEH(2FEH)IN3FDH(2FDH)OUT3FCH(2FCH)OUT3FBH(2FBH)IN3FAH(2FAH)DLAB=0OUT3F9H(2F9H)DLAB=1OUT3F9H(2F9H)DLAB=1OUT3F8H(2F8H)DLAB=0IN3F8H(2F8H)DLAB=0OUT3F8H(2F8H)条件指令端口地址读出MODEM状态寄存器读出线路状态寄存器写入MODEM控制寄存器写入线路控制寄存器读出中断标识寄存器写入中断允许寄存器写入波特率因子(MSB)写入波特率因子(LSB)读出接收器数据寄存器写入发送器保持寄存器寄存器名称及作用IN3FEH(2FEH)IN3FDH(2FDH)OUT3FCH(2FCH)OUT3FBH(2FBH)IN3FAH(2FAH)DLAB=0OUT3F9H(2F9H)DLAB=1OUT3F9H(2F9H)DLAB=1OUT3F8H(2F8H)DLAB=0IN3F8H(2F8H)DLAB=0OUT3F8H(2F8H)条件指令端口地址3DLAB为线路控制寄存器D7位;括号外为COM1、括号内为COM24.线路控制寄存器LCR(3FBH,只读)该寄存器的内容规定了异步串行通信的数据格式D7除数锁存0—允许访问接收数据、发送数据和中断允许寄存器1—允许访问波特率因子寄存器,将除数锁存D6SB设置间断0—禁止间断产生,1—设置间断,SOUT发送空号D5SP附加奇偶保持位选择位0—无奇偶附加位,1—偶附加位为0(偶校验),1—偶附加位为1(奇校验)D4EPS奇偶类型0—奇校验(当D3=0),1—偶校验(当D3=1)D3PEN奇偶校验允许0—无奇偶校验1—允许奇偶校验D2STB停止位选择0—1位停止位1—1.5位停止位1—2位停止位(6,7,8)D1、D0—数据位置00—5位,01—6位,10—7位,11—8位5.波特率因子寄存器(3F8H/3F9H,只写)波特率=1.8432MHz/(波特率因子×16)波特率因子必须在初始化期间预置(此时,DLAB=1)以保证波特率发生器执行规定动作。6.发送保持寄存器(3F8H,只写)要发送的字符写入数据保存寄存器,串行发送从字节的最低位开始发送。7.接收数据寄存器(3F8H,只读)该寄存器存放接收的字符。8.中断允许寄存器(3F9H,只写)允许四种类型的中断,D7~D4不用,D3~D0为四级中断,具体含义在用时查手册。9.中断标志寄存器(3FAH,只读)四种类型的中断优先级以接收线路状态中断位最高,其次时数据就绪中断、发送保持寄存器中断、MODEM中断。D7~D3不用,D2~D1为指示中断类型预中断源(详细说明在用时查手册),D0指示是否中断待处理:0—有中断、1—无中断。10.线路状态寄存器(3FDH,可读/写)该寄存器为CPU提供内部状态信息,主要时接收线路状态DLABSBSPEPSPENSTBWLS1WLS0D7D6D5D4D3D2D1D0DLABSBSPEPSPENSTBWLS1WLS0D7D6D5D4D3D2D1D006H0CH10H18H20H30H3AH40HLSB00H00H00H00H00H00H00H00HMSB因子值192009600720048003600240020001800波特率60H00H1200C0H00H60080H01H30000H03H15059H03H134.517H04H11000H06H7500H09H50LSBMSB因子值波特率06H0CH10H18H20H30H3AH40HLSB00H00H00H00H00H00H00H00HMSB因子值192009600720048003600240020001800波特率60H00H1200C0H00H60080H01H30000H03H15059H03H134.517H04H11000H06H7500H09H50LSBMSB因子值波特率0发送移位器空D7D6D5D4D3D2D1D0发送保持器空间断帧格式错奇偶错超越错接收数据就绪0发送移位器空D7D6D5D4D3D2D1D0发送保持器空间断帧格式错奇偶错超越错接收数据就绪4D7恒为0D6发送移位器空1—发送移位器空0—数据由保持寄存器送到移位寄存器D5发送保持器空1—准备好接收下一个要求发送的字符或本次发送的字符已从保持寄存器传到发送移位寄存器,0—处理机将字符装入到保持寄存器D4间断条件1—接收的时间隔超出一个字符传输时间,0—读出该状态寄存器的内容D3帧格式错1—出现一帧格式错0—读出该状态寄存器的内容D2奇偶错1—检验出奇偶错0—读出该状态寄存器的内容D1超越错:接收下一个字符前,接收数据寄存器中的数据尚未取走。1—出现超越错0—读出该状态寄存器的内容D0—接收数据就绪1—接收数据寄存器收到一个完整的字符,0—读出接收数据寄存器的内容11.MODEM控制寄存器(3FCH,只写)该寄存器控制与调制/解调器或数传机的接口。详细细节使用时查资料12.MODEM状态寄存器(3FEH,只读)该寄存器的高四位D7~D4反应调制/解调器控制线路的当前状态,低四位D3~D0提供4位控制输入的状态变化信息。详细细节使用时查资料异步串行通信编程(汇编/C语言)1.UART初始化(汇编)(1)设置波特率(假设为1200)MOVEAL,10000000B;DLAB=1MOVEDX,3FBHMOVEDX,AL;写入通信线路控制寄存器MOVEAL,60H;置产生1200波特率除数低位MOVEDX,3FBHOUTDX,AL;写入除数锁存器的低位MOVEAL,00;置产生1200波特率除数高位OUTDX,AL;写入除数锁存器的高位(2)设置通信格式(假设7个数据位,一个停止位,偶校验)MOVEAL,00011010B;设置数据格式MOVEDX,3FBHOUTDX,AL;写入通信线路控制寄存器(3)设置操作方式(略)(4)设置中断允许寄存器(略)2.UART初始化(BIOS通信管理程序功能参数)BIOS串行通信管理程序作为14H号中断服务程序存在,串行口号时一个主要入口参数,0代表串行口1,1代表串行口2;有四个功能:(1)AH=0初始化串行口,入口参数:DX=串行口号;AL=初始化参数出口参数:AH=串行口线路状态寄存器。说明:D7~D5表示波特率0001100103001001200110480000115001160010124001119600D4~D3表示校验选择00无01奇校验10无11偶校验5D2表示停止位01位停止位12位停止位D1~D0表示数据位107位数据118位数据(2)AH=1发送数据字符,入口参数:DX=串行口号;AL=欲发送字符出口参数:AH=串行口状态信息(位7为超时标志)。(3)AH=2接收数据字符,入口参数:DX=串行口号;AL=接收的字符出口参数:AH=串行口状态信息(位7为超时标志)。(4)AH=3取串行口状态,入口参数:DX=串行口号;出口参数:AL=MODEM状态寄存器值;AH=串行口状态寄存器值。3.UART初始化(C语言)方法一:调用DOS输入/输出功能(DOS.H)outputb(0x3fb,0x80);/*DLAB=1*/outputb(0x3f8,0x60);/*置产生1200波特率除数低位*/outputb(0x3f9,0x00);/*置产生1200波特率除数高位*/outputb(0x3fb,0x1a);/*DLAB=00x1a=00011010,即偶校验,1位停止位,7位数据位。*/outputb(0x3fc,0x03);/*D1D0=11,请求发送(RTS为低电平),数据终端就绪(DTR为低电平)*/outputb(0x3f9,0x00);/*DLAB=0中断允许寄存器置0,完全禁止芯片中断*/方法二:调用BIOS通信管理功能(BIOS.H)#defineCOM10/*使用COM1口进行通信*/#defineSETTINGS(0xe0|0x03|0x00|0x00)/*准备设定的通信参数:9600波特率,8位数据,无校验,无停止位*/….InItCOM1(){bioscom(0,SETTINGS,COM1);}….4.单个字符的发送与接收例程(C语言)#includebios.h#includeconio.h#defineCOM10/*使用COM1口进行通信*/#defineDATA_READY0x100/*数据设备准备好状态*/#defineTURE1#defineFALSE0#defineSETTINGS(0xe0|0x03|0x00|0x00)intmain(){intin,out,status,DONE=FALSE;bioscom(0,SETTINGS,COM1);cprintf(“…BIOSCOM[ESC]toexit…\n”);whi
本文标题:通信109通信网络实验指导书2-学生
链接地址:https://www.777doc.com/doc-320767 .html