开发板——X210开发板的软开关(供电置锁)

以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。

一、前言

本章节在裸机课程的SD卡启动部分。

本文讲述如何设置开发板,使得一按下电源键程序运行后即可松手不会断电,即供电置锁。

二、软开关的简介

电路设计一般使用拨码开关来做电源开关,开关打到一侧则接通电源,打到另一侧则关闭。这种设计方式很简单,但是电路过于简单,整个主板要么有电要么没电,无法做休眠、低功耗模式等。因此,软开关是比较接近于实际产品的。


三、X210开发板的软开关电路

X210开发板需要稳定的供电电压,而外部适配器的输出电压可能不满足要求,因此板载一个稳压芯片MP1482。当外部适配器电压在一定范围内变化时,稳压芯片的输出电压都是5V。

MP1482芯片有一个EN引脚,这个引脚的电平值可以决定稳压芯片是输出(EN为高电平时)还是关闭输出(EN为低电平时)。

影响EN引脚的电平的因素有两个:第一个是POWER按键(SW1),POWER按键按下时EN为高电平,POWER按键弹起时EN为低电平;第二个是POWER_LOCK引脚(EINT0),当此引脚为POWER_LOCK模式下的高电平,则EN为高;当此引脚为EINT0模式或者POWER_LOCK模式下的低电平,则EN为低。

图中还有EINT1引脚,它主要用来做中断,来唤醒CPU的。

四、X210开发板供电置锁原理

X210软开关在设计时有一个置锁电路,用EINT0引脚来控制。由核心板原理图得知,EINT0引脚也就是GPH0_2引脚。EINT0这个引脚是有复用设计的,一个是GPH0_2、一个是供电置锁PS_HOLD_CONTROL。

关于PS_HOLD的内容,在数据手册Section2.4 Power Management章节的4.10.5.8节。

供电置锁主要涉及PS_HOLD_CONTROL寄存器(0xE010E81C),共有3个位有用。

  • bit0,0表示这个引脚为GPIO功能,1表示这个引脚为PS_HOLD功能。
  • bit9,0表示这个引脚方向为输入,1表示这个引脚方向为输出。
  • bit8,0表示这个引脚输出为低电平,1表示输出为高电平。

经过分析,我们要使用软启动置锁,则需要将bit0、8、9置为1。

五、代码实测

之前做裸机实验的时候,无论是以usb方式启动还是以sd卡启动方式,整个期间需要一直按着电源键,松手则会断电。根据上面的分析,我们需要给PS_HOLD_CONTROL这个寄存器的bit0、8、9写入1,以实现供电置锁,这样在程序运行后松手也不会断电。注意,此时开发板已经置锁,POWER按键已经失效,因此松手也不会断电,关机时需要按下复位按键。

开发板供电置锁的代码:

#define WTCON		0xE2700000
#define SVC_STACK	0xd0037d80.global _start				
_start:// 第0步:开发板置锁// 写法1//ldr r0, =0xE010E81C//ldr r1, =0x301//str r1, [r0]// 写法2//ldr r0, =0xE010E81C//ldr r1, [r0]//orr r1, r1, #0x300//orr r1, r1, #0x01//str r1, [r0]// 写法3ldr r0, =0xE010E81Cldr r1, [r0]ldr r2, =0x301orr r1, r1, r2str r1, [r0]// 第1步:关看门狗(向WTCON的bit5写入0即可)ldr r0, =WTCONldr r1, =0x0str r1, [r0]//省略其他代码

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

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

相关文章

国产Linux软件

为什么80%的码农都做不了架构师?>>> 本页面收集支持deepin/Linux的国产软件,对于每款软件以“日出东方-发行时间较短;正当壮年-时间较长且稳定;每况愈下-你们懂的”评价 软件版本时间评价有道词典 Linux版1.02015-03…

QGLViewer 编译安装步骤

由于工作学习的需要,要用opengl绘制显示些模型动画,原来用的是Qt做UI,直接调用的是QGLWidget类,但这个只是提供了基本的框架,很多交互操作还需添加代码完成,自己偷懒也觉得繁琐,就借用了开源的工…

触摸屏——S5PV210的触摸屏的理论与操作

以下内容源于朱有鹏嵌入式课程的学习与整理,如有其侵权请告知删除。 一、输入类设备简介 1、input/output 输入输出,是计算机系统中的一个概念。计算机可以看作数据处理器。计算机的主要功能就是从外部获取数据,然后进行计算加工得到输出数据…

搭建nginx流媒体服务器(支持HLS)

环境搭建 (一)下载源代码 nginx,地址:http://nginx.org/可以选择需要的版本下载 nginx_mod_h264_streaming-2.2.7.tar.gz ,支持MP4流,具体的说明在下面的这个网页 http://h264.code-shop.com/trac/wiki/Mod…

Spring中的动态代理

动态代理:指的就是通过一个代理对象来创建需要的业务对象,然后在这个代理对象中统一进行各种需求的处理。 学习完Spring后会发现,Spring中的AOP(面向方面编程:Aspect Oriented Programming)是个很重要的知识…

