① PAD:它代表了i.MX6ULL芯片的一个GPIO引脚。
② IOMUX复用选择器:与STM32的引脚复用功能类似,i.MX6ULL芯片的每个IO通过IOMUXC中的MUX寄存器和PAD寄存器设置,可以支持多种功能(如GPIO、IIC、USART...)。
③ Block外设功能控制块:例如具有PWM输出功能的引脚,它需要PWM外设的支持。
④ GPIO外设:GPIO模块是每个IO都具有的外设, 它是IO控制的基本功能, 如输出高低电平、 检测电平输入等。当需要使用引脚的GPIO功能时,就要配置GPIO外设中的各个寄存器(DR、GDIR、PSR...)。
⑤ 与其它引脚的连接:这里是另一个引脚PAD2,它与PAD1有一根信号线连接,表示部分引脚的输出可以作为另一个引脚的输入。
IOMUX由其左侧的IOMUXC提供寄存器给用户进行配置,它又分成MUX_Mode(IO 模式控制)以及Pad Settings(Pad 配置)两个部分:
① MUX_Mode配置:用来配置引脚的复用功能
② Pad Settings 配置:配置引脚的属性,例如驱动能力,是否使用上下拉电阻,是否使用保持器,是否使用开漏模式以及使用施密特模式还是CMOS模式等
在IOMUXC外设中关于MUX_Mode和Pad Settings寄存器命名格式如下: