mbed 集成开发环境上的 ARM 设计 – 第 1 部分:基础知识

出处:维库电子市场网 发布于:2023-03-17 15:29:58

微处理器无处不在,为汽车、手机、家用和办公设备、电视和娱乐系统、医疗产品、飞机提供“智能”:这个清单似乎无穷无尽。那些在内部隐藏微处理器以增加智能的日常产品称为嵌入式系统。

不久之前,嵌入式系统的设计人员必须是电子、软件,或者两者兼而有之。现在,有了可供我们使用的用户友好和复杂的构建块,和初学者都可以快速参与成功的嵌入式系统设计。

一个这样的构建块是 mbed,由 ARM Ltd. 推出。mbed 采用 2 英寸 x 1 英寸(53 毫米 x 26 毫米)PCB 的形式,40 个引脚排列成两行,每行 20 个,引脚之间的间距为 0.1 英寸别针。此间距是许多电子元件中的标准。

图 2.1 显示了不同的 mbed 视图。查看图 2.1b 中标记的主要功能,我们看到此处讨论的 mbed 基于 NXP 半导体的 LPC1768 微控制器,并包含一个 ARM Cortex-M3 内核。

程序到 mbed 是通过通用串行总线 (USB) 连接器实现的;这也可以为 mbed 供电。有用的是,板上有五个发光二极管 (LED),一个用于状态,四个连接到四个微控制器数字输出。这些允许在不需要外部组件连接的情况下测试系统。包括一个复位开关,以强制重新启动当前程序。


图 2.1:ARM mbed。(图片经 ARM Holdings 许可转载)

图 2.1c清楚地标识了 mbed 引脚,提供了每个引脚功能的摘要。在许多情况下,这些引脚在多个功能之间共享,以提供多种设计选项。

左上角我们可以看到接地和电源引脚。实际的内部电路从 3.3 V 开始运行。然而,该板接受 4.5 至 9.0 V 范围内的任何电源电压,而板载稳压器将其降至所需电压。右上角的引脚提供稳定的 3.3 V 输出电压,下一个向下的引脚提供 5 V 输出。

其余引脚连接到 mbed 外围设备。这些几乎都是后面章节的主题;我们将在这里快速概述它们,尽管它们现在对您的意义可能有限。mbed上的串行接口类型不下五种:I2C、SPI、CAN、USB和Ethernet。

然后是一组模拟输入,对于读取传感器值必不可少,以及一组 PWM 输出,用于控制外部功率设备,例如直流电机。虽然从图中不能立即看出,引脚 5 到 30 也可以配置为通用数字输入/输出。

mbed 的构造允许轻松制作原型,这当然是它的目的。虽然 PCB 本身密度很高,但互连是通过非常稳健的传统双列直插式引脚布局实现的。

mbed 及其支持工具的背景信息可以在mbed 主页上找到。虽然这本书旨在为您提供开始使用 mbed 工作所需的所有信息,但您不可避免地会希望密切关注该站点及其说明书、手册、博客和论坛。重要的是,它提供了 mbed 编译器的入口点,您可以通过它开发所有程序。

mbed 架构 
mbed 架构的框图表示如.2所示。将此处显示的块与实际 mbed 相关联是可能的,也是有用的。mbed 的是 LPC1768 微控制器,如图 2.1 和 2.2 所示。


图 2.2:mbed 架构框图

如图 2.1c所示,mbed 的信号引脚直接连接到微控制器。因此,在接下来的章节中,当我们使用 mbed 数字输入或输出、模拟输入或任何其他外围设备时,我们将直接连接到 mbed 中的微控制器,并依赖于它的特性。

然而,有趣的是,LPC1768 有 100 个引脚,而 mbed 只有 40 个。因此,当我们深入了解 LPC1768 时,我们会发现有一些功能是我们 mbed 无法访问的用户。然而,这不太可能成为限制因素。

mbed 上有第二个微控制器,它与 USB 接口。这在图 2.2 中称为接口微控制器,是 mbed PCB 底部的集成电路 (IC)。

mbed 硬件设计的巧妙之处在于该设备管理 USB 链接并充当主机的 USB 终端的方式。在常见的使用中,它通过 USB 接收程序代码文件,并将这些程序传输到 16 Mbit 内存中,该内存充当“USB 磁盘”。

当程序“二进制”到 mbed 时,它被放置在 USB 磁盘中。当按下复位按钮时,具有时间戳的程序被传输到 LPC1768 的闪存中,程序开始执行。接口微控制器和 LPC1768 之间的数据传输以串行数据的形式通过 LPC1768 的 UART(代表通用异步接收器/发送器和串行数据链路,我们现在不谈细节)端口。

“电源管理”单元由两个稳压器组成,位于状态 LED 的两侧。还有一个限流 IC,位于 mbed 的左上角。mbed 可以通过 USB 供电;这是一种常见的使用方式,特别是对于简单的应用程序。

