MM32F5

MM32F5270 是灵动近期发布的全新性能型 MCU 产品,采用“星辰”处理器做为主控核心,并在系统架构和外设配置上做了全面的升级。漫谈系列的前几期中依次介绍了 MM32F5270 中的多处创新特色,细心的读者可能对“星辰”处理器的跑分数据还有印象,没错,第一期中笔者曾经提到过“星辰”处理器达到了 4.02 CoreMark/MHz,相较于 Cortex-M3 和 Cortex-M4 有约 17~20% 的提升。本期,笔者就来说说 CoreMark 跑分,以及如果利用 MindSDK 轻松将 CoreMark 程序移植到 PLUS-F5270 开发板上,并将跑分结果和友商的高性能产品做一个对比。

1、CoreMark 测试

CoreMark 是评测 MCU 性能的最常用测试程序之一,经常能看到很多国际大厂将 CoreMark 分数标注在产品手册上,足以体现 CoreMark 测试的权威性。

CoreMark 是由 EEMBC 提出的基准测试程序,可通过 EEMBC 官网(www.eembc.org)下载 。根据 EEMBC 的介绍,CoreMark 是为了测试处理器功能而特制的基准测试程序,其通过产生单一数字的跑分结果,来帮助用户快速的对不同的处理器做出比较。

接下来,笔者通过 EEMBC 网站下载了最新版的 CoreMark 测试程序,最新的程序需要通过 github 获取(github.com/eembc/coremark),这里的具体操作就不介绍了,我们直接来看下载下来的 CoreMark 程序包。

下载后的程序包结构如下图所示,其中,coremark-main 文件夹下的 .c 和 .h 是 CoreMark 测试的核心程序,和程序运行的平台没有关系,所以理论上,coremark-main 下的文件是不需要修改的。同时看到 coremark-main 文件夹下有很多子文件夹,这些文件夹是移植到不同操作系统上所需要修改的文件,即 core_portme.*。这里,考虑到我们仅运行 CoreMark 程序,不需要跑操作系统,因此,选择其中的 barebones 文件夹,打开后看到里面包含了 core_portme.c,core_portme.h 以及其它一些程序和 Makefile。后期的移植就是通过修改这些 portme 文件实现。

“MM32F5

到这里,我们运行 CoreMark 所需的所有文件已经就位。简单看下 CoreMark 中到底测试了哪些内容。CoreMark 的核心程序有 3 个,分别是 core_list_join.c,core_matrix.c,core_state.c。其中,core_list_join 用于列表运算测试,主要包括列表插入、删除、反转等操作;core_matrix 用于矩阵运算测试,主要包括矩阵的乘法、加法等;core_state 用于状态机运算测试,主要运行状态的转换。

CoreMark 结果通过完成指定运算量所需要的时间来表征,即 CoreMark = Data size/时间。这个结果用于评定 MCU 的性能,而非 CPU 性能。CoreMark 分数和 CPU 的主频有关,如果仅评估 CPU 的性能,则通过 CoreMark 分数和主频的比值来表示,即 CoreMark/MHz。“星辰”处理器 4.02 CoreMark/MHz 就是这么来的。

2、借助 MindSDK 移植 CoreMark

接下来就是 CoreMark 的移植。前面提到 CoreMark 的核心程序是和平台无关的,那我们需要移植哪些内容呢?很简单,仅需要处理好以下几点:

1)提供时间基准 – CoreMark 测试需要知晓运算所花费的时间,因此需要定义一些 API 来告诉 CoreMark 当前时间是多少,而最终 CoreMark 测试关心的是测试开始到测试结束的时间差。

2)系统初始化 – 包括Cache 配置、电源配置、时钟配置等。

3)提供串口打印 – CoreMark 的结果需要打印出来,一般通过串口打印的方式接收 CoreMark 的结果。

4)最后,还要将 CoreMark 程序放入 IDE 中,并下载到开发板上运行。这里采用 IAR 开发,在 PLUS-F5270 开发板上运行。

这里选择基于 MindSDK 进行移植。MindSDK(mm32-mcu-sdk)是由灵动官方的软件团队开发和维护的基于灵动微控制器的软件开发平台。其包含了驱动程序、功能组件、样例工程及演示工程。用户可以访问灵动官网,到产品-> MM32F5270 -> 工具和软件下找到 MindSDK 的入口,也可以直接访问 mindsdk.mindmotion.com.cn 登录并获取。

MindSDK 中包含了这里所需的所有驱动程序,基于 MindSDK 可以实现快速 CoreMark 移植。

“MM32F5

这里,我们登录到 MindSDK 网站,选择 Toolchain 为 IAR,选择开发板为 PLUS-F5270,点击 BUILD PROJECT,即可生成 PLUS-F5270 配套 SDK 包。

“MM32F5

下载下来的 plus-f5270_iar SDK 包的内部结构如下图所示:

“MM32F5

这里,考虑到移植需要用到串口打印,因此笔者选择了基于 demo_apps -> basic 中的 hello_world 工程进行移植,这里,需要以下几个步骤:

1)将 hello world 工程拷贝一份,重命名为 Coremark_test。

2)新建一个 Coremark 文件夹,将 Coremark 程序拷贝进去。

3)打开 IAR 工程,添加 Coremark 程序,并删除原有的 main.c。

4)在 portme.c 的 portable_init 函数中做系统初始化配置。

这里的配置包含以下几步:

第一步是打开指令和数据缓存,MM32F5270 所配置的缓存是“星辰”处理器自带的 L1 缓存,指令和数据各 4KB,其调用的 API (SCB_ 开头)都已经在头文件 core_star.h 中定义好,该头文件位于 MindSDK 的 device/CMSIS/Include 路径下。

“MM32F5

第二步是板子初始化,这里直接拷贝 hello world main.c 中的BOARD_Init() 函数。其中包含了时钟的初始化、IO 引脚的初始化和串口的初始化(用于串口打印)。这里 CPU 配置为 120MHz。

“MM32F5

第三步是定时器的初始化,这里直接将 driver_examples -> tim -> tim_basic 中的 app_tim_init() 函数拷贝到 core_portme.c 来修改。这里采用 32 位定时器 TIM2 做为系统时间基准,配置 TIM2 运行在 120MHz,分频系数为 100,计数周期为 1000 秒。

“MM32F5

以上配置完毕后,CoreMark 的移植工作就完成了。可以看出,基于 MindSDK 移植 CoreMark 程序是非常简单的。此时打开编译配置可以看到,该工程选择了 Mind Motion MM32F5277E9P 做为 Device,Core 识别为 STAR。

“MM32F5

3、基于 PLUS-F5270 运行 CoreMark

接下来,需要将程序下载到 PLUS-F5270 开发板中运行。这里,PLUS-F5270 开发板是灵动联合逐飞科技打造的 MM32F5270 系列全功能评估板,目前已经可以通过逐飞科技官方淘宝账户购买。

“MM32F5

PLUS-F5270 开发板没有板载调试器,用户需要通过外部调试器连接。目前,J-LINK V9 或以上版本已经支持 STAR 处理器,用户也可以通过 DAP-LINK 来进行调试和烧写。其硬件连接如下图所示。

“MM32F5

4、CoreMark 结果对比

这里对 MM32F5270 进行了多种配置下的 CoreMark 测试,包括不同的编译器优化条件、不同的 CoreMark size。这里,程序运行在内置 Flash 中(0x08000000),中间数据存放在 System RAM (0x30000000)中。

测试结果如下图所示,可以看到,MM32F5270 在优化开到最大的条件下,达到了 3.93 CoreMark/MHz,这个数值已经非常接近理论极限值 4.02 CoreMark/MHz,可以看出MM32F5270 的运行效率还是很高的。

“MM32F5

其中,优化开到最大时的串口打印结果如下图所示,可以看到,MM32F5270 在 21.2 秒内完成了 10000 次迭代,因此跑分结果为 1000/21.2 = 471.4 CoreMark,单位主频的分数为 471.4 CoreMark/120MHz ≈ 3.93 CoreMark/MHz。

“MM32F5

将这个数据和友商的 Cortex-M4 处理器进行了对比,这里选择的 Cortex-M4 处理器运行在 180MHz,配置 1KB L2 指令缓存和 128B L2 数据缓存,测试时打开 I/D Cache,并使能 Flash prefetch,得到其运行结果是 3.34 CoreMark/MHz。实测结果显示, MM32F5270 的 CoreMark 结果比友商 Cortex-M4 产品快了约 18%。在不同的编译优化程度下也有 14% ~ 19% 的提升。

“MM32F5

这个结果是否和 CoreMark size 有关呢?为此,对不同 CoreMark size 下的结果进行了对比,可以看出,当 CoreMark size 增加时,“星辰”处理器相对于 Cortex-M4 有 19% ~ 23% 的提升,并且 Data size 越大,CoreMark提升就越多。

“MM32F5

5、小结 & Next

本文介绍了如何利用 MindSDK 轻松将 CoreMark 移植到 PLUS-F5270 开发板上,并将实测结果和 Cortex-M4 进行了对比。测试结果显示 “星辰”处理器相较于 Cortex-M4 有约 14% ~ 23% 的性能提升。

CoreMark 测试仅仅是常用的基准测试之一,感兴趣的读者也可以基于 MindSDK 和 PLUS-F5270 开发板移植 Dhrystone 等其它测试程序。

未完待续!本文是 MM32F5 漫谈系列的第五篇,后续将为大家持续更新,旨在分享 MM32F5 系列中所包含的那些有趣的技术,敬请期待!

往期回顾

MM32F5 系列漫谈 1:“星辰” 处理器?!
MM32F5 系列漫谈 2:吞吐率最大化的总线设计
MM32F5 系列漫谈 3:MindSwitch 实现高效互联
MM32F5 系列漫谈 4:高性能模拟和 3 合 1 控制

