|
在我們平時(shí)的工作和生活中,總是想挖掘他表面下更深層次的內涵,追求自己遠大的理想,以至于達到最高的境界。下面結合這篇有關(guān)于EC的論述,來(lái)了解筆記本最底層的EC與電源,與開(kāi)機的關(guān)系,從而提高筆記本的維修理論水平。
BIOS(基本輸入輸出系統)在整個(gè)系統中的地位是非常重要的,它實(shí)現了底層硬件和上層操作系統的橋梁。比如你現在從光盤(pán)拷貝一個(gè)文件到硬盤(pán),您只需知道“復制、粘貼”的指令就行了,您不必知道它具體是如何從光盤(pán)讀取,然后如何寫(xiě)入硬盤(pán)。對于操作系統來(lái)說(shuō)也只需要向BIOS發(fā)出指令即可,而不必知道光盤(pán)是如何讀,硬盤(pán)是如何寫(xiě)的。BIOS構建了操作系統和底層硬件的橋梁。而我們平時(shí)說(shuō)的BIOS設定僅僅是談到了其軟件的設定,比如設置啟動(dòng)順序、禁用/啟用一些功能等等。但這里有一個(gè)問(wèn)題,在硬件上,BIOS是如何實(shí)現的呢?畢竟,軟件是運行在硬件平臺上的吧?這里我們不能不提的就是EC。
EC(Embed Controller,嵌入式控制器)是一個(gè)16位單片機,它內部本身也有一定容量的Flash來(lái)存儲EC的代碼。EC在系統中的地位絕不次于南北橋,在系統開(kāi)啟的過(guò)程中,EC控制著(zhù)絕大多數重要信號的時(shí)序。在筆記本中,EC是一直開(kāi)著(zhù)的,無(wú)論你是在開(kāi)機或者是關(guān)機狀態(tài),除非你把電池和Adapter完全卸除。在關(guān)機狀態(tài)下,EC一直保持運行,并在等待用戶(hù)的開(kāi)機信息。而在開(kāi)機后,EC更作為鍵盤(pán)控制器,充電指示燈以及風(fēng)扇和其他各種指示燈等設備的控制,它甚至控制著(zhù)系統的待機、休眠等狀態(tài)。主流筆記本系統中,EC在系統架構中的地位如下圖:
現在的EC有兩種架構,上圖左邊是比較傳統的,即BIOS的FLASH通過(guò)X-BUS接到EC,然后EC通過(guò)LPC接到南橋,一般這種情況下EC的代碼也是放在FLASH中的,也就是和BIOS共用一個(gè)FLASH。右邊的則是比較新的架構,EC和FLASH共同接到LPC總線(xiàn)上,一般它只使用EC內部的ROM。至于LPC總線(xiàn),它是INTEL當初為了取代低速落后的X-BUS而推出的總線(xiàn)標準。 EC上一般都含有鍵盤(pán)控制器,所以也稱(chēng)KBC。那EC和BIOS在系統中的工作到底有什么牽連呢?在這里我們先簡(jiǎn)單的分析一下。在系統關(guān)機的時(shí)候,只有RTC部分和EC部分在運行。RTC部分維持著(zhù)計算機的時(shí)鐘和CMOS設置信息,而EC則在等待用戶(hù)按開(kāi)機鍵。在檢測到用戶(hù)按開(kāi)機鍵后,EC會(huì )通知整個(gè)系統把電源打開(kāi),CPU被RESET后,會(huì )去讀BIOS內一個(gè)特定地址內的指令(其實(shí)是一個(gè)跳轉指令,這個(gè)地址是由CPU硬件設定的)。這里開(kāi)始分兩種情況,對于上圖左邊的結構:CPU發(fā)出的這個(gè)地址通過(guò)FSB到北橋,然后通過(guò)HUB-LINK到南橋,通過(guò)LPC到EC,再通過(guò)X-BUS一直到達BIOS。在CPU讀到所發(fā)出的地址內的指令后,執行它被RESET后的第一個(gè)指令。在這個(gè)系統中,EC起到了橋接BIOS和南橋(或者說(shuō)整個(gè)系統)的作用,對于上圖右邊的結構:在CPU發(fā)出的地址到南橋后,會(huì )直接通過(guò)LPC到BIOS,不需要EC的橋接。
這里需要說(shuō)明的是,對于臺式機而言,一般是不需要EC的。這里原因有很多:比如臺式機本身的ATX電源就具有一定的智能功能,他已經(jīng)能受操作系統控制來(lái)實(shí)現待機、休眠的狀態(tài);其次由于筆記本的鍵盤(pán)不能直接接到PS/2接口,而必須接到EC之上;還有就是筆記本有更多的小功能,比如充電指示燈、WIFI指示燈、Fn等很多特殊的功能,而且筆記本必須支持電池的充放電等功能,而智能充放電則需要EC的支持;另外,筆記本TFT屏幕的開(kāi)關(guān)時(shí)序也必須由EC控制。這些原因導致了筆記本使用EC來(lái)做內部管理的必要性。
總體來(lái)說(shuō),EC和BIOS都處于機器的最底層。EC是一個(gè)單獨的處理器,在開(kāi)機前和開(kāi)機過(guò)程中對整個(gè)系統起著(zhù)全局的管理。而B(niǎo)IOS是在等EC把內部的物理環(huán)境初始化后才開(kāi)始運行的。
看到這里,我想大家也明白EC到底是呵方神圣。如果說(shuō)BIOS 是底層系統的話(huà),那EC 似乎更加底層。
在南橋上還有一個(gè)功能塊就是電源管理單元(PM,Power Management),一般來(lái)說(shuō),他和EC來(lái)共同配合完成。這里包括從開(kāi)機鍵按下后,啟動(dòng),待機,休眠,關(guān)機的全部功能。還包括對背光亮度,聲音等的控制等等。至于現在Intel的Speed Step技術(shù),也有部分功能是透過(guò)南橋來(lái)實(shí)現的(南橋發(fā)送SLP、STPCLK(sleep,Stop Clock)來(lái)實(shí)現睡眠、深睡眠等)。
這部分的設計比較簡(jiǎn)單,只需要點(diǎn)到點(diǎn)的連接南橋和CPU即可。
邏輯上的開(kāi)機過(guò)程:
開(kāi)機過(guò)程對于電腦設計是至關(guān)重要的。在筆記本電腦打好PCB后第一次開(kāi)機時(shí),如果電源的時(shí)序正確了,其他的問(wèn)題都比較好解(一般來(lái)說(shuō)時(shí)序正確的話(huà)機器都能開(kāi)起來(lái))。最怕的就是電源時(shí)序不對,機器開(kāi)不起來(lái),這才是最要命的。在筆記本內部的電壓有好幾種, 首先是RTC電源,這部分電力是永遠不關(guān)閉的,除非電池(紐扣電池)沒(méi)電并且沒(méi)接任何外部電源(比如電池和電源適配器)。RTC用以保持機器內部時(shí)鐘的運轉和保證CMOS配置信息在斷電的情況下不丟失;其次,在你插上電池或者電源適配器,但還沒(méi)按power鍵的時(shí)候(S5),機器內部的開(kāi)啟的電稱(chēng)為ALWAYS電,主要用以保證EC的正常運行;再次,你開(kāi)機以后,所有的電力都開(kāi)啟,這時(shí)候,我們稱(chēng)為MAIN電(S0),以供整機的運行;在你進(jìn)待機的時(shí)候(S3),機器內部的電成為SUS電,主要是DDR的電力供應,以保證RAM內部的資料不丟失;而休眠(S4)和關(guān)機(S5)的電是一樣的,都是Always電。其中,上文中括號內的是表示計算機的狀態(tài)(S0-開(kāi)機,S3-待機,S4-休眠,S5-關(guān)機)。
現在我們假設沒(méi)有任何的電力設備在供電(沒(méi)電池和電源),這時(shí)候,機器內部只有RTC電路在運作,南橋上會(huì )接有一個(gè)3V的紐扣電池來(lái)供給RTC電力,以保持內部時(shí)間的運行和CMOS信息。
南橋的啟動(dòng)時(shí)序
根據前面的Power Status,我們來(lái)分析一下開(kāi)機的過(guò)程。在插上電池或者電源的時(shí)候,機器內部的單片機EC就Reset并開(kāi)始工作,等待用戶(hù)按下Power鍵。在此期間的時(shí)序是:ALWAYS電開(kāi)啟以后,EC Reset并開(kāi)始運行,隨后發(fā)給南橋一個(gè)稱(chēng)為‘RSMRST#’的信號。這時(shí)候南橋的部分功能開(kāi)始初始化并等待開(kāi)機信號。這里要注意,這時(shí)候的南橋并沒(méi)有打開(kāi)全部電源,只有很少一部分的功能可用,比如供檢測開(kāi)機信號的PWRBTN#信號。
在用戶(hù)按下Power鍵的時(shí)候,EC檢測到一個(gè)電平變化(一般時(shí)序是:高-低-高),然后發(fā)送一個(gè)開(kāi)機信號(PWRBTN#)給南橋,南橋收到PWRBTN#信號后依次拉高SLP_S5#,SLP_S4#,SLP_S3#信號,開(kāi)啟了所有的外圍電壓,主要是+3V,+5V以及DDR2.5V等,并發(fā)送PM PWROK信號,這信號表明外圍電源正常開(kāi)啟。
PM PWROK將作為一個(gè)使能信號發(fā)送到CPU外圍VCCP的電壓Generator,并開(kāi)啟VCCP。在此之后,VCCP Generator會(huì )發(fā)出CORE_VR_ON來(lái)開(kāi)啟CORE VR(即CPU的核心電壓)。至此,整機的電壓已經(jīng)全部開(kāi)啟。
在用VR_PWRGD_ICH這個(gè)信號通知南橋CORE VR成功開(kāi)啟后,南橋會(huì )發(fā)出PCI RST#信號到PCI總線(xiàn),于是總線(xiàn)上的設備都被初始化(包括北橋),并同時(shí)發(fā)出H_PWRGD來(lái)通知CPU它的核心電壓已經(jīng)成功開(kāi)啟。然后北橋發(fā)出H_CPURST#信號給CPU,CPU被RESET,并正式開(kāi)始工作。
在用戶(hù)需要進(jìn)入待機模式(S3)的時(shí)候,系統的ACPI和windows同時(shí)運作,拉低SLP_S3#,并保持SLP_S4#和SLP_S5#被拉高,以關(guān)閉了MAIN電,系統則進(jìn)入待機模式。
而在需要進(jìn)入休眠或者關(guān)機模式時(shí),同時(shí)拉低SLP_S3#、SLP_S4#和SLP_S5#,關(guān)閉除了RTC以外的電源。當然,在這一系列的過(guò)程中,需要操作系統和BIOS的共同協(xié)作,對硬件來(lái)說(shuō),只需要保證在特定的狀態(tài)保證特定的電壓供給即可。
當機器要要從S0進(jìn)入S5,即關(guān)機的時(shí)候,也會(huì )有一定的時(shí)序進(jìn)行,基本上就是前面時(shí)序的逆運行。
以上就是整個(gè)硬件的開(kāi)機、進(jìn)入S3,S5的過(guò)程,當然不同的硬件有不同的開(kāi)機過(guò)程,這里說(shuō)的不過(guò)是最普通、最為常見(jiàn)的一種。
下面我針對惠普1000的IO介紹他內部EC的工作情況。 |
|