Simulink串口与匿名上位机通信实验:协议分析与仿真
需积分: 0 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 模块的使用方法。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2020-06-29 上传
2024-05-12 上传
2024-11-02 上传
2020-06-29 上传
2024-11-02 上传
2023-05-05 上传
ShepherdYoung
- 粉丝: 40
- 资源: 337
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查