概述
ADP5589是一款19通道GPIO(通用輸入/輸出)端口擴展器,內置鍵盤矩陣解碼器、可編程邏輯、復位邏輯和PWM發生器。該IC支持QWERTY鍵盤和GPIO擴展。I/O擴展器IC適用于便攜式設備(手機、遙控器和相機)及非便攜式應用(醫療保健、工業和儀器儀表),可用來增加處理器可用的I/O數量,或者通過接口連接器減少前面板設計所需的I/O數量。
ADP5589處理所有按鍵掃描和解碼,并通過一條中斷線通知主處理器有新的按鍵事件發生。GPI變化和邏輯變化也可以通過FIFO記錄為事件,從而無需監控不同的寄存器來判斷事件變化。ADP5589配有一個FIFO,它最多可以存儲16個事件。處理器可以通過I^2^C兼容型接口回讀事件。
ADP5589使主處理器不必監控鍵盤,從而降低功耗和/或提高處理器帶寬,以便執行其它功能。可編程邏輯功能支持將常用邏輯要求集成為GPIO擴展器的一部分,從而節省電路板面積和成本。同時提供參考軟件Linux驅動。
數據表:*附件:ADP5589鍵盤解碼器和IO擴展器中文手冊.pdf
特性
- 16單元FIFO用于記錄事件
- 19個可配置I/O支持多種功能
- 鍵盤解碼支持最大11 x 8的矩陣
- 按鍵/釋放中斷
- 鍵盤鎖定/解鎖
- GPIO功能
- GPI支持可選的中斷級
- 100 kΩ/300 kΩ上拉電阻
- 300 kΩ下拉電阻
- GPO支持推挽或開漏輸出
- 兩個可編程邏輯模塊
- PWM發生器
內部生成PWM
內部與外部PWM求和(AND) - 時鐘分頻器
- 復位發生器
- I^2^C 接口支持增強快速模式(Fm+) ,數據速率最高可達1 Mbps
- 開漏中斷輸出
- 24引腳LFCSP封裝
框圖
引腳配置描述
詳細說明
事件先入先出存儲器(FIFO)
理解事件FIFO的功能十分重要。ADPD5589具備一個事件FIFO,它能夠記錄多達16個事件。默認情況下,FIFO主要記錄按鍵事件,例如按鍵按下和按鍵松開。不過,也能夠對通用輸入(GPIO)和邏輯活動進行配置,使其在FIFO中也生成事件信息。事件計數EC[4:0]由5位組成,與FIFO協同工作,這樣用戶就能隨時了解FIFO中還需讀取多少內容。
FIFO由16個8位字節段構成,用戶可通過讀取FIFO_x寄存器進行訪問。實際的FIFO并非通過連續的寄存器實現,直至有讀取操作發生。FIFO可被視為一個“先進先出”緩沖區,用于填充寄存器0x03至寄存器0x12。
事件FIFO由16個8位寄存器組成。在每個寄存器中,位[6:0]存儲事件標識符,位7存儲事件狀態。憑借這7位,可識別27個不同的事件。有關事件解碼,請參見表11。
當FIFO中有可用事件時,用戶首先應讀取事件計數EC[4:0],以確定FIFO中剩余的事件數量。只有在讀取一個事件后,FIFO中所有剩余事件才會上移一個位置,同時EC[4:0]計數會相應遞減。
FIFO寄存器(0x03至0x12)始終指向FIFO的頂部(即EVENT1[7:0]的位置)。如果用戶試圖從FIFO中的任意無效位置讀取數據,始終會從FIFO的頂部獲取數據。這確保了事件只能按照其發生順序從頂部讀取,從而保證了事件順序系統的完整性。
ADPD5589的一些板載功能可對FIFO中的事件進行編程計數。FIFO更新控制模塊負責管理對FIFO的更新。如果I2C事務正在訪問任何FIFO地址位置,更新操作將暫停,直至I2C事務完成。
當生成的事件超過16個,且外部處理器尚未讀取并清除FIFO時,就會發生FIFO溢出事件。
如果發生溢出情況,溢出狀態位將被置位。如果啟用了溢出中斷,將生成一個中斷,向處理器發出信號,表明發生的事件已超過16個。
按鍵掃描控制
概述
19個輸入/輸出引腳可配置為解碼一個鍵盤矩陣,最大尺寸為88個開關(11×8矩陣)。也可以配置較小的矩陣,釋放未使用的行和列引腳用于其他I/O功能。
R0至R7 I/O引腳組成鍵盤矩陣的行,C0至C9 I/O引腳組成鍵盤矩陣的列。引腳作為行時,通過內部300kΩ或100kΩ電阻拉高。引腳作為列時,通過內部NMOS電流吸收器拉低。
-
GPIO
+關注
關注
16文章
1280瀏覽量
53960 -
ADP5589
+關注
關注
0文章
3瀏覽量
5394 -
端口擴展器
+關注
關注
0文章
7瀏覽量
7191
發布評論請先 登錄
ADI推出通用輸入/輸出端口擴展器和鍵盤矩陣控制器ADP5585和ADP5589
ADP5585原文資料數據手冊PDF免費下載(鍵盤解碼器和I/O擴展)

ADP5586原文資料數據手冊PDF免費下載(鍵盤解碼器和I/O端口擴展器)

評論