5687| 3
|
[intel程序猿笔记] 在英特尔® EDISON 开发板上使用 MCU 和超声测距传感器 |
以下为部分内容,完整内容和项目代码请至原文链接查看 英特尔® Edison 开发包含一个内部微控制器单元 (MCU)。 在本文中,我将从两个方面解释使用内部 MCU 的优势
MCU 在多款应用中都至关重要。 例如,基于英特尔® Edison 开发板的 Linux* 在与传感器交互时无法提供实时响应。 MCU 支持自 2.1 版开始能够在英特尔® Edison® 开发板固件软件版本上使用。 我们来了解一下英特尔® Edison 计算模块中使用的系统芯片 (SoC): 英特尔® Edison 计算模块中的系统芯片包括两个 CPU:
Minute 英特尔架构内核是一款节能架构,基于英特尔® 486,并额外采用指令,能够与英特尔® 奔腾® 处理器兼容。 MCU 包含丰富的 I/O 子系统(GPIO、I2C、高速 UART、DMA)和 SRAM,并能够访问英特尔® Edison 计算模块上的所有 GPIO 针脚。 适用于代码和数据的总 SRAM 为 192 kb。 MCU 使用 WindRiver 的实时 Viper* 操作系统运行。 MCU 程序支持在 Viper 内核上使用,并可控制连接到 MCU 上的外围设备,而不受英特尔凌动处理器的影响。 例如,它能够控制 GPIO 针脚,与采用 I2C 和 UART 协议的传感器通信,并与英特尔凌动处理器通信。 使用 MCU 得益于两个原因:提供实时微秒级延迟和高能效。 英特尔凌动处理器和 Yocto Project* 标准 Linux* 分发版不支持即购即用的实时应用。 Linux 应用可能会被调度器先占用,从而造成不可接受且不可预测的延迟,因而不可能提供实时响应。 MCU 运行一个应用和实时操作系统,这使得其有可能提供实时响应。 对于许多通信协议需要严格遵守短时间来执行的传感器,均需要实时响应。 如要在没有内部 MCU 的情况下将这些传感器连接到英特尔® Edison 开发板,您将需要使用外部 MCU。 在这种情况下,所有的传感器通信都在外部 MCU 上进行。 例如,面向英特尔® Edison 开发板的 SparkFun Block* – Arduino 扩展板可提供外部 MCU 功能。 但是,使用外部 MCU 将会增加 BOM 成本并提高解决方案的复杂性。 MCU 可以提高某些应用的能效,在这些应用中, CPU 设置为睡眠状态且 MCU 正在等待外部事件(如当传感器的值上升到超过阈值时)。 当外部事件出现时,MCU 将会唤醒 CPU。 《使用 MCU SDK 和 API: 代码示例》一文中介绍了实施示例。 为了解释如何使用内部 MCU,我们将把超声波测距传感器 HC-SR04 连接到英特尔® Edison 开发板中。 我们将把测量到的距离输出到 Grove* LCD RGB 背光符号显示器中。 该传感器有四个针脚:
图片展示了示波器屏幕上的协议:
MCU 向 Trig 针脚发送一个脉冲。 之后,传感器将相应回波针脚上的脉冲。 脉冲持续时间随测量距离成比例增减。 使用公式来计算距离(位于传感器数据表上): 距离 (cm) = 回波脉冲持续时间 (us) / 58 传感器可以测量从 2 厘米到 400 厘米的距离(如数据表所示)。 不借助微秒级实时延迟,以预估的精确度不可能测量这么短的脉冲的持续时间。 例如,调度器可能预先占用测量流程,测量结果可能无效。 组件:
首先,安装适用于 Arduino 的英特尔® Edison 计算模块和英特尔® Edison 开发板。 接下来,将 Grove Base Shield 扩展板连接至适用于 Arduino 的英特尔® Edison 开发板。 将 Grove LCD RGB 背光灯连接至 Grove Basic Shield 上的任意 I2C 端口。 将超声波测距传感器 HC-SR04 连接至 Grove Basic Shield,如下:
针脚 3 和 4 随机选择。 针对此目的,您可以使用任意 GPIO 针脚。 MCU 支持自 2.1 版开始已经添加到英特尔® Edison 开发板固件软件版本中。 如果您有较旧的固件,则需要更新它。 如要获取当前的固件版本,请使用以下命令: # configure_edison –version 该示例基于固件版本 146。 《刷新英特尔® Edison》一文中提供了固件更新说明。 我更喜欢使用该篇文章中介绍的备用刷新方法。 请在刷新前仔细阅读说明。 使用以太网通过 USB 连接英特尔® Edison 开发板您必须对网络连接进行配置,使其能够与 MCU SDK 中的英特尔® Edison 开发板相连。 如要做到这一点,请将 USB 连接线与顶部的微型 USB 端口相连,并将微型开关设置到底部位置(朝向微型 USB 端口)。 以上为部分内容,完整内容和项目代码请至原文链接查看 相关内容推荐: |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed