历史上的今天
今天是:2026年03月27日(星期五)
2023年03月27日 | Arm® Cortex®-M0+ MCU 如何优化通用处理、传感和控制
2023-03-27 来源:EEWORLD
Arm® Cortex®-M0+ MCU 如何优化通用处理、传感和控制
嵌入式系统中的微控制器 (MCU) 像是繁忙机场的空中交通管制系统。MCU 可以感知所在的工作环境,根据感知结果采取相应操作,并与相关系统进行通信。MCU 可以管理和控制从数字温度计到烟雾探测器,再到暖通空调电机等几乎各种电子设备中的信号。
为了确保系统的经济性和使用寿命,嵌入式设计人员在设计过程中需要更大的灵活性。如果采用目前市面上的 MCU 产品系列,设计人员在当前和未来设计中可以重复使用的硬件和代码数量将很有限,并且计算、集成模拟和封装选项也很有限。这种有限的灵活性通常意味着设计人员必须向多家制造商采购 MCU,并需要花费额外的时间进行重新编程才能满足每个设计的独特需求,因此会增加开发成本以及整体系统成本和复杂性。
MSPM0 Arm® Cortex®-M0+ MCU 为设计人员提供更多的选择、更大的设计灵活性以及更直观的软件和工具,可帮助解决这些难题。本文将探讨所谓的“更”在这里的真正含义,以及这些 MCU 凭借更多的集成模拟选项和处理能力可能适用的潜在应用。
更多的计算选项
虽然 Arm Cortex-M0+ 为 8 位和 16 位应用带来了 32 位计算能力,但设计人员仍在寻求尽可能强大的计算性能,包括增加软件抽象层以实现代码复用和延长寿命,在具有超低时延要求的算法中加强分析能力,以及提高安全性。
执行计算工作的 MSPM0 MCU 选项有很多,从适用于简单应用的 32 MHz Arm Cortex-M0+ 中央处理器 (CPU),一直到具有硬件加速数学函数(包括加速除法、求平方根、乘法累加和三角函数 [正弦、余弦、x 的反正切、y/x 的反正切])的 80 MHz CPU。
MSPM0 G 系列(包括 MSPM0G3507)MCU 在两种闪存等待状态下具有 80 MHz 的计算能力,因此可以在如下应用中采用此类低成本 MCU:
• 运行频率大于 30 kHz 的无传感器磁场定向控制 (FOC) 电机驱动应用,由于数学加速,控制环路时延更低(应用示例如图 1 所示)。
• 电网基础设施中的多相电能计量计算。

图 1:FOC 电机驱动应用示例(工业电机、无绳电钻和家用电器)
更多的集成模拟选项
借助于 MSPM0 MCU 的集成构建块以及灵活的可编程片上连接,包括逐次逼近寄存器 (SAR) 模数转换器 (ADC)、比较器和数模转换器,可以帮助提高传感电路的精度。这些构建块还包括具有零交叉失真的零漂移、斩波稳定型、可编程增益运算放大器。集成的跨阻放大器具有用于实现光电二极管电路的超低输入偏置电流 (150pA)。
在低成本传感应用中,通过降低作为误差源的输入失调电压,可以实现更高的传感器信号增益,同时在整个温度范围内保持较低的残余输入失调电压误差(如图 2 所示),从而提高以下应用中的精度:
• 电力输送应用,如电池充电和电量监测。
• 监测和实时控制应用,例如电器、电动和园艺工具中的有刷直流和无刷直流电机驱动器。
• 医疗监护信号链,包括血压监测仪、脉搏血氧仪和温度计。
• 楼宇自动化应用,包括烟雾探测器和被动红外传感器。

图 2:在最大值 ±2 mV 和 ±300 μV 下的输入失调电压误差比较
集成的 SAR ADC 支持高达 4MSPS 的单调 12 位运算和高达 250kSPS 的 14 位运算,并支持同步采样以同步测量两个信号。此功能可在住宅和企业应用中进行能源监测,对电源电压和电流进行 14 位同步采样,以及在压缩机、泵和风扇等电机驱动器中进行高速低时延采样 (250ns)。
结语
在成本敏感的嵌入式系统中添加和改进功能取决于符合设计人员预算的 MCU 的传感精度和计算能力。随着越来越多的设计人员采用平台软件开发方法、对多个应用使用同一个软件框架,基于具有可扩展功能的 MCU 产品系列进行开发比以往任何时候都更加重要,这样能确保每个产品都使用具有必要检测和处理功能并经过成本优化的 MCU。采用现代 MCU 产品系列,设计人员可以在不增加成本的情况下添加新功能,或者在保留现有功能集的情况下降低成本,同时还可以开发在未来设计中可重复使用的可扩展软件。
史海拾趣
|
摘要:介绍如何用PowerPC860(MPC860)进行FPGA(Xilinx的Virtex-II系列)的配置;给出进行FPGA配置所需的详细时序图和原理图。本配置基本原理对其它FPGA的配置也适用。 关键词:PowerPC860 FPGA Xilinx 1 概述 MPC860是基于PowerPC结构的通信控 ...… 查看全部问答> |
|
关于USB MassStorage Client Function的几个问题? 在WinCE上实现优盘的功能已经实现了,现在我有几个小问题想请教一下? 1、usbmsfn.dll是MassStorage Client Function对应的驱动文件,这个文件的源代码在哪里,如何编译? 我通过查阅以前的帖子,发现可以通过sysgen_capture usbmsfn 得到对应的s ...… 查看全部问答> |
|
在keilC51里,用了可以位寻址的存储器,可是工程芯片设成89C51时编译可以通过,就是不能实现功能(在电脑上通过串口仿真)。只有把芯片改成89C52才可以实现。 在平凡单片机书上也写了用到内部数据存储器时工程里需要把芯片设成52系列的。 不知道 ...… 查看全部问答> |
|
用MSCOMM32.OCX,串口初始化和输出都正常,但不能取输入缓冲区的值,为什么? 步骤如下 1)用SUDT SerialNull 软件虚拟了两个串口com15,com16 2)程序对com15,com16初始化,com15用做模拟接收,com16用做模拟发送 Ole_MSC.object.CommPort=15 &nb ...… 查看全部问答> |
|
我最近在用430F169做个东西,其中用到了FLASH的读写,遇到了难题,请热心人帮忙解决. 问题是这样的: 在程序中我需要四个常量,这四个常量通过上位机写入FLASH存储区.在调试时通过上位机改变四个常数的一个或几个,并且我希望在写入一个时不希望 ...… 查看全部问答> |
|
小弟刚刚开始学DSP,在CCS4.2环境连接仿真器和开发板时,每次一点击Launch TI Debgger的时候就会出现这个问题,之前都是好的,不知道这个是怎么回事啊?希望各位前辈不吝赐教!… 查看全部问答> |
|
最近我开始学习FPGA,但看了一些教程后,自己很困惑,好像没有在教程中看见不同的芯片之间有什么不同,我以前一直都是学习单片机的,习惯上了处理器外设的这种配置,我知道FPGA的一切都需要自己设计,但不同的FPGA之间都有那些区别啊?我就知道他们 ...… 查看全部问答> |
|
本人是大二学生,想学习做一个控制电路。。。要用到AD转换 pwm输出等。。 想问问如何入门学习 现在已经学完微机原理 数电 电路 要看什么书,用什么开发板,要不要仿真器? 希望各位多多指教… 查看全部问答> |