来源:灵动MM32MCU
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 9

6月17日,灵动微电子受邀参加了由 Aspencore 主办的“全球MCU生态发展大会”,会上灵动应用开发总监金昭发表了题为“灵动 MM32‘星’平台,新生态”的精彩演讲,与大家分享了灵动的新产品成员 MM32F5 系列。这是自今年该新品发布以来,首次在线下亮相。MM32F5 搭载了基于 Armv8-M Mainline 架构的“星辰” STAR-MC1 处理器内核,其最大的特点就是高性能,可以达到 4.02 CoreMark/MHz,并集成了 DSP 和 FPU,相较传统的 M3 和 M4 有很大的提升。

有关 MM32F5 系列更多的介绍参见 往期文章 以及 MM32F5 系列漫谈。

“灵动携高性能MM32F5系列&SPIN0280亮相全球MCU生态发展大会"

此外,在提到本次大会的主题生态发展时,金昭也表示,生态系统一直是灵动发展的重点。灵动 MCU 开发产品项目分成四个阶段:产品选型、开发设计、样机测试和量产升级。在选型阶段,灵动有选型手册、在线服务和应用参考方案可供选择。到开发设计阶段,灵动提供了软件开发包 MindSDK,同时对常用的开发环境如 IAR SYSTEMS、Arm KEIL 等,以及各类常见的嵌入式 RTOS 都提供了支持。样机阶段,灵动有自己的编程调试器,和 FAE 团队线上线下的支持。量产阶段,灵动会提供对第三方量产烧录工具的支持。以完善的生态系统为客户提供全方位的服务。

“”灵动携高性能MM32F5系列&SPIN0280亮相全球MCU生态发展大会"

在同期举办的“电机驱动与控制论坛”上,灵动电机技术事业部市场经理胡力兴也带来了“基于灵动 SPIN 系列的平台化电机应用解决方案”分享。灵动基于电机的 SPIN 系列产品线涵盖非常全面,包括专用 MCU、预驱 MCU 及驱动 MCU,Flash 从 16KB 到 512KB,电压覆盖 20V 到 600V。针对不同电机终端产品的需求,还提供了 All in one、高集成和专用 MCU 等不同级别的解决方案。All in one 集成了 MOSFET,LDO,电阻网络,运放,系统外部只需要一些电阻电容;专用 MCU 针对电机控制设计,多种方案搭配多种封装。

灵动的程序、方案和应用都已实现平台化,给出具体应用,就能找到对应产品。程序平台化方案涵盖了无传感器单电阻FOC、无传感器双电阻FOC、霍尔传感器FOC、无传感器反电势控制、霍尔传感器,方波控制等。方案平台化提供从12V-72V的电机系统支持,SPIN系列产品在服务器风机/冷却风扇、电动工具、吸尘器/鼓风机、电动车/滑板车、冰箱压缩机、空调和洗衣机中被广泛采用。

灵动程序平台化、方案平台化,最终的目的还是希望将应用平台化,让工程师能够更好地把产品做出来。

“”灵动携高性能MM32F5系列&SPIN0280亮相全球MCU生态发展大会"

灵动工业级芯片 MM32SPIN0280 / MM32SPIN560C 将进行 AEC-Q100 认证。SPIN0280 是灵动最新推出的一个产品,这个产品是针对汽车 AEC-Q100 设计的。SPIN0280 目前已经量产,将在认证完成后公布给大家。SPIN560C 与 SPIN360C 引脚兼容,也将进一步申请 AEC-Q100 认证。

“”灵动携高性能MM32F5系列&SPIN0280亮相全球MCU生态发展大会"

“”灵动携高性能MM32F5系列&SPIN0280亮相全球MCU生态发展大会"

“”灵动携高性能MM32F5系列&SPIN0280亮相全球MCU生态发展大会"

“灵动携多款产品与客户线下互动"
灵动携多款产品与客户线下互动

本次大会期间,由 Aspencore 主导调研分析的“Top 50国产MCU厂商”,灵动微电子凭借基于 Arm Cortex-M 系列内核自主研发软硬件和生态系统,入选“Top 50国产MCU厂商”榜单前 15 名。

“”灵动携高性能MM32F5系列&SPIN0280亮相全球MCU生态发展大会"

未来,灵动将继续秉承“诚信、承诺、创新、合作”的精神,为客户提供从硬件芯片到软件算法、从参考方案到系统设计的各项支持。

来源:灵动MM32MCU
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 5

漫谈系列的上一期中介绍了外设间互联矩阵 MindSwitch,用户可以通过 MindSwitch 将系统中的常用外设进行同步。本期,笔者就来聊聊 MM32F5270 中的高性能模拟外设,并以一个典型的 3 合 1 控制的例子来对前面几期的内容做一个综合的讲解。

1、高速 ADC

ADC 用于将模拟信号转换成数字信号,是微控制器应用中必不可少的外设之一。

MM32F5270 中包含了 2 组高速 SAR 结构 ADC,每组 ADC 支持最高 12 位分辨率和最高 3MSPS 采样率。其中 ADC1 支持 17 路外部通道(ADC1_INx),ADC2 支持 19 路外部通道(ADC2_INx),两组 ADC 有 12 个通道是共用引脚的(ADC12_INx),因此总计可用的外部通道数是 17 + 19 – 12 = 24 通道。MM32F5270 中的具体 ADC 通道分布整理如下表:

“MM32F5

