嵌入式tcp双机通信实验报告

嵌入式tcp双机通信实验报告
嵌入式tcp双机通信实验报告

实验报告三

一、实验原理介绍

这次的主要实验内容是:安装Tornado ULIP仿真网卡驱动,启动2个vxSim目标系统,其中一个vxSim为TCP Client,另一个为TCP Server。TCP Server与Client通过socket API进行数据的收发。另外要求在VxWorks中集成target shell组件及ping相关组件,能够在两个vxsim 上互相ping通,验证网络环境。

完成这个实验需要综合Socket、TCP/IP协议等知识来完成。

1. Socket定义

Socket是通过标准的Unix文件描述符和其他程序通信的一个方法。每一个套接字都有一个本地的由操作系统分配的唯一的套接字号。

Socket接口是TCP/IP网络的API,Socket接口定义了许多函数,程序员可以用它们来开发TCP/IP网络上的应用程序。网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。

两个网络程序之间的一个网络连接包括五种信息:通信协议、本地协议地址、本地主机端口、远端主机地址和远端协议端口。Socket数据结构中包含这五种信息。

2. Socket类型

常用的Socket类型有两种:流式Socket(SOCK_STREAM)和数据报式Socket (SOCK_DGRAM)。流式是一种面向连接的Socket,针对于面向连接的TCP服务应用;数据报式Socket是一种无连接的Socket,对应于无连接的UDP服务应用。在本次实验中要用到的就是流式Socket。

3. 网络字节顺序

每一台机器内部对变量的字节存储顺序不同,而网络传输的数据是一定要统一顺序的。所以对内部字节表示顺序与网络字节顺序不同的机器,一定要对数据进行转换。

4. 字节处理函数

Socket地址是多字节数据,不是以空字符结尾的,这和C语言中的字符串是不同的,需要进行处理。

5. IP地址转换

需要将数字点形式表示的字符串IP地址与32位网络字节顺序的二进制形式的IP地址进行转换。

二、代码设计说明

本实验是一个需要使用到客户端/服务器通信模式的问题。主要的设计流程为,底层的网卡驱动安装好后,调用标准的Socket套接字通过TCP/IP 协议进行通信。服务器端等待服务。一旦有客户端的通信请求,如果通信协议符合,则建立连接,进行通信。服务器一方使用TCP套接字与客户端通信。在服务的主循环中,任务tcpServerWorkTask首先读取来自客户端的请求,并想控制台输出客户信息,如果需要,将向客户端发送应答信息。客户端通过控制台提示输入,建立请求报文,然后发送到服务器,如果需要应答,则等待来自服务器端的回应。

(1)服务器端

首先申请一个socket套接字,用bind函数将端口与socket绑定;然后对端口进行监听,等待来自于client的连接申请;连接建立后,接收Client通过socket连接发送来的数据,进

行相应处理并返回处理结果,或者向client发送相应数据;通信结束后中断与Client的连接

(2)客户端

首先建立socket,取得文件描述符,若失败返回错误信息;然后连接到已知地址的Server 端口上;连接建立成功后进行数据通信,向服务器端发送数据,发送完毕后可以选择是否需要服务器端返回回执;通信结束后中断与Server的连接。

三、实验步骤

1、在主机上安装虚拟网卡ULIP

(1)控制面板找到并打开添加硬件选项,点击下一步

(2)搜索最近连接硬件之后,选择yes,点击下一步

(3)从列表中选择添加新硬件设备,单机下一步,选择从列表中安装

(4)在普通硬件类型中,选择网络适配器,点击下一步

(5)选择从磁盘安装,找到Tornado安装目录下的host\x86-win32\bin目录,选择windriver ULIP,点击下一步两次

(6)忽略弹出警告,继续。

(7)在控制面板启动网络连接选项,右键windriver ULIP链接图标,从属性中选择因特网协议(TCP\IP),在其属性中输入你要设置的IP地址和子网掩码,然后应用。可用ping 100.0.0.254验证适配器是否工作正常.

2、激活仿真器和外界的网络通信。

(1)在控制面板中选择管理工具,选择服务,找到routing and remote 服务,激活并且将启动类型变为自动。

3、配置vxsim的网络服务

(1)创建可启动的工程,在vxworks标签中包含“network components”

或者修改tornado\target\config\simpc\config.h

#if FALSE /* ---->将原先的TRUE改成FALSE */

#undef INCLUDE_NETWORK

(2)修改WDB connection。

4、(1)新建一个Bootable的工程,BSP选为simpc,然后编译,如果你想检验一下网络功能,可在workspace的vxworks页的network components->networking protocols ->network applications->ping client点右键include ping client,重新build;

(2)Launch simulator,选择custom-built simulator,浏览选中刚才编译出来的vxworks.exe,processor no.设为0(full simulator可支持16个simulator,并且能够互相通信,它们的processor no.分别是0-15),确定;

(3)Launch target server配置如下:

然后你可以双击窗口右下方的target server图标查看启动情况;也可以通过Tornado菜单(Tools->target server->configure)进行target server的配置并启动它;

(4)如果Target server启动成功,你点launch shell启动一个shell,输入“ping "host 的ip",发送数据的次数”,回车,ping通了就说明网络仿真已经成功;

(5)将所需文件添加到工程,然后build工程。为每一台目标机配置一个target server,然后启动它们。客户端的target server的ip地址设置为“100.0.0.1”,服务器端的target server 的ip地址设置为“100.0.0.2”。为了实现双向通信,必须将build生成的tcpServer.o和tcpClient.o 都分别下载到两台目标机。

四、程序运行结果

1、在一台目标机下下载服务器端的tcpClient.o文件,启动使之运行,然后在shell中查看其运行情况,输入命令如下:sp tcpServer,以查看当前的任务。在另一台目标机上下载tcpClient.o文件。两台目标机的ip分别为100.0.0.1和100.0.0.2。

2、在其中客户端目标机的命令行下输入命令:tcpClient("100.0.0.2")以启动客户端程序,然后输入你要发送的字符等(从100.0.0.1向100.0.0.2发送消息):

