瑞萨家大业大,作为老牌单片机拥有多个系列,以满足不同应用场景的需求,先同大家分享一下:
RL78系列
8/16位单片机,适用于低功耗、高性能的嵌入式应用。
提供了丰富的外设和接口,如ADC、DAC、UART、SPI等。
具有优秀的低功耗特性和强大的处理能力。
RX系列
32位单片机,采用瑞萨自有的RX内核。
具有业界领先的CoreMark/MHz性能和大容量代码闪存及SRAM。
适用于高性能、处理密集型的嵌入式应用。
RA系列
RA2系列:适用于低功耗应用。
RA4系列:适用于需要低功耗、高性能和高安全性的设备。
RA6系列:具有卓越的连接性能和安全性能。
RA8系列:为采用人机界面、连接、安全和模拟功能的应用提供出色性能。
32位单片机,基于Arm Cortex-M内核。
包括RA2、RA4、RA6和RA8等多个系列,每个系列都有其独特的应用场景和性能特点。
提供了强大的嵌入式安全功能和丰富的外设接口。
Synergy系列
基于Arm Cortex-M内核的单片机系列。
将MCU与商业级、有品质保证的软件和开发工具融为一体。
适用于各种嵌入式应用,提供了灵活的开发环境和强大的生态系统支持。
ASSP EASY系列
基于AndesCore N22/D25F的RISC-V内核单片机。
提供了高性能和低功耗的嵌入式解决方案。
适用于对成本和功耗有严格要求的应用。
R9A02G021系列
瑞萨自研内核的单片机系列。
具有独特的性能和功耗特点。
适用于特定的嵌入式应用场景。
综上所述,瑞萨单片机涵盖了从8/16位到32位、从自有内核到Arm Cortex-M内核再到RISC-V内核的多个系列。每个系列都有其独特的应用场景和性能特点,开发者可以根据具体需求选择合适的单片机系列进行开发。
本次测评为为ARM系列RA家族:
RA系列MCU产品基于Arm ® Cortex ® -M内核,与瑞萨自有内核RL78和RX系列一起,成为瑞萨MCU产品线齐头并进的三驾马车。RA2、RA4和RA6系列从19年发布以来,以性能可靠、供应稳定、性价比高等因素获得众多终端客户的高度认可,产品覆盖低功耗、高性能、高安全性、外设丰富等多种应用场景。
瑞萨RA系列MCU基于32位Arm Cortex-M内核,拥有丰富的产品线,包括RA2、RA4、RA6和RA8等多个系列,每个系列都有其独特的应用场景和性能特点。这些MCU提供了强大的嵌入式安全功能、卓越的CoreMark性能和超低的运行功率,能够满足各种嵌入式系统的需求。
低功耗应用:
RA2系列:基于Arm Cortex-M23内核,主频最高可达48MHz,Flash最大容量为256KB,适用于低功耗应用。主打高性价比,最小封装为WLCSP16pin。
低功耗、高性能和高安全性设备:
RA4系列:在RA2系列的基础上,增加了更多外设和接口,如OSPI、TFT LCD、以太网等,适用于需要低功耗、高性能和高安全性的设备。
高性能和连接性能:
RA6系列:基于Arm Cortex-M33和M4F内核,主频最高可达200MHz,Flash最大容量为2MB。适用于HMI及更高性能需求的应用场景,如电机控制和数字电源等领域。
高性能和复杂应用:
RA8系列:如RA8M1,搭载Cortex-M85内核,主频高达480MHz,在Safety和Security方面表现出色,适用于高性能和复杂应用。
性能参数:
根据应用需求选择适当的主频、Flash容量、SRAM容量等性能参数。
注意MCU的功耗表现,确保在低功耗应用中能够满足续航要求。
内核类型:
Arm Cortex-M23内核适用于入门级和低功耗应用。
Arm Cortex-M33和M4F内核适用于高性能和安全敏感型应用。
Cortex-M85内核则提供了更高的性能和更复杂的功能支持。
开发工具:
瑞萨提供了基于Eclipse的e2 studio集成开发环境(IDE),支持项目创建、代码开发、调试等关键步骤。
编译器、调试器等开发工具链高效易用,可大大简化开发流程。
软件包:
灵活配置软件包(FSP)提供了高性能且内存占用低的硬件抽象层(HAL)驱动程序和中间件协议栈,简化了通信和安全等复杂模块的实现。
FSP支持图形用户界面(GUI)配置工具,可快速选择和配置所需模块及其关联API。
开发板:
基于瑞萨 RA6M4 MCU 开发的 CPK-RA6M4 MCU 评估板资源:
- CPK-RA6M4 MCU 评估板
- R7FA6M4AF3CFB
- 144 引脚 LQFP 封装
- 支持 TrustZone®的 200 MHz Arm® Cortex®-M33 内核
- 192KB 支持奇偶校验 SRAM 以及 64kb ECC SRAM
- 最大 1 MB 代码闪存
- 8 KB 数据闪存
连接
- 主 MCU 的 USB 连接器(主机侧/设备侧)
- SEGGERJ-Link®板上(OB)接口,用于调试和编程。 提供了 10 引脚 JTAG / SWD 接口,用于连接可选
的外部调试器和编程器。
- 两个 PMOD 连接器,允许使用适当的 PMOD 兼容外围插件模块进行快速原型开发。
- 用于访问主 MCU 电源和信号的引脚接头。
多个时钟源
- 振荡器晶体提供了精确的 24.000 MHz 和 32.768 Hz 外部参考时钟。
- 主 MCU 内部提供了丰富的时钟源。
- 两个 PMOD 连接器,允许使用适当的 PMOD 兼容外围插件模块进行快速原型开发。
- 连接主 MCU 电源和信号的引脚接头。
MCU 复位按钮开关
用于 MCU 模式配置的铜跳线
通用 I / O 端口
- 用于测量主 MCU 电流的跳线
- 位于 PCB 底部的铜跳线,用于配置和访问选定的 MCU 信号
工作电压
- 通过 DEBUG / POWER USB 连接器的 5 V 外部输入电压为板载电源稳压器提供电源,为板上的逻辑和接电。板上的备用位置可选用 5 V 或 3.3 V 电源。两个 LED(绿色和红色)指示可调节电源的可用性和 J-Link 接口的连接状态由主 MCU 固件控制的用户 LED(红色) 通过 I2C 总线通信的光传感器(ISL29035)。
点个灯:#include "hal_data.h" void R_BSP_WarmStart(bsp_warm_start_event_t event); extern bsp_leds_t g_bsp_leds; /*******************************************************************************************************************//** * @brief Blinky example application * * Blinks all leds at a rate of 1 second using the software delay function provided by the BSP. * **********************************************************************************************************************/ void hal_entry (void) { #if BSP_TZ_SECURE_BUILD /* Enter non-secure code */ R_BSP_NonSecureEnter(); #endif /* Define the units to be used with the software delay function */ const bsp_delay_units_t bsp_delay_units = BSP_DELAY_UNITS_MILLISECONDS; /* Set the blink frequency (must be <= bsp_delay_units */ const uint32_t freq_in_hz = 2; /* Calculate the delay in terms of bsp_delay_units */ const uint32_t delay = bsp_delay_units / freq_in_hz; /* LED type structure */ bsp_leds_t leds = g_bsp_leds; /* If this board has no LEDs then trap here */ if (0 == leds.led_count) { while (1) { ; // There are no LEDs on this board } } /* Holds level to set for pins */ bsp_io_level_t pin_level = BSP_IO_LEVEL_LOW; while (1) { /* Enable access to the PFS registers. If using r_ioport module then register protection is automatically * handled. This code uses BSP IO functions to show how it is used. */ R_BSP_PinAccessEnable(); /* Update all board LEDs */ for (uint32_t i = 0; i < leds.led_count; i++) { /* Get pin to toggle */ uint32_t pin = leds.p_leds[i]; /* Write to this pin */ R_BSP_PinWrite((bsp_io_port_pin_t) pin, pin_level); } /* Protect PFS registers */ R_BSP_PinAccessDisable(); /* Toggle level for next write */ if (BSP_IO_LEVEL_LOW == pin_level) { pin_level = BSP_IO_LEVEL_HIGH; } else { pin_level = BSP_IO_LEVEL_LOW; } /* Delay */ R_BSP_SoftwareDelay(delay, bsp_delay_units); } }
总结 RA6M4:工作频率高达200MHz,提供了强大的处理能力。对标XX32F4系列:工作频率也可达到168MHz或更 高,但普遍低于RA6M4的200MHz。XXX32H7系列则提供了更高的工作频率,达480MHz。RA6M4高于XX32F4系列,比肩G系列,低于H7系列!