ADC 的具体特点这里就不一一介绍,感兴趣的读者可以阅读 MM32F5270 用户手册。(https://www.mindmotion.com.cn/download/products/UM_MM32F5270_SC.pdf

这里,对 MM32F5270 ADC 的部分创新特色做如下总结:

支持任意通道转换

支持转换通道的任意排列,最高可支持 16 个通道。这相对于仅能固定顺序扫描的 ADC 而言有两个优势:一是实际应用中通道间的采样顺序可能会变化,二是实际应用中不同通道的采样频繁程度是不同的,而任意转换序列 ADC 能够很好的应对这些场景。下图是一个例子,任意通道转换模式下,前 5 次转换中的通道编号是乱序的(任意可配的),且通道 12 和 通道 6 仅转换 1 次,而通道 3 则转换了 3 次。

“MM32F5

每个任意通道都有独立的结果寄存器

除了最近一次转换的结果,MM32F5270 的每个任意通道都有一个独立的结果寄存器,存储对应通道最近一次的转换结果。这样用户可以在所有ADC通道转换完毕后在需要使用的时刻再读取对应ADC通道的结果寄存器的值,而不需要每次转换后都读取,有效的降低了 DMA 或 CPU 对 ADC 的访问次数和软件复杂度。

支持自动注入模式

在任意通道转换方式下,完成任意通道转换后会自动开始注入通道转换。每个 ADC 支持最高 4 路注入通道,同样支持任意序列转换。需要注意的是,注入通道的触发源和常规通道的触发源是独立的,后文将要讲到的 ADC 分时复用就需要用到这个功能。

支持最高 256 次硬件过采样

MM32F5270 支持 2 到 256次可配的硬件过采样,当配置为 256次时,ADC 将 256 次的采样数值进行累加和硬件平均,并将结果存储在一个 16 位寄存器中。很多应用为提高采样准确度都需要进行多次采样求平均的操作,硬件过采样的优势是不需要 DMA 或 CPU 的数据搬运和计算就能得到平滑滤波后的结果。

触发源通过 MindSwitch 配置

通过 MindSwitch 配置的触发可以实现更灵活可配的触发,后文中的应用案例就将用到这一功能。

2、高速 COMP

比较器 COMP 用于比较两个模拟信号的电平,比较器因其比较速度快和响应速度快等特点,在实际应用中常用于做过流保护等安全保护措施。

MM32F5270 中包含了 3 组高速比较器 COMP1~3,每组比较器都具备如下特点:

● 参考源丰富

● 带窗口 Blanking 功能

● 支持轮询

● 支持滤波

● 带极性选择功能

在实际应用中,往往是将外部的模拟信号和一个参考电压值通过比较器进行比较,这个参考电压值往往是一个固定电平,其可以从芯片外部输入,也可以由芯片内部提供。MM32F5270 的比较器支持这两种方式,并且提供了丰富的电压参考源包括:

● CRV 的输出

● DAC1 的输出

● DAC2 的输出

这里,CRV 的全称是 Comparator Reference Voltage,是一个低分辨率的电阻分压网络,可提供 1/20 到 16/20 共 16 档参考电压,其分压源可以选择是 VDDA 或者内部 1.2V 带隙基准电压。以 VDDA = 3V 为例,其分压范围为 150mV 到 2.4V,每 150mV 一档,共 16 档。

如果需要更精确的参考电压,则可以采用 DAC1 或 DAC2 的输出,这里的两个 DAC 都是 12 位分辨率。以 VDDA = 3V 为例,其分压范围为 0V 到 3V,共 4096 档,分辨率约为 0.7 mV(仅是理想分辨率,真实分辨率会更大)。

不论是 CRV 还是 DAC,其相较于外部输入的最大优势是其电压可随时调整。

每组 COMP 支持 4 路正向输入和7路负相输入,其中正向输入全部由外部引脚输入,而 7 路负相输入中包含了 3 路外部引脚输入、1 路 CRV 输出、1 路 DAC1 输出和 1 路 DAC2 输出,总结如下表:

“MM32F5

上面的提到的 2 组 DAC 除了可以为比较器提供参考电压外,它们还带有一定的输出驱动能力,支持最快 1MSPS 转换率,可以不需要外部放大器而直接驱动负载,非常适用于一些音频应用。此外,DAC 还支持硬件自动生成三角波,用户也可以通过精确的触发控制和数据输入来通过 DAC 生成更复杂的正弦波或任意波形。

3、应用场景:3 合 1 控制

经过上述介绍,相信读者对于 MM32F5270 中的高性能模拟外设已经有所了解。接下来,笔者就将前几期介绍内容和本期内容结合在一起,通过一个常见的应用案例来讲解。

实际应用中的一个趋势是系统的集成度越来越高,很多嵌入式系统会将原本分布在多个 MCU 中的功能集成在同一个主控 MCU 中,在汽车、家电和消费电子领域中都能观察到这种趋势,这样做能够带来开发便捷、节省空间、节省成本、节省线束等多种好处,通常可以把这种多功能合并的结构叫做多合一控制,举几个典型的例子:

2 合 1

2 合 1 典型场景是双电机控制,具体应用包括洗烘一体洗衣机中的滚筒电机 + 热泵风扇控制、割草机中的割草电机 + 行进电机控制、电动三轮车中的差速电机控制等等。对于此类应用,灵动的 MM32SPIN0280 就非常适合,其配备了96MHz M0 内核、硬件除法和开方、双 3MSPS ADC + 双高级定时器、多路运放和比较器,感兴趣的读者可以点击链接进一步了解。

3 合 1

3 合 1 典型的应用是空调外机中的 PFC + 压缩机 + 风机控制,对于此类应用,其对于 CPU 性能的要求往往更高,因此,目前市面上的方案往往是 Cortex-M4 及以上性能的 MCU 或 DSP 来实现。MM32F5270 配备了 120MHz 的 Armv8 “星辰”处理器,带有 DSP 和 FPU 扩展,单位主频性能相较于 Cortex-M4 提升约 20%,并配有多并发的总线架构、高效互联系统 MindSwitch、多路定时器以及本期重点讲解的高性能模拟外设,非常适合用于此类 3 合 1 的应用场景。

4 合 1

典型的应用是四旋翼飞行器的四个螺旋桨控制,甚至可以将电机控制和飞控进行合并,此类应用往往需要 Cortex-M7 或以上性能的 MCU 或 MPU 来实现。

这里,笔者就以空调外机 3 合 1 控制这个典型应用来说明 MM32F5270 的高性能配置。

空调外机的主体部分包括 1 路 PFC、1 路压缩机和 1 路风机。这里,对这3个模块的参数做如下约束:

● PFC

采用 Boost 结构,通过 1 路 PWM 驱动 MOS 管以控制功率因数校正网络,PWM 周期为 64KHz,电流环为 32KHz,带过流保护。

● 压缩机

永磁同步电机,采用无感 FOC 控制,单电阻采样,PWM 周期和电流环均为 16KHz,带过流保护。

● 风机

永磁同步电机,采用无感 FOC 控制,单电阻采样,PWM 周期和电流环均为 16KHz,带过流保护。

其中,Boost PFC 的原理图如下:

“MM32F5

单电阻无感 FOC 电机控制原理图如下:

“MM32F5

根据上述约定:每路电机需要 3 相互补 PWM 来驱动,1 路高速 ADC 去做电流采样,多个定时器通道去控制 ADC 的采样点,以及 1路比较器做过流保护;PFC 则需要 1 路 PWM 输出去做功率因数校正,1 路高速 ADC 去做电流采样,1个定时器通道去控制 ADC 的采样点,以及 1 路比较器做过流保护。

这里,考虑到两路电机的 PWM 周期完全一致,因此可以很容易的将两路电机的处理(包括采样和计算)在时序上分割开,这样, 两路电机就可以共用一组 ADC 进行分时采样,而另一组 ADC 可以留给 PFC 使用。

MM32F5270 中配置了 2 组高级定时器(TIM1 & TIM8)、4 组通用定时器(TIM2~5)、3 组比较器(COMP1~3)、2 组独立 DMA(DMA1~2,可分别用于两组 ADC),并通过 MindSwitch 和 CLU 将上述外设进行精确同步,能够满足上述资源需求。资源分配整理如下表:

“MM32F5

其对应的系统框图如下图所示:

“MM32F5

一种可行的时序分配和 PWM 波形如下图所示。

这里,因 TIM1 和 TIM8 的 PWM 周期都是 16KHz,因此,TIM1 和 TIM8 可以做 180° 相位差的严格同步。这样电机1(M1)和电机2(M2)的采样可以分时复用 ADC1 而不互相干扰。CPU 也可以分时处理 M1 和 M2 的电流环而不互相干扰。

这里电机 1 的电流采样点通过任意通道的触发控制(ADC1_TRIG),而电机 2 的电流采样点通过自动注入通道的触发控制(ADC1_JTRIG)。

TIM3 的 PWM 周期是 64KHz,而电流环是 32KHz,因此,其刚好可以利用 M1 和 M2 电流环的处理间隙做 PFC 的电流环。当然,这也得益于 “星辰”处理器的高性能运算能力,有足够的 CPU 带宽可以用于三路算法的运算。

“MM32F5

此时,MindSwitch 和 CLU 的内部连接如下图所示:

“MM32F5

可以看到,上述 3 合 1 的应用场景用到了 MM32F5270 的多个模块:

高性能“星辰”处理器

● MindSwitch 和 CLU

● 2 组高速 ADC

● 3 组高速比较器

● 2 组高级定时器

● 1 组通用定时器

● 2 组 DAC

MM32F5270 以高性能运算能力和丰富的外设资源,很好的满足了 3 合 1 应用的需求。

4、小结 & NEXT

本文介绍了MM32F5270 中的 ADC、DAC 和比较器等模拟外设,并结合前几期的知识点,以 3 合 1 的应用实例来说明了这些高性能外设间如何协同配合来满足复杂应用的需求。

未完待续!本文是 MM32F5 漫谈系列的第四篇,后续将为大家持续更新,旨在分享 MM32F5 系列中所包含的那些有趣的技术,敬请期待!

往期回顾

MM32F5 系列漫谈 1:“星辰” 处理器?!
MM32F5 系列漫谈 2:吞吐率最大化的总线设计
MM32F5 系列漫谈 3:MindSwitch 实现高效互联

来源:灵动MM32MCU
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 11

漫谈系列的前两期分别介绍了 MM32F5270 所采用的 “星辰”STAR-MC1 处理器多并发总线架构设计,相信读者在读完了前面的介绍后,已经对 MM32F5270 的高性能设计特点有了一定的了解。本期,笔者接着来聊聊在 MM32F5270 中首次采用的外设间互联矩阵 MindSwitch 和组合逻辑单元 CLU,看看 MM32F5270 是如何通过 MindSwitch 和 CLU 来实现可任意编程、任意重组的外设间互联系统的。

注:为避免读者把外设互联和上期谈到的总线互联混淆,这里做一个简单的解释。总线互联指的是CPU、DMA 等总线 Master 和存储、外设等总线 Slave 间的数据传递,而外设互联指的是外设间的控制信号的交互。

痛点:IP-to-IP

MCU 中文翻译为微控制器,可以定义为使用处理器来控制外围设备以实现和外部世界交互的控制单元,这里的交互包括外部信号的采集、通信以及对外部电路的控制。因此, MCU 一般具备比较丰富的外围设备(外设,Peripherals),常见的外设如下表所示:

“MM32F5

需要补充说明的是,上表中仅仅列举了外设的类型,而在一个 MCU 中,其每种外设的数量可能是有很多个的,这样一来,所有外设的数量就变得很庞大。

而在实际应用中,这些外设往往不是孤立的,很多情况下都需要多个外设间的协同配合去实现某项功能,典型的例子如电机控制系统,这类系统中往往需要 ADC、定时器、PWM等模块间的精确同步。因此,当这些数量庞大的外设间需要交互时,如何高效便捷的管理成了芯片设计中的一个主要难题(芯片设计人员一般将此叫做 IP-to-IP 设计)。

而 MCU 的一个主要特点是其面向的应用非常广泛,这就导致不同的用户对于外设资源的使用千差万别,外设间的同步逻辑更是各不相同。

为满足不同应用的需求,就需要外设间的互联做到灵活可配。但在很多市面上常见的 MCU 中,外设间的同步逻辑是固定的,是软件无法配置的。这种 IP-to-IP 设计虽然能够满足一些典型应用的需求,但确无法满足所有用户的需求。

以灵动的产品为例,MM32F3270 和 MM32F5270 中均配备了2 个 5 通道高级定时器和 4 个 4 通道通用定时器,每个定时器都有一路触发脉冲输出(TRGO 信号,具体含义参考用户手册),同时定时器的每个通道都可以产生一个触发脉冲输出,因此,这里一共有 32 个触发脉冲信号,这些脉冲可用于触发其它模块的执行,如触发 ADC 的采样和 DAC 的转换,或触发其它定时器的计数以实现多计数器间的同步。

以定时器触发 ADC 采样为例,传统的做法是根据应用经验,固定几种常见的触发方式,这里可以参考 MM32F3270 中的做法,如下图所示。可以看到,这里 ADC 的触发源是通过一个 5 位的 TRGSEL 寄存器来选择的。

这里主要有两个局限:

触发源有限

这里的触发源仅覆盖了 32 个触发脉冲信号中的半数,例如如果用户想选择 TIM1_TRGO,或者 TIM2_CC3 等来触发,这里是无法实现的

触发源的组合有限

假如用户需要在 1 个 PWM 周期内多次触发 ADC,则需要多个触发源的逻辑组合(OR 运算),但这里支持的信号组合非常有限。

“MM32F5

互联矩阵 MindSwitch

MindSwitch就是针对这一痛点而设计,实现了可以任意编程、任意重组的 IP-to-IP 互联网络。MindSwitch 将系统常用的触发源都连接到了其输入端,解决了触发源限制;而 MindSwitch 内置的组合逻辑单元 CLU (Combinational Logic Unit) 则支持任意信号的逻辑组合,解决了触发源组合限制。

MindSwitch 和 CLU 的构造如下图所示,其主要特性包括:

1)分为触发矩阵(Trigger Matrix)和连接矩阵(Connection Matrix)