3、服务器端的VXsim上显示如下:

4、在两个vxsim上互相ping的结果如下:

(1)客户端:

(2)服务器端

五、程序调试记录

这次的实验比以前两个都要难一些,也占用了较长时间,查找了不少资料。程序的编写没有太大困难,只要按部就班的按照socket的流程来写就可以了。

1、在网卡配置阶段,由于上课没有做好笔记,只根据PPT上的介绍,我并没有找到安装虚拟网卡的地方和步骤,后来在网上下载了,其中有较为详细的介绍,一步步的完成了。

2、target server与网卡的连接。开始建立target server的时候并没有指定其IP地址,就造成了其无法与虚拟网卡相连,一直在出现这样的提示:Connecting to target agent... Error: rpccore backend client Timed out failed.。后来在target server的配置;里新建了两个定义好的target server,每次就不用重复配置了,也不会出错。

3、开始也知道要把两个程序分别下载到两个target server上,但是建立两个target server 的时候总是只有一个可以连接,另一个就会失败。试了不少方法,本来以为是不是两个程序不能在一个project中,后来发现在两个project中也不行。最后才发现要打开两个tornado 程序,分别在其中建立仿真器和target server的连接,然后将两个程序编译后分别下载就好了,和程序在那个project中完全没有关系。

4、在ping的时候,由于不知道正确的语句应该怎么写,一直以为是和Xp的命令行一样的语法,就出了很多错,一般显示如下:ping 100.0.0.254 invalid number: 100.0。开始以为是IP地址没设置正确,改来改去试了很久。后来弄清了正确的语句的语法就可以ping通了。

嵌入式操作系统实验报告

中南大学信息科学与工程学院实验报告 姓名:安磊 班级:计科0901 学号: 0909090310

指导老师:宋虹

目录 课程设计内容 ----------------------------------- 3 uC/OS操作系统简介 ------------------------------------ 3 uC/OS操作系统的组成 ------------------------------ 3 uC/OS操作系统功能作用 ---------------------------- 4 uC/OS文件系统的建立 ---------------------------- 6 文件系统设计的原则 ------------------------------6 文件系统的层次结构和功能模块 ---------------------6 文件系统的详细设计 -------------------------------- 8 文件系统核心代码 --------------------------------- 9 课程设计感想 ------------------------------------- 11 附录-------------------------------------------------- 12

课程设计内容 在uC/OS操作系统中增加一个简单的文件系统。 要求如下: (1)熟悉并分析uc/os操作系统 (2)设计并实现一个简单的文件系统 (3)可以是存放在内存的虚拟文件系统,也可以是存放在磁盘的实际文件系统 (4)编写测试代码,测试对文件的相关操作:建立,读写等 课程设计目的 操作系统课程主要讲述的内容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。 本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统开发的基本技能。 I.uC/OS操作系统简介 μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统内核。它被广泛应用于微处理器、微控制器和数字信号处理器。 μC/OS 和μC/OS-II 是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2KB 。μC/OS-II 已经移植到了几乎所有知名的CPU 上。 严格地说uC/OS-II只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全 可以由用户自己根据需要分别实现。 uC/OS-II目标是实现一个基于优先级调度的抢占式的实时内核,并在这个内核之上提供最基本的系统服务,如信号量,邮箱,消息队列,内存管理,中断管理等。 uC/OS操作系统的组成 μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。如下图:

C51单片机实验报告流水灯交通灯定时器双机交互时钟

C51单片机实验报告流水灯交通灯定时器双机交互时钟学号:31100800 班级:自动化10 班姓名:张指导老师:胡 2019.12 单片机核心板实验要求 一、流水灯实验 1 、实验目的: 1 ) 简单I/O 引脚的输出 2 ) 掌握软件延时编程方法 3 ) 简单按键输入捕获判断2 、完成功能要求 1 ) 开机是点亮1 2 发光二极管,闪烁三下2 ) 按照顺时针循环依次点亮发光二极管 3 ) 通过按键将发光二极管的显示改为顺逆时针方式 二、定时器或实时时钟实验 1 、实验目的 1 ) 数码管动态显示技术 2 ) 定时器的应用 3 ) 按键功能定义2 、完成功能要求 1 ) 通过按键可以设定定时时间,启动定时器,定时时间到,让1 2 个发光二极管闪烁,完成定时 器功能。 2 ) 实时时钟,可以设定当前时间,完成钟表功能(四位数码管分别 显示分钟和秒)。 上述二个功能至少完成一种功能。 三、双机通信实验 1 、实验目的 UART 串行通信接口技术应用2 、完成功能要求 用两片核心板之间实现串行通信,将按键信息互发到对方数码管显示。 四、交通灯实验 1 、实验目的

