单片机|MPC5744p时钟模块

MPC5744p refMPC5744P-Reference Manual.pdf
概览

  • MPC5744从16MHz的内部RC振荡器(IRCOSC)启动, 并在PLL或振荡器故障时将其作为备份时钟
  • 可提供时钟源的三种方式: 外部振荡器, 外部晶振, IRCOSC
  • 再分别经过PLLs(PLL0&PLL1 或 PLL0_PHI&PLL1_PHI)产生内部时钟
  • 两个时钟连接XOSC和IRCOSC, 可被选择以驱动系统外设
  • 从PLL0输出的PHI1可作为PLL1的时钟源
  • 7个时钟选择器允许开发者去选择PLL的参考时钟, 用独立时钟源驱动各种系统外设, 选择时钟源驱动产生片外信号; 一个额外时钟选择器专门用于系统时钟
  • 每个模块时钟选择器输出有多达三个分频器, 允许更多时钟频率粒度, 给定一组外设的分频系数高达64
  • 在时钟分频器的选定输出上有CMU(Clock Monitor Units), 用于测试时钟完整性, 确保频率保持在必要工作限度
  • 若5个CMU的任意一个检测到时钟信号的问题, 一个中断或系统复位会被产生, 取决于CMU的配置
时钟产生 【单片机|MPC5744p时钟模块】单片机|MPC5744p时钟模块
文章图片

  • 为确保不同系统时钟分支同步,存在频率限制单片机|MPC5744p时钟模块
    文章图片
  • 启动时, IRCOSC作为整个系统默认的时钟, 所有系统时钟分频器设置为二分频
PLL
  • 提供分立系统和外设时钟的双PLL
  • 启动后禁止, 必须被软件使能
  • 单片机|MPC5744p时钟模块
    文章图片
  • PLL0: 主PLL, 为模块提供非频率调制的时钟, PLL1的参考时钟
    • 输入: XOSC, IRCOSC, 旁路通道(EXTAL pin), 由AUX时钟选择器3选择
    • 输出: PHI, PHI1, 被选中后PHI输出时钟驱动不同外设和系统时钟, PHI1输出提供PLL的输入之一
  • PLL1: FMPLL(Frequency Modulated)
    • 输入: XOSC, PLL0_PHI, 旁路通道(EXTAL pin), AUX选择器4选择
    • 输出: PHI, 含小数分频器, 可用于PLL的环路分频
XOSC 外部振荡器
  • 为片上PLL提供了一个参考, 可作为ADCs, SGEN, 电机控制模块, LFAST和PLL的参考, 系统时钟源
  • 可在任一CLKOUT_pin上观察, 用作校准IRCOSC的参考
  • 外部振荡器允许一个晶振/外部时钟作为MCU的参考
  • 功能:
    • PLL0和PLL1的参考时钟
    • CMU0的参考时钟
    • 选择直接从XOSC驱动CAN和FlexRay协议时钟
    • 提供8-44MHz晶振输入支持
IRCOSC 16MHz内部RC振荡器
  • mcu有一个16MHz的内部RC振荡器, 总是使能, 用于PLLs的时钟源
  • 用作MC_RGM, FCCU, PIT, SWT, SIUL2输入滤波, ADCs, SGEN, motor控制模块, 系统时钟的时钟源
  • IRCOSC是复位后的默认系统时钟
  • 内部接口: 设备有一个专门的数字接口用于IRCOSC, 可对频率微调, 读取温度传感器, 电压调节器, 电容微调器的设置
  • 微调: IRCOSC需要微调来匹配精度需求, 开机或破坏性复位后其在未调整的频率下运行, 出厂测试确定的修剪值存储在flash, 复位时加载
外设时钟 单片机|MPC5744p时钟模块
文章图片

LFAST clocking
  • MPC5744p有一个LFAST模块来支持高速设备通讯,
  • 一个单独LFAST PLL需要10~20MHz的参考时钟, 支持LFAST高速操作,
  • 对低速LFAST操作, LFAST模块可直接使用参考时钟
  • LFAST需要20MHz的参考, 时钟源可为PLL0_PHI / XOSC / 输入pin
FlexRay
  • FlexRay协议时钟来自非FM的PLL0_PHI时钟 / XOSC
  • 若使用XOSC, 需要一个40MHz晶振
  • 若使用PLL0_PHI, 必须配置MC_CGM_AC1_DC0寄存器以提供80MHz
    • PLL频率须为XOSC源2倍, 因为PLL占空比不稳定
    • FlexRay模块对PLL的频率分频, 提供一个稳定的50占空比,40MHz的内部时钟
    • FR_MCR[CLKSEL]置1, 该内部分频器自动启用, 用户不能更改其或将其作为XOSC源
FlexCAN clocking
  • CAN时钟从XOSC / PLL0_PHI时钟产生, PLL0_PHI时钟可被分频
  • 该分频器输出(CAN_PLL_CLK)驱动一个多路复用器的两个输入之一
  • 其他输入由XOSC驱动
Clock monitoring
  • 对所有安全关键时钟, MCU检测丢失时钟/错误频率
  • 每个CMU独立配置, IRCOSC用作CMU的参考
  • 单片机|MPC5744p时钟模块
    文章图片
  • 这些信号在芯片内部连接,但不能通过pins获取
  • IRCOSC是所有CMU的参考, 仅CMU0用IRCOSC测量XOSC是否过低, 也可用XOSC来校准IRCOSC
  • 其他CMUs都被独立配置
    • XOSC monitor: 若测量XOSC频率低于限制, 一个标志置位, 中断产生
    • IRCOSC monitor: 以XOSC为参考微调IRCOSC频率
    • System clock monitor: 一个CMU被指定于监视核心频率和外设桥, 电机控制, ADC, SENTclocks
时钟丢失
  • PLL/XOSC loss: PLL每个失锁信号 & XOSC故障信号被FCCU监控, 时钟失效出现时, FCCU可配置以生成短/长复位 / 中断(此时仅有不可预测的PLL提供的自由时钟).
    • 无自动时钟切换, 用户需要配置
    • 因此强烈建议当PLL用于系统时钟时不选择中断反应.
    • 当短/长复位被选择, PLL, XOSC, MC_ME, MC_CGM复位到初始状态, 系统时钟->IRCOSC
  • IRCOSC loss: CMU0监视, 当IRCOSC失效, 无FCCU自动触发的错误条件, 其故障为灾难性故障
  • PLL loss: 始终向PLL0CR[LOLIE]和PLL1CR[LOLIE]写1以保持失锁中断启用

    推荐阅读