- 积分
- 11
- 下载分
- 分
- 威望
- 点
- 原创币
- 点
- 下载
- 次
- 上传
- 次
- 注册时间
- 2014-6-18
- 精华
|
马上注册,获取阅读精华内容及下载权限
您需要 登录 才可以下载或查看,没有帐号?注册
x
以LENOVO F41为例
首先找到参与触发上电的EC/KBC(或电源管理控制器IC);
EC/KBC的作用:负责系统电源管理,上电管理,充电管理,键盘控制等等
这款机器的EC/KBC是PC97551;
笔记本EC/KBC的识别:
按厂家,用得最为普遍地EC/KBC只有几个厂家:美国国家半导体(WINBOND),ENE,SMSC,或PLD,ITXXXX,M38857等等;
按接AC待机时的工作状态:在接有AC时,EC/KBC都是要部分工作的,所以必须要有时钟;
按供电电源的类型:一般都有两种以上的电源种类供电,它们分为上电前和上电后的电源与CMOS电池电源;
按所需输入信号的种类:有一个共同点,它们都需要得到如AC存在,BATTERY存在等,并都与触发开关信号相连;
按是否需要SLP信号,是否发出BATTLOW#信号,是否发出RSMRST#,是否发出各种S状态信号也可以找到此类IC。
根据以上特点可以很肯定的说F41的EC/KBC为U16(IT8511)
确定了EC/KBC后,就可以根据笔记本自身的上电特点及芯片组对电源的要求来进一步确定各个信号的时间关系。这种时间关系可以从产生复位信号的顺序来做大概上的判断:AUXOK→SUSOK→RSMRST#→AOK→BOK(HWRG)→SYSOK→IMVPOK
确定EC/KBC最初应该得到的电源;(在这一步我们可以确定AC和电池的公共主供电)
这些电源有一个最大的特点就是它们不受任何信号的控制而出现的,即只要接入AC或电池盒就出现,而且都是由一些LDO芯片产生的专供EC/KBC使用的电压。这个便是AC接入后出现的第一个低压。除此以外还有CMOS电池电压在某些EC/KBC也有需要。
在F41机器中,可以断定为VCCRTC。所以这个电压必须要有,且必须存在。
我们再看+3VALW,它是由MAX8734内部LDO出来的。现在需要确定的是MAX8743所需的电源是否受控。由MAX8734的特性可知只要PIN20得到VIN电压,内部LDO则会工作。
可见,接入AC后,EC/KBC会得到两个压,即VCCRTC、+3VALW。当然同时还有+5VALW。
EC/KBC(IT8511)先完成自身工作。
1.自身工作也有自身工作所需要的条件。如首先要有时种。所以首当其冲的是先让时钟电路开始工作。
2.IT8511得到复位,这是一个带有处理能力的芯片必须满足的第二个条件。
很容易能找到,IT8511的复位脚是PIN19,即WRST#。它由一个专用芯片MAX809来完成,MAX809最少能将+3VALW延迟140mS后送出591RESET#到PIN19。
591RESET#?这不是IT8511吗,可笑吧!其实大家应该清楚了,IT8511与国半的PC87591的内核是相同的。这样一来,是不是越来越熟悉了。
到了这步,我想不用说大家也应该清楚,EC/KBC该干什么了,那就是要检测AC存在的信号ACIN了。这样才能确认是AC供电还是电池供电。
应该注意的是有些机器,在EC/KBC未接收到ACIN时,会发出ACOFF的关断信号,确保只让电池供电。在F41里,这个信号是PWRSHD。
看看还有没有别的
为了尽可能的完全弄明白它的工作过程,应该再仔细查看有没有别的电源设备送来的识别信号,如电池盒、DOCKING装置,光驱接口等。
找到了,还有一个MBAT_PRES#信号,这是由电池盒送过来的。用来检测电池是否存在的信号。
以上这些完成以后,EC/KBC将开始发出对外部ROM寻址并读取其外部ROM的程序了。读取完外部ROM的程序代码后,EC/KBC就知道自己将来该怎么做了。
哪些架构需要在AC待机时读取BIOS代码呢?
对采用通用的如以国半EC/KBC为代表的,几乎都是这个做的。它们有一个很明显的特征,就是BIOS的AD线接与EC/KBC相连。这点也很容易理解,因为CPU要对读取BIOS代码,完全可以将BIOS接在桥片上就可以。居然把BIOS改接在EC/KBC上,那当然是EC/KBC要利用了,利用的目的无非就是把自己的代码放在BIOS里。所以这类机器在AC待机时,BIOS是工作的。当然,很多人可能会问,AC存在时需要BIOS工作,那为什么单用电池盒时又不要了呢。那是因为在有AC存在时,EC要检测多个信号,而且这个信号是与ACPI相关的,再加上EC/KBC要发出相应的信号是要与硬件设计者的要求进行的,而这些要求就是BIOS代码。
举个例子,在有AC存在的状态下,我们中途接入电池,是不是EC要判断电池的参数,而这些参数就在BIOS里;
EC/KBC进入待机状态,等待用户发出开机请求。
首先送出3VAUX_EN,产生5VAUX和3VAUX,下面的+5VSUS、+3VSUS等将由它切换过来。
触发后发出的第一个信号:SUSON,这个信号想也不用想,当然是用来控制产生南桥SUS电源和与SLP状态有关的电源的。SUSON再生成SUSON#和SUSD。SUSON#在这里主要是用来放电用的,而SUSD是用来产生+5VSUS、+3VSUS的。
EC/KBC送出RSMRST#和PWRBTN#至南桥,当然少不了BATLOW#。
南桥发出SLP#给EC/KBC
EC/KBC收到SLP#信号后,发出MAINON信号。MAINON再转换成MAINON#和MAIND,MAINON#主要用来放电用。MAINON的作用是产生+2.5V、VDIMM、同时发出MAX8632_POK1通过一电阻并由U30(MAX8734)产得到SUSOK;+1.5V、+VCCP并送出+1.5V_PWROK和VCCP_PWROK;MAIND的作用是生成+3V、+5V。并通过U15(G792)发出漏极开路的HWRG信号,与D62一起最终得到高电平有效的HWRG信号。
SUSOK代表SUS电源正常,HWRG代表由MAINON控制的电源正常,即除了CPU电源以外的所有电压都正常。这两个信号同时送往EC/KBC。
EC/KBC在得到SUSOK和HWRG后,首先发出PWROK给南桥。
发出VRON信号。并与+1.5V_PWROK和VCCP_PWROK一起得到VCORE_ON,从而产生VCORE_CPU。
产生IMVP_PWG给南桥。 |
|