日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

0.嵌入式控制器EC实战 Embedded Controller开发概述

發布時間:2023/12/31 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 0.嵌入式控制器EC实战 Embedded Controller开发概述 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 1.嵌入式控制器EC概述
  • 2.EC芯片框圖(IT8502為例)
  • 3.General Purpose I/O Port (GPIO)
  • 4.SMBus(System Management Bus,系統管理總線)
  • 5.PWM、TACH
  • 6.KBC(KeyBoard Controller)
  • 7.PS/2
  • 8.ADC(模數轉換)
  • 總結

1.嵌入式控制器EC概述

嵌入式控制器EC是掛在CPU的LPC(Low Pin Count)總線下的一顆嵌入主控芯片,嵌入式控制器的目的是幫助計算機(主要是筆記本)管理低速外設,像觸摸板、矩陣鍵盤等,當然最重要的是計算機通過EC來做電源管理,在筆記本電腦中,電源管理尤為重要,不僅僅需要控制開關機的電源,還要控制筆記本做休眠掛起即之后的喚醒。EC就像計算機的隱形管家,在電腦的正常運行中起到了至關重要的作用。

接下來列舉一下我們所使用的商用筆記本電腦都有哪些功能是通過EC來實現的。

  • 開關機的上下電時序控制(GPIO);
  • 休眠掛起的上下電時序控制(GPIO);
  • 開關機按鍵(GPIO);
  • 筆記本開合蓋檢測(GPIO);
  • 電源燈、大小寫燈、數字燈的控制(GPIO);
  • 筆記本電池的充放電控制(SMBUS);
  • CPU/GPU/主板溫度檢測功能(SMBUS);
  • 散熱風扇智能溫控(PWM/TACH);
  • 筆記本鍵盤(KBC鍵盤控制器);
  • 觸摸板(PS/2);
  • 電壓檢測(ADC);

2.EC芯片框圖(IT8502為例)

通過框圖的最上端LPC總線與CPU的LPC總線相連,EC通過LPC總線與操作系統或BIOS進行通信,最上端的SERIRQ是用于向CPU發送串行中斷信號的。

在框圖中有兩條總線,Internal Bus(內部總線),EC Bus(EC總線)。內部總線用于CPU的LPC總線對內部總線下外掛的各個邏輯設備(KBC/PMC/UART等)的訪問,也可以用于各個邏輯設備之間的通信。EC總線則用于EC下面各個功能模塊間、EC下模塊與內部總線下的邏輯設備間的通信。

芯片中的最重要的部分是EC8032的部分,他是一個MSC-51系列的單片機,對EC的編程和對51單片機的編程幾乎是一樣的。后面在代碼框架講解中會提到。

當EC芯片上電后,8032微處理器將從SPI Flash的0x0000地址中取出固件(代碼)運行,下面列出了EC中最常用的矩陣鍵盤,PS/2觸摸板、主機接口0x60/0x64等功能。

3.General Purpose I/O Port (GPIO)

通用I/O端口由寄存器控制的獨立I/O管腳組成。

在EC中有十組通用GPIO,分別是GPIOA—GPIOJ,每組GPIO有8個pin腳,總共是80個pin腳。

在EC芯片上電后,代碼執行的第一步復位后初始化Reset_Initialization()函數中就會首先配置這80個pin的工作模式。有以下幾種工作模式:

  • 輸入模式;
  • 上拉輸出模式;
  • 下拉輸出模式;
  • 復用為其他工作方式(例如PWM、ADC、UART等);

在上下電時序控制中,完全是由GPIO來控制的,首先按照CPU廠商提供的各設備的上電時序圖,EC控制各個電源及設備的復位,這一部分的控制引腳都是配置為輸出模式。而各個電源的PowerGood信號則需要將相應的引腳配置為輸入模式。

電源燈、大小寫燈、數字燈的控制也是將相應的引腳配置為輸出模式。

開關機按鍵、開合蓋霍爾傳感器、適配器拔插信號在代碼中則需要定義為輸入模式,并添加相應的事件函數,當有相應動作產生時,需要進入事件處理函數中執行相應的控制。例如適配器插入后需要控制充放電芯片對電池進行充電,切換為適配器對筆記本電腦進行供電,并通過LPC總線通知操作系統。

4.SMBus(System Management Bus,系統管理總線)

在筆記本電腦中一般會用到兩個SMBus接口,一個接口用于與智能鋰電池、一個用于CPU、GPU和主板等溫度傳感器溫度監控。

SMBus為I2C協議的子集,SMBus協議幀在I2C定義的通用幀格式基礎上針對事務的不同進行了更加確定的定義。

通過SMBCLK和SMBDAT信號引腳來進行通信,與I2C通信協議的CLK與DATA引腳的通信方式是相似的。

5.PWM、TACH

在筆記本中PWM一般有兩個用處,一個用于控制風扇的風速,一個用于顯示屏的亮度調節。

TACH則是用于監控風扇的轉速,用于風扇的智能調速。

6.KBC(KeyBoard Controller)

KBC作為一個邏輯設備掛在LPC總線下,操作系統或BIOS可以通過LPC的0x60/0x64與EC進行通信,KBC在EC與操作系統或BIOS的通信過程中起到了非常重要的作用。矩陣鍵盤、PS/2觸摸板的數據都是通過KBC提供的0x60和0x64端口上報給操作系統或BIOS的。詳細的通信過程可以通過《8.嵌入式控制器(Embedded Controller,EC)學習 操作系統或BIOS通過KBC(0x60/0x64)和PMC(0x62/0x66)對EC ram進行讀寫》博文了解。

7.PS/2

只用作PS/2觸摸板,數據最終是通過KBC的0x60和0x64端口上報操作系統或BIOS。
通信細節參考博文:
《5.嵌入式控制器(Embedded Controller,EC)學習 PS/2協議》
《6.嵌入式控制器(Embedded Controller,EC)學習 嵌入式控制器EC中的PS/2觸摸板的通信過程》

8.ADC(模數轉換)

在EC中GPI0—GPI7這8個引腳可以配置為ADC工作模式,用于監測主板的各個電壓。

總結

本文作為嵌入式控制器EC開發的總體概述,介紹了EC中各個部分的功能,簡單的介紹了相關的開發方式,在本專欄中的后續章節中將詳細介紹開發流程。

總結

以上是生活随笔為你收集整理的0.嵌入式控制器EC实战 Embedded Controller开发概述的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。