NXP新推出的LPC553x,作为基于Arm Cortex-M33技术的LPC5500系列MCU的新成员,拥有高精度模拟外设和电机控制外设。 LPC553x 集成了高达256KB 的片上闪存、带奇偶校验和纠错码(ECC) 的128KB RAM、外部串行/四路/八路内存控制器和FlexSPI(具有动态加密和解密功能) )支持内存扩展。 )。
这些细节令人耳目一新,该MCU 集成了多达8 个Flexcomms(可任意配置为串行I2C/UART/SPI)、1 个专用50 MHz SPI、FS USB 主/从设备和CAN FD。 LPC553x 集成了4 个单端(或2 个差分)16 位ADC,支持在12 位模式下以2 MSPS 或3.3 MSPS 进行两个同步独立转换,具有多达23 个ADC 输入通道。此外,LPC553x还提供4个具有5个输入引脚的比较器、3个12位DAC、3个具有可编程增益放大器设置的高精度运算放大器以及高精度内部参考电平。
LPC553x框图
LPC553x 的电机控制子系统具有两个灵活的脉宽调制(PWM) 模块,可提供多达12 个PWM 输出、2 个正交编解码器输入和2 个AOI(与/或/反转,AND 或NOT)模块,可直接馈送到外设以实现快速回复。此外,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 逆变换由以下公式表示:
Park变换将磁通、电压、电流等从静止两相(-)正交坐标系转换到旋转两相(d-q)正交坐标系,按如下公式:
Park逆变换将磁通、电压、电流等从旋转两相(d-q)正交坐标系转换到静止两相(-)坐标系,按如下公式:
参考文档:GMCLIB 用户指南Arm Cortex-M33F
使用恩智浦实时控制嵌入式软件电机控制和电源转换库RTCESL 软件支持上述电机控制算法,这些算法可以通过标准CMSIS DSP 库和/或LPC553x 中的PowerQuad (PQ) DSP 加速器来实现。
与标准CM33 CMSIS DSP 库相比的PQ 性能如下所示:
从图中可以看出,对于CM33中没有相应指令的功能,使用PQ来实现有明显的优势。
使用AOI 和交叉模块快速响应事件
为了快速响应特殊/时间关键的事件,LPC553x 配备了两个纵横开关和AOI 模块。任何输入引脚和外设输入/输出都可以通过组合逻辑AOI模块连接到两个纵横开关XBARA和XBARB。概述如下:
XBARA 的20 个输入(与XBARB 共享)允许从外设或专用引脚中进行选择。 XBARA 最多可以将16 个输出连接到AOI 的输入以形成组合逻辑。 AOI 的4 个输出也可以添加到XBARB,总共32 个输出。
AOI 控制器是一个外围模块,它与来自各种设备模块的事件输入指示器连接,并生成可路由到外围设备间交叉开关或其他外围设备的事件输出信号。其编程模型可通过标准IPS (Azure) 接口访问。
AOI 模块的每个EVENTn 输出都是其四个专用输入(An、Bn、Cn 和Dn)的组合函数。通过AOI 和任何相关外围交叉开关模块的传播时间是一个总线时钟周期。
以下是使用XBAR 和GPIO 模块进行电机控制的示例:
通过对XBARA和GPIO模块的编程,可以立即处理对过流和电压等故障事件的特定响应(一个总线时钟周期)。
为设计带来更高水平的模拟集成和更高的系统可靠性
随着LPC5500 MCU系列不断壮大,LPC553x不仅拥有多种新特性,还在多方面提升了系列性能。 LP553x 系列提供升级,例如增加的内存容量、额外的输出和更快的输入/输出响应时间。
审稿编辑:郭婷