i.MX8MP平台开发分享(IOMUX篇)- 硬件原理

这篇具有很好参考价值的文章主要介绍了i.MX8MP平台开发分享(IOMUX篇)- 硬件原理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

专栏目录:专栏目录传送门

平台 内核
i.MX8MP 5.15.71

1.前言

我们都知道,芯片包含数量有限的引脚,其中大部分有多种信号选择。这些信号到引脚和引脚到信号的选择是由输入输出多路复用器称为IOMUX。IOMUX也被用来配置其他引脚的特性,比如说电压水平和驱动强度等等。

2.IOMUX原理

以下面的MUX选项为例,Instance为芯片内部设备IP,Port为这个设备IP的引脚(在内部),Pad是芯片上我们能看到的引脚;Mode是指复用模式,最多支持8种复用模式。

i.MX8MP平台开发分享(IOMUX篇)- 硬件原理,i.MX8平台开发分享,嵌入式硬件,驱动开发,linux,freescale

IOMUX有四类寄存器,它们分别是mux控制寄存器、pad控制寄存器,input选择寄存器和GPR通用控制寄存器。

对于模块的引脚输出功能,参考红色的路径。对于一个MUX单元来说,有6个模块的引脚连接到这个MUX单元,它们可能是模块1,2,3…6这6个模块中的某一根引脚。这个MUX单元连接到唯一的PAD,这个PAD就是我们在芯片外部能看到的引脚。现在我们想要让模块1的引脚输出信号,会遇到哪些问题?下面我们按照信号流动方向往前推,从红色路径可以看到,首先是会遇到MUX单元,这里有6个信号混合,需要设置这个MUX寄存器让其选中输出我们想要的信号。现在这个PAD已经链接到了模块1的引脚,然后我们也许还需要配置这个输出引脚的上下拉和电压值,这个时候就需要配置PAD控制寄存器。最后我们想要的信号就从芯片内部走出来了。

i.MX8MP平台开发分享(IOMUX篇)- 硬件原理,i.MX8平台开发分享,嵌入式硬件,驱动开发,linux,freescale

对于模块的引脚输入功能,参考蓝色的路径。现在模块1想从上面相同的外部引脚获取输入信号,那么这个信号又该如何从芯片外部流入内部的模块1呢?首先会经过PAD,然后又会经过MUX单元(这里的MUX单元和上面是反向的),这里我们也还需要设置MUX寄存器,经过MUX单元后,会来到INPUT SELECT输入选择单元。对于这个输入选择单元来说,链接有多个模块引脚。我们则需要配置这个输入选择寄存器,选择数据输入的MUX单元。

上面的引脚输入功能,我们称之为菊花链。对于模块X的引脚输入,由INPUT SELECT输入选择寄存器控制输入源,这个输入源来自多个IOMUX单元,比如cell1,cell2和cell3都能将外部信号输入到模块X的输入引脚。

i.MX8MP平台开发分享(IOMUX篇)- 硬件原理,i.MX8平台开发分享,嵌入式硬件,驱动开发,linux,freescale

使用不同的PAD,对应不同的MUX控制寄存器。

PAD命名规则:IOMUXC_SW_PAD_CTL_PAD_,

MUX命名规则:IOMUXC_SW_MUX_CTL_PAD_

Input select寄存器命名规则比较复杂,一般是IOMUX___SELECT_INPUT ,例如RX引脚的输入选择寄存器就是IOMUXC_UART1_UART_RXD_MUX_SELECT_INPUT。

3. 寄存器实例:UART1_RX

下面以串口1的TX和RX引脚为例,对于TX引脚,可以选择三个PAD,UART1_RXD,SD1_CMD和SAI2_RXC;对于RX,可以选择UART1_TXD,SD1_CLK和SAI2_RXFS。

i.MX8MP平台开发分享(IOMUX篇)- 硬件原理,i.MX8平台开发分享,嵌入式硬件,驱动开发,linux,freescale

3.1 PAD: UART1_RXD

PAD电气属性控制寄存器:IOMUXC_SW_PAD_CTL_PAD_UART1_RXD,MUX控制寄存器:IOMUXC_SW_MUX_CTL_PAD_UART1_RXD。

3.2 PAD: SD1_CMD

PAD电气属性控制寄存器:IOMUXC_SW_PAD_CTL_PAD_SD1_CMD,MUX控制寄存器:IOMUXC_SW_MUX_CTL_PAD_SD1_CMD。

3.3 PAD: SAI2_RXC

PAD电气属性控制寄存器:IOMUXC_SW_PAD_CTL_PAD_SAI2_RXC,MUX控制寄存器:IOMUXC_SW_MUX_CTL_PAD_SAI2_RXC。

3.4 Input select

RX引脚的输入选择寄存器:IOMUXC_UART1_UART_RXD_MUX_SELECT_INPUT。

3.5 功能实现

以PAD SD1_CMD为例分析RX功能的实现过程,电气属性寄存器就不分析了,对于MUX控制寄存器来说,MUX_MODE应该选择100,

i.MX8MP平台开发分享(IOMUX篇)- 硬件原理,i.MX8平台开发分享,嵌入式硬件,驱动开发,linux,freescale

对于输入选择寄存器,DAISY应该选择001。

i.MX8MP平台开发分享(IOMUX篇)- 硬件原理,i.MX8平台开发分享,嵌入式硬件,驱动开发,linux,freescale

4.SION

IOMUX有一个有限的选项可以覆盖默认的焊盘功能,并强制输入路径激活(ipp_ibe==1’b1),而不考虑相应模块驱动的值。这可以通过设置SION(软件输入开)位来实现。IOMUXC_SW_MUX_CTL寄存器中的SION(软件输入开启)位(如果有的话)设置为 “1”。

