MCP23X08/17 GPIO 擴(kuò)展器的獨(dú)特特性與應(yīng)用
在電子設(shè)計(jì)領(lǐng)域,GPIO 擴(kuò)展器是實(shí)現(xiàn) I/O 擴(kuò)展的常用工具,它能借助標(biāo)準(zhǔn)串行接口輕松擴(kuò)展 I/O 端口。今天,我們就來深入探討 Microchip 公司的 MCP23X08/17 GPIO 擴(kuò)展器的獨(dú)特特性和應(yīng)用。
文件下載:MCP23X08EV.pdf
1. MCP23X08/17 產(chǎn)品概述
MCP23X08 是 8 位 GPIO 擴(kuò)展器,包括支持 (I^{2} C^{TM}) 接口的 MCP23008 和支持 SPI 接口的 MCP23S08;MCP23X17 是 16 位 GPIO 擴(kuò)展器,包括支持 (I^{2} C) 接口的 MCP23017 和支持 SPI 接口的 MCP23S17。雖然它們位數(shù)不同,但功能和特性基本相同。
2. 特性詳解
2.1 I/O 端口描述
I/O 端口具有高度可配置性,以實(shí)現(xiàn)最大的靈活性。通過 IODIR 寄存器可以控制引腳的方向(輸入或輸出),當(dāng) (IODIR = 0) 時(shí),輸出驅(qū)動(dòng)器激活,引腳被驅(qū)動(dòng)到鎖存寄存器(OLAT)中的狀態(tài);當(dāng) (IODIR = 1) 時(shí),驅(qū)動(dòng)器處于高阻抗?fàn)顟B(tài)。每個(gè)引腳可以有多種配置方式:
- 配置為輸入:輸出驅(qū)動(dòng)器禁用,處于高阻抗?fàn)顟B(tài)。
- 配置為輸出:輸出驅(qū)動(dòng)器啟用,鎖存器中的值被驅(qū)動(dòng)到引腳上。
- 啟用弱上拉電阻:為引腳提供上拉功能。
- 模擬開漏配置:通過清除輸出鎖存(OLAT)位為零,并使用方向寄存器(IODIR)設(shè)置引腳上的電平。當(dāng)引腳為輸入時(shí),需要一個(gè)上拉電阻將引腳拉高到電壓。要驅(qū)動(dòng) 0,將引腳配置為輸出((IODIR = 0));要使引腳浮空為 1,將引腳設(shè)置為輸入((IODIR = 1))。
2.2 8/16 位模式(僅 MCP23X17)
MCP23X17 具有獨(dú)特的能力,它既可以作為兩個(gè) 8 位 GPIO 擴(kuò)展器,也可以作為一個(gè) 16 位 GPIO 擴(kuò)展器。通過 IOCON.bank 將 16 個(gè) I/O 端口分為兩個(gè)獨(dú)立的 8 位 I/O 端口(端口 A 和端口 B)。
- 8 位模式:端口 A 的寄存器地址范圍是 00h - 0Ah,端口 B 的寄存器地址范圍是 10h - 1Ah。
- 16 位模式:端口 A 和端口 B 的寄存器地址范圍是 00h - 15h,寄存器仍以 8 位端口尋址,16 位映射對始終是偶數(shù)地址。需要注意的是,IOCON 寄存器是兩個(gè)端口共享的,會(huì)同等影響兩個(gè)端口。
2.3 中斷特性
2.3.1 中斷映射
MCP23X08 有一個(gè)中斷引腳,MCP23X17 有兩個(gè)中斷引腳,每個(gè)中斷引腳與一個(gè) 8 位端口相關(guān)聯(lián)。MCP23X17 的中斷引腳可以通過 IOCON.MIRROR 以兩種方式映射:
- 中斷引腳獨(dú)立操作,INTA 反映端口 A 的中斷條件,INTB 反映端口 B 的中斷條件。
- 當(dāng)任一端口發(fā)生中斷時(shí),兩個(gè)中斷引腳都激活。
2.3.2 中斷極性和開漏
中斷可以配置為三種模式:高電平有效、低電平有效和開漏。通過 IOCON 寄存器中的 INTPOL 和 ODR 位進(jìn)行配置。對于 MCP23X17,INTA 和 INTB 引腳的極性和開漏配置是相同的。
2.3.3 中斷條件
- 引腳狀態(tài)變化中斷:配置為引腳狀態(tài)變化中斷的引腳,當(dāng)引腳狀態(tài)改變?yōu)橄喾礌顟B(tài)時(shí)會(huì)觸發(fā)中斷。中斷服務(wù)后,默認(rèn)狀態(tài)會(huì)重置。通過讀取 INTCAP 或 GPIO 寄存器可以清除中斷條件,并設(shè)置新的引腳默認(rèn)狀態(tài)。
- 與 DEFVAL 寄存器值變化中斷:配置為與寄存器值變化中斷的引腳,當(dāng)相應(yīng)輸入引腳與寄存器位不同時(shí)會(huì)觸發(fā)中斷。只要條件存在,中斷條件就會(huì)一直保持,無論是否讀取 INTCAP 或 GPIO 寄存器。
2.4 內(nèi)部地址指針控制
MCP23X08/17 系列設(shè)備可以通過配置控制位(IOCON.SEQOP)來選擇是否自動(dòng)遞增內(nèi)部地址指針。這在訪問寄存器時(shí)提供了最大的靈活性。例如,在配置設(shè)備時(shí),可以允許地址指針自動(dòng)遞增,避免每次字節(jié)操作后重新尋址;而在對寄存器進(jìn)行連續(xù)操作時(shí),可以禁用地址遞增功能,確保始終訪問同一寄存器而無需重新尋址。
2.5 硬件地址引腳
SPI 接口的 “S” 設(shè)備(MCP23S08 和 MCP23S17)除了使用片選引腳選擇器件外,還具有硬件地址引腳。這使得在總線上連接多個(gè)設(shè)備時(shí),只需要一個(gè) MCU 引腳用于片選,提高了引腳的使用效率。
3. 總結(jié)
MCP23X08/17 系列 GPIO 擴(kuò)展器具有多種獨(dú)特特性,為系統(tǒng)和模塊工程師在設(shè)計(jì)時(shí)提供了極大的靈活性。在實(shí)際應(yīng)用中,我們可以根據(jù)具體需求合理配置這些特性,以滿足不同的設(shè)計(jì)要求。大家在使用過程中有沒有遇到過什么有趣的問題或者有更好的應(yīng)用案例呢?歡迎在評論區(qū)分享交流。
發(fā)布評論請先 登錄
Microchip GPIO 擴(kuò)展器鍵盤和 LCD 演示板使用指南
深入解析MAX7320:I2C端口擴(kuò)展器的卓越之選
MAX7319 I2C端口擴(kuò)展器:功能特性與設(shè)計(jì)應(yīng)用解析
MCP454X/456X/464X/466X數(shù)字電位器:功能特性與應(yīng)用解析
Microchip MCP131X/2X電壓監(jiān)控器:設(shè)計(jì)與應(yīng)用的全面解析
MCP2502X/5X CAN I/O 擴(kuò)展器:功能特性與應(yīng)用指南
MCP2502X/5X:CAN I/O 擴(kuò)展器的詳細(xì)解析
MCP2502X/5X CAN I/O 擴(kuò)展器:功能、應(yīng)用與設(shè)計(jì)要點(diǎn)
揭秘MCP2502X/5X CAN I/O擴(kuò)展器:特性、功能與應(yīng)用全解析
TCA6418E:18通道GPIO擴(kuò)展器的詳細(xì)解析
汽車類低壓16位I/O擴(kuò)展器TCA9539-Q1:特性、應(yīng)用與設(shè)計(jì)要點(diǎn)
HTR3355 I2C和SMBus IO擴(kuò)展器產(chǎn)品詳解
MCP23X08/17 GPIO 擴(kuò)展器的獨(dú)特特性與應(yīng)用
評論