使用连接IO与硬件通信
您可以使用连接IO与IO通信硬件外围设备。
模拟与连接IO是基于模型的设计流程中的一个中间步骤,桥梁之间的差距使仿真软件模拟和代码生成金宝app®与硬件通信硬件上部署模型。连接IO允许您修改您的模型设计和监控的效果修改设计使用外围硬件的数据在实时环境中。您不需要在硬件上部署模型监控修改设计的效果,加速仿真过程。之间的交互仿真软件(软件)和Arduino金宝app®(硬件)是可能只有当你启用连接IO。
请注意
在连接IO,只有一次性部署的IO服务器是必需的。
这些部分解释:
Arduino董事会和块支持连接IO金宝app
这里描述的IO连接适用于金宝appArdu金宝appino硬件仿真软件支持包在这些Arduino董事会和块:
来源:如果没有连接IO,这些源块输出零在正常模式模拟。随着连接IO,这些从外设硬件读取数据块。
沉块:没有连接IO,这些水槽块在正常模式模拟过程中没有任何角色。随着连接IO,这些写数据块的外设硬件。
Arduino电路板 源模块一个 沉块 Arduino由于
Arduino达芬奇
Arduino MKR1000
Arduino MKR WIFI 1010
Arduino MKR零
Arduino超级2560
Arduino Mega-ADK
Arduino 3.0纳米
Arduino Uno
Arduino Nano 33物联网
Arduino Nano 33 BLE意义
一个流模式是支持所有源块。金宝app连接输入输出模式的信息,请参阅连接输入输出模式:汽车、轮询和流。
连接IO是如何工作的
连接输入输出创建一个通信接口,使仿真软件模型和IO服务器相互通信。金宝app仿真软件金宝app模型驻留在你的电脑,和IO服务器是一个包含所有的引擎硬件外围功能。传输层使用通信接口格式和传输数据。
这个图表显示了连接IO创建的连接你的电脑和硬件之间。
通信连接的输入输出
当你和连接IO:模拟仿真软件模型金宝app
IO服务器接受请求和响应请求的数据。您可以使用任何模型水槽或仪表板查金宝app看接收到的数据块。使用外围数据收到,您可以验证您的模型设计满足要求。
对于数据采集应用程序,可以预先配置的IO服务器发送数据以特定的速度。有关更多信息,请参见数据采集使用IO相连。
如果有必要,您可以修改设计通过添加、删除或替换任何块仿真软件模型。金宝app
模型修改后,resimulate模型。在仿真过程中,模型的数据请求传达给硬件。你可以继续修改,直到达到预期行为模拟模型。
数据采集使用IO相连
数据采集可以用连接使用轮询和IO流模式。
轮询
轮询连接IO的通信是一个随需应变的过程。 块设备驱动程序(例如, 数字输入和数字输出块)在模型中从IO请求外围数据服务器。IO服务器接受请求和响应请求的数据。硬件发送数据只有当它接收一个数据请求从仿真软件模型。金宝app在这种模式下,您可以根据需要使用任意数量的块模型。
考虑的情况需要从设备读取数据连接到目标通过I2C硬件,以下图表显示目标之间的交互和计算机在轮询方式。
流媒体
流模式是用来获得更高的数据采集速率传感器/源块。在这种模式下,模型的预配置的IO服务金宝app器目标来处理一个特定的命令在指定的采样率。配置后,数据从目标硬件主动传播到目标的指定利率没有额外的命令。
响应时间获取数据流从硬件是少比轮询,这使得收购在高数据率。
流需要配置为每个块的目标。每一个配置内存硬件的书籍。因此,您可以使用此模式只有有限数量的块。
只有源块(例如模拟输入,数字输入,I2C读)可以流数据。沉块(例如,数字输出,I2C写)在轮询方式工作。
考虑一下这种情况:需要从设备读取数据连接到目标硬件通过I2C 10 ms样品时候,下面的图显示了目标和计算机之间的交互流模式。
请注意
的通信连接IO轮询模式启用时是一个随需应变的过程。硬件发送数据只有在收到数据请求从仿真软件模型。金宝app
当启用流模式时,它能帮助你获得更高的数据采集率源块。金宝app模型预配置的IO服务器目标来处理一个特定的命令在指定的采样率。硬件主动发送数据指定的速度没有任何额外的命令。
你不需要构建、部署和运行模型的硬件监控你的模型设计变化的影响。
基于模型的设计中有关IO
模拟模型时没有连接IO,不与硬件通信仿真软件。金宝app金宝app仿真软件与硬件通信只有当代码生成和部署模型在外部硬件模式。连接IO是基于模型的设计流程中的一个中间步骤,模拟桥梁之间的差距和代码生成通过使仿真软件与硬件通信硬件上部署模型。金宝app
这基于模型的设计流程图显示了一个基于模型的工作流程:
创建一个仿真软件模金宝app型。
模拟模型:
仿真没有连接IO:没有硬件交互和代码生成。
模拟与连接IO:模型与硬件通信。没有代码生成。
外部模式(监视和优化):硬件上部署模型并生成代码。
请注意
模拟输入参考电压参数不支持连接IO。金宝app
将模式部署到硬件。
基于模型的设计流程
连接输入输出不同于外部模式如何
IO和外部连接模式都允许您在仿真与硬件进行通信。然而,您使用IO和外部连接模式为不同的目的。表显示了您可以执行的行动与每个模式。
行动 | 外部模式 | 连接输入输出 |
---|---|---|
获取实时数据 | 您可以获得实时数据与外部模式。 | 启用金宝app仿真软件踱步选项接近实时数据。一个 |
时间的实时数据的分析 | 时间的实时数据分析是可能的,因为在硬件上运行的实时仿真软件模型。金宝app | 时间的实时数据分析是不可能的,因为仿真软件模型运行在您的计算机,而不是硬件。金宝app |
所需的时间开始仿真 | 1 - 2分钟 | 几秒钟 |
代码生成 | 代码生成的硬件。 | 没有代码生成。 |
一个如果你只有源块仿金宝app真软件模型,然后使用实时数据流模式。 |
运行金宝app模型连接输入输出
按照以下步骤运行仿真软件模型连接输入输出模式:金宝app
打开一个仿真软金宝app件模型。
在建模模型的选项卡,选择模型设置。
在配置参数对话框中,选择硬件实现从左边的面板和硬件的选择目标硬件板参数。
在硬件选项卡的模型,在模式部分中,选择
连接输入输出
然后点击运行IO。此外,你可以改变的速度仿真通过启用
金宝app仿真软件踱来踱去
中描述的模拟踱来踱去。
连接输入输出模式:汽车、轮询和流
IO提供这些连接模式:
汽车:汽车是默认连接输入输出模式。当您选择这种模式,模型自动轮询和流之间选择最合适的模式金宝app。
如果仿真软件模金宝app型只包含源模块和仿真软件启用踱步每挂钟模拟二将
1
,然后流模式启用源块。如果仿真软件模金宝app型包含沉块或仿真软件节奏被禁用,那么所有的块(源和汇块)模型在轮询模式下运行。
轮询:轮询是按需模式。当您选择这种模式下,源和沉块在轮询模式下运行。
选择此模式时:
阻塞和水槽模型既有来源。
该模型具有很高的块的数量。
模型具有源块在基于事件的触发子系统等子系统,子系统启用等等。
模型应用程序需要同步操作。
请注意
使用轮询模式块特征(审查的属性块)在你尝试代码生成。
流媒体:热气腾腾的模式支持更高的数据金宝app采集速率传感器/外围源块。当您选择这种模式下,源阻塞流工作模式和水槽在轮询模式下工作。
请注意
存在沉块模型配置为流影响源模块的性能。
选择此模式时:
该模型只有源阻塞和水槽。
模型已经沉块很少要求执行。
选择一个连接输入输出模式
在连接输入输出模拟模型,选择一个连接输入输出模式使用这些步骤:
打开一个仿真软金宝app件模型。
在仿真软件工具金宝app栏,设置模拟模式
正常的
。在建模选项卡上,选择模型设置。
在配置参数对话框中,选择硬件实现。
设置硬件板参数值等
Arduino超级2560
。下的参数值硬件板设置自动填充为它们的默认值。
点击目标硬件资源然后点击连接输入输出。
从列表中选择所需的连接输入输出模式。
如果您选择
汽车
或流媒体
作为连接输入输出模式,一个新的参数行动数据丢失或源块显示器。可能发生数据丢失而流由于以下原因:高采样率的块。
大量的模型中。
在模型中耗时的操作。
选择所需的选项。
警告:
选择这个选项来显示一个警告时数据丢失而流从源块。仿真后,数据下降的数量为每个块在诊断查看器显示。没有:
选择这个选项不要采取任何行动。错误:
选择这个选项将显示一条错误消息,当有数据丢失。
点击应用和好吧。
流数据从传感器
从传感器读取数据,使用以下选项之一。
使用传感器块可用的库(例如MPU9250 IMU传感器,ICM20948 IMU传感器等等)。从这些块流数据,添加的块模型,设置所需的采样率,并选择流媒体模式正如上面所讨论的。
创建一个传感器(例如,使用基本的外围源块。I2C寄存器读取、模拟输入)。一些传感器需要源块实现一次性配置等驱动传感器,设置传感器的范围等等。这些块不需要流。在这种情况下,添加这样的行动或块初始化函数块。初始化的模块子系统将不会为流配置。只有块在主模型将为流配置。
考虑一个案例设计BNO055 IMU传感器在图书馆使用I2C块。