發表文章

目前顯示的是 10月, 2022的文章

EC - Watchdog

圖片
Watchdog Watchdog  是用來偵測  Firmware  是否有正常的工作,沒有因為中斷佔用或者 Dead Loop 而被停止運作,在啟動 Watchdog 之後,Firmware 也需配合修改,在 Watchdog Timeout 之前,定時的 Touch Watchdog (Clear Watchdog Timer).若沒有定時 Touch Watdog 造成  Watchdog Timeout,EC 就會被 Watchdog  Reset , 核心處理器被重置,Firmware 由程式的起始點開始執行。 Watchdog 的方塊圖如下: Watchdog Module  是由  EC  系統外掛或內含的  32KHz  或更低頻的振盪器做為   Module  的基本工作頻率,經由一 5 個位元的計時器  Timer 0 ,做為 Firmware 1.0ms 的計時器,產生中斷,提供給 Firmware  週期性偵察裝置或事件的工作時間,Timer0 的輸出訊號,再經由 16 位元的計時器由  T0OUT  傳送到  ICU  由  Firmware 的中斷服務程式來完成  T0OUT  中斷的要求。最後由  Watchdog  計數器  WDCNT 可選擇使用 Timer 0 或 T0OUT 來當計數訊號, 計數 Timeout 後,產生硬體中斷,硬體中斷路徑可以分為 Warm Reset  和  Cold Rest 。 Warm Reset –  清除核心處理器及狀態暫存器和 Power Manager Controller Module 。 Cold Reset – Reset  整個晶片 當系統要填寫 ESCD 或更新 BIOS 時,需要停止 Watchdog 的計數,避免 Watchdog 持續計數,產生 Reset 。停止 Watchdog 計數的方法,以 nuvoton EC 來說明 Watchdog Configuration, 先把 TWCFG 的 WDSDME 位元設為 HIGH , 0x87,0x61,0x63 填入 WDSDM 暫存器即可中斷 Watchdog 的計數。重新啟動計數只要填入 0x87,0x61,0x63 填入 WDSDM 暫存器即可。 TWCFG (Timer and Watchdog Configura

EC - MIWU

圖片
Multi-Input Wake-Up(MIWU) MIWU模組用於把  EC 由 Idle  mode 中  Wake up 到 Active mode 。在 Active Mode 下,Wake up 事件成為ICU的中斷訊號,完成Wake up 的要求工作。 MIMU 的 Wake up 事件 的 觸發 來源 可分為內部模組和外部可 Wake up 群組,總共 32 個觸發事件來源 。 MIWU 察覺任何有效的輸入觸發訊號,若有觸發訊號進來則會產生 wake-up 事件 的需求,這時 wake-up 事件 會通知 Power Management module(PMC) 讓系統離開 Idle mode 回復 Active mode 。 下圖為 Wake-up 事件 的流程圖 在 wake-up 事件 的流程,由觸發訊號產生開始,經  WKEDGn  會先確認中斷是否符合要求(可以設定要求為 Falling Edge/ Rasing Edge/ Any Edge),當符合要求就把 WKPNDn 的相對位元設為 1 ,表示有 wake up 事件產生,再經由  WKENn  確認wake up 事件是否為 Enable ,確認為 enable 後,把事件傳送到  Power Management Control Unit [PMC] 去通知核心處理器離開  Idle mode。同時,也把 事件傳送 給  ICU 在 EC 回到 Active 時,處理中斷任務 。 MIWU Register Edge Detection Register (WKEDG) 這個 register 設為 0 時,觸發方式為 Low to High ,設為 1 時,觸發方式為 High – to – Low 。 WKEDGE1 bit 0 ~ bit 7 控制 WUI 10 ~ WUI 17 。 WKEDGE2 bit 1 ~ bit 7 控制 WUI 20 ~ WUI 27 。 WKEDGE3 bit 2 ~ bit 7 控制 WUI 30 ~ WUI 37 。 WKEDGE4 bit 3 ~ bit 7 控制 WUI 40 ~ WUI 47 。 Pending Register(WKPND) 這個 register 控制是否鎖住發生選擇觸發的狀態與輸入信訊。設為 1 時,參考輸入的觸