ZHDA270 August   2026 MSPM0G5117 , MSPM0G5187

 

  1.   1
  2. 1 说明
  3. 2 所需外设
  4. 3 兼容器件
  5. 4 设计步骤
  6. 5 设计注意事项
  7. 6 软件流程图
  8. 7 应用代码
  9. 8 数据流示例
  10. 9 其他资源
  11. 10商标

设计步骤

  1. 在 SysConfig 中设置 TinyUSB 模块。添加一个 CDC 实例 (CDC_0)。SysConfig 会自动分配三个端点:通知 IN (EP_IN2)、数据 IN (EP_IN1) 和数据 OUT (EP_OUT1)。
  2. 配置 USB 时钟树。两个平台使用不同的时钟路径。在 MSPM0G5187 上:使能 PLL 和 USB FLL,将 UDIV 设置为 2,并选择 HSCLKMUX_SYSPLL0。在 MSPM0C5116 上:仅使能 USB FLL(无需 PLL),将 UDIV 设置为 2,并选择 HSCLKMUX_USBFLL。
  3. 在 SysConfig 中设置 UART 模块。
    1. 将目标波特率设置为 115200。
    2. 重新使能FIFO模块。将 RX FIFO 阈值设置为 DL_UART_RX_FIFO_LEVEL_ONE_ENTRY(每接收一个字节触发一次中断)。将 TX FIFO 阈值设置为 DL_UART_TX_FIFO_LEVEL_ONE_ENTRY。
    3. 在“Interrupt Configuration”选项卡中,使能 RX 中断和 DMA 完成 TX 中断。在“DMA Configuration”选项卡中,添加一个 TX DMA 通道 (DMA_CH0),并配置为块地址到固定地址模式。源长度设置为字节
  4. 在 SysConfig 中设置计时器模块。
    1. 添加一个计时器实例 (TIMER_0)。选择 LFCLK 作为时钟源,并使能零中断。
    2. 超时周期在软件中进行设置。
      // ===== UART RX Timeout =====
      // Timeout period: (UART_TIMEOUT+1)/32768 ≈ 200us
      // Triggers when no new UART byte arrives for 200us
      #define UART_TIMEOUT        6
  5. 在 SysConfig 中设置 SysTick。使能 SysTick 并设置与 CPU 频率匹配的周期:MSPM0G5187 (80MHz) 设为 80000 个周期,MSPM0C5116 (48MHz) 设为 48000 个周期。这两个设置值均可产生 1ms 的周期。TinyUSB 的 board_millis() 需要此 1ms 周期。