开发板——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]//省略其他代码
开发板——X210开发板的软开关(供电置锁)相关推荐
- 【Linux系统开发】x210开发板根目录文件系统构建
文章目录 一.开发板配置 二.了解rootfs 三.虚拟机文件配置 1.目录配置 2.x210_bsp配置 3.rootfs配置 4.make menuconfig 四.busybox的移植实战 1. ...
- ARM X210开发板的软开关按键问题
一.X210 开发板的软启动电路详解 <x210bv3.pdf> (1) 210 供电需要的电压比较稳定,而外部适配器的输出电压不一定那么稳定,因此板载了一个文稳压器件 MP1482. 这 ...
- ARM裸机的知识点总结---------10、解决X210开发板软开关按键问题( 引脚功能复用)
Author: 想文艺一点的程序员 自动化专业 工科男 再坚持一点,再自律一点 CSDN@想文艺一点的程序员 来自朱有鹏嵌入式的学习笔记 目录 1.X210开发板的软启动电路详解 2.为什么要软启动 ...
- 开发板——在X210开发板上进行裸机开发的流程
流程总结 本文以"LED流水灯"为例,说明在X210开发板上进行裸机开发的流程. 步骤一:搭建嵌入式Linux开发环境 在虚拟机中安装与配置Linux系统,并安装交叉编译工具链: ...
- uboot的移植——移植uboot官方的uboot到x210开发板
以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除. 参考内容 uboot--官网下载直接移植(一) - biaohc - 博客园 uboot--官网下载直接移植(二) - biaohc - ...
- 关于x210开发板和主机、虚拟机ping通问题
关于x210开发板和主机.虚拟机ping通问题: 步骤: 1.关闭 Ubuntu.关闭VMware软件: 2.打开 网络连接,设置 以太网 IP地址,并确认使用的网卡 3.以管理员身份打开VMware ...
- x210开发板linux驱动开发,移植Qt与Tslib到X210开发板的体会
1.将QT移植到X210上,让X210开发板可以运行QT东西,需要几个东西.tslib QT源码编译后的lib库等 (1)tslib移植: @1:下载tslib,官方上下就可以. @2:解压.比如解压 ...
- x210开发板升级glibc-2.10到glibc-2.18版本的解决方案
一.问题的出现 最近用QT5.12.04的版本开发了一个qmqtt客户端,移值到开发板上运行时出现如下报错: ./mqttsubscriptions: /lib/libc.so.6: version ...
- 解决X210开发板被刷成砖的问题
解决X210开发板被刷成砖的问题 1.开发板使用: 开发板是九鼎科技的X210BV3S开发板,SoC是S5PV210,是三星的一款基于ARM Cortex-A8内核的芯片. 2.所看教学课程: ...
最新文章
- 计算机组成原理-第一章
- 使用jdom.jar心得小结
- 应用打包Ubuntu下部署ScriptCase应用一例
- EF支持复杂类型的实现
- python可以帮机器人编程吗_Python如何实现机器人聊天
- 联系表单 1_copy
- PHP错误提示的关闭方法详解
- 机器学习与计算机视觉(计算机视觉的嵌入式平台)
- Matlab 中文版下载,安装图文教程
- 音视频即时通讯开发平台
- Arduino学习笔记:基于LiquidCrystal库运行LCD1602
- 全解电磁流量计功能和精度性能
- 在埋头写程序学技术的同时,有没有想到你们的老板和上司在搞什么?
- 【STM32F407的DSP教程】第17章 DSP功能函数-定点数互转
- oracle脚本怎么跑,命令行执行oracle的sql脚本逃跑吧少年秒开钥匙下载最
- mac 请尝试使用字符较少,或不含标点符号的名称
- 【2. Redis 高级数据结构】
- 用python随机获取中文名字
- python爬取手机微信_Python爬取微信好友
- sql查询数据库表结构
热门文章
- js如何实现扫描身份证识别_javascript实现根据身份证号读取相关信息
- 外景黑纱婚纱照高级感十足
- cadence SPB17.4 - orcad Illegal character(s) present in the name or value
- mac u盘文件过大 拷贝不进去_Mac文件太大无法拷贝怎么办?Mac文件太大无法复制到u盘解决办法...
- 使用ActiveMQ进行C++与C#的通信4 - 使用C++连接ActiveMQ
- 智能财务平台如何构建?企业管理者必看
- 24-BootStrap
- 三菱模拟量fx3u4da_模拟量输出用适配器FX3U-4DA-ADP原装三菱FX3U-4DA-ADP 三菱 plc输出单元模块 - 广州凌控...
- 在Ubuntu16.04 + ROS kinetic环境下安装TurtleBot3
- zoj 3323 Somali Pirates