2)可配置触发源和触发目标

  • 触发源和触发目标可自由配置
  • 支持外设硬件触发和软件触发
  • 内部集成四个组合逻辑单元 CLU,提供 OR-OR 组合逻辑操作

3)可配置连接源和连接目标

  • 连接源和连接目标可自由配置
  • 内部集成四个组合逻辑单元 CLU,提供多种组合逻辑操作

4)支持不同时钟频率的触发源和触发目标之间协同工作

读者可以把 MindSwitch 理解成两个独立的 M 到 N 映射矩阵,其中 M 是源的数量,N 是目标数量,任意源可以映射到任意目标上。

“MM32F5

这里,触发指的是边沿触发(上升沿、下降沿),而连接指的是电平信号的直连。

在 MindSwitch 内部,这两种类型的互联矩阵是互相独立的,即 MindSwitch 内部包含了 1 个触发类型互联矩阵(Trigger Matrix)和 1 个连接类型 互联矩阵(Connection Matrix),两个 Matrix 互相独立,互不干扰,触发源仅能连接到触发目标上,而连接源仅能和连接目标相连。

这里 CLU 是一个 4 输入 1 输出的组合逻辑单元,后文会有更具体的介绍,这里先跳过。

用户可将任意触发源连接到任意触发目标上,或者通过 CLU 将任意 4 个触发源进行 OR-OR 逻辑组合后连接到任意触发目标上。这里的配置都是软件编程的,即用户可以根据其应用场景的需要进行任意配置。

触发和连接的区别是,触发信号需要 MindSwitch 做同步处理,且触发信号仅支持 OR-OR 逻辑操作。

下表整理了 MM32F5270 中的所有源和目标的数量和类别,具体列表可参考芯片的用户手册。

“MM32F5

“MM32F5

组合逻辑单元 CLU

上文已经提到过 MindSwitch 中内置了 4 个 CLU 单元 (CLU0~CLU3),CLU 的全称是 Combinational Logic Unit,即组合逻辑单元。顾名思义,即实现与、或、非等组合逻辑运算的单元。

每个 CLU 都是一个 4 输入 1 输出的单元。4 个输入命名为 CLUxIN0~CLUxIN3,这里将 CLUxIN0 和 CLUxIN1,CLUxIN2 和 CLUxIN3 两两组合(第一级组合),再将组合后的信号进行组合(第二级组合),得到 CLUx 的输出。CLU 的运算类型根据两级组合的不同进行区分,可以分为:

  • OR-OR
  • AND-OR
  • OR-XOR
  • AND-AND

以 AND-OR 为例,即CLUxIN0 和 CLUxIN1 做逻辑与(AND)运算,CLUxIN2 和 CLUxIN3 做逻辑与运算,两者的结果再进行逻辑或(OR)运算,其逻辑表达式如下:

CLUxOUT = (CLUxIN0 & CLUxIN1) | (CLUxIN2 & CLUxIN3)

具体四种模式的电路图如下图所示。

对于 Connection Matrix,每个 CLU 都可以通过 CLUMODE 寄存器来配置成上述任意模式;对于 Trigger Matrix,仅支持 OR-OR 操作。

对于很多应用场景,用户可能仅需要 2 个或 3 个信号的逻辑组合,此时,用户只需要将空闲的一路或多路 CLUxINx 选择为固定电平即可。同时注意到,任意 CLU 输入都可以选择逻辑取反操作,这大大增加了 CLU 的灵活性。

“MM32F5

实例说明

经过上述介绍,读者可能还是无法直接感受到 MindSwitch 和 CLU 的强大。这里,以几个典型用例来进一步说明。

单电阻 FOC 中的 ADC 采样控制

在单电阻 FoC 控制中,需要在一个 PWM 周期内依次采集两相电流、母线电压和环境温度等信息。因此,需要在一个 PWM 周期内触发多次 ADC 的采样,这里以 3 次为例说明。

还是以 MM32F3270 为例,参考上文中 MM32F3270 的 ADC 触发源配置表,可知 MM32F3270 的多路触发源仅支持 TIM1 或者 TIM8 的 CC4 或 CC5 触发,因此其驱动电机的时候的资源分配是这样的:

● 通过 TIM1 的通道 1、2、3 来做为三相电机的驱动,而通道 CC4 和 CC5 用于触发 ADC 的采样。

可以看出,这样的操作有两个弊端:

● 1 个 PWM 周期仅能触发两次 ADC 采样,如果想要实现更多的采样,则需要采用更复杂的软件手段

● 假如使用其它定时器(TIM2/3/4/5)去做触发,则仅支持最多一次采样

而 MM32F5270 采用 MindSwitch 可实现单 PWM 周期内任意时刻的 4 次 ADC 触发。

还是以上述应用场景为例,依然用 TIM1 的通道1、2、3 来驱动电机,但 ADC 触发部分可以有以下两种优化方法:

方法1、用 TIM1 的通道 4、5 触发(CC4/CC5)加上 TIM1 的 TRGO 信号做触发源,这三个信号通过 OR-OR 逻辑组合,再送到 ADC 做触发。可实现每个 PWM 周期触发 3 次 ADC 采样。

方法2、用 TIM3(或其它通用 4 通道定时器)的通道 1、2、3 (CC1/CC2/CC3)来做触发,这三个信号通过 OR-OR 逻辑组合,再送到 ADC 做触发。可实现每个 PWM 周期触发 3 次 ADC 采样。

注:方法2 需要确保 TIM1 和 TIM8 是严格同步的。

方法 1 的优点是仅通过 TIM1 搞定一路电机的驱动和采样。但如果定时器资源还有富余,则可以采用方法2。如果将 TIM3 的 CC4 或者 TRGO 信号也利用起来,则方法 2 能轻松实现每个 PWM 周期触发 4 次 ADC 采样。

方法1 的内部连接示意如下:

“MM32F5

方法2 的内部连接示意如下:

“MM32F5

方法1 的整个步骤和定时器计数和触发波形如下图所示。读者可以试着自己推导 方法 2 的定时器波形和 CLU 逻辑表达式。

“MM32F5

Sensorless BLDC 过零检测

在 Sensorless BLDC 电机控制中,往往通过检测反电动势来判断电机当前所处的位置,而其中的关键在于对反电动势过零点的判断。这里,一种比较快速的方法是通过芯片内置的高速比较器来判断。

MM32F5270 中就包含了 3 路高速模拟比较器(COMP),可分别检测三相反电动势的过零点。

但真实情况下,MOS 管在导通和关断的瞬间会在反电动势上产生较大的毛刺,如下图所示。这个毛刺会导致比较器误判,因此,需要通过某种方法让比较器在 PWM 开关瞬间不工作。

传统的方法往往需要通过复杂的软件干预,如通过中断去定期使能和关闭比较器等。但这种方法会额外占用 CPU 带宽,特别是对转速要求较高的场景有较大限制。

“MM32F5

而 MM32F5270 通过 MindSwitch 和比较器的窗口功能可实现全硬件过零检测。

首先,MM32F5270 在模拟比较器中新增了窗口使能控制,仅在窗口信号有效时,比较器的输出结果才有效。

同时,可以采用某个定时器的输出通过 MindSwitch 连接到比较器的窗口信号上。

如果仅采用单个 TIM 通道输出,则不需要 CLU 的参与;如果需要多路信号逻辑组合后来产生一个更复杂的窗口信号,则可加入 CLU 运算。

“MM32F5

整个步骤和定时器计数和触发波形如下图所示:

“MM32F5

替代外部逻辑器件

在很多应用中,用户可能需要对某些信号进行逻辑组合,常见的逻辑运算包括与运算、或运算、非运算(取反)等基础单元以及更复杂真值表的组合逻辑运算。一般情况下,用户需要额外购买逻辑芯片(如 74 系列)来实现上述功能。

MM32F5270 通过 CLU 可以覆盖简单的逻辑芯片,从而帮助用户节省 BOM 成本。

这里,用户可以把需要进行逻辑组合的信号从 GPIO 输入,进入 CLU 进行逻辑组合,并将 CLU输出通过 GPIO交回给板级电路。此时的 MindSwitch 内部连接如下图所示:

“MM32F5

更灵活的 PCB 布线

在实际应用中,用户可能会遇到下面这种情况:

在芯片的引脚分布上,某个引脚的脚位和其相关外围电路的距离较远,从而导致无法通过单层布通。此时,如果功能引脚的脚位是可调的,就能很好的解决这个问题。

MM32F5270 也将这个功能集成到了 MindSwitch 中,可通过 MindSwitch 实现灵活的 PCB 布局布线。

如下图所示。假设 TIMER 输出的引脚是分布在芯片的左上角(橘黄色高亮),而其对应的外围电路位于 PCB 的右下角(蓝色方框)。可以看到,如果没有 MindSwitch,TIMER 输出需要很长的路径才能绕线到 PCB 右侧的外围器件上(如图中黄色路径)。这个路径是比较长的,且当布线层数较少时,可能无法成功布通,此时用户需要调整其原有的布局,PCB 布线的难度提高。

而通过 MindSwitch,用户可以将 TIMER 的输出连接到 MindSwitch 输入,并通过 MindSwitch 将其连接到芯片右下角的 GPIO 上 (橘黄色高亮),再以较短的路径连接到外围器件。通过 MindSwitch 给用户的布局布线提供了更高的灵活度。

“MM32F5

除了上述提到的 4 种典型应用场景,MindSwitch 和 CLU 还可以用于支持以下场景:

  • 方便用户调试 – 用户可以将内部信号通过 MindSwitch 引出到片外通过示波器等观测。
  • 灵活的波形组合 – 在一些复杂的应用中,需要用到非常规的控制波形,这样的波形可以通过多个定时器的输出波形进行逻辑组合产生。

