可编程逻辑
LPC804 MCU和LPC5500系列中的若干设备都集成了可编程逻辑单元(PLU),可用于实现各种接口和/或粘合逻辑功能,从而减少了系统组件数量,并大大减少了MCU本身的处理工作。PLU的逻辑设计可使用PLU寄存器初始化组件来创建和验证,该组件来自MCUXpresso配置工具套件外设工具。
下面显示了带PLU功能的设备。注:也可以从MCUXpresso IDE中下载对这些板的SDK支持。
协处理器
Arm Cortex-M33协处理器
Armv8-M架构包括对协处理器扩展的支持,恩智浦利用该功能为DSP和安全相关处理开发了高效的扩展。
PowerQuad协处理器
PowerQuad是恩智浦设计的一款协处理器,在使用基于Cortex-M33内核的MCU实现DSP算法时能够提高能源效率和性能。PowerQuad可以直接编程,也可以通过与Arm的CMSIS-DSP库兼容的API进行编程。MCUXpresso SDK包含API头文件,支持CMSIS-DSP,还提供若干示例展示其用途。
支持的CMSIS-DSP API调用包括:
- 矩阵函数
- arm_mat_add_q15, arm_mat_add_q31, arm_mat_add_f32
- arm_mat_sub_q15, arm_mat_sub_q31, arm_mat_sub_f32
- arm_mat_mult_q15, arm_mat_mult_q31, arm_mat_mult_f32
- arm_mat_inverse_f32
- arm_mat_trans_q15, arm_mat_trans_q31, arm_mat_trans_f32
- arm_mat_scale_q15, arm_mat_scale_q31, arm_mat_scale_f32
- 数学函数
- arm_sqrt_q15, arm_sqrt_q31
- arm_sin_q15, arm_sin_q31, arm_sin_f32
- arm_cos_q15, arm_cos_q31, arm_cos_f32
- 过滤函数
- arm_fir_q15, arm_fir_q31, arm_fir_f32
- arm_conv_q15, arm_conv_q31, arm_conv_f32
- arm_correlate_q15, arm_correlate_q31, arm_correlate_f32
- 转换函数
- arm_rfft_q15, arm_rfft_q31
- arm_cfft_q15, arm_cfft_q31
- arm_ifft_q15, arm_ifft_q31
- arm_dct4_q15, arm_dct4_q31
PowerQuad具有其他硬件功能,例如先验功能,并且SDK中也提供了使用这些功能的示例。
下面显示了带PowerQuad的设备。注:也可以从MCUXpresso IDE中下载对这些板的SDK支持。
CASPER
为了应对非对称加密的挑战,恩智浦开发了CASPER,一种具有RAM共享功能的加密加速器和信号处理引擎。它是某些非对称加密算法的硬件加速引擎,如ECC。CASPER位于Cortex-M33协处理器总线上。在MCUXpresso SDK中,恩智浦的MbedTLS实现使用了CASPER,因此与仅使用软件的方法相比,您无需付出额外的努力就可以获得快速和节能的优势。
下面显示了带CASPER的设备。注:也可以从MCUXpresso IDE中下载对这些板的SDK支持。
专用接口
恩智浦微控制器包括功能强大的创新接口外设,可降低系统成本,降低能耗,并为您的应用保留更多处理器周期。
接口模块
LPC5500系列MCU包含一个专用的可编程外设模块,可用于实现各种接口,其所含Arm内核的开销很少或为零,使您能够实现更低的系统成本,节省能源,并为您的应用留下更多的处理周期。恩智浦提供了一些特殊外设的驱动程序和示例(应要求),可与MCUXpresso SDK项目一起使用。
下面显示了带专用外设模块功能的设备。
状态控制定时器
恩智浦产品组合中的若干MCU包含功能强大的外设,可以解决许多逻辑和时序挑战。
大多数LPC和i.MX RT600微控制器上都有状态可配置定时器(SCT)。SCT的核心是一个递增/递减计数器,在LPC5500系列设备上最多可以对16个事件进行排序(支持的事件数因设备系列而异)。可以通过IO或16种计数器匹配之一触发事件。然后,事件可以更新状态变量,生成IO活动(设置、清除、切换)或启动/停止/反转计数器。在某些情况下,SCT可以用来构建一个半自治的子系统,只需要非常低的MCU开销便可管理它。利用这些功能,可以实现一系列复杂的系统设计,通过减少对外部FPGA或其他组件的需求来节省系统成本。MCUXpresso SDK包括使用SCT实现PWM定时器的示例,MCUXpresso外设配置工具支持动态设计状态机控制的计时器。
FlexIO模块
K32、Kinetis和i.MX RT MCU系列的几个成员提供FlexIO模块。FlexIO模块非常灵活,允许您根据您的通信需求进行配置;它能够模拟各种串行通信协议,如UART、SPI和I2C。FlexIO模块的主要组件是移位器、定时器和引脚;数据被加载到移位器上,分配一个定时器来生成移位器时钟,并使用引脚将数据输入/输出到/输出到移位器。移位器分配有一个定时器,用于生成移位时钟,可以将其配置为将数据移入或移出。除了串行接口之外,FlexIO还可以模拟并行接口,例如LCD显示驱动程序,MCU的开销非常低。MCUXpresso SDK和外设配置工具中包括使用FlexIO模拟I2C、I2S、UART、SPI的示例、与8080和6800总线协议匹配的显示器,以及PWM驱动程序示例。可以从恩智浦网站的应用笔记中找到摄像头接口和IrDA摄像头接口的示例,方法是搜索“FlexIO应用笔记”。
下表显示了哪些设备包含SCT和/或FlexIO特殊外设。
|
器件系列 |
内核 |
FlexIO |
SCT |
K8x, K27/28 |
Cortex-M4 |
|
- |
KE1xx |
Cortex-M4/M0+ / Cortex-M0+ |
|
- |
KL (不含KL0x) |
Cortex-M0+ |
|
- |
K32 L |
Cortex-M4/M0+ / Cortex-M0+ |
|
- |
i.MX RT1010 |
Cortex-M7 |
|
- |
i.MX RT1020 |
Cortex-M7 |
|
- |
i.MX RT1050 |
Cortex-M7 |
|
- |
i.MX RT1060 |
Cortex-M7 |
|
- |
i.MX RT1160 |
Cortex-M7 / Cortex-M4 |
|
- |
i.MX RT1170 |
Cortex-M7 / Cortex-M4 |
|
- |
LPC81x/82x/83/x84x |
Cortex-M0 / M0+ |
- |
|
LPC51U68 |
Cortex-M0+ |
- |
|
LPC54000 |
Cortex-M4 |
- |
|
LPC5500 |
Cortex-M33 / 双Cortex-M33 |
- |
|
i.MX RT500 |
Cortex-M33 / Cadence Tensilica Fusion F1 DSP |
|
|
i.MX RT600 |
Cortex-M33 / Cadence Tensilica HiFi 4 DSP |
- |
|