1 )按键、数码管、发光二极管综合应用编程技术 2 )数据存储于EEPRO的技术 (也可以不使用) 3 )定时中断技术 4 )按键中断技术 2 、完成功能要求 1 )对每个路口(主干道、次干道)的绿灯时间,及黄灯时间的设定。 2 )设定参数掉电后不丢失(如果不使用EEPRO,此功能可以不实现)。 3 )紧急按键功能,当按下该键时,所有路口变成红灯,相当于交警指挥特殊车辆通过。再按该键,恢复正常显示。 实验一流水灯实验 一、实验目的 1 )简单I/O 引脚的输出 2 )掌握软件延时编程方法 3 )简单按键输入捕获判断二、实验实现的功能 1 )开机是点亮12发光二极管,闪烁三下 2 )按照顺时针循环依次点亮发光二极管 3 )通过按键将发光二极管的显示改为顺逆时针方式三、 系统硬件设计 1 )如单片机核心板所示的硬件电路。四、系统软件设计 设计思路: 1 )定义数组使得调用数组可以使led 灯能够顺时针和逆时针显示; 2 )将按键的输入端全部置零,做单独按键使用; 3 )利用“ while ”循环使得数码管可以闪烁三下; 4 )利用“ for ”循环使得小灯能够依次点亮一个周期; 5 )将以上思想汇总,编程,实现功能。程序详见附录。 五、实验过程中遇到的问题及解决方法 1 )刚开始不知道怎样只设置一个管脚(如POP),查阅相关资料后知道表示方法, 并学会了用“ sbit ”语句定义,方便多了。 2)对于C语言的很多东西都不知道,语句的用法也不清楚,重新看了C语言,用到什 么看什么很快就懂了。 3 )主程序中没有用延时程序和死循环导致led 不能点亮,请教同学以后才知道。 4 )对于按键只是不了解,看书又很模糊,看了网上“ KINGST 工作室”也就是“手把手教你学单片机”的视频后很清楚明了,之后好多东西也是从上边学到,就不再赘述了。 指导老师签字:日期: 实验二定时器或实时时钟实验 一、实验目的 1 )数码管动态显示技术 2 )定时器的应用 3 )按键功能定义二、实验实现的功能 1 )通过按键可以设定定时时间,启动定时器,定时时间到,让12个发 光二极管闪烁,完成定时器功能。 2 )实时时钟,可以设定当前时间,完成钟表功能(四位数码管

通信电子线路实验报告4

大连理工大学 本科实验报告 课程名称:通信电子线路实验 学院:电子信息与电气工程学部专业:电子信息工程 班级:电子0904 学号: 200901201 学生姓名:朱娅 2011年11月20日

实验四、调幅系统实验及模拟通话系统 一、实验目的 1.掌握调幅发射机、接收机的整机结构和组成原理,建立振幅调制与 解调的系统概念。 2.掌握系统联调的方法,培养解决实际问题的能力。 3.使用调幅实验系统进行模拟语音通话实验。 二、实验内容 1.实验内容及步骤,说明每一步骤线路的连接和波形 (一)调幅发射机组成与调试 (1)通过拨码开关S2 使高频振荡器成为晶体振荡器,产生稳定的等幅高频振荡,作为载波信号。拨码开关S3 全部开路,将拨码开关S4 中“3”置于“ON”。用示波器观察高频振荡器后一级的射随器缓冲输出,调整电位器VR5,使输出幅度为0.3V左右。将其加到由MC1496 构成的调幅器的载波输入端。 波形:此时示波器上,波形为一正弦波,f=10.000MHz,Vpp=0.3V。 (2)改变跳线,将低频调制信号(板上的正弦波低频信号发生器)接至模拟乘法器调幅电路的调制信号输入端,用示波器观察J19 波形,调VR9,使低频振荡器输出正弦信号的峰-峰值Vp-p 为0.1~0.2V. 波形:此时示波器上,波形为一正弦波,f=1.6kHz,Vpp=0.2V。 (3)观察调幅器输出,应为普通调幅波。可调整VR8、VR9 和VR11,

使输出的波形为普通的调幅波(含有载波,m 约为30%)。 (4)将普通的调幅波连接到前置放大器(末前级之前的高频信号缓冲器)输入端,观察到放大后的调幅波。 波形:前置放大后的一调幅波,包络形状与调制信号相似,频率特性为载波信号频率。f?=1.6kHz,Vpp=0.8V,m≈30%。 (5)调整前置放大器的增益,使其输出幅度1Vp-p 左右的不失真调幅波,并送入下一级高频功率放大电路中。 (6)高频功率放大器部分由两级组成,第一级是甲类功放作为激励级,第二级是丙类功放。给末级丙类功放加上+12V 电源,调节VR4 使J8(JF.OUT)输出6Vp-p左右不失真的放大信号,在丙类功放的输出端,可观察到经放大后的调幅波,改变电位器VR6 可改变丙类放大器的增益,调节CT2 可以看到LC 负载回路调谐时对输出波形的影响。 波形:此时示波器上为放大后的调幅波,f?=1.6kHz,Vpp=8V,m≈30%。 (二)调幅接收机的组成与调试 从GP-4 实验箱的系统电路图可以看出调幅接收机部分采用了二次变频电路,其中频频率分别为:第一中频6.455MHz,第二中频455kHz。由于该二次变频接收机的两个本机振荡器均采用了石英晶体振荡器,其中第一本振频率16.455MHz,第二本振频率6.000MHz,也就是说本振频率不可调。这样实验箱的调幅接收机可以接收的频率就因为第一本振频率不可调而被固定下来,即该机可以接收的已调波的中心频率应该为10.000MHz(第1本振频率-第1中频频率 = 16.455MHz - 6.455MHz =

通信工程专业综合实验报告..

通信工程专业综合实验 实验报告 (移动通信系统和网络协议部分) 姓名: 学号: 班级: 指导教师:

实验一:主被叫实验 一、实验目的 1、掌握移动台主叫正常接续时的信令流程。 2、了解移动台主叫时被叫号码为空号时的信令流程。 3、了解移动台主叫时被叫用户关机或处于忙状态时的信令流程。 4、了解移动台主叫时被叫用户振铃后长时间不接听的信令流程。 5、掌握移动台被叫正常接续时的信令流程。 6、掌握通话结束呼叫释放时的信令流程。 7、了解被叫用户振铃后长时间不接听时移动台被叫的信令流程。 二、实验仪器 1、移动通信实验箱一台; 2、台式计算机一台; 3、小交换机一台: 三、实验原理 处于开机空闲状态的移动台要建立与另一用户的通信,在用户看来只要输入被叫号码,再按发送键,移动台就开始启动程序直到电话拨通。实际上,移动台和网络要经许多步骤才能将呼叫建立起来。以移动台和移动台进行通信为例,就包括主叫移动台和主叫MSC建立信令链接、主叫MSC通过被叫电话号码对被叫用户进行选路,即寻找被叫所处的MSC、被叫MSC寻呼被叫MS并建立信令连接过程等三个过程。本实验主要是让学生掌握移动通信中移动台主叫时MS和MSC之间的信令过程、以及为了完成通话连接,主叫MSC和被叫MSC之间的信令过程(即七号信令中的部分消息)。 四、实验内容 1、记录正常呼叫的过程中,移动台主叫部分和被叫部分的信令流程 2、记录被叫关机时,移动台主叫部分的信令流程 3、记录被叫振铃后无应答时,移动台主叫部分和被叫部分的信令流程 4、记录被叫号码无效时,移动台主叫的信令流程 5、记录通话结束后,呼叫链路释放的信令流程 五、实验步骤 主叫实验: 1、通过串行口将实验箱和电脑连接,给实验箱上电。将与实验箱相连的电脑上的学生平台程序打开。在主界面上双击“主叫实验”图标,进入此实验界面。 2、点击“初始化”键,看到消息框中出现“初始化”完成。再点击“开机”键,从而使移动台处于开机状态。

嵌入式操作系统实验报告

中南大学信息科学与工程学院实验报告 :安磊 班级:计科0901 学号: 0909090310 指导老师:宋虹

目录 课程设计容 ----------------------------------- 3 uC/OS操作系统简介 ------------------------------------ 3 uC/OS操作系统的组成 ------------------------------ 3 uC/OS操作系统功能作用 ---------------------------- 4 uC/OS文件系统的建立 ---------------------------- 6 文件系统设计的原则 ------------------------------ 6 文件系统的层次结构和功能模块 --------------------- 6 文件系统的详细设计 -------------------------------- 8 文件系统核心代码 --------------------------------- 9 课程设计感想 ------------------------------------- 11 附录 -------------------------------------------------- 12

课程设计容 在uC/OS操作系统中增加一个简单的文件系统。 要求如下: (1)熟悉并分析uc/os操作系统 (2)设计并实现一个简单的文件系统 (3)可以是存放在存的虚拟文件系统,也可以是存放在磁盘的实际文件系统 (4)编写测试代码,测试对文件的相关操作:建立,读写等 课程设计目的 操作系统课程主要讲述的容是多道操作系统的原理与技术,与其它计算机原理、编译原理、汇编语言、计算机网络、程序设计等专业课程关系十分密切。 本课程设计的目的综合应用学生所学知识,建立系统和完整的计算机系统概念,理解和巩固操作系统基本理论、原理和方法,掌握操作系统开发的基本技能。 I.uC/OS操作系统简介 μC/OS-II是一种可移植的,可植入ROM的,可裁剪的,抢占式的,实时多任务操作系统核。它被广泛应用于微处理器、微控制器和数字信号处理器。 μC/OS 和μC/OS-II 是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。用户只要有标准的ANSI 的C交叉编译器,有汇编器、连接器等软件工具,就可以将μC/OS-II嵌入到开发的产品中。μC/OS-II 具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小核可编译至 2KB 。μC/OS-II 已经移植到了几乎所有知名的CPU 上。 严格地说uC/OS-II只是一个实时操作系统核,它仅仅包含了任务调度,任务管理,时间管理,存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全可以由用户自己根据需要分别实现。 uC/OS-II目标是实现一个基于优先级调度的抢占式的实时核,并在这个核之上提供最基本的系统服务,如信号量,,消息队列,存管理,中断管理等。 uC/OS操作系统的组成 μC/OS-II可以大致分成核心、任务处理、时间处理、任务同步与通信,CPU的移植等5个部分。如下图:

中南大学通信电子线路实验报告

中南大学 《通信电子线路》实验报告 学院信息科学与工程学院 题目调制与解调实验 学号 专业班级 姓名 指导教师

实验一振幅调制器 一、实验目的: 1.掌握用集成模拟乘法器实现全载波调幅和抑止载波双边带调幅的方法。 2.研究已调波与调制信号及载波信号的关系。 3.掌握调幅系数测量与计算的方法。 4.通过实验对比全载波调幅和抑止载波双边带调幅的波形。 二、实验内容: 1.调测模拟乘法器MC1496正常工作时的静态值。 2.实现全载波调幅,改变调幅度,观察波形变化并计算调幅度。 3.实现抑止载波的双边带调幅波。 三、基本原理 幅度调制就是载波的振幅(包络)受调制信号的控制作周期性的变化。变化的周期与调制信号周期相同。即振幅变化与调制信号的振幅成正比。通常称高频信号为载波信号。本实验中载波是由晶体振荡产生的10MHZ高频信号。1KHZ的低频信号为调制信号。振幅调制器即为产生调幅信号的装置。 在本实验中采用集成模拟乘法器MC1496来完成调幅作用,图2-1为1496芯片内部电路图,它是一个四象限模拟乘法器的基本电路,电路采用了两组差动对由V1-V4组成,以反极性方式相连接,而且两组差分对的恒流源又组成一对差分电路,即V5与V6,因此恒流源的控制电压可正可负,以此实现了四象限工作。D、V7、V8为差动放大器V5与V6的恒流源。进行调幅时,载波信号加在V1-V4的输入端,即引脚的⑧、⑩之间;调制信号加在差动放大器V5、V6的输入端,即引脚的①、④之间,②、③脚外接1KΩ电位器,以扩大调制信号动态范围,已调制信号取自双差动放大器的两集电极(即引出脚⑹、⑿之间)输出。

图2-1 MC1496内部电路图 用1496集成电路构成的调幅器电路图如图2-2所示,图中VR8用来调节引出脚①、④之间的平衡,VR7用来调节⑤脚的偏置。器件采用双电源供电方式(+12V,-9V),电阻R29、R30、R31、R32、R52为器件提供静态偏置电压,保证器件内部的各个晶体管工作在放大状态。 四、实验结果 1. ZD.OUT波形: 2. TZXH波形:

通信技术综合实验报告

综合实验报告 ( 2010-- 2011年度第二学期) 名称:通信技术综合实验题目:SDH技术综合实验院系:电子与通信工程系班级: 学号: 学生姓名: 指导教师: 设计周数:两周 成绩: 日期:2011年 6 月

A C B D S1 P1S1 P1 主用 备用 AC AC 环形保护组网配置实验 一、实验的目的与要求 1、实验目的: 通过本实验了解2M 业务在环形组网方式时候的配置。 2、实验要求: 在SDH1、SDH2、SDH3配置成环网,开通SDH2到SDH3两个节点间的2M 业务,并提供环网保护机制。 1)掌握二纤单向保护环的保护机理及OptiX 设备的通道保护机理。 2)掌握环形通道保护业务配置方法。采用环形组网方式时,提供3套SDH 设备,要求配置成虚拟单向通道保护环。 3)了解SDH 的原理、命令行有比较深刻,在做实验之前应画出详细的实际网络连接图,提交实验预习报告,要设计出实验实现方案、验证方法及具体的步骤。 4)利用实验平台自行编辑命令行并运行验证实验方案,进行测试实验是否成功。 二、实验正文 1.实验原理 单向通道保护环通常由两根光纤来实现,一根光纤用于传业务信号,称S 光纤;另一根光纤传相同的信号用于保护,称P 光纤。单向通道保护环使用“首端桥接,末端倒换”结构如下图所示: 业务信号和保护信号分别由光纤S1和P1携带。例如,在节点A ,进入环以节点C 为目的地的支路信号(AC )同时馈入发送方向光纤S1和P1。其中,S1光纤按ABC 方向将业务信号送至节点C ,P1光纤按ADC 方向将同样的信号作为保护信号送至分路节点C 。接收端分路节点C 同时收到两个方向支路信号,按照分路通道信号的优劣决定选其中一路作为分路信号,即所谓末端选收。正常情况下,以S1光纤送来信号为主信号。同时,从C 点插入环以节点A 为目的地的支路信号(CA)按上述同样方法送至节点A 。

