#技术资源# #申请原创#
1. 芯片介绍 APM32F425 是珠海极海半导体推出的工业级高性能拓展型 MCU。以下是具体介绍: 内核与主频: 采用 Arm® Cortex@-M4F 内核,工作主频高达 240MHz,内置16 个数据流的 DMA,支持 FPU 和 DSP 指令,能高效处理复杂计算任务,在数字信号处理等方面表现出色。 存储配置: Flash 容量为 1024KB,SRAM为 192KB+4KB,还支持扩展外部存储EMMC,可满足多种应用对存储的需求。 电源管理: 工作电压范围为 1.8~3.6V,支持上电/掉电/欠压复位,具备可编程电源电压检测器,能在不同电源条件下稳定工作。 定时器: 拥有2个16 位高级定时器、6个 16 位通用定时器、4 个 32 位通用定时器、2 个 16 位基本定时器、2 个看门狗定时器和1个 24 位系统滴答定时器,可用于定时控制、PWM 输出等多种场景。 模拟外设: 集成3个 12 位 ADC,共 24 个通道,2 个12 位 DAC(双通道)可用于模拟信号的采集与输出,适用于需要处理模拟量的应用,如传感器数据采集等。 通信接口: 通信接口丰富,包括4个UART和2个USART、3个I2C、3 个SPI、1个QSPI、2个CAN、2个USB OTG_FS、1个SDIO和1个EthernetMAC,可满足不同设备间的高速数据通信需求 安全性: 具备 RNG(随机数发生器)和 96 位唯一设备 ID,有助于提升系统的安全性和可追溯性 封装与引脚: 提供 QFN48、LQFP48/64/100/144 等多种封装形式,最多可达114个 /0 引脚,且均可映射到外部中断向量,方便用户根据不同应用场景进行硬件设计。 应用领域: 适用于可编程逻辑控制器(PLC)、伺服驱动器、四轴飞行器、储能BMS、机器人等工业应用领域,也可用于智能家居、健康监测设备等场景。
2.零等待功能介绍 APM32F425 的 FLASH 零等待是通过将 Flash 前 256KB 映射到 SRAM 来实现的,具体原理如下: 映射机制:在 APM32F425 上电初始化阶段,会将 Flash 前 256KB 的数据搬运到SRAM 中。由于 SRAM 的访问速度远高于 Flash,且能与 CPU 的高速运行相匹配,当 CPU 访问这部分存储区域时,无需像访问 Flash 那样插入等待周期,可直接快速读取指令和数据,从而实现零等待周期的指令读取与数据访问,极大提升了系统运行速度。 性能优势:这种方式使得用户可以将最常执行的函数、中断服务程序等关键代码放入该零等待区域,确保这些对实时性要求高的代码能够快速执行,显著提升产品的实时性能和整体表现,适用于高端电机控制、数字电源、工业自动化等对响应速度和计算性能要求较高的场景。
3.零等待如何快速实现 要将代码放入 APM32F425 的零等待区域(即 Flash 前 256KB 映射到 SRAM 的区域),需要通过内存分配以及代码属性指定实现,具体步骤如下: 首先需要确认当前芯片的FALSH零等待区的大小,目前仅支持0KB,64KB,128KB,192KB,256KB 5个等级配置。相关配置介绍如下图,可通过查找具体手册确定细节。 file:///C:/Users/apex/AppData/Local/Temp/ksohtml456/wps5.jpg
然后以KEIL开发平台举例,通过修改SCT文件,在SCT文件中专门定义零等待区域的段,并将其地址范围限定在 Flash 前 256KB 内(如果零等待区定义为256K). 再将关键代码(如中断服务函数、高频调用函数)指定到SCT文件中定义的内存段。 一般通过attribute关键字进行属性添加即可,放到将要执行的函数前即可。
file:///C:/Users/apex/AppData/Local/Temp/ksohtml456/wps6.jpg
最后验证代码位置是否正确,在编译输出的.map文件中搜索函数名,确认其地址在0x08000000 ~ 0x08040000范围内即可。 零等待区域空间有限,用户需要有限放置关键执行函数,即对实时性要求较高的部分代码,以电机控制为例,可以将PWM中断,实时控制,高频调用等等代码放入零等待区域,达到充分利用其高速访问特性来提升产品的实时性能效果。
4. 零等待效果验证 对比对象包括极海上一代不带零等待功能的产品APM32F407,已上市的典型零等待芯片的GD470,以及本次测试对象APM32F425. 对了对比方便,统一用同一套代码测试,因为三款芯片基本跟STM32F407是全兼容,所以主代码基本不变,可以做到95%以上的兼容。同时,将工作主频统一为160MHz,APM32F425零等待区配置为256KB,最终测试结果如下图所示。可以发现相比于不带零等待功能,执行相同代码,零等待芯片代码执行效率可以优化20%左右,APM32F425的最终效果对比GD的芯片,基本等同甚至略有优势。
file:///C:/Users/apex/AppData/Local/Temp/ksohtml456/wps7.jpg
|