ZHCADB2 November   2023 MSPM0L1306

 

  1.   1
  2.   摘要
  3.   商标
  4. 1MSPM0 产品系列概述
    1. 1.1 引言
    2. 1.2 Renesas RL78 MCU 与 MSPM0 MCU 的产品系列比较
  5. 2生态系统和迁移
    1. 2.1 生态系统比较
      1. 2.1.1 MSPM0 软件开发套件 (MSPM0 SDK)
      2. 2.1.2 MSPM0 支持的 IDE
      3. 2.1.3 SysConfig
      4. 2.1.4 调试工具
      5. 2.1.5 LaunchPad
    2. 2.2 迁移过程
      1. 2.2.1 步骤 1.选择合适的 MSPM0 MCU
      2. 2.2.2 步骤 2.设置 IDE 和 CCS 简介
        1. 2.2.2.1 设置 IDE
        2. 2.2.2.2 CCS 简介
      3. 2.2.3 步骤 3.设置 MSPM0 SDK 和 MSPM0 SDK 简介
        1. 2.2.3.1 设置 MSPM0 SDK
        2. 2.2.3.2 SDK 简介
      4. 2.2.4 步骤 4.软件评估
      5. 2.2.5 步骤 5.PCB 板设计
      6. 2.2.6 步骤 6.大规模生产
    3. 2.3 示例
  6. 3内核架构比较
    1. 3.1 CPU
    2. 3.2 嵌入式存储器比较
      1. 3.2.1 闪存功能
      2. 3.2.2 闪存组织
        1. 3.2.2.1 闪存区域
        2. 3.2.2.2 MSPM0 的 NONMAIN 存储器
        3. 3.2.2.3 RL78 的闪存寄存器
      3. 3.2.3 嵌入式 SRAM
    3. 3.3 上电和复位总结和比较
    4. 3.4 时钟总结和比较
      1. 3.4.1 振荡器
        1. 3.4.1.1 MSPM0 振荡器
      2. 3.4.2 时钟信号比较
    5. 3.5 MSPM0 工作模式总结和比较
      1. 3.5.1 工作模式比较
      2. 3.5.2 低功耗模式下的 MSPM0 功能
      3. 3.5.3 进入低功耗模式
      4. 3.5.4 低功耗模式代码示例
    6. 3.6 中断和事件比较
      1. 3.6.1 中断和异常
        1. 3.6.1.1 RL78 的中断管理
        2. 3.6.1.2 MSPM0 的中断管理
      2. 3.6.2 MSPM0 的事件处理程序
      3. 3.6.3 RL78 的事件链接控制器 (ELC)
      4. 3.6.4 事件管理比较
    7. 3.7 调试和编程比较
      1. 3.7.1 调试比较
      2. 3.7.2 编程模式比较
        1. 3.7.2.1 MSPM0 的引导加载程序 (BSL) 编程
        2. 3.7.2.2 RL78 的串行编程(使用外部器件)
  7. 4数字外设比较
    1. 4.1 通用 I/O(GPIO、IOMUX)
    2. 4.2 通用异步接收器/发送器 (UART)
    3. 4.3 串行外设接口 (SPI)
    4. 4.4 内部集成电路 (I2C)
    5. 4.5 计时器(TIMGx、TIMAx)
    6. 4.6 窗口化看门狗计时器 (WWDT)
    7. 4.7 实时时钟 (RTC)
  8. 5模拟外设比较
    1. 5.1 模数转换器 (ADC)
    2. 5.2 比较器 (COMP)
    3. 5.3 模数转换器 (DAC)
    4. 5.4 运算放大器 (OPA)
    5. 5.5 电压基准 (VREF)

示例