嵌入式系统实验报告

实验报告 课程名称:嵌入式系统 学院:信息工程 专业:电子信息工程 班级: 学生姓名: 学号: 指导教师: 开课时间:学年第一学期

实验名称:IO接口(跑马灯) 实验时间:11.16 实验成绩: 一、实验目的 1.掌握 STM32F4 基本IO口的使用。 2.使用STM32F4 IO口的推挽输出功能,利用GPIO_Set函数来设置完成对 IO 口的配置。 3.控制STM32F4的IO口输出,实现控制ALIENTEK 探索者STM32F4开发板上的两个LED实现一个类似跑马灯的效果。 二、实验原理 本次实验的关键在于如何控制STM32F4的IO口输出。IO主要由:MODER、OTYPER、OSPEEDR、PUPDR、ODR、IDR、AFRH和AFRL等8个寄存器的控制,并且本次实验主要用到IO口的推挽输出功能,利用GPIO_Set函数来设置,即可完成对IO口的配置。所以可以通过了开发板上的两个LED灯来实现一个类似跑马灯的效果。 三、实验资源 实验器材: 探索者STM32F4开发板 硬件资源: 1.DS0(连接在PF9) 2.DS1(连接在PF10) 四、实验内容及步骤 1.硬件设计 2.软件设计 (1)新建TEST工程,在该工程文件夹下面新建一个 HARDWARE文件夹,用来存储以后与硬件相关的代码。然后在 HARDWARE 文件夹下新建一个LED文件夹,用来存放与LED相关的代码。 (2)打开USER文件夹下的test.uvproj工程,新建一个文件,然后保存在 LED 文件夹下面,保存为 led.c,在led.c中输入相应的代码。

