概述
ADP5585是一款10I/O端口擴展器,內置鍵盤矩陣解碼器、可編程邏輯、復位發生器和PWM發生器。I/O擴展器IC適用于便攜式設備(手機、遙控器和相機)及非便攜式應用(醫療保健、工業和儀器儀表),可用來增加處理器可用的I/O數量,或者通過接口連接器減少前面板設計所需的I/O數量。
ADP5585處理所有按鍵掃描和解碼,并通過一條中斷線通知主處理器有新的按鍵事件發生。GPI變化和邏輯變化也可以通過FIFO記錄為事件,從而無需監控不同的寄存器來判斷事件變化。ADP5585配有一個FIFO,它最多可以存儲16個事件。處理器可以通過I2C兼容型接口回讀事件。
ADP5585使主處理器不必監控鍵盤,從而降低功耗和/或提高處理器帶寬,以便執行其它功能。
可編程邏輯功能支持將常用邏輯要求集成為GPIO擴展器的一部分,從而節省電路板面積和成本。
數據表:*附件:ADP5585鍵盤解碼器和IO擴展器中文手冊.pdf
應用
要求鍵盤輸入和I/O擴展功能的設備
特性
- 16單元FIFO用于記錄事件
- 10個可配置I/O
- 鍵盤解碼,支持的最大矩陣為5x5,提供一個11 GPIO (5x6)選項
- 按鍵/釋放中斷
- GPIO功能
- GPI支持可選的中斷級
- 100k/300k上拉
- 300k下拉
- GPO支持推挽或開漏輸出
- 可編程邏輯模塊
- PWM發生器
-內部生成PWM- 外部PWM,內置PWM AND函數
- 復位發生器
- I2C 接口支持增強快速模式(Fm+),頻率最高可達1 MHZ
- 開漏中斷輸出
- 16引腳WLCSP
框圖
時序圖
引腳配置描述
操作理論
功能描述
事件先入先出存儲器(FIFO)
在深入了解ADPD585各個模塊的細節之前,理解事件FIFO的功能很重要。ADPD585能夠記錄多種事件。默認情況下,FIFO主要記錄按鍵事件,比如按鍵按下和按鍵松開。不過,也可以配置通用輸入(GPIO)和邏輯活動,以在FIFO上生成事件。每個事件都會生成一個事件標識(EC[4:0])。它由5位組成,其工作方式類似于FIFO的標簽,這樣用戶隨時都能知道FIFO中還剩余多少事件。
FIFO由16個8位字節段組成,用戶可通過讀取FIFO_x寄存器來訪問。實際的FIFO是通過將FIFO_x寄存器鏈接在一起實現的。FIFO可以被視為一個“環形”緩沖區,在填滿寄存器0x03到寄存器0x12后會重新開始。
事件FIFO由16個8位寄存器組成。每個寄存器的位[6:0]保存事件標識符,位7保存事件狀態。這7位一起可識別27個不同的事件。有關事件解碼,請參見表11。
當FIFO中有可用事件時,用戶首先應讀取事件計數EC[4:0],以確定FIFO中剩余的事件數量。讀取一個事件后,所有剩余事件都會上移一個位置,EC[4:0]會相應遞減。
FIFO寄存器(0x03到0x12)始終指向FIFO的頂部(即EVENT1[7:0]的位置)。如果用戶試圖從FIFO中的無效位置讀取數據,總是會從FIFO的頂部獲取數據。這確保了事件只能按其發生順序從頂部讀取,從而保證了事件順序。
如前所述,ADPD585的部分增強功能可對FIFO中的事件進行編程計數。如果在更新控制塊正在管理FIFO更新時發生了一次PC事務,會阻塞對FIFO的所有訪問,直到PC事務完成。
在外部處理器讀取FIFO并清除它之前,如果生成的事件多于16個,FIFO就會溢出。
如果發生溢出情況,溢出狀態位會被置位。當生成的事件多于16個時,就會產生溢出中斷,發出信號。
按鍵掃描控制器
概述
10個輸入/輸出引腳可配置為解碼一個鍵盤矩陣,最大尺寸為25個開關(5×5矩陣)。也可以配置較小的矩陣,釋放未使用的行和列引腳用于其他I/O功能。
通過R[4:0]引腳組成鍵盤矩陣的行,通過C[4:0]引腳組成鍵盤矩陣的列。引腳作為行被拉高,通過內部50kΩ或100kΩ電阻。引腳作為列被驅動為低電平。
-
端口
+關注
關注
4文章
1044瀏覽量
32707 -
擴展器
+關注
關注
0文章
153瀏覽量
15663 -
ADP5585
+關注
關注
0文章
4瀏覽量
5922
發布評論請先 登錄
請問ADP5585芯片怎么對其寄存器進行相應的配置?
ADI推出通用輸入/輸出端口擴展器和鍵盤矩陣控制器ADP5585和ADP5589
ADP5585原文資料數據手冊PDF免費下載(鍵盤解碼器和I/O擴展)

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

ADP5585 鍵盤解碼器和I/O擴展器

評論