Simulink串口与匿名上位机通信实验:协议分析与仿真

需积分: 0 2 下载量 100 浏览量 更新于2024-08-04 收藏 1.01MB DOCX 举报
"实验2 Simulink串口与匿名上位机通信实验" 本实验旨在熟悉匿名上位机通信协议,使用Simulink仿真串口发送可变数据,并观察仿真波形,了解控制系统参数的调节。实验环境使用Win10 PC机、Matlab16a、ANO_TC匿名上位机V65、Keil5和两个串口。 一、匿名上位机通信协议V6.00 匿名上位机通信协议V6.00是本实验的核心协议,该协议定义了数据帧的格式和发送方式。协议中SUM等于从该数据帧第一字节开始,也就是帧头开始,至该帧数据的最后一字节所有字节的和,只保留低八位,高位舍去。 协议中长度字节LEN表示该数据帧内包含数据的字节总长度,不包括帧头、功能字、长度字节和最后的校验位,只是数据的字节长度和。例如,如果该帧数据内容为3个int16型数据,那么LEN等于6。 发送设备和目标设备的S_ADDR、D_ADDR字节,请查询设备定义表确定,比如拓空者发送至上位机,则S_ADDR=0x05,D_ADDR=0xAF。 协议分为3大部分,显示用数据帧、命令及参数数据帧、用户自定义数据帧。 二、显示用数据帧 显示用数据帧是本部分为飞控或者其他下位机发送显示用数据给上位机用,单向通信,下位机只需要按格式发送数据即可。 三、命令及参数数据帧 命令及参数数据帧是本部分为各种校准命令、参数读写命令等,因数据重要,故涉及双向验证。 █0xE0命令帧:上位机发送以0xE0为功能字的命令帧,下位机收到命令帧后,需要按照收到的命令数据,原样返回上位机进行验证,上位机收到并验证通过后表示本命令发送成功。 █0xE1参数帧:上位机发送以0xE1为功能字的参数帧,下位机收到参数帧后,需要按照收到的参数数据,将该参数返回上位机,上位机收到并验证通过后表示本参数设置成功。 四、Matlab Simulink Serial Port 模块 Matlab Simulink Serial Port 模块是本实验中使用的关键模块,用于实现串口通信。该模块位于Instrument Control Toolbox中。 图3 Instrument Control Toolbox Serial Port 相关模块的详细说明: https://cn.mathworks.com/help/instrument/direct-interface-communication-in-simulink.html https://cn.mathworks.com/help/instrument/serialreceive.html 使用Simulink Serial Port 模块可以实现串口通信,发送可变数据,并观察仿真波形,了解控制系统参数的调节。 实验结论: 通过本实验,我们熟悉了匿名上位机通信协议,使用Simulink仿真串口发送可变数据,并观察仿真波形,了解控制系统参数的调节。该实验为我们提供了一个实践匿名上位机通信协议的机会,并且掌握了Simulink Serial Port 模块的使用方法。