(3)采用 GPIO_Set 函数实现IO配置。LED_Init 调用 GPIO_Set 函数完成对 PF9 和 PF10 ALIENTEK 探索者 STM32F407 开发板教程 119 STM32F4 开发指南(寄存器版) 的模式配置,控制 LED0 和 LED1 输出 1(LED 灭),使两个 LED 的初始化。 (4)新建一个led.h文件,保存在 LED 文件夹下,在led.h中输入相应的代码。 3.下载验证 使用 flymcu 下载(也可以通过JLINK等仿真器下载),如图 1.2所示: 图1.2 运行结果如图1.3所示:

双机通讯实验报告

单片机实验报告 (自动化15级) 实验名称:串行通讯实验

一、实验目的 1.掌握单片机串行口工作方式; 2.掌握双机通讯的接口电路设计及程序设计。 二、实验设备 1. PC机; 2.单片机最小系统教学实验模块; 3. 数码管显示模块 三、实验容 1.双机通信 由两套单片机试验装置(两个实验小组)共同完成该实验。我们U1为甲机,U2为乙机。甲机发送本机(学生本人)学号后8位给乙机,乙机接收该8位数据,并显示在8位数码管上。电路如图1所示。 要求串行通信方式为方式1,波特率为2400bit/s,不加倍,单片机外部晶振频率为11.0592M。 图1 双机通信原理示意图

附加要求:乙机接收完毕后,将本机(乙机)的学号后8位发送回甲机,甲机显示在数码管上。 2.单片机与PC机通信 单片机向PC机发送数据。单片机向PC机重复发送本机(学生本人)学号,发送波特率为1200,采用方式1,单片机外部晶振频率为11.0592M。 四、实验原理 4.1 串行通讯的方式 在串行通讯中,有两种基本的通讯方式:异步通讯,同步通讯。 异步串行通讯规定了字符数据的传送格式,既每个数据以相同的帧格式发送。每个帧信息由起始位、数据位、奇偶校验位和停止位组成。本实验主要学习异步通讯的实现方法。 在异步通讯中,每一个字符要用起始位和停止位作为字符开始和结束的标志,以至占用了时间。所以在数据块传送时,为了提高通讯速度,常去掉这些标志,而采用同步通讯。同步通讯不像异步通讯那样,靠起始位在每个字符数据开始时发送和接受同步。而是通过同步字符在每个数据块传送开始时使收/发双方同步。 按照通讯方式,又可将数据传输线路分成三种:单工方式、半双工方式、全双工方式。(1)单工方式 在单工方式下,通讯线的一端联接发送器,另一端联接接收器,它们形成单向联接,只允许数据按照一个固定的方向传送。 (2)半双工方式 在半双工方式下,系统中的每个通讯设备都由一个发送器和一个接收器组成,通过收发开关接到通讯线路上,如图33-1所示。在这种方式中,数据能从A站送到B站,也能从B站传送到A站,但是不能同时在二个方向上传送,即每次只能一个站发送,另一个站接收。 图2 半双工通讯方式 图33-1中的收发开关并不是实际的物理开关,而是由软件控制的电子开关,由通讯线两端的半双工通讯协议进行功能切换。 (3)全双工(Full—duplex)方式 虽然半双工方式比单工方式灵活,但它的效率依然较低。从发送方式切换到接收方式所需的时间一般大约为数毫秒,这么长的时间延迟在对时间较敏感的交互式应用(例如远程检测监视控制系统)中是无法容忍的。重复线路切换所引起的延迟积累,正是半双工通信协议效率不高的主要原因。 半双工的这种缺点是可以避免的,而且方法很简单,即采用信道划分技术。在图33-2 的全双工连接中,不是交替发送和接收,而是可同时发送和接收。全双工通讯系统的每一端都包含发送器和接收器,数据可同时在两个方向上传送。

