基于ARM 的 mbed微控制器快速原型设计解决方案

网友投稿 333 2022-11-28

基于ARM 的 mbed微控制器快速原型设计解决方案

图 1:mbed 策略。

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

图 2:技术接受度(Davis 等,1989)。

易用性实际上非常依赖于上下文;大多数好的工具都很容易用于它们预期的任务。但对于不同的任务,结果不太可能相同。通过明确定义快速原型设计的背景,将设计权衡集中在易用性上变得更有意义。对于业内熟悉现有专有架构和工具链的嵌入式开发人员来说,改变可能会令人生畏,因为从专家到学习者会带来额外的负面感觉。仅这些因素就足以推迟探索转向现代解决方案的好处。对于新用户来说,恐惧、不确定和怀疑同样令人望而却步。这使得初始体验变得至关重要;这些工具必须以很少的投资迅速产生结果,

入门

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

微妙的优势是你看不到的东西。有些决定是您不必做出的,因为已经做出了能够为任务提供最合适结果的选项和配置。

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

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

图 3:在线编译器。

快速原型

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

图 4 显示了基本的 mbed 微控制器引脚排列,指示了接口资源的可用性和位置。指示的接口与在 mbed 库中找到的接口相匹配。这突出了它们一起开发的一些主要好处。API 提供了一个抽象的外围接口,而不是特定于实现的。这些库使用面向对象,可以很好地映射到有形的物理硬件资源。硬件、库和文档共享相同的接口命名和概念。

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

硬件和软件之间的一致性实现了捕捉意图的自然编程风格,这对于快速实验和迭代至关重要。

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

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

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

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

图 7:mbed 库接口。

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

mbed 库建立在低级 ARM® Cortex™ 微控制器软件接口标准 (CMSIS) 之上,CMSIS 是 Cortex-M 处理器系列的独立于供应商的硬件抽象层。

图 8:mbed 库架构。

应用示例

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

图 9:通过 Internet 应用程序控制屏幕和伺服。

结论

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:初级、中级和高级开发人员之间的差异
下一篇:【MapReduce】美国新冠疫情案例集 (MR与数据库交互)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~