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

一、前言

本章节在裸机课程的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开发板的软开关(供电置锁)相关推荐

  1. 【Linux系统开发】x210开发板根目录文件系统构建

    文章目录 一.开发板配置 二.了解rootfs 三.虚拟机文件配置 1.目录配置 2.x210_bsp配置 3.rootfs配置 4.make menuconfig 四.busybox的移植实战 1. ...

  2. ARM X210开发板的软开关按键问题

    一.X210 开发板的软启动电路详解 <x210bv3.pdf> (1) 210 供电需要的电压比较稳定,而外部适配器的输出电压不一定那么稳定,因此板载了一个文稳压器件 MP1482. 这 ...

  3. ARM裸机的知识点总结---------10、解决X210开发板软开关按键问题( 引脚功能复用)

    Author: 想文艺一点的程序员 自动化专业 工科男 再坚持一点,再自律一点 CSDN@想文艺一点的程序员 来自朱有鹏嵌入式的学习笔记 目录 1.X210开发板的软启动电路详解 2.为什么要软启动 ...

  4. 开发板——在X210开发板上进行裸机开发的流程

    流程总结 本文以"LED流水灯"为例,说明在X210开发板上进行裸机开发的流程. 步骤一:搭建嵌入式Linux开发环境 在虚拟机中安装与配置Linux系统,并安装交叉编译工具链: ...

  5. uboot的移植——移植uboot官方的uboot到x210开发板

    以下内容源于朱有鹏嵌入式课程的学习与整理,如有侵权请告知删除. 参考内容 uboot--官网下载直接移植(一) - biaohc - 博客园 uboot--官网下载直接移植(二) - biaohc - ...

  6. 关于x210开发板和主机、虚拟机ping通问题

    关于x210开发板和主机.虚拟机ping通问题: 步骤: 1.关闭 Ubuntu.关闭VMware软件: 2.打开 网络连接,设置 以太网 IP地址,并确认使用的网卡 3.以管理员身份打开VMware ...

  7. x210开发板linux驱动开发,移植Qt与Tslib到X210开发板的体会

    1.将QT移植到X210上,让X210开发板可以运行QT东西,需要几个东西.tslib QT源码编译后的lib库等 (1)tslib移植: @1:下载tslib,官方上下就可以. @2:解压.比如解压 ...

  8. x210开发板升级glibc-2.10到glibc-2.18版本的解决方案

    一.问题的出现 最近用QT5.12.04的版本开发了一个qmqtt客户端,移值到开发板上运行时出现如下报错: ./mqttsubscriptions: /lib/libc.so.6: version ...

  9. 解决X210开发板被刷成砖的问题

    解决X210开发板被刷成砖的问题 1.开发板使用:     开发板是九鼎科技的X210BV3S开发板,SoC是S5PV210,是三星的一款基于ARM Cortex-A8内核的芯片. 2.所看教学课程: ...

最新文章

  1. 计算机组成原理-第一章
  2. 使用jdom.jar心得小结
  3. 应用打包Ubuntu下部署ScriptCase应用一例
  4. EF支持复杂类型的实现
  5. python可以帮机器人编程吗_Python如何实现机器人聊天
  6. 联系表单 1_copy
  7. PHP错误提示的关闭方法详解
  8. 机器学习与计算机视觉(计算机视觉的嵌入式平台)
  9. Matlab 中文版下载,安装图文教程
  10. 音视频即时通讯开发平台
  11. Arduino学习笔记:基于LiquidCrystal库运行LCD1602
  12. 全解电磁流量计功能和精度性能
  13. 在埋头写程序学技术的同时,有没有想到你们的老板和上司在搞什么?
  14. 【STM32F407的DSP教程】第17章 DSP功能函数-定点数互转
  15. oracle脚本怎么跑,命令行执行oracle的sql脚本逃跑吧少年秒开钥匙下载最
  16. mac 请尝试使用字符较少,或不含标点符号的名称
  17. 【2. Redis 高级数据结构】
  18. 用python随机获取中文名字
  19. python爬取手机微信_Python爬取微信好友
  20. sql查询数据库表结构

热门文章

  1. js如何实现扫描身份证识别_javascript实现根据身份证号读取相关信息
  2. 外景黑纱婚纱照高级感十足
  3. cadence SPB17.4 - orcad Illegal character(s) present in the name or value
  4. mac u盘文件过大 拷贝不进去_Mac文件太大无法拷贝怎么办?Mac文件太大无法复制到u盘解决办法...
  5. 使用ActiveMQ进行C++与C#的通信4 - 使用C++连接ActiveMQ
  6. 智能财务平台如何构建?企业管理者必看
  7. 24-BootStrap
  8. 三菱模拟量fx3u4da_模拟量输出用适配器FX3U-4DA-ADP原装三菱FX3U-4DA-ADP 三菱 plc输出单元模块 - 广州凌控...
  9. 在Ubuntu16.04 + ROS kinetic环境下安装TurtleBot3
  10. zoj 3323 Somali Pirates