0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用于微控制器原型设计的mbed快速原型开发解决方案

电子设计 来源:郭婷 作者:电子设计 2019-03-04 08:38 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

ARM的mbed快速原型开发解决方案将NXP LPC1768微控制器与支持组件和智能USB接口与基于云的工具配对,可以高效评估微控制器功能和应用原型。 mbed寻找可以优化工作原型时间的技术和权衡,使设计人员能够在设计周期的早期快速测试,评估和演示创意

微控制器变得更小,功能更强大,功耗更低,更多的连接,但价格不断下降。对于能够成功采用该技术的新市场来说,这是一个巨大的机会。关键在于确定微控制器可以解决的新问题,并构建概念验证,将创意转化为成为潜在产品。

业界已为嵌入式工程师构建了出色的工具,可根据需要生成微控制器设计规范是已知的。但是,当任务是证明一个概念或定义规范时,即使对于有经验的工程师来说,风险和时间尺度通常也不会增加。结果是想法没有得到尝试;几乎没有迭代或设计空间探索;最终的设计也是原型,或者规范过于谨慎。鉴于在许多情况下,可以定义这些应用程序的想法,观察和见解将来自其他问题领域的人,这些限制被放大。这有可能成为采用的真正障碍。

策略

mbed的基本目标是实现对微控制器功能的有效评估以及可应用的应用程序的原型设计。特别是,它旨在匹配产品设计其他方面的设计周期时间。有助于实现这一目标的策略(图1)是寻找可以优化工作原型时间的技术和权衡,而不是优化设计本身。

用于微控制器原型设计的mbed快速原型开发解决方案

图1:mbed策略。

例如,微控制器的趋势是以固定价格提高性能和内存容量。虽然大多数工具专注于使用户能够在可以创建的应用程序的最终功能中利用它,但mbed却专注于使用此性能和容量来减少设计挑战。一个很好的例子是提供高级抽象,使得功能可以以实现效率和增加代码大小为代价来访问。

另一个关键目标是克服进入障碍;技术验收模型(图2)为实现这一目标提供了一个清晰的框架,突出了易用性和感知有用性。通过实验和教育洞察技术,可以提高认知的实用性。原型设计方法自然支持用户探索,同时使营销和应用工程功能能够轻松演示和展示技术。

用于微控制器原型设计的mbed快速原型开发解决方案

图2:技术接受度(Davis等,1989)。易于使用实际上非常依赖于背景;大多数好工具都很容易用于他们的预期任务。但对于不同的任务,结果不太可能相同。通过明确定义快速原型设计的背景,使设计权衡集中于易用性变得更有意义。对于熟悉现有专有架构和工具链的行业内嵌入式开发人员而言,从专家到学习者的额外负面感觉可能令人望而生畏。仅这些因素就足以推迟探索转向现代解决方案的好处。对于新用户而言,恐惧,不确定性和怀疑同样令人望而却步。这使初始体验变得至关重要;这些工具必须快速提供结果,投资少,建立信任并获得任何进一步的持续投资。

入门

mbed的目标是让新用户尽快运行他的第一个项目,建立信心和信任在硬件和软件工具链中。 mbed工具采用了一些新技术来实现这一目标,结果不言而喻;你可以在60秒内开始。这一成就意味着没有理由不进行实验。

结果是通过两项创新实现的;基于USB磁盘的编程器,用于硬件和编译器工具,用作在Web浏览器中运行的基于云计算的Web应用程序。这些解决方案有一些明显的好处,但有些并不是立竿见影的。

预先确定的优点是无需设置或安装。对于许多人来说,这只是一个令人愉快的惊喜,允许在没有行政职责的情况下即时访问。但对于其他在许多教育和工作场所环境中都有锁定计算机系统的人而言,这可能是能否测试微控制器之间的区别。

IDE简单但功能强大,可以让它走出方式并做它的设计 - 编辑和编译代码。通过预先配置的所有内容,它可以在任何平台上开箱即用,包括PC,Mac或Linux。这种即时无障碍访问使工具更有信心,使用户能够在需要使用或演示它们时随时取出它们。

现在,通常可以在多台计算机上工作,在线方法成为一个特别的优势。您不仅可以避免多次安装的问题并保持同步,而且无论您身在何处,您的在线工作空间都随身携带。