通信电子线路Multisim仿真实验报告

通信电子线路实验报告Multisim调制电路仿真

目录 一、综述 .......................... 错误!未定义书签。 二、实验内容 ...................... 错误!未定义书签。 1.常规调幅AM ................... 错误!未定义书签。 (1)基本理论.................... 错误!未定义书签。 (2)Multisim电路仿真图 ........ 错误!未定义书签。 (3)结论: ...................... 错误!未定义书签。 2.双边带调制DSB ................ 错误!未定义书签。 (1)基本理论.................... 错误!未定义书签。 (2)Multisim电路仿真图 ........ 错误!未定义书签。 3.单边带调制SSB ................ 错误!未定义书签。 (1)工作原理.................... 错误!未定义书签。 (2)Multisim电路仿真图 ........ 错误!未定义书签。 4.调频电路FM ................... 错误!未定义书签。 (1)工作原理.................... 错误!未定义书签。 (2)Multisim电路仿真图 ........ 错误!未定义书签。 5.调相电路PM ................... 错误!未定义书签。 (1)工作原理.................... 错误!未定义书签。 (2)Multisim电路仿真图............ 错误!未定义书签。 三、实验感想 ...................... 错误!未定义书签。

光通信实验报告

竭诚为您提供优质文档/双击可除 光通信实验报告 篇一:光通信实验报告 信息与通信工程学院 光纤通信实验报告 班姓学 级:名:号: 班内序号:17 日 期:20XX年5月 一、oTDR的使用与测量 1、实验原理 oTDR使用瑞利散射和菲涅尔反射来表征光纤的特性。瑞利散射是由于光信号沿着光纤产生无规律的散射而形成。oTDR就测量回到oTDR端口的一部分散射光。这些背向散射信号就表明了由光纤而导致的衰减(损耗/距离)程度。形成的轨迹是一条向下的曲线,它说明了背向散射的功率不断减小,这是由于经过一段距离的传输后发射和背向散射的信

号都有所损耗。 给定了光纤参数后,瑞利散射的功率就可以标明出来,如果波长已知,它就与信号的脉冲宽度成比例:脉冲宽度越长,背向散射功率就越强。瑞利散射的功率还与发射信号的波长有关,波长较短则功率较强。也就是说用1310nm信号产生的轨迹会比1550nm信号所产生的轨迹的瑞利背向散射要高。 在高波长区(超过1500nm),瑞利散射会持续减小,但另外一个叫红外线衰减(或吸收)的现象会出现,增加并导致了全部衰减值的增大。因此,1550nm是最低的衰减波长;这也说明了为什么它是作为长距离通信的波长。很自然,这些现象也会影响到oTDR。作为1550nm波长的oTDR,它也具有低的衰减性能,因此可以进行长距离的测试。而作为高衰减的1310nm或1625nm波长,oTDR的测试距离就必然受到限制,因为测试设备需要在oTDR轨迹中测出一个尖锋,而且这个尖锋的尾端会快速地落入到噪音中。 菲涅尔反射是离散的反射,它是由整条光纤中的个别点而引起的,这些点是由造成反向系数改变的因素组成,例如玻璃与空气的间隙。在这些点上,会有很强的背向散射光被反射回来。因此,oTDR就是利用菲涅尔反射的信息来定位连接点,光纤终端或断点。 oTDR的工作原理就类似于一个雷达。它先对光纤发出一

南邮嵌入式系统B实验报告2016年度-2017年度-2

_* 南京邮电大学通信学院 实验报告 实验名称:基于ADS开发环境的程序设计 嵌入式Linux交叉开发环境的建立 嵌入式Linux环境下的程序设计 多线程程序设计 课程名称嵌入式系统B 班级学号 姓名 开课学期2016/2017学年第2学期

实验一基于ADS开发环境的程序设计 一、实验目的 1、学习ADS开发环境的使用; 2、学习和掌握ADS环境下的汇编语言及C语言程序设计; 3、学习和掌握汇编语言及C语言的混合编程方法。 二、实验内容 1、编写和调试汇编语言程序; 2、编写和调试C语言程序; 3、编写和调试汇编语言及C语言的混合程序; 三、实验过程与结果 1、寄存器R0和R1中有两个正整数,求这两个数的最大公约数,结果保存在R3中。 代码1:使用C内嵌汇编 #include int find_gcd(int x,int y) { int gcdnum; __asm { MOV r0, x MOV r1, y LOOP: CMP r0, r1 SUBLT r1, r1, r0 SUBGT r0, r0, r1 BNE LOOP MOV r3, r0 MOV gcdnum,r3 //stop // B stop // END } return gcdnum; } int main() { int a; a = find_gcd(18,9);

printf("gcdnum:%d\n",a); return 0; } 代码2:使用纯汇编语言 AREA example1,CODE,readonly ENTRY MOV r0, #4 MOV r1, #9 start CMP r0, r1 SUBLT r1, r1, r0 SUBGT r0, r0, r1 BNE start MOV r3, r0 stop B stop END 2、寄存器R0 、R1和R2中有三个正整数,求出其中最大的数,并将其保存在R3中。 代码1:使用纯汇编语言 AREA examp,CODE,READONL Y ENTRY MOV R0,#10 MOV R1,#30 MOV R2,#20 Start CMP R0,R1 BLE lbl_a CMP R0,R2 MOVGT R3,R0 MOVLE R3,R2 B lbl_b lbl_a CMP R1,R2 MOVGT R3,R1 MOVLE R3,R2 lbl_b B . END 代码2:使用C内嵌汇编语言 #include int find_maxnum(int a,int b,int c)

