恩智浦新推出的LPC553x作为基于Arm Cortex-M33技术的LPC5500系列MCU的全新成员,具有高精度模拟外设和电机控制外设。LPC553x片内集成高达256KB的闪存、带奇偶校验和纠错码 (ECC) 的128KB的RAM、外部串行/四路/八路内存控制器,以及支持内存扩展的FlexSPI (具有即时加密和解密功能)。
这些细节令人耳目一新,同时该MCU集成多达8个Flexcomm (可任意配置为串行I2C/UART/SPI)、1个专用50MHz SPI、FS USB主/从设备和CAN FD。LPC553x集成的4个单端 (或2个差分) 16位ADC支持在12位模式下以2MSPS或3.3MSPS速度同时进行两次独立转换,并且最多有23个ADC输入通道。另外,LPC553x还提供带5个输入引脚的4个比较器、3个12位DAC、3个带可编程增益放大器设置的高精度运算放大器和1个高精度内部参考电平。
LPC553x结构框图
LPC553x的电机控制子系统有两个灵活的脉宽调制 (PWM) 模块,提供多达12个PWM输出、2个正交编解码器输入和2个AOI (And/Or/Invert,与或非) 模块,可直接馈入外设以实现快速响应。此外,MCU集成紧密耦合的数字信号处理器 (DSP) 和数学运算加速器 (PowerQuad),支持电机控制算法中使用的三角函数和CORDIC函数。
使用LPC553x实现电机控制
使用Arm Cortex-M33和PowerQuad实现的复杂电机控制算法优于使用传统的通用微控制器软件接口标准(CMSIS)DSP库的算法。下面的例子展示了AOI模块如何实现外设和输入/输出引脚之间的直接连接,从而完成电机控制子系统。
利用PowerQuad支持电机控制应用
LPC553x增加了8KB LP缓存,可加速对片上闪存的访问。LP高速缓存是一种8路、4路组关联的直写设计。对于32位宽的缓存数据路径,MCU支持总计8KB的缓存,并针对运行电源操作进行了优化。有了这个缓存,从闪存执行时Coremark性能可达到>4/MHz (迭代次数/秒)。
Clarke变换,根据以下公式将磁通、电压、电流等值从三相坐标系转换为两相(α-β)正交坐标系:
从两轴正交静止坐标系到三相定子静止坐标系的变换是使用Clarke逆变换完成的。Clarke逆变换由以下公式表示:
Park变换,根据以下公式将磁通、电压、电流等值从静止两相(α-β)正交坐标系转换为旋转两相(d-q)正交坐标系:
逆Park变换,根据以下公式将磁通、电压、电流等值从旋转两相(d-q)正交坐标系转换到静止两相(α-β)坐标系:
使用恩智浦实时控制嵌入式软件电机控制和功率转换库RTCESL软件支持上述电机控制算法,可以通过标准CMSIS DSP库和/或LPC553x中的PowerQuad (PQ) DSP加速器来实现。
PQ性能与标准CM33 CMSIS DSP库的对比如下所示:
图表表明,在CM33没有对应指令的函数中,采用PQ实现时具有明显的优势
使用AOI和交叉开关模块快速响应事件
为了快速响应特殊/时间关键事件,LPC553x配备了两个交叉开关和AOI模块。任何输入引脚和外设输入/输出都可以通过组合逻辑AOI模块连接到两个交叉开关XBARA和XBARB。概述如下:
XBARA的20个输入 (与XBARB共用) 允许从外设或专用引脚中进行选择。XBARA最多可将16个输出连接到AOI的输入,形成组合逻辑。AOI的4个输出也可以添加到XBARB上,形成32个总输出。
AOI控制器是一个外设模块,连接来自各种设备模块的事件输入指示器,并生成可路由到外设间交叉开关或其他外设的事件输出信号。其编程模型通过标准的IPS(天蓝色)接口访问。
AOI模块的每个EVENTn输出是其四个专用输入(An、Bn、Cn和Dn)的组合函数。通过AOI和任何相关的外设交叉开关模块的传播时间为一个总线时钟周期。
以下是使用XBAR和GPIO模块实现电机控制的示例:
通过XBARA和GPIO模块的编程,可以立即处理对过流和电压等故障事件的特定响应(一个总线时钟周期)。
更高的模拟集成和更高的系统可靠性
随着LPC5500 MCU系列不断发展壮大,LPC553x不仅具备多种新特性,而且在许多方面提升了系列表现。LP553x系列提供了多方面的升级,例如增加了存储器容量、额外的输出和更快的输入/输出响应时间。
本文作者
CK Phua,恩智浦半导体微控制器产品经理。CK于1993年加入飞利浦半导体公司,曾担任质量、应用工程、产品工程和技术营销等多个职位。继飞利浦之后,CK在2012年加入飞思卡尔,飞思卡尔合并后加入恩智浦。CK现任边缘处理业务部微控制器的产品经理。