imx6ull的IOMUX配置方法

前言

芯片包含数量有限的引脚,其中大多数具有多个信号选项。这些信号到引脚和引脚到信号选项由输入输出多路复用器选择称为IOMUX。IOMUX还用于配置其他引脚特性,例如电压电平、驱动强度和滞后。

imx6芯片利用IOMUX机制来解决引脚复用的问题,其引脚配置方法也有些复杂,它涉及到的寄存器有三类:

  1. PAD控制寄存器:全称SW_PAD_CTL_PAD_GPIO1_IO09,意为GPIO电气参数配置寄存器

  1. MUX控制寄存器:全名是SW_MUX_CTL_PAD_GPIO1_IO09,意为GPIO复用寄存器

  1. Select Input控制寄存器:输入选择寄存器

下面我以GPIO4_IO14这一引脚为例来简单说明:

1.查看原理图:

通过查看IMX6ULLRM.pdf文档,从Chapter 4 External Signals and Pin Multiplexing这一章节中可以看出

GPIO4_IO14这个引脚不止一个功能,因此要使GPIO4_IO14实现读取低电平的功能,需要对其进行配置

从核心板原理图上可以看出,GPIO4_IO14这个引脚默认是配置成NAND_CE1_B引脚(功能不详)。因此需要重新对这个引脚进行配置。

2.查看芯片手册,查找上述三个控制寄存器:

以NAND_CE1_B为索引进行搜索,可以查找到如下信息:

1)MUX控制寄存器为 IOMUXC_SW_MUX_CTL_PAD_NAND_CE1_B,查看descriptions:

可以观察到NAND_CE1_B对应的MUX控制寄存器为IOMUXC_SW_MUX_CTL_PAD_NAND_CE1_B,而ALT0-ALT8则分别对应了这个GPIO可以复用的功能,0x5对应的就是将GPIO4_IO14复用成GPIO4_IO14

  1. PAD控制寄存器为IOMUXC_SW_MUX_CTL_PAD_NAND_CE1_B,查看descriptions:

可以看到此寄存器是为NAND_CE1_B准备的。

3)Select Input控制寄存器为IOMUXC_UART3_RTS_B_SELECT_INPUT

可以看出GPIO4_IO14也不需要这个寄存器。

I.MX6ULL的IO作为GPIO 使用步骤

①、使能 GPIO 对应的时钟。

②、设置寄存器 IOMUXC_SW_MUX_CTL_PAD_XX_XX,设置 IO 的复用功能,使其复用为 GPIO 功能。

③、设置寄存器 IOMUXC_SW_PAD_CTL_PAD_XX_XX,设置 IO 的上下拉、速度等等。

④、第②步已经将 IO 复用为了 GPIO 功能,所以需要配置 GPIO,设置输入/输出、是否使用中断、默认输出电平等。

一、CCM Clock Controller Module (时钟控制模块)

想要使用GPIO第一步就是使能GPIO了,CCM就是一个时钟控制器在芯片手册下我们可以先找到他的位置如下。

1.先定位到IMX6ULLRM.pdf目录的第18章

2.找到CCM Clock tree

3.找到GPIOn

4.找到GPIOn后查看对应GPIO组

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值