实验报告双机通信及PCB设计

学生实验报告学院: 课程名称: 专业班级: 姓名: 学号:

学生实验报告 一、实验综述 1、实验目的及要求 熟悉51单片机的基本输入与输出应用,掌握Proteus ISIS模块的原理图推图方法及单片机系统仿真运行方法。 1、按照P241图A、72绘制电路原理图1,将第6章实例2中2#机的查询法 收发程序改为中断法(1#机发送过程不变)并实现原有功能; 2、按照图A7、3与表A7、3绘制电路原理图2,并定义电源端口; 3、采用ARES软件完成电路原理图2的PCB设计,形成光绘(Gerber)输出文 件,其中BCD数码管需按照图A、74所示尺寸进行PCB自定义封装; 4、完成实验报告 2、实验仪器、设备或软件 电脑 Keil4 Proteus ISIS 二、实验过程(实验步骤、记录、数据、分析) 实验步骤: 1、提前阅读与实验六相关的阅读材料 2、完成电路原理图的绘制 3、编写与编译程序 4、利用ISIS调试功能检查程序的语法与逻辑错误 5、观察仿真结果,检验程序与电路的正确性 程序: 主机: #include unsigned char code led[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; void delay(unsigned int time) { unsigned int j=0; for(;time>0;time--)

