詳細介紹可參考《i.MX 6UltraLite Applications ProcessorReference Manual》第 26 章 General Purpose Input/Output (GPIO)(P1133)。
GPIO框圖
一、IOMUXC復用選擇器
1 在IOMUXC 外設中,MUX Mode 和 Pad Settings 寄存器命名格式如下:,每個引腳都包含這兩個寄存器
MUX_MODE指定引腳要配置成什么功能。Pad Settings指定引腳需要的配置(HYS 、PUS 、PUE、PKE、ODE、SPEED、DSE 及 SRE 的配置)
①PAD 引腳 框圖中右上角的 PAD 代表一個 i.MX6ULL 的引腳。
② 輸出緩沖區
當輸出緩沖區使能時,引腳被配置為輸出模式。在輸出緩沖區中,又包含了如下的屬性配置:
• DSE 驅動能力
DSE 可以調整芯片內部與引腳串聯電阻 R0 的大小,從而改變引腳的驅動能力。例如,R0 的初始值為 260 歐姆,在 3.3V 電壓下其電流驅動能力為 12.69mA,通過 DSE 可以把 R0 的值配置為原值的 1/2、1/3⋯1/7 等。
• SRE 壓擺率配置
• SPEED 帶寬配置
• ODE 開漏輸出配置
③ 輸入緩沖區
• HYS 滯后使能
• PUS 上下拉配置
PUS 可配置項可選為 100K 歐下拉以及 22K 歐、47K 歐及 100K 歐上拉。
• PUE 上下拉、保持器選擇
上下拉功能和保持器功能是二選一的,可以通過 PUE 來選擇。
• PKE 上下拉、保持器配置
上下拉功能和保持器還通過 PKE 來控制是否使能。
注意,當引腳被配置為輸出模式時,不管上下拉、保持器是什么配置,它們都會被關閉。
二、GPIO 外設
GPIO 模塊是每個 IO 都具有的外設,它具有 IO 控制最基本的功能,如輸出高低電平、檢測電平輸入等。框圖中 GPIO.DR、GPIO.GDIR、GPIO.PSR 等是指 GPIO 外設相關的控制寄存器。它們分別是數據寄存器、方向寄存器以及引腳狀態寄存器。
三、Block 外設功能控制塊
Block 是外設功能控制塊,例如具有 ENET 的數據接收功能的引腳,它就需要網絡外設 ENET 的支持,具有PWM 輸出功能的引腳,它需要 PWM 外設的支持,這些外設在芯片內部會有獨立的功能邏輯控制塊,這些控制塊通過 IOMUX 的復用信號與 IO 引腳相連。使用時通過 IOMUX 選擇具體哪個外設連接到 IO。
總結:IOMUXC下有兩個寄存器,一個用於配置引腳的復用功能,另外一個用於配置引腳的驅動能力、上下拉、帶寬等等引腳屬性。
GPIO 外設,這里的gpio是一種外設,和uart,spi,can一個級別。芯片上電后每個引腳有自己的默認復用功能,不一定都是gpio功能。
PAD,這里只具體的金屬管腳。