需要强调的是,MindSwitch 和 CLU 的最大优势就是可以任意编程、任意重组。

笔者相信,我们的用户一定还可以将它们扩展到更多、更有趣的应用场景,让我们拭目以待吧。

小结 & NEXT

本文介绍了MM32F5270 中引入的全新外设间互联矩阵 MindSwitch 和组合逻辑单元 CLU 的功能和原理,并通过一些实例说明了 MindSwitch 和 CLU 对应用所带来的帮助。

未完待续!本文是 MM32F5 漫谈系列的第三篇,后续将为大家持续更新,旨在分享 MM32F5 系列中所包含的那些有趣的技术,敬请期待!

往期回顾

MM32F5 系列漫谈 1:“星辰” 处理器?!
MM32F5 系列漫谈 2:吞吐率最大化的总线设计

来源:灵动MM32MCU
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 34

上一篇文章介绍了 MM32F5 系列 所采用的 “星辰”STAR-MC1 处理器,如果读者还有印象的话,“星辰”处理器相较于 M3 和 M4 处理器的一个主要优势是引入了内存子系统,包括了L1 指令和数据缓存接口和紧耦合 TCM 接口。而仅有内存子系统是不够的,需要配合高效率的总线架构设计来实现其功能最大化。

本期,笔者就来聊聊 MM32F5270 的总线架构设计,看看 F5270 是如何通过高并行度的总线设计实现系统吞吐率的最大化。

MM32F5270 的总线架构

下图展示了 MM32F5270 的总线架构,可以看到,系统中的处理器、存储和外设是通过一个零延迟 AHB 总线矩阵进行互联,这里的总线矩阵是一个多 Master 到多 Slave 的多层 AHB 总线结构。这里,把可发起读写访问的一方叫做 Master,响应访问的一方叫做 Slave。

注:AHB 属于 Arm® AMBA® 通信接口协议的一种,是嵌入式系统中的常用接口协议之一,对于不了解 Arm® AMBA® 接口协议的读者,可自行搜索相关资料,本文不再赘述。

“MM32F5

总线 Master – 访问发起者✦

从上图可以看到,MM32F5270 中包含了如下 AHB 总线 Master:

  • CPU – “星辰”STAR-MC1
  • DMA1
  • DMA2
  • USB 控制器(USB FS)
  • 以太网控制器(ENET)

其中,“星辰”处理器占据 三个 AHB 口,分别是系统总线AHBS(system bus),代码总线 AHBC(code bus),以及 TCM 总线 AHBT(TCM bus)。其中 AHBC 和 AHBS 是处理器发起访问,从外部获取数据和指令的通路,而 AHBT 是处理器以外的其它 Master(如 DMA等)访问内部 TCM 的通路,也就是说,TCM 不仅能被 CPU 访问,外部资源也可以将 TCM 当作普通 SRAM 访问。

其它Master 包括 DMA、USB 和以太网。在 MM32F5270中,为提高系统并行度,配置了两路独立的 DMA 控制器,每个 DMA 控制器包含 8 个通道,每路 DMA 都可以无需 CPU 干预而进行 Slave 的读写访问。USB 和以太网也可以做为总线 Master 直接发起对系统存储的访问,例如将提前放置在 SRAM 中的数据搬移到 TX FIFO 中以实现无需 CPU 干预而进行的数据通信。

总线 Slave – 访问响应者✦

MM32F5270 中包含了如下 AHB 总线 Slave:

  • 256KB 内置 Flash 存储器
  • 112KB SRAM1
  • 16KB SRAM2
  • QSPI – 可外扩四线 NOR Flash
  • FSMC – 8/16/32 位并口,可外扩 SRAM,NOR Flash,8080/6800 屏
  • 外设 APB1 组
  • 外设 APB2 组
  • 32KB ITCM和 32KB DTCM – 通过 AHBT 总线访问

为提高系统并行度,MM32F5270配备了两路独立的 RAM,包括 112KB 的 SRAM1 和 16KB 的 SRAM2,每个 RAM有独立的 RAM 控制器和 Slave端口。

此外,MM32F5270 还配备了 32KB 指令 TCM RAM(ITCM)和 32KB 的数据 TCM RAM(DTCM)。这里, TCM 和 CPU 是通过 TCM 接口直连的,相当于一条快速通道,CPU 访问 TCM 不需要经过外部总线矩阵,这也是 TCM 被称为紧耦合存储(Tightly-Coupled Memory,TCM)的原因。CPU 访问 TCM 是没有任何延迟的,因此也不需要经过缓存。同时,“星辰”处理器也预留了 AHBT 总线供 DMA 等 CPU 外部 Master 访问 TCM。这里的 AHBT 总线挂在总线矩阵的 Slave 端,也就是说,DMA 要访问 TCM 需要先经过总线矩阵。当 DMA 和 CPU 同时访问 TCM 时,“星辰”处理器以 CPU 访问为高优先级进行仲裁。需要说明的是,ITCM 支持程序执行和数据读取,其起始地址为 0x0000_0000,DTCM 支持数据读取,其起始地址为 0x2000_0000。

根据上述介绍可以得出,MM32F5270 里实际是配置了 4块完全独立的 RAM,包括 ITCM,DTCM,SRAM1 和 SRAM2,在某些应用场景下,这 4 块 RAM 能够同时被不同的 Master 访问而不会产生任何的总线冲突和等待。例如,CPU 可以读取并执行ITCM中存放的程序算法,以太网可以从 SRAM2 中读写数据,DMA1 可以从 DTCM中搬数据, DMA2 可以从 SRAM1中搬数据,这里的四条通路是完全独立和并行的。

MM32F5270还包含了两路独立的 APB 外设组,即 APB1 和 APB2,每个外设组有独立的 Slave 端口和AHB到 APB 的协议转换桥。

与此同时,用户还可以通过 FSMC 去外扩并口 NOR Flash 或者 SRAM,也可以通过 QSPI 去外扩四线式 NOR Flash。且这里的 FSMC 和 QSPI 都是直接挂在零延迟 AHB 总线矩阵上的 AHB Slave,因此其访问通路是完全独立的。当然,用户也可以通过 SPI、UART等串行总线接口来扩展更多存储空间,不过这些外设都是挂在 APB 总线上,和其它共同挂在 APB 总线的外设共享总线矩阵的 AHB Slave 端口,因此,可能会产生多余的等待周期。

需要说明的是,除了 TCM 和外设空间,从 Code bus 和 System bus 上读取的指令和数据基本上都可以被 4KB 指令缓存和 4KB 数据缓存加速。

下表对 MM32F5270 中支持的 Flash 和 RAM 资源做一个总结:

“MM32F5

并发网络✦

前文提到的总线结构图中,Master 和 Slave 的连接关系通过矩阵网络上的空心圆表示,如内置 Flash 仅可以被 CPU 的 code bus 或者 DMA 访问,而不能被其它总线 Master 访问。

基于上述描述所能达到的效果就是,多个 Master 可以同时发起对多个Slave的访问,如果每条路径的发起者(Master)和响应者(Slave)都是不同的,那这些访问是完全并行的,是不需要仲裁和等待周期的。

下图是一个并发访问的例子,这里,6个总线 Master 对 6 个总线 Slave 的访问构成了 6 个独立通路。当然,这里仅仅是一个极限情况,对于一个实际应用所能达到的并发效果,需要根据应用需求具体分析。

“MM32F5

案例:带显示的音频播放器✦

为了更直观的讲解 F5270 多并发总线设计的强大,这里以一个实际应用的案例来进行展示。需要说明的是,这里的案例仅仅为了讲解功能,并不做为参考设计。

这里,考虑基于 MM32F5270 制作一个带显示的音频播放器,这是一种很常见的应用场景,实际产品中所包含的功能可能是多种多样的,这里为了简化,以如下规格要求为例:

  • 可播放 SD 卡上的音频文件,支持 WAV 和 MP3 格式
  • 2.4寸屏,320x240 分辨率,GUI 交互

注:实际的产品可能有更多的功能,如更高清的显示、USB扩展、WIFI 或蓝牙联网、视频播放、触控等,感兴趣的读者可以搜索下网络上的相关产品。

基于这个要求,可以搭建一个带显示的音频播放器,根据 MM32F5270 所包含的片内资源,对上述规格要求做出如下的功能分解和资源分配:

“MM32F5

其对应的简易系统框图如下:

“MM32F5

分析可知系统的主要功能可以分为三块:

第一块是 CPU 处理部分。

首先, CPU 所执行的主程序存放在内置 256KB Flash 中,而运行中所需要内存存放在 SRAM1 中,其数据通路如下图中的蓝色箭头所示;

同时,CPU 需要从外部 SD 卡读取音频文件,这里涉及到文件系统的交互,以及 MP3 软解码运算,并将解码后的音频数据存放在 32KB DTCM 中,其数据通路如下图中的黄色箭头所示;

最后,CPU 需要运行 GUI 应用程序,包括从外扩 Flash 中获取显示数据和字库,通过 CPU 的运算并将待显示的图像缓存到外扩 SRAM 中,其数据通路如下图中的绿色箭头所示。

“MM32F5

第二块是音频播放数据流控制。

这里,通过 DMA1 来处理音频数据流,DMA1 通过 AHBT 总线从 DTCM 中读取解码后的音频数据,并写入 I2S 的 TX FIFO 中,通过 I2S 和外部的功放通信并驱动扬声器或耳机,其数据通路如下图中的红色箭头所示。

第三块是图像显示数据流控制。

这里,通过 DMA2 来处理图像显示数据流,DMA2 通过 FSMC 从外部 SRAM 中读取待显示图像,并通过 FSMC 写入外部 LCD 屏,实现图像帧的周期性刷新,其数据通路如下图的紫色箭头所示。

“MM32F5