微妙的优点是您看不到的东西。您无需做出决定,因为已经为这项任务提供了最合适结果的选项和配置。

已经完成了大部分硬件和软件基础工作。这些工具非常轻巧,从任何机器上都可以登录,从头开始创建项目,并在几分钟内测试或修改一些东西;这种灵活性会对工作方式产生重大影响。简化设置意味着一切都很容易重现。

结合单一硬件和库模型,每个其他mbed用户都在相同的环境中进行开发。这使得社区支持变得更加容易,因为人们可以在共同的背景下分享问题和疑问。

用于微控制器原型设计的mbed快速原型开发解决方案

图3:在线编译器。

快速原型设计

mbed的硬件和软件组件的架构和实现在原型设计方面提供了独特的优势。

mbed微控制器硬件封装了恩智浦LPC1768微控制器,支持元件和智能USB接口采用实用的40引脚0.1“间距DIP外形,非常适合在无焊接面板,条板和通孔PCB上进行试验。为了支持暴露的接口,mbed C/C ++库提供了高 - 微控制器外围设备的电平接口,实现清晰,紧凑,API驱动的编码方法。这种组合可立即连接外围设备和模块,用于基于微控制器的系统设计的原型设计和迭代,为开发人员提供更多创新和更多的自由图4显示了基本的mbed微控制器引脚排列,指示了接口资源的可用性和位置。接口指示特德匹配mbed库中的那些。这突出了它们共同开发的一些主要优点。 API提供抽象的外围接口,而不是特定于实现。这些库使用面向对象,它可以很好地映射到有形的物理硬件资源。硬件,库和文档共享相同的接口命名和概念。

用于微控制器原型设计的mbed快速原型开发解决方案

图4:mbed微控制器引脚排列。

硬件和软件之间的对齐使得自然编程风格能够捕获意图,这对于快速实验和迭代至关重要。

例如,mbed避免了需要通常的多级间接引脚和资源分配需要。这些往往会失去意义并引入错误。

#include“mbed.h”//mosi,miso,sclkSPI myspi(p5,p6,p7);

