ADP5587:多功能移動(dòng) I/O 擴(kuò)展器與鍵盤控制器的深度解析
在當(dāng)今的電子設(shè)備設(shè)計(jì)中,尤其是在移動(dòng)平臺(tái)領(lǐng)域,對于擴(kuò)展 I/O 端口和處理鍵盤輸入的需求日益增長。ADP5587 作為一款專為滿足這些需求而設(shè)計(jì)的芯片,為工程師們提供了一個(gè)強(qiáng)大而靈活的解決方案。下面將對 ADP5587 的特性、工作原理、應(yīng)用等方面進(jìn)行詳細(xì)解析。
文件下載:ADP5587.pdf
一、ADP5587 關(guān)鍵特性
1. 端口擴(kuò)展與鍵盤矩陣配置
ADP5587 具備 18 - GPIO 端口擴(kuò)展能力,或者可配置為 10×8 的鍵盤矩陣,最多支持 80 個(gè)按鍵。其 GPIO 可靈活配置為通用輸入(GPI)、通用輸出(GPO)以及鍵盤的行或列,為不同的應(yīng)用場景提供了極大的靈活性。
2. 電氣特性與低功耗設(shè)計(jì)
- 寬電壓范圍:支持 1.65 V 至 3.6 V 的工作電壓,適用于多種電源環(huán)境。
- 低功耗:典型的空閑電流僅為 1 μA,典型的輪詢電流為 55 μA,有效降低了設(shè)備的功耗。
3. 通信接口與中斷功能
- I2C 接口:采用 I2C 接口并支持自動(dòng)增量功能,減少了處理器的干預(yù),節(jié)省了處理器帶寬和電流消耗。
- 中斷功能:具有開放漏極中斷輸出,支持按鍵按下和釋放中斷、GPI 中斷,且 GPI 中斷的電平可編程。
4. 其他特性
- 按鍵鎖定功能:可對鍵盤進(jìn)行鎖定,防止誤操作,并可選擇是否在按鍵按下和釋放時(shí)觸發(fā)中斷。
- 按鍵事件計(jì)數(shù)與溢出中斷:配備按鍵事件計(jì)數(shù)器,當(dāng)事件溢出時(shí)可觸發(fā)中斷。
- 去抖功能:在復(fù)位線和 GPI 上具有 275 μs 的去抖時(shí)間,確保信號(hào)的穩(wěn)定性。
二、工作原理
1. 鍵盤操作
- 矩陣配置:通過設(shè)置寄存器 0x1D 至 0x1F 中的相應(yīng)位,可將任意數(shù)量的行和列配置為鍵盤矩陣的一部分。
- 按鍵檢測:當(dāng)有按鍵按下時(shí),內(nèi)部狀態(tài)機(jī)檢測行引腳,觸發(fā)內(nèi)部中斷,并啟動(dòng)按鍵掃描周期以確定涉及的列。按鍵按下 25 ms 后,狀態(tài)機(jī)在按鍵事件狀態(tài)寄存器中設(shè)置相應(yīng)的按鍵編號(hào),并設(shè)置 KE_INT 位。若 KE_IEN 字段設(shè)置,則向主機(jī)處理器發(fā)送中斷。
- 按鍵釋放檢測:按鍵釋放 25 ms 或更長時(shí)間后,狀態(tài)機(jī)清除按鍵事件狀態(tài)寄存器中的按鍵按下位。由于按鍵釋放可能與按鍵掃描采樣周期不同步,按鍵釋放的檢測可能需要 25 ms 至 50 ms。
2. 按鍵事件跟蹤
- FIFO 機(jī)制:10 個(gè)按鍵事件寄存器作為 FIFO 工作,按按鍵按下和釋放的順序存儲(chǔ)事件。
- 事件計(jì)數(shù):按鍵事件計(jì)數(shù)器(KEC 字段)記錄按鍵事件的數(shù)量,最多可記錄 10 個(gè)事件。
3. 按鍵事件溢出處理
當(dāng) FIFO 滿時(shí),額外的事件會(huì)設(shè)置寄存器 0x02 中的 OVR_FLOW_INT 位。若 OVR_FLOW_IEN 位設(shè)置,主機(jī)處理器將被中斷。通過設(shè)置 OVR_FLOW_M 位,可選擇丟棄新事件或覆蓋舊數(shù)據(jù)。
4. 自動(dòng)增量功能
在 I2C 讀取訪問期間,ADP5587 支持自動(dòng)增量,用戶無需為后續(xù)地址發(fā)送讀取命令,減少了處理器的干預(yù)。
三、通用輸入輸出(GPIO)功能
1. 通用輸入(GPI)
- 配置與功能:用戶可將部分或全部 GPIO 配置為 GPI,并可開啟上拉電阻和中斷生成功能,減少軟件監(jiān)控和處理器交互,節(jié)省功耗。
- 中斷級(jí)別:GPI 中斷的編程級(jí)別決定了 GPI 引腳的有效電平。
- 事件跟蹤:配置為 GPI 的列或行可參與按鍵事件表,生成按鍵事件中斷。
2. 通用輸出(GPO)
用戶可將部分或全部 GPIO 配置為 GPO,用于主機(jī)處理器的額外使能或觸發(fā)輸出。配置為 GPO 時(shí),數(shù)字緩沖器將引腳驅(qū)動(dòng)為 0 V 或 VCC。
3. 去抖與中斷配置
- 去抖:GPIO 配置為 GPI 時(shí),具有 275 μs 的去抖時(shí)間,復(fù)位線也有 275 μs 的去抖時(shí)間。
- 中斷配置:通過設(shè)置寄存器 0x01 中的 INT_CFG 位,可靈活控制中斷的斷言和去斷言。
四、I2C 編程與數(shù)字控制
1. I2C 地址與通信
LFCSP 封裝提供兩種 I2C 地址選項(xiàng),默認(rèn)寫地址為 0x68,讀地址為 0x69;ADP5587ACPZ - 1 - R7 的寫地址為 0x60,讀地址為 0x61。所有通信通過 I2C 兼容的串行接口進(jìn)行。
2. 讀寫序列
- 寫序列:起始條件后發(fā)送芯片寫地址,接著發(fā)送寄存器地址和數(shù)據(jù),最后以停止條件結(jié)束。
- 讀序列:起始條件后發(fā)送芯片寫地址和寄存器地址,然后重復(fù)起始條件并發(fā)送芯片讀地址,讀取寄存器內(nèi)容,最后以停止條件結(jié)束。
五、寄存器功能
1. 寄存器概述
所有寄存器復(fù)位時(shí)為 0,除特殊說明外,均為讀寫寄存器。未使用的位讀取為 0,中斷位通過寫入 1 清除,按鍵按下、釋放和 GPIO 中斷狀態(tài)寄存器在讀取時(shí)清除。
2. 部分重要寄存器
- CFG(寄存器 0x01):配置 I2C 自動(dòng)增量、GPI 事件模式、溢出模式、中斷配置等功能。
- INT_STAT(寄存器 0x02):記錄溢出中斷、鍵盤鎖定中斷、GPI 中斷和按鍵事件中斷的狀態(tài)。
- KEY_LCK_EC_STAT(寄存器 0x03):控制鍵盤鎖定功能和按鍵事件計(jì)數(shù)。
- KEY_EVENTx(寄存器 0x04 至 0x0D):作為 FIFO 存儲(chǔ)按鍵事件和狀態(tài)。
六、應(yīng)用信息
1. 應(yīng)用概述
ADP5587 適用于需要擴(kuò)展鍵盤和 GPIO 的移動(dòng)平臺(tái),如 QWERTY 類型的手機(jī)。其可編程寄存器為設(shè)計(jì)人員提供了靈活的配置選項(xiàng)。
2. 鍵盤電流
鍵盤電流消耗取決于按鍵數(shù)量和按下的行與列。單鍵按下時(shí),典型電流為 55 μA;兩鍵按下時(shí),典型電流為 100 μA。
七、總結(jié)
ADP5587 作為一款功能強(qiáng)大的移動(dòng) I/O 擴(kuò)展器和鍵盤控制器,具有豐富的特性和靈活的配置選項(xiàng)。其低功耗設(shè)計(jì)、完善的中斷功能以及強(qiáng)大的按鍵事件處理能力,使其成為移動(dòng)平臺(tái)設(shè)計(jì)中的理想選擇。在實(shí)際應(yīng)用中,工程師們可以根據(jù)具體需求對其進(jìn)行合理配置,以實(shí)現(xiàn)最佳的性能和用戶體驗(yàn)。你在使用 ADP5587 過程中遇到過哪些問題呢?歡迎在評論區(qū)分享你的經(jīng)驗(yàn)和見解。
-
鍵盤控制器
+關(guān)注
關(guān)注
0文章
10瀏覽量
8865
發(fā)布評論請先 登錄
MAX7318:2線接口16位I/O端口擴(kuò)展器的深度解析
ADP5588:多功能移動(dòng) I/O 擴(kuò)展器與鍵盤控制器的深度解析
多功能I/O擴(kuò)展器ADP5586:特性、原理與應(yīng)用全解析
MAX6947:10端口恒流LED驅(qū)動(dòng)與I/O擴(kuò)展器的深度解析
PCA9539:16位I2C與SMBus低功耗I/O擴(kuò)展器深度解析
PCA9554:8位I2C和SMBus I/O擴(kuò)展器的深度解析
PCA9534:8位I2C和SMBus低功耗I/O擴(kuò)展器的深度解析
TCA6424A:低電壓24位I2C和SMBus I/O擴(kuò)展器的深度解析
TCA9536:I2C總線4位I/O擴(kuò)展器的深度解析
ADP5589鍵盤解碼器和I/O擴(kuò)展器技術(shù)手冊
ADP5587:多功能移動(dòng) I/O 擴(kuò)展器與鍵盤控制器的深度解析
評論