基于上述分析,将所有路径进行汇总,并删掉非独立路径后(即两条路径有共同发起者或共同接收者),可得到下图所示的汇总数据通路。可以看到,主程序的指令获取和执行(蓝色箭头)、主程序数据读写(蓝色箭头)、音频数据流(红色箭头)和GUI数据流(紫色箭头)这四条通路是完全独立的。假设系统运行在 120MHz,而所有访问都采用 32 位宽,则可以计算出此时整个系统的并行吞吐率可达 15Gbps!

“MM32F5

当然,这里仅仅是一个精简的例子,对于实际应用,其所需功能可能会更加复杂。但重要的是,MM32F5270 的多并发总线架构为各类实际应用中的并行处理场景提供了硬件支持,使系统整体吞吐率有了大幅优化的空间。

需要补充说明的是,这个例子里面并没有用到 SRAM2 和 ITCM 等资源,因此其可以用作其他用途,如 SRAM2 可以用作 ENET、USB 、CAN 或者 ADC的数据缓存,而ITCM 中可以存放对实时性要求较高的算法或中断服务程序等。如果把这些功能都开发起来,则系统吞吐率是否还可以进一步提高呢?这个问题就留给感兴趣的读者来思考吧。

小结 & NEXT✦

本文介绍了MM32F5270 中所采用的多并发总线架构,并通过带显示的音频播放器的实例说明了该架构在实际应用中所能达到的吞吐率提升效果。

未完待续!本文是 MM32F5 漫谈系列的第二篇,后续将为大家持续更新,旨在分享 MM32F5 系列中所包含的那些有趣的技术,敬请期待!

往期回顾

MM32F5 系列漫谈 1:“星辰” 处理器?!

来源:电子创新网张国斌
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 12

目 录

“星辰”处理器是什么?

看似很厉害,跑个分?

C 代码兼容 M3 和 M4

完善的生态支持

小结 & Next

近期,灵动微电子发布了灵动“星”平台,其全新高性能 MM32F5 微控制器系列。该系列在内核、总线和外设配置等多个方面进行了创新,内核上更是首次搭载了 Armv8-M 架构的 “星辰” STAR-MC1 处理器,因此一经发布就获得了大量用户和媒体的关注。

很多用户会咨询“星辰”处理器相关的问题,特别是“星辰”处理器是什么样的内核?相较于 Arm Cortex-M 系列内核又有什么差别?这里,为了让大家对“星辰”处理器有一个快速的了解,并解答上述的这些问题,本文对“星辰”处理器的主要特色做一个梳理。

“MM32F5

“星辰”处理器是什么?

如果用一句话介绍“星辰”处理器,那就是:安谋科技设计的一款基于 Armv8-M 架构的嵌入式处理器。这里,安谋科技是中国最大的芯片设计 IP 开发与服务供应商,而灵动微电子则是从安谋科技获得了该处理器的正规使用授权,并于 MM32F5 系列中首次搭载了该处理器。

“星辰”处理器的几大特点如下:

采用最先进的Armv8-M架构

处理器是基于指令集架构设计实现的运算和控制单元,而 Arm 处理器的指令集架构自诞生以来也在不断的更新换代,目前市面上较为常见的 Arm MCU 架构包括 Armv6-M、Armv7-M和 Armv8-M 架构,其中,Armv6-M 架构的典型处理器有 Cortex-M0 和 Cortex-M0+,Armv7-M 架构的典型处理器有 Cortex-M3、Cortex-M4 和 Cortex-M7,而 Armv8-M 架构的典型处理器则有 Cortex-M23、Cortex-M33、Cortex-M55 和 “星辰”STAR-MC1。

经常关注 MCU 前沿动态的话一定会有所了解,近几年来国际上最主要的几家 MCU 大厂的新产品已经逐渐从 Armv7-M 架构过度到了 Armv8-M 架构,如ST、NXP、Renesas等。那么 Armv8-M 架构相较于 Armv7-M 架构,究竟有哪些优势?

性能提升

Armv8-M 架构优化了指令集和流水线设计,其同级别产品的性能相较于 Armv7-M架构普遍提高20% 以上。

更安全

Armv8-M 架构引入了 TrustZone 技术,并强化了内存保护单元(MPU),让代码运行在更安全的环境中。

可扩展

Armv8-M 架构引入了协处理器接口,允许 MCU 产商自己开发协处理器和自定义指令,相较于传统的基于地址映射和中断的协处理器可大幅提升执行效率。特别是Armv8.1-M架构,还预留了用户自定义指令的接口。

集成 DSP 和 FPU

弥补了 Cortex-M3 的短板,DSP 性能相较于 Cortex-M3 提升10倍。

集成内存子系统

在计算机体系结构中,除了处理器内核的设计外(指令集、流水线、ALU等等),存储架构的设计也是重要的一环。在特定应用场景下,高效率的存储访问对系统整体性能所带来的提升效果可能比提高内核性能本身还要来得明显。而提升存储访问效率的方法往往有两个:

层次化设计(Memory Hierarchy)

层次化设计的核心是缓存(Cache)。在嵌入式系统中,处理器运行速度远快于 Flash 的运行速度(典型值是 2:1 到16:1), 而处理器要从 Flash 中获取执行代码,如果 Flash 速度不做优化的话,可以说处理器跑的再快也会受到 Flash 读取速度瓶颈的制约。而最有效的解决方法就是在处理器和 Flash 之间加入缓存,这里的缓存可能是多层的,一般把靠近处理器一端的缓存叫做一级缓存(Level 1或简写为 L1),而靠近 Flash 一端的缓存叫做二级缓存(Level 2 或简写为 L2),一般情况下,因 L2 缓存和 CPU 之间还间隔了一个总线矩阵,因此 L1 缓存的效率往往高于 L2 缓存。

增加并行访问路径提高吞吐率

一般而言,越高性能的内核,其并行访问通路越多,多条通路可并发访问,因此系统吞吐率可以成倍增长。如Cortex-M0 和 Cortex-M0+ 仅有一条系统总线,指令和数据均通过一条总线访问;Cortex-M3 和 M4 中将指令和数据进行了区分,可以在取指的同时获取数据;Cortex-M7 则进一步引入了指令紧耦合 RAM (以下简称 ITCM)总线和数据紧耦合 RAM(以下简称 DTCM)总线,以及引入了独立外设总线(AHBP)。

而“星辰“ 处理器所集成的内存子系统同时采用了上述的两种技术。

首先,“星辰”处理器配置了 L1 指令和数据缓存,该缓存和内存紧耦合,可以用来加速任何指令和数据总线上的访问,这里包括内置 Flash 和 SRAM中的指令和数据,以及外置 Flash 、TF 卡、外置 RAM的指令和数据等。

同时,“星辰”处理器也引入了独立的 ITCM 接口和 DTCM 接口,用于访问与处理器紧耦合的指令和数据 RAM,处理器对于 TCM 的访问完全可以和指令和数据总线的访问并行执行。而且,当 CPU 不访问 TCM 时,TCM 也可以被 DMA 等外设通过独立的 TCM总线(AHBT)访问。

在 Armv7-M 架构处理器中,内存子系统仅在最高性能的 Cortex-M7 上才有配置。“星辰”处理器配备上内存子系统可以大幅提高系统吞吐率。

本土团队打造

在目前的国际形势下,国外对出口到我国的关键技术的管制风险一直没有缓解,而不断出现的国际纷争更是加剧了这种风险的可能性。如何应对随时可能加码的出口管制风险,做到在核心技术上不被“卡脖子”,关乎国产半导体的命脉,是所有国内半导体人需要共同面对和思考的问题。

“打铁还需自身硬”,应对出口管制和贸易战的风险,打造完全自主可控的本土半导体供应链是必要的。而据安谋科技介绍,“星辰”STAR-MC1 处理器由安谋科技本土团队设计打造,本土技术的占比高于90%,因此,真正意义上做到了自主可控。

总结而言,“星辰”STAR-MC1 处理器是一款采用了先进架构、优化了总线和存储配置、且完全自主可控的高性能处理器。

“MM32F5

看似很厉害,跑个分?

基于上述的介绍, 大家可能还是没办法直观的感受到 “星辰”处理器的强大,那下面就以国际通用的 CoreMark 跑分结果来进行说明。

下图列举了 “星辰”STAR-MC1 处理器的标称 CoreMark 跑分和同级别 Cortex-M 内核的比较。可以看到,STAR-MC1的跑分为 4.02 CoreMark/MHz,其相较于 Cortex-M3 提升了 20%,相较于 Cortex-M4 提升了 17%。因此,从核心性能而言,STAR-MC1 是一款介于 Cortex-M4 到 Cortex-M7 之间的处理器。

“MM32F5

需要说明的是,这里的跑分数值是各处理器的理论极限值,该理论极限值一般可通过把 CoreMark 代码放在零延迟 RAM 中执行而获得。而在实际应用中,用户的程序往往是从 Flash 中执行,如果存储层次设计不好,其所获得的 CoreMark 跑分结果将大打折扣。

而得益于 STAR-MC1 出色的内存子系统设计,保证了其 Flash 跑分结果和理论极限值几乎没有差别。

根据 MM32F5270 芯片上的实际测试结果,当 L1 缓存打开时,从Flash 中执行 CoreMark 的跑分结果是 3.97 CoreMark/MHz,该数值达到了理论极限值的 99%。因此,当用户在 Flash 中执行程序的时候,依然可以获得相较于 Cortex-M3 和 Cortex-M4 的理论极限值约 20% 的性能提升。

同样因为 STAR-MC1 出色的内存子系统设计,在 Flash 执行代码的前提下,搭载 STAR-MC1 并开启了内存子系统的 MM32F5 系列相较于搭载了 Cortex-M3 或 Cortex-M4 的芯片而言,能够更接近其理论极限值。因此,如果以 Flash 中实际运行的结果来对比 STAR-MC1 和市面上的 Cortex-M3 和 Cortex-M4 芯片,STAR-MC1 将带来 30%~50% 的性能提升。

