一. 实验目的 1、加深理解TCP报文结构 2、领会TCP协议通信机制 3、通过跟踪TCP应用通信,能结合报文对整个通信过程进行分析。 二. 实验环境 1、头歌基于Linux的虚拟机桌面系统 2、网络报文分析工具wireshark 3、浏览器firefox • 源端口( 16 位):通信发送方使用的端口号 • 目标端口( 16 位):通信接收方使用的端口号 • 序列号( 32 位):用来确保数据可靠传输的唯一值 • 确认号( 32 位):接收方在响应时发送的数值 • 数据偏移( 4 位):标志数据包开始的位置,TCP 头部的长度 • SYN:(同步)发起连接的数据包:同步 SYN=1 表示这是一个连接请求或连接接受报文。 • ACK:(确认)确认收到的数据包:只有当 ACK=1 时,确认号字段才有效;当 ACK=0 时,确认号无效。 • RST:(重置)之前尝试的连接被关闭,(信号差,信号拥挤):当 RST=1 时,表明 TCP 连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。 • FIN:(结束)连接成功,传输完毕之后,连接正在断开: 计算机网络实验4主要聚焦于TCP和UDP协议的分析,旨在帮助学生深入理解TCP报文的结构和通信机制。实验中,学生将利用头歌Linux虚拟机桌面系统、网络报文分析工具Wireshark以及Firefox浏览器来追踪和分析TCP应用的通信过程。 TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。TCP报文头部包含多个关键字段,每个字段都有特定的作用: 1. **源端口和目标端口**:16位的源端口和目标端口分别标识发送和接收数据的进程。 2. **序列号**:32位的序列号用于确保数据的有序传输,每个字节的数据都有唯一的序列号。 3. **确认号**:接收方在响应时会发送一个32位的确认号,表示已接收的数据序列号。 4. **数据偏移**:4位的数据偏移指示TCP头部的长度,帮助定位数据部分的起始位置。 5. **标志字段**:包括SYN、ACK、RST、FIN等,用于控制TCP连接的状态和数据传输。 - SYN(同步):在建立连接时设置为1,表示连接请求或连接接受。 - ACK(确认):确认收到的数据,只有当ACK=1时,确认号才有效。 - RST(重置):用于表示连接错误,如主机崩溃,需要释放连接并重新建立。 - FIN(结束):表示数据传输完成,请求断开连接。 此外,TCP头部还有其他字段,如PSH(推送)、URG(紧急)、窗口大小、校验和和紧急指针等,分别用于数据的快速交付、紧急数据处理、流量控制和数据完整性检查。 TCP连接的建立是通过著名的“三次握手”过程: 1. 客户端发送带有SYN标志的TCP报文,初始化序列号。 2. 服务器响应,同时设置SYN和ACK标志,确认客户端的序列号,并分配自己的序列号。 3. 客户端再次回应,确认服务器的序列号,至此连接建立。 而TCP连接的关闭是“四次挥手”: 1. 主动关闭方发送FIN,表示不再发送数据。 2. 被动关闭方确认收到FIN,继续发送未完成的数据。 3. 被动关闭方发送FIN,表示数据传输完毕。 4. 主动关闭方确认收到FIN,连接完全关闭。 这个实验让学生亲手操作,通过Wireshark抓取和分析TCP报文,能够直观地理解TCP协议的工作原理,提高对网络通信的理解。
2024-12-03 21:09:34 3.29MB 网络 网络 网络协议
1
### 电力电子技术MATLAB仿真实验报告知识点总结 #### 一、实验目的与意义 本次实验主要通过MATLAB软件对几种典型的电力电子变换电路进行仿真分析,旨在深入理解不同类型的整流电路在不同负载条件下的工作原理及特性。通过仿真结果的观察与分析,进一步掌握电力电子器件的工作特性和整流电路的设计方法。 #### 二、实验内容概述 本实验主要包括三个部分:单相半波可控整流电路、单相桥式全控整流电路以及单相桥式半控整流电路。每个部分又细分为不同的负载情况(如电阻性负载、阻感性负载等),并针对每种情况进行了详细的电路接线图设计、电压电流波形分析等。 #### 三、实验具体知识点详解 ##### 1. 单相半波可控整流电路 - **电阻性负载** (R=1Ω, U2=220V, α=30°) - **接线图**: 描述了电阻性负载下电路的基本结构,包括电源、晶闸管和负载。 - **输出电压与电流**: 分析了在特定触发角α=30°条件下,输出电压和电流的变化情况。 - **晶闸管电压**: 介绍了晶闸管两端电压随时间变化的情况。 - **输入电压与输出电压波形**: 通过波形图直观展示了输入与输出电压之间的关系。 - **阻感负载** (R=1Ω, L=0.05H, U2=220V, α=30°) - **接线图**: 详细说明了阻感负载下电路的具体连接方式。 - **输出电压与电流**: 对比电阻性负载,分析了阻感负载情况下输出电压和电流的变化特征。 - **晶闸管电压**: 描述了晶闸管在阻感负载条件下的电压变化。 - **输入电压与输出电压波形**: 展示了阻感负载条件下输入输出电压波形的变化。 - **阻感负载+续流二极管** (R=1Ω, L=0.05H, U2=220V, α=30°) - **接线图**: 包含了续流二极管在内的电路连接图。 - **输出电压与电流**: 在加入续流二极管后,输出电压和电流的变化情况。 - **晶闸管电压**: 分析了续流二极管加入后晶闸管两端电压的变化。 ##### 2. 单相桥式全控整流电路 - **电阻性负载** (R=1Ω, U2=220V, α=60°) - **电路图**: 描述了电阻性负载下的电路结构。 - **输入电压与输出电压对比**: 分析了输入输出电压的差异。 - **电阻负载直流电压与电流波形**: 展示了直流电压和电流的变化波形。 - **晶闸管T1波形**: 介绍了晶闸管T1的电压或电流波形。 - **阻感性负载** (R=1Ω, L=0.05H, U2=220V, α=60°) - **电路图**: 详细说明了阻感负载下电路的具体连接。 - **电压输入与输出波形**: 分析了电压输入输出波形的变化。 - **输出电流id**: 描述了输出电流id的变化情况。 - **VT1电压波形**: 分析了VT1两端电压波形。 - **阻感性负载+续流二极管** (R=1Ω, L=0.05H, U2=220V, α=60°) - **接线图**: 包括续流二极管在内的电路连接图。 - **输入与输出电压波形**: 展示了加入续流二极管后输入输出电压的变化。 - **负载电流与电压**: 分析了负载电流和电压的变化情况。 ##### 3. 单相桥式半控整流电路 - **电阻负载** (R=1Ω, U2=220V, α=60°) - **接线图**: 描述了电阻负载下电路的基本结构。 - **二次侧电压与电流**: 分析了二次侧电压和电流的变化情况。 - **晶闸管与二极管电压**: 介绍了晶闸管和二极管两端电压的变化。 - **阻感负载** (R=1Ω, L=0.05H, U2=220V, α=60°) - **接线图**: 详细说明了阻感负载下电路的具体连接方式。 - **二次侧电压与电流**: 分析了二次侧电压和电流的变化情况。 - **晶闸管与二极管电压**: 介绍了晶闸管和二极管两端电压的变化。 - **阻感负载+续流二极管** (R=1Ω, L=0.05H, U2=220V, α=60°) - **接线图**: 包含了续流二极管在内的电路连接图。 - **二次侧电压与电流**: 分析了二次侧电压和电流的变化情况。 - **晶闸管与二极管电压**: 介绍了晶闸管和二极管两端电压的变化。 #### 四、结论 通过本次实验,我们深入了解了不同类型的整流电路在各种负载条件下的工作原理和特性。特别是对于电力电子器件(如晶闸管)的工作状态及其对电路性能的影响有了更深刻的认识。此外,通过MATLAB仿真工具的应用,不仅提高了理论与实践相结合的能力,还为后续电力电子技术的学习和研究奠定了坚实的基础。
2024-12-02 09:07:10 1.46MB
1
电力电子技术是电气工程领域的重要分支,主要研究电能的转换和控制。在这个实验报告中,我们将重点关注整流电路,特别是单相桥式全控整流电路和三相桥式全控整流电路在不同负载条件下的工作特性,以及如何通过仿真程序来模拟这些电路的行为。 单相桥式全控整流电路是一种广泛应用的整流电路结构,它由四只晶闸管(SCR)组成,每两只组成一个半桥,通过改变晶闸管的导通顺序和时间,可以实现对交流输入电压的控制。这种电路的优点是可以双向调节输出电压,并且在全周期内都能进行整流,提高了电能利用率。实验报告中可能涉及了在纯电阻、纯电感和纯电容负载下的仿真结果,分析了电压波形、电流波形以及功率因数等关键参数的变化。 接着,三相桥式全控整流电路在工业应用中更为常见,因为它可以处理更大的功率并提供更稳定的输出。当电路中加入反电动势,如发电机或电机的反馈电压,其复杂性增加,需要更精细的控制策略。在仿真中,可能会观察到在不同负载和反电动势条件下的电压、电流谐波成分,这对于理解和优化系统的效率和稳定性至关重要。 实验报告通常包括理论分析、电路设计、仿真设置、结果解析和结论。理论部分会解释整流电路的工作原理,设计部分则会描述电路的搭建和参数设定,仿真设置部分详细阐述如何在仿真软件中配置电路模型,结果解析部分则会展示和讨论波形图、数据表等,最后的结论部分会对整个实验进行总结,指出实验发现的问题和改进方向。 在实际操作中,可能使用的仿真软件有PSpice、Matlab/Simulink或者LabVIEW等,它们都提供了强大的电路建模和分析工具。通过这些软件,可以模拟实际电路运行情况,无需实际硬件就能预测和解决问题,大大节省了实验时间和成本。 这个实验报告涵盖了电力电子中的核心知识点——整流电路,特别是全控型整流器在不同工况下的性能。通过深入学习和理解这些内容,不仅能够提升对电力电子技术的理解,还能够为实际的电力系统设计和控制提供理论基础。同时,掌握仿真技能也是现代工程师必备的能力之一,有助于在实际工作中快速验证设计方案的有效性。
2024-12-02 08:56:52 658KB 电力电子 实验报告 整流电路
1
《武汉科技大学数字逻辑与数字系统课程实验》是针对学习数字电路和系统设计的学生们的一门实践性课程。基于DigiBlock平台,这门课程旨在帮助学生深入理解和掌握数字逻辑的基本概念,以及如何在实际中应用这些理论知识。DigiBlock是一个专为数字逻辑教学设计的实验工具,它提供了一个直观、易用的环境,让学生能够动手搭建和测试数字电路。 在该课程中,学生将接触到以下几个核心知识点: 1. **数字逻辑基础**:课程会从二进制数制、逻辑运算符(AND、OR、NOT等)和布尔代数开始,这些是理解数字系统的基础。学生需要了解如何表示和操作二进制数据,以及如何通过布尔表达式简化逻辑电路。 2. **组合逻辑电路**:包括半加器、全加器、译码器、编码器、多路选择器等。学生将在DigiBlock上实际搭建这些电路,理解它们的功能和工作原理。 3. **时序逻辑电路**:如寄存器、计数器、移位寄存器等。时序电路涉及存储和处理数据,是数字系统中的关键组成部分。学生需要掌握它们的工作流程和状态转换。 4. **触发器**:如RS触发器、D触发器、JK触发器和T触发器,是构成时序逻辑电路的基础单元。理解其工作原理和特性对于设计复杂的时序系统至关重要。 5. **数字系统设计**:课程将引导学生使用DigiBlock设计简单的数字系统,例如计算器、数字钟等,这涉及到组合逻辑和时序逻辑的综合运用。 6. **VHDL或Verilog编程**:现代数字设计广泛采用硬件描述语言(HDL),如VHDL或Verilog。学生将学习如何用这些语言描述数字电路,模拟其行为,并将其编译到实际的FPGA芯片中。 7. **电路分析与故障排查**:实验环节不仅包括设计,还包括了对设计进行验证和调试的过程。学生需要学会使用逻辑分析仪和示波器等工具,诊断并修复电路问题。 8. **项目实践**:课程可能包含一个或多个综合项目,让学生应用所学知识解决实际问题,例如设计一个特定功能的数字系统,如模数转换器(ADC)或数模转换器(DAC)。 9. **实验报告撰写**:学生需要学会记录实验过程,分析结果,总结经验和教训,提升书面表达和科学思维能力。 通过这门课程的学习,学生不仅能够扎实地掌握数字逻辑的基础知识,还能够具备实际设计和调试数字系统的技能,为未来进一步深入学习计算机体系结构、嵌入式系统等领域打下坚实基础。
2024-12-01 15:13:27 14KB 课程资源
1
knn程序基于sklearn库中数据集实现k折交叉验证,并通过交叉验证结果探究适用于当前数据集下的KNN模型最佳k值的选择。 代码功能分析及处理流程主要分:数据准备、交叉验证选择最佳k值、KNN分类三部分,相应部分含有详细注释可供参考。 详细代码说明及实例分析见pdf文档,主要内容包括代码功能分析,关键函数分析及结果分析。
2024-11-29 00:23:13 298KB python sklearn 交叉验证
1
五个实验,光线通信 固定速率时分复用实验 固定速率时分复用解复用实验 P-I特性曲线绘制实验 数字信号电—光、光—电转换传输实验 模拟信号电—光、光—电传输实验
2024-11-27 21:22:39 6.12MB 实验报告
1
FreeRTOS 是一个实时操作系统(RTOS)内核,广泛应用于嵌入式系统,特别是微控制器(MCU)如STM32。STM32是意法半导体(STMicroelectronics)推出的一系列基于ARM Cortex-M架构的微处理器。在FreeRTOS中,任务挂起和恢复是其任务调度机制的重要组成部分,用于管理不同任务的执行流程。 1. **任务和任务状态** 在FreeRTOS中,任务是执行特定功能的独立线程。每个任务都有自己的栈空间和优先级。任务的状态包括就绪、运行、阻塞和挂起。任务在运行时执行代码,当暂停执行时进入挂起或阻塞状态。 2. **任务挂起** - **挂起过程**:任务挂起意味着当前正在执行的任务暂停执行,将其从运行状态转移到挂起状态。这通常发生在任务调用`vTaskSuspend()`函数时。挂起任务不会占用CPU时间,直到被恢复。 - **挂起原因**:任务可能会因为等待事件(如信号量、互斥锁、队列等)而挂起,或者为了给其他更高优先级的任务让出CPU资源。 - **挂起优点**:挂起任务可以有效地控制任务执行顺序,避免低优先级任务占用过多CPU时间,提高系统响应速度。 3. **任务恢复** - **恢复过程**:任务可以通过调用`vTaskResume()`或`xTaskResumeFromISR()`函数来恢复。前者通常在任务级别操作,后者则可以在中断服务程序中使用。 - **恢复条件**:任务恢复通常是由于等待的事件发生,或者通过其他任务或中断服务程序的干预。一旦恢复,任务将被放入就绪列表,等待调度器分配CPU时间。 - **恢复策略**:恢复策略通常与任务调度策略有关,例如优先级调度,高优先级任务恢复后会立即抢占CPU,而相同优先级的任务则按照挂起的先后顺序恢复。 4. **实验实践** "FreeRTOS实验6-3 FreeRTOS任务挂起和恢复实验"可能包含以下内容: - 创建两个或多个任务,每个任务执行不同的操作。 - 演示如何在任务中挂起自身,或者挂起其他任务。 - 展示如何根据特定条件恢复任务,如计时器超时、外部事件触发等。 - 观察并分析挂起和恢复对系统行为的影响,如任务切换、系统响应时间和资源利用率。 5. **实际应用** 在实际项目中,任务挂起和恢复广泛用于实现复杂的并发控制,如设备驱动、网络通信、定时任务等。例如,在STM32开发中,可能有一个任务负责接收数据,当数据接收完成后,挂起该任务,启动另一个任务进行数据处理。 总结,FreeRTOS的任务挂起和恢复是其核心功能之一,对于实现高效、实时的嵌入式系统至关重要。通过实验学习,开发者可以更好地理解RTOS的工作原理,优化系统性能,并解决多任务环境下可能出现的同步和通信问题。
2024-11-27 00:31:38 1.43MB FreeRTOS STM32
1
程序可以读入文法,判断文法是否为LL(1)文法,如果是,就给出文法分析表,可以对用户输入的符号串分析,并给出分析过程。
2024-11-21 20:27:31 23KB 编译原理实验
1
一、 实验要求 实验目的: (1)掌握数码.管显示方法 (2)掌握.软件延时方法 (3)掌握键盘扫描及.去抖动方法 实验内容: (1)利用单片机.开发板的矩阵键盘实现个人学号后 8 位的输入和显示。 (2)利用.矩阵键盘S1~S10 输入数字 1~0。 (3)利用数码管 LED8~LED1 从左到.右显示8位学号 二、 实验设计 1.整体思路 通过按键扫描,判断按.下的按键所在行和列,然后根据按下的行和列来控制LED点阵的亮灭。首先进行初始化,将各个寄存器和IO口设置初始状态,并将A寄存器初始化为0AH。然后进入主循环,依次.扫描各个按键,如果检测到按键按下,则根据按下的行.和列来点亮对应的LED。如果按键释放,则熄灭对应的LED。同时,程序还加入了去抖动和延时等功能,以提高程序的可靠.性和稳定性。初始化模块:将各个寄存器和IO口设置初始状态,并将A寄存器初始化为0AH。 LED控制模块:根据按键扫.描的结果来控制LED点阵的亮灭。每次按键按下后,程序会根据按下的行和列来点亮对应的LED。 按键扫描模块:程序会先清空所有的按键标志位,然后依次将各个按键电平设置为低电平,检测是否有 ### 汇编语言与接口技术实验报告知识点详解 #### 实验目的 1. **掌握数码管显示方法**:此部分旨在让学生理解如何利用单片机控制数码管进行数字或其他字符的显示。数码管通常由多个发光二极管(LED)组成,通过控制不同LED的亮灭来显示不同的数字或符号。 2. **掌握软件延时方法**:在单片机编程中,经常需要使用延时来控制某些操作的时间间隔。软件延时通常是通过编写一段不会执行任何实际任务的循环代码来实现的,这段代码会占用一定时间,从而达到延时的效果。 3. **掌握键盘扫描及去抖动方法**:键盘扫描是检测键盘上哪个键被按下的过程。去抖动则是指消除按键时由于机械原因产生的多次信号,确保每次按键只被识别一次。 #### 实验内容 1. **利用单片机开发板的矩阵键盘实现个人学号后8位的输入和显示**:通过矩阵键盘输入并显示特定的数字序列(如学号后8位),这是验证学生是否掌握了键盘扫描和数码管显示技能的关键步骤。 2. **利用矩阵键盘S1~S10输入数字1~0**:这里提到的是利用矩阵键盘上的按键输入数字0至9的过程。 3. **利用数码管LED8~LED1从左到右显示8位学号**:数码管通常是由多个LED组成的一组显示单元,可以用来显示数字或简单的字符。这里的目标是让学号后8位数字能够从左到右依次显示在数码管上。 #### 实验设计 1. **整体思路**:实验的整体设计思路包括了初始化、LED控制、按键扫描、去抖动以及延时等关键模块的设计。这些模块共同协作,实现对按键的准确检测和对LED的精确控制。 - **初始化模块**:在程序开始之前,需要对单片机的寄存器和IO口进行初始化设置,例如设置A寄存器的初始值为0AH。 - **LED控制模块**:根据按键扫描的结果,控制LED的亮灭状态。例如,当某个按键被按下时,点亮对应的LED;当按键被释放时,熄灭对应的LED。 - **按键扫描模块**:程序会逐个检测每个按键的状态,如果检测到按键按下,则记录按键所在的行列信息。 - **去抖动模块**:为了避免按键抖动带来的误触发,需要在检测到按键按下后加入一定的延时,再确认按键状态。 - **延时模块**:用于提供稳定的延时效果,保证LED的显示稳定不闪烁。 - **主循环模块**:不断循环执行按键扫描和LED控制,实现对LED显示的实时控制。 #### 实验实现效果 根据实验报告提供的示意图,可以看到学号成功地显示在了数码管上,且有删除前后效果的对比。这证明了实验方案的有效性,并且通过去抖动和延时等措施,提高了系统的稳定性和可靠性。 #### 代码分析 实验报告附录中的汇编语言代码详细展示了如何初始化系统、设置按键电平、控制LED的显示以及实现延时等功能。例如,通过`MOV`指令将特定值赋给寄存器,通过`MOVC`指令查表确定LED的显示模式,以及通过`LCALL D2ms`调用延时函数等。这些代码片段共同实现了实验的目的和内容,展示了汇编语言在单片机控制中的应用技巧。 这份实验报告不仅详细阐述了实验的目的、内容和设计思路,而且还提供了具体的实现效果和代码实例,对于理解和掌握单片机编程中的关键技能具有很高的参考价值。
2024-11-21 19:19:16 323KB
1
1、大一下学期和大二上学期各有10份物理实验报告,都已经按实验分类放好了,具体见资源详情。 2、所有实验报告都是我自己写的,不是QQ群流传的清朝老报告。 3、两学期物理实验成绩都是优秀,每份报告都保留了老师批改痕迹,指出了错误所在。 4、实验报告仅供参考借鉴
2024-11-20 12:31:45 26.62MB 大学物理实验 物理实验报告
1