EC修煉之道—SMBUS
SMBUS在EC firmware中佔有重要的地位,我們先來看一下它的應用:(1)電池模組需要它來通訊,如SmartBattery IC以及ChargeIC。(2)平臺各個溫度獲取,通過與溫度感測器,SMBUSLINK1,或顯示卡晶片的SMUBS相連,來讀取其溫度值。(3)CPU及記憶體調壓,使用SMBUS介面的調壓晶片,控制它的電壓,使其得到更好的performance。(4)監測平板的方向,重力感測器也是SMBUS介面,先調好合適的靈敏度,然後根據其資料,來決定螢幕顯示的方向。
1 SMBUS硬體介面
從此圖可以看出,SMBUS由兩線組成。SCL是時鐘線,由Master來控制,SDA是資料線,Slave裝置靠此線來採集資料。
SMBUS設計採用主從結構,即傳輸時需要有一個Master裝置,一個Slave裝置。Master發命令,Slave裝置對其命令進行響應。
2 SMBUS資料傳輸
可以把SMBUS資料傳輸粗略地分為位元組,字,塊的傳輸。各項又可分為寫傳輸和讀傳輸。如位元組傳輸,我們可以向Slave的某個暫存器寫一個位元組,也可以從該暫存器讀一個位元組。其讀寫時序是不一樣的,下面圖示為位元組的讀和寫:
由圖可以看出,寫位元組和讀位元組協議是不一樣的。
寫位元組為:
1)起始訊號
2)送地址寫
3)送暫存器
4)送資料
5)結束訊號
讀位元組為:
1) 起始訊號
2) 送地址寫
3) 送暫存器
4) 起始訊號
5) 送地址讀
6) 讀資料
7) 結束訊號
2.1 起始訊號
當CLOCK線是高電平時,DATA線從高電平向低電平切換,為起始訊號。
即:
CLOCK:=1
DATA:=1
DATA:=0
2.2 結束訊號
當CLOCK線是高電平,DATA線從低電平向高電平切換,為停止訊號。
即:
CLOCK:=1
DATA:=0
DATA:=1
2.3 應答訊號
在傳送1個BYTE後,第9個時鐘週期,當CLOCK線為高電平,採集到的DATA線為低電平時,說明SLAVE裝置應答成功,返之沒有應答。
即:
CLOCK:=1
If(DATA=0) then
ACK
Else
NACK
2.4 送資料
SMBUS傳輸資料時,採用MSB方式,即先送高位再送低位。每次傳輸資料以位元組為一組。即使是塊傳輸協議時,也是一個位元組接一個位元組地傳輸N次。因其為序列方式,一次只能傳輸一個位,所以一個位元組要傳輸8次。傳輸的資料是以CLOCK為高電平時採集DATA的電平,DATA為高電平,傳輸的資料為1,否則為0。
假設資料為TransferData,描述如下:
For i:=0 to 7 do
begin
CLOCK := 0;
If ((TransferData SHL i) and $80) then
DATA := 1
Else
DATA:=0
CLOCK:= 1
End
2.5 讀資料
讀資料和寫資料時,資料的採集是一樣的。
採集資料放在ReadData中,即:
For i:=7 downto 0do
Begin
CLOCK:=0
DELAY_FOR_SLAVE_PREPARE_DATA
CLOCK:=1
ReadData = (ReadData or ( DATA SHL i))
end
3 EC程式碼介面
Vendor廠商基本上把邏輯程式碼都已經寫好,並留有OEM介面(SMBUS陣列)。我們要做的事一般有兩件。第一件,在OEM介面填好初始化資料和執行時資料,初始化資料用於設定SLAVE裝置使其符合我們平臺的需求,或SALVE裝置某個暫存器值是固定的,讀一次便可一勞永逸,執行時資料用於實時監控SLAVE裝置的現有狀態。第二件,EC定時讀取實時讀出的資料,如果觸發某個條件,便執行相應的程式碼,如CPU溫度達到調節風扇轉速的臨界點。
相關推薦
EC修煉之道—SMBUS
SMBUS在EC firmware中佔有重要的地位,我們先來看一下它的應用:(1)電池模組需要它來通訊,如SmartBattery IC以及ChargeIC。(2)平臺各個溫度獲取,通過與溫度感測器,SMBUSLINK1,或顯示卡晶片的SMUBS相連,來讀取其溫度值。(3
EC修煉之道—程式碼架構
EC就是膝上型電腦上的一個嵌入式控制器。作為一個主機板軟體開發人員,一般說EC,就是EC韌體程式。 想要做好EC,首先要懂程式碼架構。這個東西說簡單就簡單,說困難也困難,要有人幫忙點破,然後一切都會OK。我剛到現在的這家公司,一個同事說,
EC修煉之道—Thermal
重啟,藍屏,關機,休眠,一系列災難性的錯誤均有可能是溫度過高引起。即使是行業的領頭羊,也經常性地栽倒在這個問題上。雖說這個問題應該是Thermal工程師應該考慮的問題,但作為可以控制風扇和可以通知HOST端的EC工程師來說,也應該瞭解Thermal的一些細節,以期能夠快速準
EC修煉之道—按鍵的做法
在EC的各項功能中,按鍵的作用非常重要。機器上的PowerSwitch按鍵,亮度加減按鍵,聲音加減按鍵,WIFI&Bluetooth開關等,都有可能用到按鍵功能。 按鍵的做法有兩種:一是使用中斷的方式;二是使用輪循GPIO的電平狀態來做按鍵功能。
EC修煉之道—ECSCI
ECSCI是EC上的一個請求系統中斷的PIN。電池資訊的上報,溫度上報,LID狀態上報,亮度調節請求以及切屏等功能都需要此中斷來通知作業系統執行。既然是中斷,就必須有中斷號,ECSCI和其它一些DEVICE共用一個SCI中斷號,由BIOS來指定,並通過A
《程序員修煉之道》讀書筆記②
模糊 clas 算法 必須 品牌 很多 關於 性能 一是 概述 花了幾天時間看完了程序員修煉之道,有很多感悟,記錄於此,供自己開發時參考,相信對其他人也有用。 值得一提的是,這本書寫的非常好,很多大牛在走了很多彎路之後再讀這本書都很感慨沒有早些讀。 《程序員修煉之道》讀書筆
《MySQL DBA修煉之道》 讀書筆記(第一章 理解MySQL)
l數據庫 描述 負責 mysql權限 serve 擴展 基礎上 title 語境 1、MySQL的基礎架構 1.MySQL是一種關系數據庫產品,是建立在關系模型基礎上的數據庫。架構一般可分為應用層、邏輯層、物理層。應用層:負責和客戶端、用戶進行交互。邏輯層:負責具體的
程序員修煉之道:從小工到專家
合作人 測試 AI 附錄 修煉之道 資源 color 例子 項目 下載地址:網盤下載 內容簡介 · · · · · ·《程序員修煉之道:從小工到專家》內容簡介:《程序員修煉之道》由一系列獨立的部分組成,涵蓋的主題從個人責任、職業發展,知道用於使代碼保持靈活、並且易於改
大巧不工-WEB前端設計修煉之道pdf
客戶 margin post 了解 框架 前端開發 性能 round 測試 下載地址:網盤下載 大巧不工:Web前端設計修煉之道:全面探討Web前端設計的方法、原則、技巧和最佳實踐5大專業社區一致鼎力推薦!前端開發工程師、前端設計師、前端架構師和用戶體驗設計師等新興職業的
《程序員修煉之道》讀書筆記
重點 解決 意思 環境 部分 災難 就是 但是 解決方案 這周我閱讀的書目是《程序員修煉之道》,重點看了幾個章節,但是可能是因為我還沒有經歷過大的項目,所以不太能對裏面的一些觀點產生共鳴,不過裏面還是有些較為簡單的觀點讓我收獲了許多。 1、“我的源碼讓貓吃了” 在所有弱點
Web前端工程師修煉之道(原書第4版) 中文pdf掃描版
知識 實現簡單 div font web前端 圖形 如何工作 htm log 你是否也曾想過自己創建網頁,但卻苦於沒有經驗?那麽從現在開始學習吧!本書由淺入深地講解了Web設計的一些重要概念、基本原理,以及HTML、CSS和JavaScript的具體使用方法與技巧。當你
第四周讀書筆記——《程序員修煉之道——從小工到專家》
本周 post align 課程 tex 如何實現 知識 我想 分享 本周我讀的書是美國Andrew Hunt與David Thomas所著的《程序員修煉之道——從小工到專家》。翻開第一頁,我就可以看到無數來自其他專業人士對這本書的褒獎。俗話說,贊美總是不嫌多,我大概瀏覽了
《程序員修煉之道》讀書筆記(下)
修正 AC 理解 文件名 就會 復制 讀取文件 學習 原來 程序員修煉之道(下) Friday, March 30, 2018 15:17 就如同我在上篇讀書筆記中說的那樣,這本書中的一些方法和思想,需要我們在之後的編程學習過程中一點一點的參悟和領會。 曳光彈 比如說從
我與項目的化學反應 ——讀《程序員修煉之道》有感
理論 例如 亞歷山大 搜集 發生 實驗 是我 消費 不同 正如書中所說,我曾經產生過自己的項目會失敗的感覺,因為自己很迷茫不知道自己該如何去完成自己的團隊項目,那種迷茫感在一開始的時候一直圍繞著我,直到組長開始逐步把項目分塊,一步步細分後,並且要求每個人需要做什麽的時候,我
程序員修煉之道 Tips
tool con window 興趣 list func clas produce exc 這一篇文章其實就是記錄程序員修煉之道中的所有 Tips, 我講會在之後的每周實踐兩個 Tip, 並對這兩個 Tips 進行補充和說明自己的體會, 最終成為書中所說的卓有成效的程序
讀書隨記-《程序員修煉之道-從小工到專家》
正在 不同 準則 隨記 專家 tail 都是 範圍 沒有 註重實效的程序員有哪些特征 早期的采納者/快速的改編者 好奇 批判的思考著 有現實感 多才多藝 第一章 註重實效的哲學 註重實效的程序員能夠越出直接的問題去思考,設法把問題放
<高效程序員的45個習慣:敏捷開發修煉之道>
驅動開發 錯誤 其他 提問 產品 目前 主題 告訴 正在 第1章 敏捷-高效軟件開發之道 第2章 態度決定一切1.做事指責不會修復bug。把矛頭對準問題的解決方法,而不是人。2.欲速則不達不要墜入快速的簡單修復之中。要投入時間和精力保持代碼的整潔、敞亮。3.對事不對人設定最
<高效程式設計師的45個習慣:敏捷開發修煉之道>
第1章 敏捷-高效軟體開發之道 第2章 態度決定一切1.做事指責不會修復bug。把矛頭對準問題的解決方法,而不是人。2.欲速則不達不要墜入快速的簡單修復之中。要投入時間和精力保持程式碼的整潔、敞亮。3.對事不對人設定最終期限;逆向思維;設立仲裁人;支援已經做出的決定。4.排除萬難,奮勇前進做正確的事。要誠實
C語言嵌入式系統程式設計修煉之道
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
零基礎入門前端的修煉之道
本文是為了給那些想要了解前端開發是什麼,或者剛剛打算開始學習前端的朋友們準備,希望可以幫助準備入行的你; 總所周知,目前無論是企業還是個人,都會有製作網站、部落格、小程式等需求,他們希望把自己的產品或服務通過網際網路展示給更多使用者。在這種情況下, 對於剛剛接觸這方面的新人來說,可能先