C代码兼容M3和M4

综合以上 “星辰” STAR-MC1 处理器的介绍,可以说 STAR-MC1 是 Cortex-M3 和 Cortex-M4 的理想升级选择。

那么,假如用户从上述 Armv7-M 处理器切换到 Armv8-M 架构的 STAR-MC1 处理器时,是否很难移植呢?当然不是!

STAR-MC1 和 Cortex-M3 和 Cortex-M4 都是基于 Arm指令集架构的处理器,因此,其兼容性还是很高的,但由于底层指令集架构由 Armv7-M 过渡到了 Armv8-M ,因此,其无法做到完全的二进制兼容,但STAR-MC1 实现了从 Cortex-M3 和 Cortex-M4 移植时的 C 代码兼容。因此,假如用户的代码是基于 C 语言编写,则完全不用担心兼容性。

完善的生态支持

很多用户会咨询 STAR-MC1 的工具支持状况、是否支持 KEIL等问题。这个大家也可以完全放心,STAR-MC1 作为一款通用的嵌入式处理器,其目前已经获得了非常完整的生态体系支持。

下图列举了 STAR-MC1 截止目前的生态工具支持情况,可以看到,STAR-MC1 在工具链、编译器、操作系统和仿真器方面都获得了主流工具的支持:

工具链

在工具链方面,STAR-MC1 已经获得了 Arm DS、Keil、IAR、SEGGER Embedded Studio、Lauterbach TRACE32 等主流 IDE 的支持。

编译器

在编译器方面,STAR-MC1 已经获得了 GCC、Arm Compiler、IAR Compiler、SEGGER Compiler 等主流编译器的支持。

仿真器

在仿真器方面,STAR-MC1 已经获得了 ULINKPRO、ULINK2、DSTEAM、SEGGER J-Link Base/Plus、J-Link Ultra/Pro 的支持。

操作系统

在操作系统方面,STAR-MC1 更是已经获得了 MbedOS、freeRTOS、Zephyr、OpenHarmony 的支持。

“MM32F5

小结 & Next

“星辰”STAR-MC1 处理器是一款 Armv8-M 架构的高性能嵌入式处理器,由安谋科技本土团队打造,集成了出色的内存子系统,并获得了完整的生态支持,是升级 Cortex-M3 和 Cortex-M4 内核的理想选择!

未完待续!本文是 MM32F5 漫谈系列的开篇,后续将为大家持续更新,旨在分享 MM32F5 系列中所包含的那些有趣的技术,敬请期待!

来源: 灵动MM32MCU
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 36

4月12日,本土MC厂商上海灵动微电子股份有限公司(以下简称“灵动微电子”)联合安谋科技高调宣布进入高性能MCU领域,正式发布搭载安谋科技的“星辰”STAR-MC1处理器的MM32F5系列MCU ,据灵动微市场总监王维介绍,该MCU采用Arm v8-M Mainline架构,集成DSP和FPU ,性能高达4.02CoreMark/MHz!

“灵动微杀入高性能MCU领域!推出采用安谋科技“星辰”内核的MM32F5系列!"

王维表示M32F5系列是灵动在高性能MCU上的一个探索,也为其未来整个高性能MCU平台发展起到助力作用。灵动微希望据此系列杀入高端工业互联网应用。

“灵动微市场总监王维"
灵动微市场总监王维

“大家都知道,ST的Cortex-M3从是2007年夏天推出,到现在已经差不多15年了,而NXP也是在2008年左右推出Cortex-M3、M4的MCU,我们今天推出的高性能系列,是对以前M3M4内核MCU的一个升级,我们在同样的主频前提下对MCU的能效升级,能适应目前更多的需求。”王维指出,“目前,ST和NXP也有更高性能的产品系列,例如主频超过500MHz或者更高的产品,它们的架构和总线有新的设计,已经是MPU的层面,通过增加DSP它们也可以做一些人工智能的处理,我们对这些产品还在关注,考虑是否增加DSP架构 ,因为安谋科技有针对机器学习的周易平台,我们还在协商未来的架构。我们的高性能系列会支持本土的操作系统,例如鸿蒙系统、阿里OS或者是RT-Thread等等。当然也支持一些海外的Free RTOS。”

“灵动微杀入高性能MCU领域!推出采用安谋科技“星辰”内核的MM32F5系列!"

王维进一步分析说近年来,人工智能、物联网、工业自动化领域市场发展飞速,特别是安防、民生和智能家居等行业发展迅速,其年增长率超1500%;在疫情后,非接触的人机交互设备以及对于语音和视觉的技术需求增长也越来越快;在过去的三年内,据一些数据统计,国内工业企业的增长率已超过200%,包括常见的工业自动化升级改造。现在国内的工业企业不单是为了满足国内的需要,更占据不少海外的市场份额。

“灵动微杀入高性能MCU领域!推出采用安谋科技“星辰”内核的MM32F5系列!"

“但我们也看到一个非常大的问题,就是虽然过去一两年整个国产MCU市占率比三年五年前提高了很多,但在高性能MCU领域,本土市占率还是很低的,甚至低于处理器行业国产化率占比,主要原因是在处理器领域,整个架构和生态相对来比较完整,但在MCU领域,架构分散,生态碎片化、算法优化难易程度不同,所以目前高性能MCU领域还是以欧美厂商产品为主,所以灵动微电子经过严谨的评估后选用了安谋科技Armv8-M Mainline架构的“星辰”STAR-MC1内核来开发高性能MM32F5系列MCU产品。”王维强调。

“灵动微杀入高性能MCU领域!推出采用安谋科技“星辰”内核的MM32F5系列!"

为何选用安谋科技星辰STAR-MC1处理器内核?

“灵动微杀入高性能MCU领域!推出采用安谋科技“星辰”内核的MM32F5系列!"

“灵动微杀入高性能MCU领域!推出采用安谋科技“星辰”内核的MM32F5系列!"

安谋科技CPU产品总监陈江杉指出从上图可以看出,实际上,ARM Cortex-M3,M4内核都是基于ArmV7架构,而安谋科技的“星辰”STAR-MC1内核则是基于Armv8-M Mainline架构,这两者在架构上是不同的。

据介绍,相对于Arm Cortex-M4,在同等工艺和功耗前提下“星辰”STAR-MC1内核有约20%的性能提升,Cortex-M4的MIPS是1.15DMIPS/MHz,“星辰”STAR-MC1内核能做到1.5 DMIPS/MHz & 4.02 Coremark/MHz;

“灵动微杀入高性能MCU领域!推出采用安谋科技“星辰”内核的MM32F5系列!"

此外,“星辰”STAR-MC1处理器搭载了接近Cortex-M7的内存系统总线结构,并且具备v8M独有的可定制指令接口,可以灵活地去定制用户特定指令,以提升系统效率。同时,客户也可以用这套机制去做一些差异化,来保证自己的知识产权;

还有,“星辰”STAR-MC1处理器的生态系统不仅有Arm自家的DS和Keil MDK工具,也包含第三方的IAR、SEGGER、Lauterbach等一些工具链。“星辰”STAR-MC1处理器在各类第三方编译器、操作系统、仿真器也受广泛支持,便于工程师在开发设计时快速上手。

“‘总结一下就是星辰’STAR-MC1处理器着重解决了三个问题,第一个是安全,信息安全trust zone这个技术可以提升整个系统级别的这个安全处理能力,提供更全面的一个内存保护的机制。其次是高效计算,“星辰”处理器的设计目标是一个性能功耗均衡的配置,相对于M4,它会有大概20%的性能提升。第三是灵活的扩展接口。”他强调。“此外,我要强调,我们内部请法务专家做了评估,这个“星辰”处理器美国所占技术比例不到10%,所以可以满足本土厂商的需求。”

“灵动微杀入高性能MCU领域!推出采用安谋科技“星辰”内核的MM32F5系列!"

他表示目前“星辰”处理器产品和生态日益完善,已经有超过70个授权,有60多个Design-IN,截止2021年年底整体出货超过一亿颗!

此外他表示“星辰”处理器也是面向全球提供,其在信息安全等级上较高,已经被中国客户广泛接受,希望可以广泛应用到嵌入式领域。

灵动的MCU布局与MM32F5系列介绍

“灵动微杀入高性能MCU领域!推出采用安谋科技“星辰”内核的MM32F5系列!"

王维表示近两年来,随着MCU需求暴涨,全球MCU产能紧张,为了稳定供货提升产能,灵动微从去年11月开始,率先将MCU从8寸晶圆向12寸晶圆迁移,另外就是从11月开始,保持每月发布一款新产品的速度。去年年底灵动微已经发布了针对汽车、电机应用的产品系列,这次是新内核新架构,五月灵动微还有新品发布!

“灵动微杀入高性能MCU领域!推出采用安谋科技“星辰”内核的MM32F5系列!"

本次灵动微发布了高性能MM32F5系列平台中,它有三个系列的规划布局:

“灵动微杀入高性能MCU领域!推出采用安谋科技“星辰”内核的MM32F5系列!"

MM32F52系列,120MHz“星辰”处理器,主流升级、MM32F53系列,150MHz“星辰”处理器,产能扩充、MM32F55系列,200MHz“星辰”处理器,应用拓展。

这三个系列构成了灵动在今后高性能平台上的主线,面向日益智能化的嵌入式系统需要。

王维表示灵动微的F5系列采用了专用的内存子系统以及高并发总线设计。

“灵动微杀入高性能MCU领域!推出采用安谋科技“星辰”内核的MM32F5系列!"

“在我们芯片的整个外设设计、模块设计上面,可以帮助拓展到更多新型应用。”他强调,“我们的研发团队还独创了一些专业模块,例如在这个F5系列里面,我们首次加入了MindSwhich这样一个专门模块,这个模块其实可以在任意的外设和GPIO之间实现独立互联,客户可以通过这个独立互联结合我们多路组合逻辑处理单元,在不需要CPU干预的情况下面可以完成更多操作处理。”