使用场景:文章来源地址https://www.toymoban.com/news/detail-652139.html

  1. LoopBack - 模块x驱动PAD,同时接收PAD的值作为输入。
  2. GPIO捕获 - 模块x驱动垫子,值由GPIO捕获。

到了这里,关于i.MX8MP平台开发分享(IOMUX篇)- 硬件原理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux驱动开发 ST7789 LCD驱动移植(I.MX6ULL平台)

    前言 I.MX6ULL的板子未选配RGB的屏幕,无法在板子上进行GUI的开发调试,不过手头上有块控制器为ST7789V3的LCD屏幕(1.3inch),通过简易接线后可以很方便进行驱动的移植 如有异议,欢迎留言指正 ST7789 LCD控制器 ST7789是一款单芯片TFT-LCD控制器,支持并口与SPI通信方式 特性 控制器支

    2023年04月09日
    浏览(72)
  • 【3519DV500】AI算法承载硬件平台_2.5T算力+AI ISP图像处理_超感光视频硬件方案开发

    Hi3519DV500集成了高效的神经网络推理引擎,最高2.5Tops NN算力,支持业界主流的神经网络框架。神经网络支持完整的 API 和工具链,易于客户开发,升级 IVE 算子,支持特征点检测、周界、光流及多种计算机形态学算子;升级 DPU 算法实现双目深度图加速单元,最大分辨率 2048

    2024年02月03日
    浏览(40)
  • NXP i.MX 6ULL工业核心板硬件说明书( ARM Cortex-A7,主频792MHz)

    创龙科技SOM-TLIMX6U是一款基于NXP i.MX 6ULL的ARM Cortex-A7高性能低功耗处理器设计的低成本工业级核心板,主频792MHz,通过邮票孔连接方式引出Ethernet、UART、CAN、LCD、USB等接口。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。 SOM-TLIMX6U核心板板

    2024年02月16日
    浏览(28)
  • 【资料分享】基于NXP i.MX 8M Plus的异构多核核心板规格书

      创龙科技SOM-TLIMX8MP是一款基于NXP i.MX 8M Plus的四核ARM Cortex-A53 + 单核ARM Cortex-M7异构多核处理器设计的高端工业核心板,ARM Cortex-A53(64-bit)主处理单元主频高达1.6GHz,ARM Cortex-M7实时处理单元主频高达800MHz。处理器采用14nm最新工艺,内置2.3TOPS算力NPU神经网络处理单元、双路独立

    2024年02月10日
    浏览(32)
  • Vue+springboot舞蹈基础课程视频学习分享平台的实现和开发

    基于java语言设计并实现了舞蹈基础数据平台。该系统基于B/S即所谓浏览器/服务器模式,应用Springboot框架,选择MySQL作为后台数据库。系统主要包括首页、个人中心、用户管理、舞蹈类型管理、舞蹈视频管理、用户留言、管理员管理、系统管理等功能模块。 重点研究的,关键

    2024年02月07日
    浏览(45)
  • NXP i.MX 8M Mini工业核心板硬件说明书(四核ARM Cortex-A53 + 单核ARM Cortex-M4,主频1.6GHz)

    创龙科技SOM-TLIMX8是一款基于NXP i.MX 8M Mini的四核ARM Cortex-A53 + 单核ARM Cortex-M4异构多核处理器设计的高端工业级核心板,ARM Cortex-A53(64-bit)主处理单元主频高达1.6GHz,ARM Cortex-M4实时处理单元主频高达400MHz。处理器采用14nm最新工艺,支持1080P60 H.264视频硬件编解码、1080P60 H.265视频硬

    2024年02月11日
    浏览(38)
  • 电商数据抓取的几种方式分享-开发平台接口、网络爬虫数据、数据挖掘

    随着网络的普及,人们网络购物已然成为日常生活方式之一。电商们也是在不断壮大成长,各电商平台的数据量是越来越大。如何将电商大数据转化为能为我们所用的,给我们带来利益增长的工具呢?抓取电商数据是第一步,能够通过快速便捷低成本的方式获取电商数据,这

    2024年02月05日
    浏览(33)
  • 硬件课程设计:基于STM32的多功能播放器之MP3音乐播放

    3.1.1 设计思路         音乐播放是手机等电子产品最常见的功能,也是最具娱乐性的功能,在该模块中,我先从SD卡中读取已存放的MP3音乐文件,然后将读取的字节流依次送人VS1053中进行解码和播放,同时从VS1053相关的寄存器中读取音乐播放时间,在LCD上实时显示歌曲信息。

    2023年04月08日
    浏览(27)
  • 分享:win10使用 python 让 NVIDA GeForce MX250 显卡发挥余热,安装CUDA,cuDNN和PyTorch

    打开NVIDA更新驱动的官网地址 根据下图的选择,记得 Windows驱动程序类型 要选 标准 ,如图 点击搜索,下面就会列出一大堆的历史驱动,选择第一个,也就是最新的,当前是472.12,点开,再点下载,再点同意并下载,建议用EagleGet 下载完毕后,双击安装,会提示选择一个解压

    2024年01月22日
    浏览(40)
  • MP4如何转换成MP3格式?分享三个转换方法

    MP4和MP3都是常见的音频文件格式,但它们之间的主要区别在于MP4是一种视频文件格式,而MP3是一种音频文件格式。因此,如果您只需要MP4文件中的音频部分,可以将其转换为MP3格式以减小文件大小并使其更容易共享和播放。在本文中,我将分享三种方法将MP4转换为MP3。 方法一

    2023年04月26日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包