int main(){//设置9 -bit SPI @ 1MHz

myspi.frequency(1000000);

myspi.format(9); int response = myspi.write(0x8F);

图5:配置并写入a SPI器件。

图5中的SPI示例演示了如何设置SPI主接口。首先,创建一个SPI对象并将其绑定到所需的引脚(mosi,miso和sclk),如图4所示。请注意,当物理连接器件时,此表达式现在同样有用 - 规范已捕获物理连接。

接下来,在执行写/读事务之前配置SPI对象(myspi)的频率和位格式。 SPI对象上的方法定义明确,界面直观,操作独立于底层硬件的低级设置或要求实际上,要更改本例中使用的SPI端口,只有引脚名称会需要改变。这有助于将设计的物理方面(使用的资源以及它们如何被固定)的修改分离到控件(它们的作用)。

图6中显示了捕获意图的类似示例。在这种情况下,每次在数字输入引脚上发生上升沿中断时,都会调用一个函数。中断是一个简单的概念,但设置和正常运行非常复杂。使用mbed,代码在概念上非常简单。创建一个可以产生中断的引脚,并将一个函数附加到该引脚的上升沿。

#include“mbed.h”中断按钮(p5);

DigitalOut led(LED1); void flip(){

led =!led;

}

int main(){//附加翻转到p5边缘 button.rise(& flip); //徘徊永远

while(1);

图6:将函数附加到引脚中断事件。

InterfaceFunctionDigitalIn

DigitalOut

DigitalInOut

InterruptIn

AnalogIn

AnalogOut

PwmOut

串口

SPI

I²C

CAN

以太网

定时器

Ticker

超时

读取数字输入引脚的状态《 br》写入数字输出引脚的状态

读取和写入双向数字引脚

在引脚上升沿/下降沿触发功能

读取模拟输入引脚上的电压

控制模拟输出引脚上的电压

控制脉冲宽度调制输出引脚

与串行(UART)设备通信

与SPI从设备通信

与I²C从设备通信s

在CAN总线上通信

读写以太网数据包

通用计时器

以固定间隔调用函数

7:mbed库接口。

库是使用整个方法构建的(参见图7),它允许开发人员专注于应用程序逻辑而不是实现细节。

mbed库建立在低端之上ARM®Cortex™微控制器软件接口标准(CMSIS),是Cortex-M处理器系列独立于供应商的硬件抽象层。与CMSIS相比,mbed库提供了一个非常高级的API,专注于为外围设备的基本控制提供抽象接口。这种结构为用户提供了一种自然的方式,可以随时随地从mbed库中受益,同时添加在CMSIS上构建的定制代码,他们需要支持未提供的功能。特别是,这使得在原型设计时仅能在关键或差异化方面集中精力。除了mbed库之外,mbed Community外围库是用于控制连接到微控制器的外围设备(例如传感器,执行器,LCD和其他模块)的贡献代码的扩展基础。这些通常构建在mbed库之上,使系统能够快速连接,重点关注逻辑和功能而不是驱动程序。这些库可以由mbed社区中的任何人提供,并且随着时间的推移将由来自第三方供应商的中间件补充。

用于微控制器原型设计的mbed快速原型开发解决方案

图8:mbed库体系结构。

应用程序示例

为了演示如何使用mbed实现简单的应用程序实验,以下示例演示了由Internet数据库控制的硬件设备。

图9中的示例程序实现一个系统,该系统在屏幕上显示消息并根据HTTP请求的结果移动伺服电机。该解决方案不太可能是最佳的,强大的或完整的,但足以使概念有效。

原型可以实现硬件的迭代,互联网应用的早期开发,新市场的探索或提供承诺的案例项目。通过使用可访问的方式来测试想法,mbed有助于降低与产品开发相关的风险,并且可以更频繁地将高级微控制器设计到应用程序中。

#include“mbed.h”#include“HTTPClient.h”

#include “MobileLCD.h”MobileLCD lcd(p5,p7,p8,p9);

//SPI LCD //以太网客户端

HTTPClient http; //R/C伺服

PwmOut伺服(p21); int main(){//20ms伺服周期

servo.period(0.020);

char result [128]; while(1)

{

http.get(http://a.com/stat.php“,result); lcd.printf(”状态为%s \ n,结果); //定位伺服,1-2ms脉冲宽度

float percent = atof(result);

servo.pulsewidth(0.001 *%); //每分钟更新

wait(60);

图9:从互联网app控制屏幕和伺服。

结论

对快速原型设计的关注使mbed具有广泛的吸引力。对于刚接触嵌入式应用的工程师,mbed将使他们能够首次实验和测试产品创意。对于经验丰富的工程师,mbed提供了一种在概念验证阶段提高工作效率的方法。对于市场营销,分销商和应用工程师,mbed为微控制器的演示,评估和支持提供了一致的平台。因此,mbed工具将帮助不同的受众利用NXP LPC1768等高级微控制器带来的机会。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 微控制器
    +关注

    关注

    49

    文章

    8905

    浏览量

    165992
  • 嵌入式
    +关注

    关注

    5211

    文章

    20737

    浏览量

    338342
  • usb
    usb
    +关注

    关注

    60

    文章

    8486

    浏览量

    286471
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Freescale Kinetis KL15微控制器:高效低功耗的32位解决方案

    系列微控制器就是这样一款产品,它基于Cortex - M0+内核,为开发者提供了一个出色的32位入门级解决方案。下面,我们就来详细了解一下这款微控制器的特点和性能。 文件下载
    的头像 发表于 04-10 10:50 243次阅读

    探索 Crimzon RC Blaster™ 微控制器:一站式红外遥控数据库解决方案

    探索 Crimzon RC Blaster™ 微控制器:一站式红外遥控数据库解决方案 在电子设备设计领域,为系统快速轻松地添加通用遥控功能是一项常见且重要的需求。今天,我们就来深入了解一下
    的头像 发表于 04-04 11:05 277次阅读

    探索ADP2503CPZ-REDYKIT:高效原型开发与评估方案

    Devices)的ADP2503CPZ-REDYKIT,它为工程师们提供了便捷的原型开发和评估解决方案,尤其适用于ADP2503系列降压 - 升压转换
    的头像 发表于 03-31 10:40 192次阅读

    RL78/G22快速原型开发板:功能特性与使用指南

    一、开发板概述 1.1 用途 RL78/G22快速原型开发板是用于评估Renesas MCU的工具。该手册涵盖了硬件规格、开关设置方式以及
    的头像 发表于 12-30 09:50 1758次阅读

    探索Renesas FPB - RA2E2快速原型开发板:硬件设计与应用指南

    RA2E2快速原型设计板.pdf 一、开发板概述 功能特性 FPB - RA2E2开发板的特性可分为MCU原生引脚访问和系统控制与生
    的头像 发表于 12-29 16:30 1263次阅读

    探索Renesas FPB - RA6E2:快速原型开发板的深度解析

    探索Renesas FPB - RA6E2:快速原型开发板的深度解析 在嵌入式系统开发的领域中,拥有一款高效且功能丰富的快速
    的头像 发表于 12-29 15:15 796次阅读

    RL78/G24 快速原型开发板使用指南

    快速原型开发板是用于评估 Renesas MCU 的工具。本手册详细描述了其硬件规格、开关设置方法以及基本的设置流程,旨在
    的头像 发表于 12-29 11:55 1247次阅读

    探索 RENESAS FPB - R9A02G021 快速原型开发板:功能、配置与应用

    RISC-V MCU快速原型设计板.pdf 一、开发板概述 FPB - R9A02G021 专为 R9A02G021 微控制器设计,可帮助用户无缝评估该
    的头像 发表于 12-29 09:50 458次阅读

    Renesas FPB - RX140快速原型开发板使用指南

    能为工程师带来便利的利器。接下来,让我们深入了解这款开发板。 文件下载: Renesas Electronics RTK5FP1400S00001BE用于RX140 MCU的快速原型
    的头像 发表于 12-29 09:45 992次阅读

    Renesas FPB - RA2T1快速原型开发板:开启高效设计之旅

    - RA2T1快速原型开发板为使用RA2T1 MCU进行评估、原型设计和开发提供了便利的切入点。它集成了仿真
    的头像 发表于 12-26 16:20 497次阅读

    NXP MCX C系列微控制器:入门级低功耗解决方案

    NXP MCX C系列微控制器:入门级低功耗解决方案 在电子设计领域,寻找一款既经济实惠又具备低功耗特性的微控制器是许多工程师的目标。NXP的MCX C系列微控制器正是这样一款产品,它
    的头像 发表于 12-24 14:00 852次阅读

    SCH1600 PCB 设计解析:助力快速原型开发

    PCB,它在快速原型开发中扮演着重要角色。 文件下载: Murata Electronics SCH16T-K01-PCB传感板.pdf 一、SCH1600 Chip Carrie
    的头像 发表于 12-16 16:35 515次阅读

    Nordic经过全球认证的、多传感、电池供电的蜂窝物联网原型平台:Thingy91X套件

    Thingy:91 X 为开发人员提供了一个经过全球认证的、多传感、电池供电的蜂窝物联网原型平台 全球领先的低功耗无线连接解决方案提供商Nordic Semiconductor推出了
    发表于 12-15 10:39

    首搭RT-Thread程翧车控平台| RT-Thread程翧 S32K344 快速原型开发平台正式上市!| 产品动态

    在智能汽车迈向高集成与高安全的时代,VCU/ECU开发正面临效率与可靠性的双重考验。依赖单一硬件或拼凑软件方案的传统模式,已成为制约创新的瓶颈。为此,RT-Thread带来里程碑式的解决方案
    的头像 发表于 10-31 11:53 1398次阅读
    首搭RT-Thread程翧车控平台| RT-Thread程翧 S32K344 <b class='flag-5'>快速</b><b class='flag-5'>原型</b><b class='flag-5'>开发</b>平台正式上市!| 产品动态

    RX140 MCU的快速原型板 数据手册和设计资料

    开发。它具有仿真电路,因此用户可以通过USB电缆将程序连接到PC来写入/调试程序。此外,它还具有较高的可扩展性,可与Arduino^®^ Uno兼容,标配两个Pmod^™^ 连接,所有微控
    的头像 发表于 05-21 10:43 1146次阅读
    RX140 MCU的<b class='flag-5'>快速</b><b class='flag-5'>原型</b>板 数据手册和设计资料