for(j=0;j<125;j++); } void main(void) { unsigned char counter=0;//定义计数器 TMOD=0x20; //T1定时方式2 TH1=TL1=0xf4; //2400b/s PCON=0; //波特率不加倍 SCON=0x50; //串口方式1,TI与RI清零,允许接收TR1=1; //启动T1 while(1) { SBUF=counter; //发送联络信号 while(TI==0); //等待发送完成 TI=0; //清除TI标志位 while(RI==0); //等待乙机回答 RI=0; if(SBUF==counter) //若返回值与发送值相同,组织新数据 { P2=led[counter];//显示已发送值 if(++counter>15) //修正计数器值 counter=0; delay(500); } } } 从机: #include unsigned char code led[]={0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71}; unsigned char receiv=0;//定义计数器 void display() interrupt 4 { if(RI=1) { RI=0; //清RI标志位 receiv=SBUF; //取得接收值 SBUF=receiv; //结果返送主机 if(TI==0); //等待发送结束 TI=0; //清TI标志位 P2=led[receiv]; //显示已发送值 } } void main(void)

通信电子线路实物实验报告

东南大学电工电子实验中心 实验报告 课程名称:电子电路与综合实验 第一次实物实验 院(系):信息科学与工程学院专业:信息工程姓名:陈金炜学号:04013130 实验室:高频实验室实验组别: 同组人员:陈秦郭子衡邹俊昊实验时间:2015年11月21日评定成绩:审阅教师:

实验一常用仪器使用 一、实验目的 1. 通过实验掌握常用示波器、信号源和频谱仪等仪器的使用,并理解常用仪器的基本工作 原理; 2.通过实验掌握振幅调制、频率调制的基本概念。 二、实验仪器 示波器(带宽大于 100MHz) 1台 万用表 1台 双路直流稳压电源 1台 信号发生器 1台 频谱仪 1台 多功能实验箱 1 套 多功能智能测试仪1 台 三、实验内容 1、说明频谱仪的主要工作原理,示波器测量精度与示波器带宽、与被测信号频率之间关系。 答: (1)频谱仪结构框图为: 频谱仪的主要工作原理: ①对信号进行时域的采集,对其进行傅里叶变换,将其转换成频域信号。这种方法对于AD 要求很高,但还是难以分析高频信号。

②通过直接接收,称为超外差接收直接扫描调谐分析仪。即:信号通过混频器与本振混频后得到中频,采用固定中频的办法,并使本振在信号可能的频谱范围内变化。得到中频后进行滤波和检波,就可以获取信号中某一频率分量的大小。 (2)示波器的测量精度与示波器带宽、被测信号频率之间的关系: 示波器的带宽越宽,在通带内的衰减就越缓慢; 示波器带宽越宽,被测信号频率离示波器通带截止频率点就越远,则测得的数据精度约高。 2、画出示波器测量电源上电时间示意图,说明示波器可以捕获电源上电上升时间的工作原理。 答: 上电时间示意图: 工作原理: 捕获这个过程需要示波器采样周期小于过渡时间。示波器探头与电源相连,使示波器工作于“正常”触发方式,接通电源后,便有电信号进入示波器,由于示波器为“正常”触发方式,所以在屏幕上会显示出电势波形;并且当上电完成后,由于没有触发信号,示波器将不再显示此信号。这样,就可以利用游标读出电源上电的上升时间。 3、简要说明在FM 调制过程中,调制信号的幅度与频率信息是如何加到FM 波中的? 答: 载波的瞬时角频率为()()c f t k u t ωωΩ=+,(其中f k 为与电路有关的调频比例常数) 已调的瞬时相角为00 t ()()t t c f t dt t k u t dt θωωθΩ =++? ?()= 所以FM 已调波的表达式为:000 ()cos[()]t om c f u t U t k u t dt ωθΩ =++? 当()cos m u t U t ΩΩ=Ω时,00()cos[sin ]om c f u t U t M t ωθ=+Ω+ 其中f M 为调制指数其值与调制信号的幅度m U Ω成正比,与调制信号的角频率Ω反比,即 m f f U M k Ω=Ω 。这样,调制信号的幅度与频率信息是已加到 FM 波中。

通信技术实训报告

南昌工程学院 《通信技术》实训报告 系院信息工程学院 专业通信工程 班级 学生姓名 学号 实习地点 指导教师 实习起止时间:2014 年 6 月9 日至2014 年6 月20 日

目录 一、实训时间 (3) 二、实训地点 (3) 三、实训目的 (3) 四、实训情况简介 (3) 五、实训内容 (4) 六、实训小结或体会 (10)

一、实训时间:从2014 年6 月9 日至2014年6 月20 日 二、实训地点: 三、实训目的 通过本实训了解2M业务在点对点组网方式时候的配置。通过本实训了解2M业务在链型组网方式时候的配置。通过本实训了解2M业务在环形组网方式时候的配置。通过本次实训了解MGW及MSCS数据配置。 SDH技术的诞生有其必然性,随着通信的发展,要求传送的信息不仅是话音,还有文字、数据、图像SDH技术和视频等。加之数字通信和计算机技术的发展,在70至80年代,陆续出现了T1(DS1)/E1载波系统(1.544/2.048Mbps)、X.25帧中继、ISDN(综合业务数字网) 和FDDI(光纤分布式数据接口)等多种网络技术。随着信息社会的到来,人们希望现代信息传输网络能快速、经济、有效地提供各种电路和业务,而上述网络技术由于其业务的单调性,扩展的复杂性,带宽的局限性,仅在原有框架内修改或完善已无济于事。SDH就是在这种背景下发展起来的。在各种宽带光纤接入网技术中,采用了SDH技术的接入网系统是应用最普遍的。SDH的诞生解决了由于入户媒质的带宽限制而跟不上骨干网和用户业务需求的发展,而产生了用户与核心网之间的接入"瓶颈"的问题,同时提高了传输网上大量带宽的利用率。SDH技术自从90年代引入以来,至今已经是一种成熟、标准的技术,在骨干网中被广泛采用,且价格越来越低,在接入网中应用可以将SDH技术在核心网中的巨大带宽优势和技术优势带入接入网领域,充分利用SDH 同步复用、标准化的光接口、强大的网管能力、灵活网络拓扑能力和高可靠性带来好处,在接入网的建设发展中长期受益。我们了解SDH的光传输及MGW及MSCS数据配置对我们加深理论知识理解有帮助。 四、实训情况简介 经学校安排, 于2014年6月9号至2014年6月20号期间在电子信息楼B404进行了实训,实训工作内容为SDH点对点组网配置实验,SDH链型组网配置实验,SDH环形组网配置实验以及MGW和MSCS数据配置实验。现总结如下: 实验进行了两周,第一周是移动数据配置,第二周是光传输实验,每次老师先给我们讲解原理,还有注意事项等,我了解了原理之后按照指导书在配置环境下按指导书配置。配置

嵌入式系统实验实验报告

嵌入式系统实验实验报告 一、实验目的 1.基本实验

. Word 资料搭建PXA270嵌入式LINUX开发软硬件环境;安装LINUX操 作系统;安装与配置建立宿主机端交叉编译调试开发环境;配置宿主机 PC 机端的minicom(或超级终端)、TFTP服务、NFS服务,使宿主PC机与PXA270开发板可以通过串口通讯,并开通TFTP 和NFS服务。 2.人机接口 键盘驱动;LCD控制;触摸屏数据采集与控制实验; 3.应用实验 完成VGA显示;Web服务器实验;网络文件传输实验;多线程应用实验。 4.扩展应用实验 完成USB摄像头驱动与视频采集;GPS实验;GSM/GPRS通讯;视频播放移植;USB蓝牙设备无线通讯;NFS文件服务器;蓝牙视频文件服务器。 5.QT实验 完成基本嵌入式图形开发环境搭建;“Hello world!”QT初探;创建一个窗口并添加按钮;对象通信:Signal和Slot;菜单和快捷键;工具条和状态栏;鼠标和键盘事件;对话框;QT的绘图;俄罗斯方块;基于QT的GSM手机在嵌入式LINUX下的设计与实现。 二、实验内容 1.人机接口实验 实验十九键盘驱动实验 ?实验目的:矩阵键盘驱动的编写

?实验内容:矩阵键盘驱动的编写 ?作业要求:完成键盘加减乘除运算 ?实验作业源码及注释: #INCLUDE #INCLUDE #INCLUDE #INCLUDE #INCLUDE #INCLUDE #DEFINE DEVICE_NAME “/DEV/KEYBOARD” INT MAIN(VOID){ INT FD; INT RET; UNSIGNED CHAR BUF[1]; INT I,F,J; DOUBLE X; INT A[2]={0}; CHAR PRE_SCANCODE=0XFF; FD=OPEN(DEVICE_NAME,O_RDWR); IF(FD==-1)PRINTF(“OPEN DEVICE %S ERROR\N”,DEVICE_NAME); ELSE{ BUF[0]=0XFF; I=0;F=0; WHILE(1){ READ(FD,BUF,1);

串口通信实验报告全版.doc

实验三双机通信实验 一、实验目的 UART 串行通信接口技术应用 二、实验实现的功能 用两片核心板之间实现串行通信,将按键信息互发到对方数码管显示。 三、系统硬件设计 (1)单片机的最小系统部分 (2)电源部分 (3)人机界面部分

数码管部分按键部分 (4)串口通信部分 四、系统软件设计 #include #define uchar unsigned char #define uint unsigned int void send(); uchar code0[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//0-9的数码管显示 sbit H1=P3^6; sbit H2=P3^7;

sbit L1=P0^5; sbit L2=P0^6; sbit L3=P0^7; uint m=0,i=0,j; uchar temp,prt; /***y延时函数***/ void delay(uint k) { uint i,j; //定义局部变量ij for(i=0;i

{ m=1; //KEY1键按下 return(m); } if(H2==0) { m=4; //KEY4键按下 return(m); } } } if(L2==0) { delay(5); if (L2==0) { L2=0;H1=1;H2=1; if(H1==0) { m=2; //KEY2键按下 return(m); } if(H2==0) { m=5; //KEY5键按下 return(m); } } } if(L3==0) { delay(5); if (L3==0) { L3=0;H1=1;H2=1; if(H1==0) { m=3; //KEY3键按下

相关文档
最新文档