MSPM0 设计流程如下所示。本示例旨在使用 PWM 来驱动 LED。

  1. 选择合适的 MSPM0 MCU、选择硬件并订购 EVM,我们在这里使用的是 LaunchPad MSPM0L1306。
  2. 设置 CCS 和 SDK,详情如节 2.2所述。
  3. 代码导入。

    当环境准备就绪后,即可将代码导入 CCS。本示例中使用计时器来控制 PWM。首先要了解 RL78 和 MSPM0 之间的计时器模块差异,并在 SDK 中选择类似的示例。

    SDK 中最接近的示例可能是“timx_timer_mode_pwm_center_stop”。找到类似的示例后,打开 CCS 并导入代码示例,方法是转到“Project”>“Import CCS Projects...”并导航至 MSPM0 SDK 的示例文件夹。

    GUID-7D23B766-7C1A-426C-B483-F05D513CC62F-low.png图 2-44 代码示例文件
  4. 修改工程。

    要查看 SysConfig 配置,请打开 .syscfg 文件。选择“TIMER-PWM”部分以生成 PWM,如图 2-45 所示。检查 PWM 的时钟配置,如自发频率和占空比。在本例中,PWM 频率为 2.7Hz,占空比为 75%。您可以通过在“Desired Duty Cycle”中输入 50% 来轻松更改占空比,然后“Counter Compare Value”会自动更改。

    GUID-ED9F2FC7-FD81-48D9-9154-6658CA1C4753-low.png图 2-45 SysConfig 中的 PWM 配置

    要获取每个功能模块的详细说明,您可以点击每一项旁边的“?”符号。

    GUID-A6BE827E-5A7F-41E2-8739-A7D4CEEE572A-low.png图 2-46 获取每一项的详细信息

    此外,检查 TIMER-POWER 模块的其余功能,点击右上角的芯片图标并检查 PWM 的突出显示引脚来检查正在使用的引脚。

    GUID-166DF66E-D895-438D-8A1C-441C88E6DC52-low.png图 2-47 引脚配置

    保存并重建工程后,SysConfig 会更新图 2-48 所示的文件。此时,已修改示例硬件配置,以匹配正在移植的原始软件的全部功能。

    GUID-15E184AA-4396-4CAF-8A49-A3B6E3687D65-low.png图 2-48 SysConfig 更新的文件

    唯一剩下的工作是检查应用程序级软件。本示例像 SDK 代码一样生成 PWM 波,因此无需更改 .c 文件。

  5. 硬件设置。

    将 LaunchPad 插入计算机。根据引脚配置,使用 DuPont 电缆将 PA12 连接到 LED 引脚。

    GUID-CA842DC8-A51F-46B4-91E1-BFE51F7731A2-low.png图 2-49 硬件设置
  6. 调试和验证。

    点击调试图标开始调试。您可以通过双击行号前面的空格或添加一行代码 __BKPT(); 来设置断点。

    GUID-B57826D1-9B36-4298-BEC2-122CD7FD2DD7-low.png图 2-50 添加断点解决方案

    尝试使用调试功能(详见节 2.2.2.2)并验证该过程的可行性。在调试时,可随着代码逐步运行而切换 LED。

  7. 生成 PCB 库并导入到 Altium Design。

    具体步骤如图 2-51 所示。转到 MSPM0 器件页面下 Ultra Librarian 工具的入口(详见节 2.2.5)。点击 View options。选择所需的 CAD 格式和引脚排序,然后您可以获得 Altium 设计 lib 文件。

    GUID-95AE2DAD-DD4D-44BE-874B-74CFAF21BDE3-low.png图 2-51 Ultra Librarian 工具下载

    库下载完毕后,下一步是运行 Altium Designer 脚本并生成 PCB 库和原理图库,如图 2-52 所示。

    GUID-EBEF1B64-D471-47DF-AECB-B04602CBF240-low.png图 2-52 运行 Altium Designer 脚本

    完成这些步骤后,系统将在同一源文件夹中生成以下新文件。

    GUID-8BA8F367-D09B-49F1-9BBF-30C57944CC2D-low.png图 2-53 PCB 库和原理图文件

    最后一步是将它们导入到您的 AD 库中,如图 2-54 所示。在此基础上,可以设计原理图和 PCB。

    GUID-D3A018F2-4FE7-437D-AD42-A97476C0CE21-low.png图 2-54 导入库
  8. 在 MSPM0 中设计。
  9. 大规模生产。