您现在的位置是:首页 >其他 >MPC的560x系列的运行模式的介绍网站首页其他

MPC的560x系列的运行模式的介绍

花 满 楼 2023-05-18 04:00:01
简介MPC的560x系列的运行模式的介绍

  • 一、模式简介

  • 1、运行模式

一共11种模式,分别为RESET、DRUN、SAFE、TEST、RUN0、RUN1、RUN2、RUN3、HALT、STOP、STANDBY。其中RESET、DRUN、SAFE、TEST是系统工作模式,用户不用个特别关系,而后面几种是用于经常使用到的工作模式。

       RESET:系统复位时的工作,运用等待系统的电源、时钟、频率等准备好。

       DRUN:进入用户模式的唯一入口,用于配置各种用户模式。

       SAFE:一种特殊的芯片模式,当系统出现可复位故障时会进入这种模式。

       TEST:用于芯片自检,比如flash和校验等。

       RUN0~RUN3:软件最常用的工作模式。

       HALT:低功耗模式,一部分电源停止工作,且可配置部分功能模块是否休眠,比如flash、pll、主电源模块等等,可被唤醒。唤醒时间最短。

       STOP:一种低功耗模式,相对HALT可休眠的功能模块更多,功耗更低,唤醒时间更长。运行功耗大概是几百个uA。

       STANDBY:一种低功耗模式,相对于STOP可休眠的功能模块更多,几乎所有非必要的模块全部都休眠,运行功耗更低,且唤醒时间更长。运行功耗大概是几十个uA。

2、模式转换

模式转换图如下,转换时应注意到STANDBY唤醒后只能进入DRUN模式,而HALT和STOP唤醒后进入RUN模式。

模式转换的方法是向下面的寄存器写入特定的数据,TARGET_MODE表示希望转入的运行模式,而KEY是模式转换需要写入的密钥。

 

 

       模式转换密钥写入完成后,需要检查ME_GS寄存器的S_MTRANS位来确认转换过程时候结束,或者S_CURRENT_MODE位来确认现在的工作模式。

3、模式运行资源差异

模式寄存器如下,只是不同的模式其可配置的位不同。

 

       PDO:对于IO的控制。=0是常规模式。=1是特殊设定模式,在SAFE和TEST模式默认高阻态;在STOP模式保持进入STOP模式前的电平不变,且关闭drive,且电平不能变化;在STANDBY模式,电平为低且不能变化。wakeup使能的引脚除外。

       MVRON:主电压调节器的控制,主要是电源域章节的2、3电源域。

       DFLASH/CFLASH:分为normal模式、low-power模式和power-down模式,主要差别是供电功率和唤醒时间。

FMPLLON:PLL的开关。

FXOSCON:外部高速晶振的开关。

FIRCON:内部高速晶振的开关。

SYSCLK:系统时钟的选择,其可以选择内部高速时钟、颞部高速时钟的分频信号、外部高速时钟、外部高速时钟的分频信号、PLL和禁用。

不同的工作模式下,这些资源的对比如下图,其中“√”表示模式可配置。

 

  • 二、模式转换保护机制

模式转换有一些规则需要遵守,否则转换会被忽略或进入无效配置模式中断,总结如下:

  1. 如果系统时钟选择为FIRC或FIRC的分频,那FIRCON必须使能。
  2. 如果系统时钟选择为FXOSC或其分频,那FXOSCON必须使能。

注意:没有对PLL的检测,如果系统系统时钟选择PLL,那PLL时钟输入(FXOSC)必须开启。

  1. 如果系统时钟选择PLL,那PLLON必须使能。
  2. CFLAON和DFLAON不能配置00模式,00模式是保留的。
  3. 如果使能了FMPLL、CFLASH和DFLASH,MVRGE必须使能,寄MVRON。
  4. 系统时钟的配置不能选择保留位。
  5. 仅有STOP和TEST模式的系统时钟可以选择disable。

注意:如果在TEST模式下系统时钟选择disable,那只能通过系统复位才可以退出。

  • 三、模式转换中断

  • 1、无效的配置模式

当配置违反了保护机制,I_ICONF会置位,如果使能了对应的中断,那就会进入中断模式。

     2、 无效模式转换

  1. 如果运行在SAFE或者从MC_RGM模式中将进入SAFE模式,除了RESET和SAFE模式外的其他模式请求,都是无效的。
  2. 请求转换的模式不存在。
  3. 请求转换的模式在ME_ME寄存器中是被禁用的,或者S_DMA位置1后,模式转换也是无效的。
  4. 请求模式与当前模式不能直接转换,比如从STOP进入DRUN模式。
  5. 模式转换过程中申请了新的模式转换。

注意:无效模式转换的原因可能是重叠的,其发生的优先级从高到低为S_SEA,S_NMA,S_DMA,S_MRI,S_MTI。

       一些特殊情况,不被视为无效模式转换,如下

  1. 无论模式转换进行到什么阶段时,请求进入RESET或SAFE。
  2. 中断退出HALT和STOP模式。
  3. 模式转换失效后退回原来的模式。
  4. 无论何时,请求转换先正在运行的模式不被视为无效。如果从低功耗不能进入RUN模式,那系统会进入到SAFE或者RESET模式。 

        3、其他中断

SAFE模式中断:当硬件失效进入时,标志位会置位。

模式转换完成中断:用于只是模式转换完成。

  • 四、外设时钟的开启

外设时钟是否开启由PCTL寄存器决定,每一个外设都对应PCTL的一个寄存器。PCTL可以选择对应外设时钟在哪个PC模式下开启,而PC模式又定义用户工作模式。

外设时钟只有在选择的PC中使能的工作模式下可以开启。

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。