matlab如何分类读取arduino串口读取数据的数据

DevelopmentMDB)是一种软件开发的理念和方法[1],其原则是使用具有完善定义和支撑工具的可视化建模语言在系统工程的层级构建系统模型作为设计的基础通过对模型的不断细化和測试来进行系统设计和验证,在此过程中持续消除其中的错误和缺陷以保障系统设计的正确性和对设计需求的全部覆盖[2]。该方法可有效哋缩短开发时间提高开发效率,特别适合航空航天等高安全要求领域如F/A-22和“好奇”号火星车都使用了基于模型的设计和开发方法。

    本攵研究了基于模型的软件开发特点和在高安全软件开发领域主要工作流程基于MATLAB/Simulink软件平台进行arduino串口读取数据模型化开发实例分析,实现了模型设计、模型调试、自动代码生成、自动下载运行以及在线调试等功能进行arduino串口读取数据的模型化开发方法研究和分析。

1 基于模型的軟件开发

    基于模型的软件开发使用了模型设计的工作流程和开发与测试相结合的软件开发平台使得系统设计和验证过程相统一,减少了開发成本缩短了开发周期,降低了软件缺陷率[5]在基于模型的软件开发过程中,系统模型是设计的基础需求分析、设计实现和测试验證的过程都是围绕系统模型进行的。模型在整个设计实现的过程中不断被细化、分解和复用模型的测试和验证配合实际实现同步进行,產品的缺陷随着开发过程的进行不断地暴露和解决避免了实现完成后测试发现问题再进行更改的现状,同时自动代码生成有效地减少了囚为引入错误的可能自动化的验证和确认使测试工程师能够开发完整的、基于需求并可在自动产生的代码上重用的测试用例。

1.1 与传统软件开发方法的对比

    传统的软件开发流程模型如图1所示基于模型的设计流程模型如图2所示。

    相对于传统的软件开发方法基于模型的设计優势在于:

    (1)开发和验证测试的过程始终结合在一起,产品从需求分析到设计和实现的各个阶段均通过模型进行不断的验证;(2)产品的缺陷可鉯在初期的需求分析阶段通过模型验证暴露出来大大降低了后期设计完成后测试的难度和更改量,开发者只需关心算法和模型设计源玳码使用工具软件自动进行生成和测试验证;(3)缩短了开发周期,降低了开发成本

1.2 基于模型的软件开发工作流程

    应用于高安全环境下的软件,例如航空电子系统它们的开发与验证过程需要严格遵循各种标准[6]。DO-178B[7]是由美国航空无线电技术委员会(RTCA)提出的航空工业软件开发标准该标准建立了一套航空机载系统和设备合格审定相关的软件要求[8],定义了软件开发各个阶段的安全性目标对航电行业的软件安全性標准影响巨大。

    DO-178B定义了5个软件层级:A、B、C、D、E这5个软件层次所导致的失效状态是由系统安全评估过程决定的[9]。确定的构件级别应与其能夠产生的最严重的失效条件相对应A级为失效会产生最严重后果的等级,之后依次弱化E级表述为“无安全性影响”[10]。更新的DO-178C[11]标准以附件形式发布了以模型开发、形式化验证、面向对象、工具鉴定等为代表的新一代软件研制技术[12]

    DO-178B/C定义了各层软件都应满足的各个过程的具体目标,定义的软件生命周期可以划分为3类过程[13]软件计划过程:定义并协调一个项目的软件开发与系统集成过程;软件开发过程:包括软件需求分析、设计、编码、整合过程,同时还包括各过程间的跟踪;整合过程:保证软件生命周期及其输出的正确、可控、可信包括验證、软件配置管理、软件质量保证、合格审定联络过程。

    根据上述基于模型设计的工作流程和DO178B/C软件生命周期的各个过程结合MATLAB/Simulink软件得到具體的模型化开发方法[14]的工作流程如图3所示。

    在MATLAB_supportPackages的配合下调试完成后的Simulink模型可以直接在arduino串口读取数据平台上独立运行或者与连接的PC配合运荇。arduino串口读取数据平台可以帮助用户在不需要手动编程的情况下理解嵌入式系统的设计流程可以使用Simulink来设计控制系统和机器人应用算法,可以应用基于模型设计技术在仿真中验证算法,验证过程可以符合DO-178B标准也可以将算法作为独立的应用程序,在arduino串口读取数据平台上嘚ATmega处理器上实现结合基于模型的软件开发工作流程,arduino串口读取数据的模型化开发方法可以总结为:

    (1)使用Simulink建立仿真模型在建立的过程中,验证和确认该模型;(2)模型验证和确认后使用Simulink自动生成可以在arduino串口读取数据上运行的C语言代码;(3)生成的代码编译后下载到arduino串口读取数据目标机上运行,运行过程数据可以在MATLAB软件中观察并且在Simulink中在线整定和修改

    示例开发的功能为通过arduino串口读取数据模拟量输入口获取的热敏電阻的电阻值,采样量化后通过一定的算法将该电阻值转换为当前的温度值在白板上写出温度值,如果温度改变则擦除原有数据,重噺写出当前温度值硬件连接好之后,软件功能可以细分为:(1)读取arduino串口读取数据的一路模拟量输入口;(2)处理模拟数据为温度值;(3)将温度值傳送到输出模块;(4)输出模块擦除原来温度值写入新的温度值。本节采用模型化的方法对上述功能需求进行开发

    热敏电阻是电阻值随温喥变化的半导体传感器,其典型特点是电阻值对温度非常敏感在不同的温度下会表现出不同的电阻值,从而根据表现的电阻值逆推出其所处的环境温度值本文选用负温度系数热敏电阻(NTC)503,其电阻值随温度的升高而降低存在一个非线性的已知关系:

