找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 554|回复: 10
打印 上一主题 下一主题

RK3126开关机电路分析

[复制链接]

97

主题

1291

帖子

5876

积分

EDA365版主(50)

Rank: 5

积分
5876
跳转到指定楼层
1#
发表于 2017-3-14 12:22 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

EDA365欢迎您!

您需要 登录 才可以下载或查看,没有帐号?注册

x
rk3126.pdf (1.07 MB, 下载次数: 47)
6 @" G/ n4 M5 D如图和附件的PDF整体原理图,没有专门的PMU,PWR_KEY和PWR_HOLD都是接RK3126的GPIO的,PWR_EN接所有DC/DC或LDO的使能脚,PWRON没接其他地方了。
* a/ F% z) X. A2 r/ BDC座插入后VDC的5V直接把PWR_EN一直拉高了。按键按下PWR_KEY为低电平,PWR_HOLD是开机后该脚保持高电平。$ h* ~6 }9 f6 c+ h3 Q3 a
那如何分析按键是如何实现开关机的?我感觉按键没法同时做开关机, 除非Q2101空贴& L' i% b  v  j2 p& \  K/ u. T

: i$ ^. C6 G' F5 m$ s4 m9 F& i8 t
! W( u# q1 b+ m: E* r  n1 u' r9 G3 Z' h4 ?

+ L6 s# J+ J9 P
9 @9 d. ~0 [8 u( q
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

1

主题

6

帖子

36

积分

二级会员(20)

Rank: 2Rank: 2

积分
36
推荐
发表于 2017-3-19 20:36 | 只看该作者
xhy_hard 发表于 2017-3-19 19:597 b+ d: {  E" ?3 ^$ A0 O+ l2 U$ @
是不是有个单独的小MCU控制长按强制开关机的?
9 C% Z3 N( s& o2 w3 d- K, }% N
我的看法是开关机电路和系统共用一个集成IC,长按开关机按键3秒后,开关机电路会向系统发出关机指令,系统接收后转为关机界面等待一段时间后向集成IC发送关机命令实现关机,如果长按开关机按键达到5秒,开关机电路就会向集成IC直接发送关机命令实现关机,根据楼主的情况,电脑出现蓝屏,说明系统已经崩溃,无法处理其他指令,这里就包括关机指令,如果长按开关机按键实现关机的任务是由系统完成的话,电脑蓝屏的后果可想而之,这时只是拔电源插头了.
  z" H3 g5 z2 O. G

点评

应该是  详情 回复 发表于 2017-3-19 22:00

11

主题

251

帖子

971

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
971
11#
发表于 2017-6-5 15:44 | 只看该作者
我认为不需要单独的单片机去控制关机,系统起来之后,通过IO口来检测PWR_KEY脚状态,持续低电平的时候程序执行关机。

9

主题

141

帖子

601

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
601
10#
发表于 2017-3-21 12:26 | 只看该作者
Aubrey 发表于 2017-3-20 18:08! d+ p8 [% s% J5 g# c( T
你说的对,是需要一个单片机,如图我换用的一个8bit的单片机,第四脚检测到一段时间的低电平,说明按 ...

* p3 B+ f% I- b$ t3 s/ R是PWR_OFF反馈回来的电平要确认一下,跟你之前说的不一致,应该是可行。检测低电平时间大于4S,确保长按
: n3 K# L% n1 f; k

42

主题

748

帖子

1276

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1276
9#
发表于 2017-3-21 10:44 | 只看该作者
按键开机容易理解,按下后PWR_EN会变高,RK3126启动后会送来PWR_HOLD高,锁定PWR_EN为高。   关机是长按开机键,Q2100输出低大于几钞后,并要判断按键松开后,RK3216会去掉PWR_HOLD信号 , PWR_EN低,关电源

97

主题

1291

帖子

5876

积分

EDA365版主(50)

Rank: 5

积分
5876
8#
 楼主| 发表于 2017-3-20 18:08 | 只看该作者
xhy_hard 发表于 2017-3-19 19:597 H% l, z. e9 |1 M' E
是不是有个单独的小MCU控制长按强制开关机的?

3 B# }  r+ X; y8 K, U0 a
; h$ j5 F& ~# L5 r& o0 d7 }/ W' o 9 x4 d. g3 e) X8 ~" @9 q
你说的对,是需要一个单片机,如图我换用的一个8bit的单片机,第四脚检测到一段时间的低电平,说明按键按下,单片机把PWR_EN拉高,所有电源开启,同时WORK LED亮;' o, {+ H2 ^* r# U, i
又当第四脚检测到一段时间的低电平,单片机把第三脚拉低,这样CPU检测到PWR_KEY为低,提示要关机了处理完数据后把PWROFF脚拉高,这样单片机检测到反馈回的PWR_OFF为低时再把PWR_EN拉低实现完全关机。问下这样可行不?
5 H& ?0 w* x* w4 B

点评

是PWR_OFF反馈回来的电平要确认一下,跟你之前说的不一致,应该是可行。检测低电平时间大于4S,确保长按  详情 回复 发表于 2017-3-21 12:26

9

主题

141

帖子

601

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
601
7#
发表于 2017-3-19 22:00 | 只看该作者
扑了个街 发表于 2017-3-19 20:36
0 x( M% m$ n/ e  l: j2 e我的看法是开关机电路和系统共用一个集成IC,长按开关机按键3秒后,开关机电路会向系统发出关机指令,系 ...
9 `$ f8 v; D6 n! J3 G6 u
应该是' Y) [% `( E% R! |' U; z

9

主题

141

帖子

601

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
601
5#
发表于 2017-3-19 19:59 | 只看该作者
扑了个街 发表于 2017-3-19 17:17
' c( A3 ]% C! y( o  y小白觉得应该是硬件起作用,我是这麽想的,在长按关机键一小段时间后,系统会收到关机信号从而转为关机界 ...
# v+ r, W9 J% [* ~* u
是不是有个单独的小MCU控制长按强制开关机的?
/ \2 m+ T! f' p* r1 _- j8 M

点评

[attachimg]125569[/attachimg] 你说的对,是需要一个单片机,如图我换用的一个8bit的单片机,第四脚检测到一段时间的低电平,说明按键按下,单片机把PWR_EN拉高,所有电源开启,同时WORK LED亮; 又当第四脚检  详情 回复 发表于 2017-3-20 18:08
我的看法是开关机电路和系统共用一个集成IC,长按开关机按键3秒后,开关机电路会向系统发出关机指令,系统接收后转为关机界面等待一段时间后向集成IC发送关机命令实现关机,如果长按开关机按键达到5秒,开关机电路就  详情 回复 发表于 2017-3-19 20:36

1

主题

6

帖子

36

积分

二级会员(20)

Rank: 2Rank: 2

积分
36
4#
发表于 2017-3-19 17:17 | 只看该作者
渔樵江渚2015 发表于 2017-3-14 19:32
- l$ K( @% ^4 V. G7 u按照楼主给的原理图,沿着信号找下去有个VDD_ARM电源信号,可能就是开机的最后一步了。关机的话就如myiccdr ...
! C# g6 e2 w: Z: X: z
小白觉得应该是硬件起作用,我是这麽想的,在长按关机键一小段时间后,系统会收到关机信号从而转为关机界面,如果长按关机键的时间进一步延长,还没有等到系统对集成块发送关机命令的时候,硬件就会向某个集成块发送关机命令(例如给集成块输入高电平或低电平)从而实现关机,当然以上只是个人的看法。
* f) h- w9 w; q

点评

是不是有个单独的小MCU控制长按强制开关机的?  详情 回复 发表于 2017-3-19 19:59

11

主题

81

帖子

1701

积分

四级会员(40)

Rank: 4Rank: 4Rank: 4Rank: 4

积分
1701
3#
发表于 2017-3-14 19:32 | 只看该作者
按照楼主给的原理图,沿着信号找下去有个VDD_ARM电源信号,可能就是开机的最后一步了。关机的话就如myiccdream所说,还要请教一下各位,电脑蓝屏了,长按电源键强制关机是硬件起作用还是软件起作用?

点评

小白觉得应该是硬件起作用,我是这麽想的,在长按关机键一小段时间后,系统会收到关机信号从而转为关机界面,如果长按关机键的时间进一步延长,还没有等到系统对集成块发送关机命令的时候,硬件就会向某个集成块发送  详情 回复 发表于 2017-3-19 17:17

2

主题

126

帖子

3712

积分

五级会员(50)

Rank: 5

积分
3712
2#
发表于 2017-3-14 16:37 | 只看该作者
当你插入5V 以后,PWR_EN 为高,这个时候Uboot起来了把,( y' m# B: |; ?8 v( Q0 y+ g
Uboot起来以后就去检测PWR_KEY  和  内部复位寄存器(确定是冷启动), 达到多少秒就开始引导系统程序起来。# T- ?6 R# r7 B
==============0 ~- E, `& R- E2 W- n% W
系统程序起来后,可以做很多事情了, 比如检测到你PWR_KEY按下多少秒,就内部复位(这个时候CPU一般会让内部复位寄存器置热启动标志)。然后接下来又是UBOOT起来,UBOOT去检查内部复位寄存器,发现是热启动。那就不引导主程序启动了。
( s6 [4 s! n+ l6 u6 v* [) Q========& p- p/ `1 i1 w8 R1 @5 d
其实这个东西要配合软件来理解
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-4-17 04:39 , Processed in 0.067728 second(s), 37 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表