“灵动微杀入高性能MCU领域!推出采用安谋科技“星辰”内核的MM32F5系列!"

他表示灵动将会在本季度双首发两款MM32F52系列产品,分别是MM32F5270和MM32F5280,其主要差别是存储容量及部分外设配置,对于内核、高级通信接口等功能两款产品是一致的。

“灵动微杀入高性能MCU领域!推出采用安谋科技“星辰”内核的MM32F5系列!"

MM32F5系列配套软硬件平台

据介绍,作为灵动的一款全新的高性能MCU系列,灵动同步发布配套的新的软硬件平台。在开放评估板上,灵动推出了面向MM32F系列的Plus Board,为用户提供更全面的评估开发体验。主要的接口功能都能在一块开发板上进行评估,如以太网、USB、FlexCAN、SD卡、选配的LCD彩屏显示、舵机接口、传感器模块等。

“灵动微杀入高性能MCU领域!推出采用安谋科技“星辰”内核的MM32F5系列!"

在软件上,灵动新推出MindSDK开发套件,包含驱动程序、功能组件、样例工程及演示工具等。从整个MindSDK组成来说,除了提供相应的兼容CMSIS-Core和CMSIS-DSP的架构外,还会提供专门的基于HAL或是基于操作系统层面的软件驱动,以及对应的样例工程和丰富的集成化参考设计。在软件的驱动程序案例库里,除了基本的调用,还会针对中断方式或者DMA等方式来提供样例。随着智能化的需求增多,电子系统的设计日益复杂化,软件的功能和复杂程度将会越来越大,灵动新推出的MindSDK开发套件可以解决这些问题,满足高性能系统的开发需求。

“灵动微杀入高性能MCU领域!推出采用安谋科技“星辰”内核的MM32F5系列!"

MM32F5作为一个通用高性能的MCU平台,对于不同的应用场景和项目需要,客户可以从中选择所需的功能接口。同时,灵动也提供不同封装形式如64,100和144pin,以及-40~105℃的扩展工业级产品选项供客户选择。若要了解更多关于灵动MM32F5产品的信息,请登录灵动官网查看:

“灵动微杀入高性能MCU领域!推出采用安谋科技“星辰”内核的MM32F5系列!"

他透露5月灵动微将发布一款低功耗产品,以“低功耗和全新应用”为亮点,这将是一款什么产品?我们拭目以待吧!(完)

来源:电子创新网张国斌
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 12

4月12日,上海灵动微电子股份有限公司(以下简称“灵动微电子)联合安谋科技发布高性能MM32F5系列MCU产品。此款产品在架构和外设设计上做了多处创新以适应高端应用市场。

“灵动微电子发布高性能MM32F5系列MCU产品"

全系标配安谋科技“星辰”STAR-MC1处理器

近年来,人工智能、物联网、工业自动化领域市场发展飞速,特别是安防、民生和智能家居等行业发展迅速,其年增长率超1500%;在疫情后,非接触的人机交互设备以及对于语音和视觉的技术需求增长也越来越快;在过去的三年内,据一些数据统计,国内工业企业的增长率已超过200%,包括常见的工业自动化升级改造。现在国内的工业企业不单是为了满足国内的需要,更占据不少海外的市场份额。

我们从中看到一个大的问题:虽然国产的MCU产品的市占率比几年前提高了很多,但在高性能MCU产品上,国产的市占率还是非常低。主要原因是:国内企业对高性能产品的支持和布局还不够完善。另外,MCU的开发和应用环境有非常多差异化的生态要求。碎片化的生态加上不同算法的门槛,这些都是国产高性能MCU面临的挑战,所以灵动微电子经过严谨的评估后选用了安谋科技Armv8-M Mainline架构的“星辰”STAR-MC1内核来开发高性能MM32F5系列MCU产品。

“灵动微电子发布高性能MM32F5系列MCU产品"

安谋科技“星辰”STAR-MC1内核优势

Armv8-M Mainline架构的“星辰”STAR-MC1内核优势:

  • 相对于Arm Cortex-M4,在同等工艺和功耗前提下“星辰”STAR-MC1内核有约20%的性能提升,Cortex-M4的MIPS是1.15DMIPS/MHz,“星辰”STAR-MC1内核能做到1.5 DMIPS/MHz & 4.02 Coremark/MHz;
  • 灵活的扩展接口,“星辰”STAR-MC1处理器搭载了接近Cortex-M7的内存系统总线结构,并且具备v8M独有的可定制指令接口,可以灵活地去定制用户特定指令,以提升系统效率。同时,客户也可以用这套机制去做一些差异化,来保证自己的知识产权;
  • “星辰”STAR-MC1处理器的生态系统不仅有Arm自家的DS和Keil MDK工具,也包含第三方的IAR、SEGGER、Lauterbach等一些工具链。“星辰”STAR-MC1处理器在各类第三方编译器、操作系统、仿真器也受广泛支持,便于工程师在开发设计时快速上手。

“灵动微电子发布高性能MM32F5系列MCU产品"

为什么选择“星辰”STAR-MC1内核?

灵动之所以选择“星辰”STAR-MC1处理器,是因为STAR-MC1内核作为由安谋科技的本土团队打造的处理器架构系列,在性能上比Cortex-M3/M4提升了很多,其4.02的Coremark的跑分在Arm架构的MCU领域里名列前茅;在系统架构上,通过更高性能的存储器架构(如独立的Cache和TCM),MM32F5系列MCU能提供系统层面的更高的系统级多并发;还有Arm 的软硬件生态是业界公认的,MM32F5基于STAR-MC1内核,也适用于各类现有的编译工具,对于软件开发人员来说,可以非常快速地从一种Arm架构的开发转至STAR-MC1。对于灵动来说,MM32的产品已有成千上万的用户在使用,因此平台化和易用的编译工具也是至关重要的,MM32F5系列可以作为灵动的新老客户在产品升级上的一种选项;最后,在目前的大环境下,保持供应链的独立和安全性也是需要考虑的方面,在这一点上,STAR-MC1也能提供相应的保障。在供应链安全性问题上,除了内核本身,像FAB厂、封装测试厂等,都会保证灵动MM32系列产品生产的安全性。

结合内核性能和存储器架构性能的提升,基于安谋科技“星辰”STAR-MC1内核的MM32F5系列平台,不仅在整体性能上比Cortex-M3/M4产品高出50%左右,芯片的系统层面性能的提升其实更高。

  • 丰富的通信接口:MM32F5系列集成了以太网、USB、 FlexCAN接口和多达14组的串行通信接口,特别适合工业和汽车相关应用。
  • 大容量存储:MM32F提供了从256KB到2MB的Flash选项,并使用了双分区配置,可提高系统运行的稳定性。
  • 在模拟功能上,提升了SAR ADC和定时器的配置。3Msps采样率和256倍过采样设计的12b ADC,及支持8路的互补PWM输出的定时器,让灵动专业的电机控制技术更进一步。
  • 在MM32F5系列上,灵动的研发团队引入了独创的专业功能模块,如MindSwitch,它是一种在任意外设和GPIO之间实现独立互联的机制,结合多路组合逻辑处理单元CLU,完成更多无需CPU干预和处理的互联功能。

MM32F5系列平台布局

在MM32F5系列平台中现有三个系列的规划布局:

  • MM32F52系列,120MHz“星辰”处理器,主流升级
  • MM32F53系列,150MHz“星辰”处理器,产能扩充
  • MM32F55系列,200MHz“星辰”处理器,应用拓展

这三个系列构成了灵动在今后高性能平台上的主线,面向日益智能化的嵌入式系统需要。

“灵动微电子发布高性能MM32F5系列MCU产品"

灵动将会在本季度双首发两款MM32F52系列产品,分别是MM32F5270和MM32F5280,其主要差别是存储容量及部分外设配置,对于内核、高级通信接口等功能两款产品是一致的。

“灵动微电子发布高性能MM32F5系列MCU产品"

MM32F5系列配套软硬件平台

作为灵动的一款全新的高性能MCU系列,灵动同步发布配套的新的软硬件平台。在开放评估板上,灵动推出了面向MM32F系列的Plus Board,为用户提供更全面的评估开发体验。主要的接口功能都能在一块开发板上进行评估,如以太网、USB、FlexCAN、SD卡、选配的LCD彩屏显示、舵机接口、传感器模块等。

“灵动微电子发布高性能MM32F5系列MCU产品"

在软件上,灵动新推出MindSDK开发套件,包含驱动程序、功能组件、样例工程及演示工具等。从整个MindSDK组成来说,除了提供相应的兼容CMSIS-Core和CMSIS-DSP的架构外,还会提供专门的基于HAL或是基于操作系统层面的软件驱动,以及对应的样例工程和丰富的集成化参考设计。在软件的驱动程序案例库里,除了基本的调用,还会针对中断方式或者DMA等方式来提供样例。随着智能化的需求增多,电子系统的设计日益复杂化,软件的功能和复杂程度将会越来越大,灵动新推出的MindSDK开发套件可以解决这些问题,满足高性能系统的开发需求。

“灵动微电子发布高性能MM32F5系列MCU产品"

MM32F5作为一个通用高性能的MCU平台,对于不同的应用场景和项目需要,客户可以从中选择所需的功能接口。同时,灵动也提供不同封装形式如64,100和144pin,以及-40~105℃的扩展工业级产品选项供客户选择。若要了解更多关于灵动MM32F5产品的信息,请登录灵动官网查看:
https://www.mindmotion.com.cn/products/mm32mcu/mm32f/mm32f_performance/

来源:灵动MM32MCU
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 28
订阅 RSS - MM32F5