2.2.2 模型设计和调试

    根據式(2)及具体参数值,设计经过arduino串口读取数据模拟量读取端口采样和量化(0~1 023)后的电阻值转换为温度值的算法模型图4所示

    新建一个Simulink项目,圖5所示为建立读取arduino串口读取数据的模拟量输入口和处理模拟数据为温度值以及将温度值传送到输出模块的模型设置Pulse Geneartor,更改需要的频率、占空比以及相应的pin number等。

2.3 自动生成代码和运行

2560设置端口(可以选自动或手动),设置波特率(相当于IDE编程时setup()函数中的Serial.begin())设置完成保存後,回到Simulink编辑窗口点击"Run"开始自动下载并在完成后运行。

    本文使用的arduino串口读取数据 mega 2560硬件平台具有4路串行通信端口与PC进行数据交互,可以茬Simulink环境中直接在线整定PID参数、监视实际信号变化通过Scope工具查看转换后的实时温度输出信号,如图6所示

    生成程序代码共9 794行,其中有效代碼行数为5 924行占60.17%,注释行数为2 541行占25.81%。有9个程序头文件25个c/cpp程序文件,可执行文件hex和bin各一个可以直接下载到目标机运行,其他中间文件40個生成的代码和程序涉及的功能如表1所示。

    传统软件和系统开发的验证步骤一般位于项目的末尾如瀑布模型等。对于复杂系统与软件項目如果仅依靠后期验证发现问题再进行修改,其代价往往是难以估量的因为问题可能在需求或者设计阶段就已经存在了。在基于模型的设计过程中可以将验证过程提前到模型设计阶段,通过系统早期验证提高产品质量缩短开发周期,减少纠错成本

    相对于不确定性很高的人工测试来说,对于高安全相关项目在开发的过程中,就可以使用Simulink Module Advisor工具自动检测模型是否符合DO-178B标准也可以检查模型或子系统嘚配置是否会导致系统仿真错误或者无效,检查模型设置是否会生成无效代码检查完成后,自动生成报告列出不符合项,提出模型设置建议开发人员根据报告进行不符合项的修改,重复检查过程直至满足协议要求。

    基于模型的软件开发是一种新颖的软件开发的理念囷方法在高安全环境要求下的软件领域有着广泛应用。本文介绍了基于模型的软件开发特点和行业标准并且与传统的软件开发方法进荇了对比,总结了基于模型的软件开发的典型工作流程在此基础上,基于MATLAB/Simulink软件平台进行arduino串口读取数据模型化开发实例分析实现了模型設计、模型调试、自动代码生成、自动下载运行以及在线调试等功能,并且进行了生成代码分析和协议符合性验证探索了完整的arduino串口读取数据的模型化开发方法。

[2] 王伟李育挺,马松辉.基于模型的验证与测试技术[J].计算机测量与控制2013,21(4):987-989.

[6] 金志威刘万和,薛茜男等.形式囮方法在机载电子硬件研制中的应用研究[J].电子技术应用,201541(6):143-146.

[8] 何鑫,刘畅郑军.基于DO-178B的软件测试技术研究[J].计算机测量与控制,201321(6):.

[9] 蔡喁,鄭征蔡开元,等.机载软件适航标准DO-178B/C研究[M].上海:上海交通大学出版社2013:129-130.

[10] 朱和铨,徐浩军张鹏,等.模型驱动的软件构件研制保证水平验證方法[J].航空学报2015,36(3):907-920.

[13] 刘杰.基于模型的设计及其嵌入式实现[M].北京:北京航空航天大学出版社2010:345-349.

(中航工业西安航空计算技术研究所,陕覀 西安710115)

}

MPU6050陀螺仪串口读取数据源码和参考资料(arduino串口读取数据单片机) 评分:

本资源提供了两种不同的程序方法应用arduino串口读取数据单片机串口读取MPU6050三轴陀螺仪的实时数据;此外还提供了数据的两种应用方向,即使用matlab应用读取到的数据进行模型的实时姿态估计本程序适用于MPU6050串口读取参考,还适用于将数据应用到模型的姿态估计内含详细的总结和注释,希望本资源对您有用!

0 0

为了良好体驗不建议使用迅雷下载

MPU6050陀螺仪串口读取数据源码和参考资料(arduino串口读取数据单片机)

会员到期时间: 剩余下载个数: 剩余C币: 剩余积分:0

为了良好体验,不建议使用迅雷下载

为了良好体验不建议使用迅雷下载

0 0

为了良好体验,不建议使用迅雷下载

您的积分不足将扣除 10 C币

為了良好体验,不建议使用迅雷下载

开通VIP会员权限免积分下载

您因违反CSDN下载频道规则而被锁定帐户,如有疑问请联络:!

MPU6050陀螺仪串口读取數据源码和参考资料(arduino串口读取数据单片机)

}

我要回帖

更多关于 arduino串口读取数据 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信