对于更耗电的应用,或那些需要更高电压的应用,它也可以由外部 4.5 至 9.0 V 输入供电,提供给引脚 2(标记为 VIN)。电源也可以来自 mbed 引脚 39 和 40(分别标记为 VU 和 VOUT)。VU 连接提供 5 V,几乎直接来自 USB 连接;因此它仅在 USB 连接时可用。VOUT 引脚提供稳定的 3.3 V,该电压来自 USB 或 VIN 输入。(对于那些有兴趣的人,可以在mbed 网站上找到 mbed 电路图。LPC1768 微控制器 
LPC1768 微控制器的框图如.3所示. 图中的顶部中心(包含在虚线内)是该微控制器的,即 ARM Cortex-M3。

 
点击图片可放大。

图 2.3:LPC1768 框图

左侧是存储器:程序存储器,采用Flash技术制作,用于程序存储;左边是静态 RAM(随机存取存储器),用于保存临时数据。剩下的大部分图表用于显示外围设备,这些外围设备为微控制器提供了嵌入式功能。这些位于图表的中心和下半部分,几乎准确地反映了 mbed 可以做什么。将这里看到的外围设备与图 2.1c 中看到的 mbed 输入和输出进行比较是很有趣的。

,所有这些东西都需要连接在一起,这是由地址和数据总线完成的任务。尽管它们很聪明,但我们对微控制器设计的这一方面几乎没有兴趣,至少对本书而言是这样。只需注意外设通过称为外设总线的东西连接即可。

这反过来又通过称为高性能总线矩阵的总线互连连接回来,并从那里连接到中央处理器 (CPU)。这种相互联系并没有完全显示在这张图中,我们既不需要也不希望进一步考虑它。

mbed 入门 
现在是您次连接 mbed 并运行个程序的重要时刻。我们将按照 mbed 网站上给出的程序并使用编译器上的介绍性程序,一个简单的 LED 闪烁示例。你会需要:

  • 带有 USB 引线的 mbed 微控制器
  • 运行 Windows(XP、Vista 或 7)、Mac OS X 或 GNU/Linux 的计算机
  • Web 浏览器,例如 Internet Explorer 或 Firefox。

现在按照下面的说明顺序进行操作。本教程的目的是解释在 mbed 上运行程序的主要步骤。

第 1 步:将 mbed 连接到 PC。使用 USB 导线将 mbed 连接到 PC。Status 灯会亮起,表明 mbed 有电。活动几秒钟后,PC 会将 mbed 识别为标准的可移动驱动器,它会出现在连接到计算机的设备上,如图 2.4 所示。


图 2.4:定位 mbed:(a) Windows XP 示例;(b) Mac OS X 示例

第 2 步:创建帐户。在网络浏览器中打开 mbed 上的 MBED.HTM 文件,然后单击创建新的 mbed 帐户链接。按照说明创建 mbed 帐户。这将带您进入该网站,如图 2.5 所示。从这里您可以链接到编译器、库和文档。


图 2.5:。mbed主页

步骤 3. 运行程序。使用站点菜单中的链接打开编译器,即在图 2.5的右侧。通过执行此操作,您将进入分配给您的个人程序工作区。编译器将在新选项卡或窗口中打开。按照以下步骤创建新程序:

1.如图 2.6a所示,右键单击(Mac 用户,按住 Ctrl 键单击)“我的程序”并选择“新建程序”。

2. 选择并输入新程序的名称(例如 Prog_Ex_2_1),然后单击“确定”。不要在程序名称中保留空格。

3. 您的新程序文件夹将在“我的程序”下创建。


图 2.6:打开新程序:(a) 选择新程序;(b) 打开主源文件

单击新程序中的“main.cpp”文件,在文件编辑器窗口中将其打开,如.6b所示。这是程序中的主要源代码文件。每当您创建一个新程序时,它总是包含相同的简单代码。这在此处显示为程序示例 2.1。

程序文件夹中的另一个项目是“mbed”库。这提供了用于启动和控制 mbed 的所有功能,例如下面示例代码中使用的 DigitalOut 接口。


程序示例 2.1:简单的 LED 闪烁

步骤 4.编译程序。要编译程序,请单击工具栏中的“编译”按钮。这将编译程序文件夹中的所有源代码文件以创建将到它们的二进制机器代码。通常,这是您编写的单个程序,加上您几乎肯定进行过的库调用。成功编译后,您将获得“成功!” 编译器输出中的消息,弹出窗口将提示您将编译后的 .bin 文件到 mbed。

当然,对于这个给定的程序,如果发现其中有错误,那将是令人惊讶的;以后的节目你就没那么幸运了!尝试在您的源代码中插入一个小错误,例如删除行尾的分号,然后重新编译。请注意编译器如何在屏幕底部给出有用的错误消息。

更正错误,重新编译并继续。您刚刚插入的错误类型通常称为语法错误。这是一个错误,与编写 C 代码行的规则有关。当发现语法错误时,编译器无法继续编译,因为它认为程序超出了语言规则,因此无法可靠地解释所编写的代码。

步骤 5.程序二进制代码。编译成功后,二进制形式的程序代码可以到mbed。将其保存到 mbed 驱动器的位置。当程序时,您应该看到状态 LED(如图 2.1 所示)闪烁。状态 LED 停止闪烁后,按 mbed 上的重置按钮开始运行程序。您现在应该看到 LED1 每 0.2 秒闪烁。

关键词: ARM

版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!