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

news2024/11/26 14:36:40

  • 一、模式简介

  • 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中使能的工作模式下可以开启。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/429235.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ASP.NET Core - 依赖注入(二)

2,NET Core 依赖注入的基本用法 话接上篇,这一章介绍 .NET Core 框架自带的轻量级 Ioc 容器下服务使用的一些知识点,大家可以先看看上一篇文章 [ASP.NET Core - 依赖注入(一)] 2.3 服务解析 通过 IServiceCollection 注册了服务之后&#xf…

五一假期将近,给景区视频监控方案提几点建议

一、行业背景 随着旅游业的不断发展,旅游安全问题越来越受到重视。尤其是五一假期将近,为确保游客在景区内的人身安全和财产安全,景区必须采用高效、可靠的安防视频监控系统,并进行科学规划和设计,从而实现及时发现安…

Simulink simscape绳索和滑轮的使用总结

在做仿真的时候使用了绳索和滑轮,网上的资料不是很多,所以想想还是自己做一下记录,提供了一个小案例,文件上传到我的资源里了。 1.滑轮约束 Pulley 这个模块可以建立滑轮和绳索之间的约束。这个约束保证了绳子和滑轮之间 The pull…

Memory Analyzer Mat

目录 一、JDK 、JRE和JVM 的关系 二、Java进程内存占用查询命令 2.1JAVA 代码是如何执行的 2.2何时用hrpof文件分析内存 三、Memory Analyzer Mat 3.1Memory Analyzer Mat安装 3.2 Overview视图 3.2.1直方图视图(histogram) 3.2.2 Dominator Tr…

计算机图形学 Animation 学习笔记

1、做插值: 线性插值和用贝塞尔曲线做插值,贝塞尔曲线做插值可以看起来更生动形象 2、物理模拟(Simulate Physics) 原理是利用“ 力 质量 x 加速度”,知道了这些信息,那么下一帧的位置就可以提前被运算出来…

Ethercat学习-从站FOE固件更新(TwinCAT主站)

文章目录简介协议说明1.读请求2.写请求3.数据4.应答5.错误码6.忙数据传输流程1.读流程2.写流程3.忙操作代码实现1.源码生成与移植2.代码解析1.FOE_ServiceInd2.FOE_Read3.FOE_Write4.FOE_Ack5.FOE_Data6.FOE_Error7.FOE_Busy其他TwinCAT测试简介 FOE(File Access over Etherca…

React从入门到入土系列3-使用React构建你的应用

这是我自己系统整理的React系列博客,主要参考2023年3月开放的最新版本react官网内容,欢迎你阅读本系列内容,希望能有所收货。 本文是该系列的第3篇文章,阅读完本文后你将收获: 如何使用React逐步构建你的应用了解prop…

《分布式商业》

读完《分布式商业:数字化时代的新商业变革》,说实话,如果读者没有技术研发背景,读完此书,是很难在技术和商业层面引起共鸣。我甚至觉得,这本书就是写给技术类岗位的同学看的;而写这本书的人&…

Softing工业边缘产品的新功能助力工业数据集成到IT解决方案中

Softing的edgeConnector和edgeAggregator产品在3.40版本中新增了一系列功能,使数据集成到IT解决方案变得更加容易。 基于Docker的edgeConnector产品系列支持访问SIMATIC S7、SINUMERIK 840D和Modbus TCP等控制器中的过程数据。同样基于Docker的edgeAggregator产品可…

柔性数组【结构体和动态内存的结合】

全文目录前言柔性数组的定义语法柔性数组的特点柔性数组的使用柔性数组的优势前言 很多人可能没有听过柔性数组这个概念,但是在C99中柔性数组是确实存在的。我个人感觉有点像动态内存和结构体的结合。 柔性数组的定义语法 结构中的最后一个元素允许是未知大小的数…

一起学 WebGL:绘制三角形

大家好,我是前端西瓜哥。画了好几节课的点,这次我们来画三角形了。 三角形可太重要了,再复杂的三维模型都是由一个个小三角形组合而成,越多越精细越真实。 绘制三角形 这次绘制三角形,要绘制的点就有三个了&#xf…

C语言之 单链表1(simply linked list)

单链表 链表优点: 1.按需申请空间,需要就申请,不需要就释放 2.头部或中间插入数据,不需要挪动数据 3.不存在空间浪费 缺点: 1.每次存放一个数据,到要存一个指针去链接后面的数据节点 2.不支持随机访问&a…

让你的ChatGPT更加强大——200+小白用来解锁ChatGPT高级功能的提示(Prompts)

让你的ChatGPT更加强大——200小白用来解锁ChatGPT高级功能的提示(Prompts)使用说明标签筛选关键词搜索展示区复制语言切换常见问题为什么提示词用英文?中文搜索出错输出虚假信息提示词不好用为什么执着于 ChatGPT?最后参考博客其…

Vue.js 2.0 单文件组件

Vue.js 2.0 单文件组件介绍 在很多Vue项目中,我们使用 Vue.component 来定义全局组件,紧接着用 new Vue({ el: #container }) 在每个页面内指定一个容器元素。 这种方案在只是使用 JavaScript 增强某个视图的中小型项目中表现得很好。然而在更复杂的项…

对象树、QT的坐标系、信号和槽机制

目录 1、QT中什么是对象树 2、QT的坐标系 3、信号和槽机制 3.1、信号槽的理解 3.2、信号槽的工作原理 3.3、信号槽的使用 3.3.1、系统的信号和槽 3.3.2、自定义信号和槽函数 3.3.3、信号和槽函数之间的参数传递 3.3.4、信号和槽的注意 1、QT中什么是对象树 在创建 QO…

重构·改善既有代码的设计.04之重构手法(下)完结

1. 前言 本文是代码重构系列的最后一篇啦。前面三篇《重构改善既有代码的设计.01之入门基础》、《重构改善既有代码的设计.02之代码的“坏味道”》、《重构改善既有代码的设计.03之重构手法(上)》介绍了基础入门,代码异味,还有部…

如何在ubuntu上搭建minio

由于腾讯的对象存储服务器(COS)的半年免费试用期已过,所以寻思鼓捣一下minio,试着在自己的服务器上搭建一套开源的minio对象存储系统。 单机部署基本上有以下两种方式。 一、直接安装 最基础的一种单机安装,这里不做…

记录-js基础练习题

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 隔行换色(%): window.onload function() {var aLi document.getElementsByTagName(li);for(var i 0; i < aLi.length; i){if(i%2 1){aLi[i].style.background #bfa;}} } <ul><li>…

微搭低代码学习之基础操作

低代码开发平台&#xff0c;是一种方便产生应用程序的平台软件&#xff0c;软件会开发环境让用户以图形化接口以及配置编写程序&#xff0c;而不是用传统的程序设计作法。此平台可能是针对 某些种类的应用而设计开发的&#xff0c;例如数据库、业务过程、以及用户界面。这类平台…

STM32锁芯片,解锁方法(J-LINK)

在烧写STM32时&#xff0c;不小心把usb口给弄掉了&#xff0c;然后就尴尬了&#xff0c;芯片被锁了。 烧写的时候报错&#xff0c;如下&#xff1a; 然后就搜了一下&#xff0c;大致有两个方法&#xff0c; 第一种需要通过接3.3V到板子上BOOT0重新上电第二种是直接通过软件…