LED——S5PV210的LED的理论与操作

以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。 一、LED物理特性介绍 LED本身有2个接线点,一个是LED的正极,一个是LED的负极。 LED的功能就是亮或者不亮,只需要给LED的正极加电压即可点亮LED,去掉电压…

“.公司”域名注册总量TOP15:新网问鼎 万网居亚

IDC评述网(idcps.com)01月16日报道:根据ntldstats.com发布的最新数据显示,截止至01月15日17:00,在“.公司”域名注册总量大战中,新网打败众多国内外域名服务商,成为新晋霸主,其“.公…

Prepare for Mac App Store Submission--为提交到Mac 应用商店做准备

返回 Mac App Store Prepare for Mac App Store Submission 提交到Mac 应用商店之前的准备 Most of your time is spent on coding tasks, but to develop for the Mac App Store, you need to perform a number of administrative tasks, using Xcode and other tools. You’l…

ARM通识——关于ARM的一些认识

以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除。 注意,由于文章的撰写时间过早,很多内容没有更新,这里仅当一个通识了解。 1、ARM发展的里程碑 ARM的前身为艾康电脑(Acorn),于…

使用RMAN备份数据库

1.1使用控制文件备份全库 1.1.1配置备份路径 1.1.2 RMAN备份全库 1.2使用catalog数据库备份全库 1.2.1配置到远程数据库的TNS 1.2.2创建表空间及设置用户 1.2.3进入目录数据库并注册 1.2.4 CATALOG方式备份全库 转载于:https://www.cnblogs.com/myrunning/p/4231057.html

PL/SQL Developer连接Oracle 11g在Win8 64位系统下乱码

PL/SQL Developer在64位系统上连接Oracle,需要安装32位Oracle client客户端,使用后,发现操作数据库出现乱码的情况。经过查找资料,解决此问题,方法如下: 需要在系统的环境变量中,加入以下变量&a…

命令模式--command模式

首先来一个命令的接口: package mode.command;/*** * 定义一个命令接口,其中有一个抽象的执行方法,参数人命令接收器* * */ public interface Command {public void execute(CommandReceiver commandReceiver); }定义一个命令接受者的接口&am…

uploadify scriptData参数无法传参的问题

最近需要使用到uploadify,需要向后台传递参数,使用script最多只能够传递一个参数,当然也可以通过合并参数然后再在服务器段拆分参数的方法来传递多个参数,而uploadify插件提供的scriptData却怎么都无法使用,网上查阅了…

安装iproute2

yum install -y gcc bison flex#tar -xzf iproute2-3.17.0.tar.gz#cd iproute2-3.17.0#sed -i /^TARGETS/sarpdg misc/Makefile#make SBINDIR/sbin#make SBINDIR/sbin install参考资料:http://blog.sina.com.cn/s/blog_5f5716580100rvop.htmlhttps://www.kernel.or…

「北京」京东 JD.COM 招聘中/高级前端工程师

职位描述: 1、计算机或相关专业专科以上学历,2年以上网站前端开发经验,电子商务相关从业经验优先;2、精通各种Web前端技术,对符合web标准的网站重构有丰富经验,有成功作品;3、理解并掌握JavaScr…

前端上传组件Plupload使用指南

我之前写过一篇文章《文件上传利器SWFUpload使用指南》,里面介绍了上传组件SWFUpload的使用方法,但现在随着html5技术的逐渐推广和普及,再去使用以flash为上传手段的SWFUpload显然就有点过时了,毕竟html5原生的就给我们提供了文件…

HTML5简易在线画图工具

HTML5简易在线画图工具 原文:HTML5简易在线画图工具继上次学习了HTML5的路径画圆做了动态时钟、异次元空间的反转做了运动的太阳系,这两天将画线、画圆、填充等知识点结合起来做了一个简易的在线画图工具: 查看DEMO:HTML5简易在线画图工具 功…

uboot中系统时钟初始化函数:system_clock_init

时钟初始化函数内容如下: /** system_clock_init: Initialize core clock and bus clock.* void system_clock_init(void)*/ system_clock_init:ldr r0, ELFIN_CLOCK_POWER_BASE 0xe0100000/* Set Mux to FIN */ldr r1, 0x0str r1, [r0, #CLK_SRC0_OFFSET]ldr r1, …

【excel技巧读书笔记001】清除打开过的文件记录

我们在工作的时候经常打开工作薄,这些工作薄都会在最近使用的工作薄列表看到,如果不希望别人看到自己打开过的记录,可以将最近使用的工作薄列表清空。具体步骤如下:1.【文件】-【选项】-【高级】-【显示】显示此数目的最近使用文档…

写一个函数,使给定的一个二维数组(3×3)转置,即行列互换

写一个函数,使给定的一个二维数组(33)转置,即行列互换 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 163 Solved: 120[Submit][Status][Web Board]Description 写一个函数,使给定的一个二维…