• |
  • 注册
  • |
  • 手机云汉
    扫码关注云汉官方微信

    扫码关注云汉官方微信

    扫码关注云汉小程序

    扫码关注云汉小程序

32位元MCU平台间的转移没有太多捷径

来源:EEWORLD
时间:2014-09-18

分享至:

    过去数年间,关于微控制器平台标准化的讨论不计其数,其目的是为了让不同MCU供应商产品间的转移更为容易,且在设计上无需做重大更动。然而,外围设备才是移转的真正核心,但所有讨论并未涉及外围设备的部分。

    工程师在着手新设计之前会先审视功能需求,依此来决定采用什么电路以及控制这些电路所需的MCU内建外围。例如,工业级的人机接口设备需要支持LCD、按键、触控式屏幕与机器的通信、LED以及喇叭/蜂鸣器等,这些功能都需要MCU上的某些外围,例如用于通信的CAN控制器、用于触控式屏幕的ADC以及用于蜂鸣器的PWM计时器。

    外围具备的功能越多所需的外部电路就越少,在某些情况下,还能减少需要撰写的程序码量。举例来说,在目的相同的情况下,采用PWM驱动方式较使用特殊蜂鸣器模式来得简单许多。

    核心很重要,但对于设计人员来说却是抽象的。核心必须满足两个基本条件:速度上是否能执行为建立用户体验所需的软件功能,以及是否能有效率地执行所有任务。只要能满足基本条件,核心类型并不那么重要。

    当然,核心还与韧体/软件相关。旧有程序码是工程师必须考虑到的问题,例如,使用现成程序码能节省多少工作量。然而,这个问题与核心并没有直接相关,而是与外围有关。大多数32位元MCU程序码采用C语言编写,能重新编译至任何核心,然而,每家MCU制造商的外围特性和程序设计模型均专属于自家产品,这是程序码难以转移的主要原因。

    为了让工程师使用起来更方便,MCU制造商会提供一个韧体程序库,包含设置和使用各种MCU内建外围的程序码。不同制造商操作外围的方式并不相同,甚至特性上也有所不同,将应用程序从一MCU转移至另一MCU并非简单的事。

    ARM一直以来都在为简化应用程序的移转而努力,定义了Cortex微控机软件接口标准(CMSIS)的韧体抽象化层标准,采用Cortex-M系列核心的MCU生产商其韧体程序库均已采纳了此一标准。遗憾的是,这个标准仍不能克服迁移外围遇到的困难,也就是说程序码的移植没有捷径。

    由于MCU制造商不愿简化其产品到其它供应商产品的可移植性,只能由设计工程师来达成此一目标。透过实现一个抽象化层,由该层创建硬件(即MCU外围)和应用程序码之间的标准程序设计接口来实现。

    可使用的方法有两种:方法一为开发一个中介层或封套资料,进而实现MCU制造商外围程序库和您的程序码间的转换。这是快速的解决方案,但会在命令和资料路径中添加较多程序码。方法二为定义一个标准的函数和变量命名机制,并将其应用于所有外围程序库。此种方法不必添加程序码却很费时,取决于外围设备用法的复杂度。

    实现可移植性是件大工程,在开发过程的一开始就必须列入考量。除了韧体/软件兼容性,还有接脚兼容的问题。MCU供应商的产品转移往往要重新布置PCB,而且还需要电容和稳压器等不同的外部元件。无论使用何种核心,在32位元MCU供应商的产品间转移均都极为困难,这一切取决于外围和相关的韧体程序库,而MCU制造商透过提供韧体程序库和应用说明来使设计过程尽可能地简单。

    此外,他们也努力减少元件在系列间的迁移工作,却不愿意让转移到竞争对手的解决方案变得过于容易。如此一来,这便成为设计工程师要解决的问题,应该要在每一个专案开始前即评估成本和益处。

ICkey(云汉芯城)是一家一站式电子元器件采购网, 提供Digikey、Mouser(贸泽)、Element14e络盟)、Wpi(大联大)、Future(富昌)、Avnet(安富利)、Arrow(艾睿)、Chip1stop、Onlinecomponents、Master等主流供货商的芯片采购服务,在IC采购, 元器件交易和IC交易业务领域中排名的在线采购平台。

更多新闻