- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式设计引入第二个微控制器的设计方案
在您的设计中添加第二个 MCU 的原因有很多,一旦您这样做了,就有很多错误要避免。本文考虑了论点和选项,同时指出了沿途的陷阱。
鉴于当今可用的 处理器种类繁多,您可能会发现通过在您的应用中引入第二个 微控制器 (MCU) 或 微处理器 (MPU) 来为应用程序添加新功能是一种更具成本效益的选择,原因有很多。设计而不是试图在单个更高性能的处理器上执行每项任务:
成本:与添加 8 位或 16 位 MCU 以承担增加的负载相比,迁移到更高性能的系统 MPU 可能具有更高的成本差异。
电源:与其消耗电源让主应用处理器不断地自行开启以执行相对简单的操作,例如监控 传感器组或检查是否已按下某个键,可以引入一个 8 位处理器来执行这些任务。 从本质上讲,8 位处理器通过让主处理器休眠并仅在需要其注意的事件发生时才唤醒它来充当“电源门”。这对于 电阻式和表面 电容式触摸屏尤其有效。
确定性:涉及计算密集型任务(如动画或 音频)的用户界面 (UI) 功能可能会强调系统的实时确定性行为。第二个 MCU 可以承担所有“实时”UI 职责,而不是冒着 电机控制等关键任务的可靠性的风险。
多样性:许多系统都可以从模块化设计中受益。例如,可以使用不同的处理器来实现显示模块,以提供额外的图形或流式 视频功能。通过采用模块化方法,无需更改主要应用 程序代码即可向系统添加新功能或支持不同的模型。
简单:一条 产品线可以提供多种选择。例如,一个产品可能有四个屏幕、三个键盘和三个连接选项。当使用单个处理器时,设计团队必须为每个可能的变体(4x3x3=36 个不同的变体)维护、测试和验证单独的代码版本。使用辅助处理器实现新功能时,只需对每个选项(4+3+3=10)进行维护。请注意,使用第一个选项时,需要使用每个变体对整个系统进行测试和验证,这是一个复杂且耗时的过程。使用第二个选项时,主应用程序代码只需要验证一次。每个选项都可以单独验证,并且复杂性大大降低。
I/O 保护:一个 MCU 可以通过响应多个地址在一个 接口上看起来是多个设备。例如,主应用处理器可以发出命令打开风扇,该命令被用作虚拟集线器的 MCU 拦截。这是一种在主应用处理器上节省 I/O 的有效方法,因为只需一个 通信外围设备即可读取和控制多个设备。
认证:更改用户界面或在主系统中引入新的界面(如 Wi-Fi)需要对某些市场的整个设计进行重新认证。将这些功能作为具有单独处理器的附加模块来实施,可简化重新认证过程,显着加快开发和上市时间。
UART、I 2 C 和 SPI
有许多选项可用于互连处理器。用于此目的的最基本接口是通用异步 收发器 (UART)、内部 集成电路 (I 2 C) 和串行外设接口 (SPI)。今天,许多处理器为这些接口中的一个或多个提供硬件和软件支持。例如, 意法半导体的 STM32 Cortex-M3 32 位处理器和 8 位 STM8L MCU 支持所有这三种。或者, 赛普拉斯的 PSoC可 编程片上系统处理器系列具有 模拟和数字模块,可配置为提供每个接口的多个实例,允许根据不同目标市场的需要更改接口组合。问题变成了您需要多少接口。
UART 的运行速度高达 250 kbps,而 I 2 C 的运行速度为 100 至 400 kbps。提供自己的 时钟的 SPI 可以以超过 1 Mbps 的速度运行。UART 链接通常可以使用基于中断的驱动程序在软件中实现,只要驱动程序不会根据应用程序的需要在处理器上施加过多的负载或延迟。一个我2C 主机通常可以用软件实现,但由于涉及的数据速率,从机需要用 硬件实现。SPI 还需要基于硬件。多主机系统也需要基于硬件。
除了数据速率之外,每个接口都提供了可能使其更适合特定应用的特定功能。UART 实现起来非常简单,并且是全双工的。我2C 语言很受欢迎,因为它只需要两条线,可以有一个简单的主控,并提供各种高级选项,包括支持寻址、多主控、广播和时钟延长。例如,时钟延长允许 I2C 从机在处理接收到的数据时保持时钟并停止数据流,从而防止潜在的溢出问题。相比之下,SPI 从设备受 SPI 主设备的支配。借助 I 2
C 和 SPI 的所有各种可用选项,许多芯片供应商提供示例代码,您需要将其用作创建自己的代码的模型。幸运的是,这些接口的驱动程序相当简单——I 2C驱动可以是15行代码,让你在短时间内实现一个接口。但是,重要的是要确定需要支持哪些特性,正确实现它们,并且主从实现相同的特性。例如,在创建 I 2
C 驱动程序 时,您
文档评论(0)