i.MX6UL开发板 管脚复用的参数配置方法(PINMUX)

原创 2017-11-29 16:10:00 i.MX6UL开发板 管脚复用的参数配置方法(PINMUX)
  NXP Cortex-A7 i.MX6UltraLite 的外设资源非常丰富。但是,需要提醒大家的是,这些接口是不能同时使用的,为了提供芯片的性价比,CPU厂家引入了PINMUX的架构,简单说就是引脚存在复用,以上说的这些接口,只用了大约114个引脚,每个引脚最大可以有9种功能,每个功能有可以出现在不同的引脚上面。

本次开发使用的硬件平台为飞凌嵌入式OKMX6UL-C开发板(产品详情:www.forlinx.com/69.htm),其它板卡请酌情参考使用,具体实现操作步骤如下:

 

arch/arm/boot/dts/imx6ul-pinfunc.h中有

 

 

arch/arm/boot/dts/imx6ul-14x14-evk.dts中有

 

将管脚的配置展开即:0x0158  0x03E4 0x0000 1 0 0x1b0b1

 

      0x0158     |     0x 03E4     |     0x000 0        |      0x 1         |      0x0     |  0x1b0b1

---------------------------------------------------------------------------------------------------

mux_ctrl_ofs  |  pad_ctrl_ofs |  sel_input_ofs |  mux_mode   | sel_input  |  pad_ctrl

    

    以上参数在参考手册怎么确定的呢?

    下面LCD_DATA16复用为UART7_DCE_TX为例说明复用管脚参数配置的方法。

    注:下述参考手册为《IMX6ULRM.pdf》。

 

    对于复用管脚的配置,应该在手册管脚复用的章节IOMUXC)中查找。但是在确定pad name才方便,于是定义在 External Signals and Pin Multiplexing章节,搜索 MX6UL_PAD_LCD_DATA16__UART7_DCE_TX的中间部分 LCD_DATA16”可以直接跳转至LCD_DATA16引脚的寄存器章节。 

    其中mux_ctrl_ofs 0x0158,mux_mode为ATL1,如图:

 


       pad_ctrl_ofs 0x03E4,并根据此配置pad_ctrl 0x1b0b1(配置上拉电阻、频率等等),如图:

 

    

    input_ofs查找IOMUXC章节以SELECT_INPUT结尾的部分,中间选择UART7_DCE_RTS,如果没有这里sel_input_ofs=0x000即可,对应的sel_input为0即可。

    如果有例如MX6UL_PAD_ENET1_RX_ER__UART7_DCE_RTS,如下图,所以ENET1_RX_ER的sel_input_ofs=0x650。所以ENET1_RX_ERMX6UL_PAD_ENET1_RX_ER__UART7_DCE_RTSsel_input=0x1

 

 


 更多i.MX6UL信息请关注FETMX6UL-C核心板详情

相关产品 >

  • OKMX6UL-C开发板

    飞凌嵌入式专注imx6系列imx6ul开发板、飞思卡尔imx6ul核心板等ARM嵌入式核心控制系统研发、设计和生产,i.mx6UL系列产品现已畅销全国,作为恩智浦imx6ul,imx6ul开发板,i.mx6提供者,飞凌嵌入式提供基于iMX6 iMX6UL解决方案定制。

    了解详情
    OKMX6UL-C开发板
  • OKMX6ULL-C开发板

    40*29mm,双网双CAN,8路串口| i.MX6ULL开发板是基于NXP i.MX6ULL设计开发的的一款Linux开发板 ,主频800MHz,体积小,其核心板仅40*29mm,采用板对板连接器,适应场景丰富。 了解详情
    OKMX6ULL-C开发板

推荐阅读 换一批 换一批