大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是恩智浦i.MX RT1xxx系列上的XBAR外设

  得益于 Arm Cortex-M 内核的普及,现如今 MCU 厂商遍地开花,只要能取得内核授权,再去 OpenCores 开源网站或者直接第三方 IP 公司买一些通用的外设模块拼拼凑凑就能快速设计出一颗最基础的 MCU,但是这样的 MCU 在市场上显然竞争力不够,那么如何才能增加产品本身的竞争力呢?那就需要再给 MCU 附上独一无二的特性。

  恩智浦公司深耕半导体行业几十年,无数工程师呕心沥血设计出了非常多稳定又可靠的外设模块,其中既有行业通用的基础外设(即使是基础外设,也包含了独特功能),也有独属于恩智浦的"浪漫"外设,正是这些外设构筑起了恩智浦 MCU 的行业地位。

  如果要票选出恩智浦 MCU 里最“浪漫”外设,本文要介绍的 XBAR 必定会在入围名单里。本系列痞子衡将会带大家逐步深入探究 XBAR 模块,领略她的独特魅力。本文是第一篇,我们先来对她有个感性认识。

一、XBAR外设来源

  熟悉 i.MXRT 尤其是 RT1xxx 产品的朋友应该都知道该系列脱胎于 i.MX6 处理器平台,XBAR 是 RT1xxx 上必备外设,然而 XBAR 并不存在于 i.MX 上,看到这你可能以为 XBAR 是在 i.MX RT 上全新设计的,但其实并不是!

  如果你对恩智浦(尤其是飞思卡尔)足够了解,你会在 MC9S08 系列、MC56F8xxx 系列、Kinetis KV/KM 系列、S32 汽车平台、MPC5xxx 系列等多个产品上看到 XBAR 倩影,这其实是一个非常经典的外设。

  如果非要找出最早引入 XBAR 模块的产品,极有可能是十几年前飞思卡尔推出的 DSC 系列 MC56F82xx。DSC 产品主要面向电源转换、电机控制市场,产品内部有多通道 ADC 以及各种类型 Timer,从这里可以初步推测 XBAR 非常适用与这些外设配合使用。

二、什么是XBAR?

  XBAR 是 Inter-Peripheral Crossbar Switch 的简称,可以理解为是在指定的片内外设信号以及 I/O 之间加了一个交叉开关矩阵,可以自由地连接它们的输入输出。下图是最简单的 RT1010 上 XBAR 实现:

  黄色框图统称交叉开关网络,由 XBAR 和 AOI 组成,黄框左边是全部的输入信号源,右边是全部的输出信号。XBAR 的每个输出选项均可配置来自于任一输入源,此外同一输入源可以同时配置给多个输出信号。

  • Note:AOI 是 And-Or-Inverter 的缩写,也就是与非门,AOI 可以进一步丰富 XBAR 输入信号的组成形式。

  实际上这个整体系统框图已经可以让我们初步感受到 XBAR 的作用了,我们不妨大胆猜想 XBAR 如下应用场景,后续文章痞子衡将带大家逐一探索这些场景。

  • 场景1:将输入输出两端 I/O PAD 直连形成通路(注意可能会有传输延时)
  • 场景2:将 FlexPWM1 信号连到 I/O PAD 上(假设这个 I/O 本身不具备 FlexPWM 复用功能)
  • 场景3:将 PIT 信号连到 LPI2C/SPI/UART 模块定时触发传输
  • 场景4:将 ADC 数据送到 eDMA (多通道数据放在不同地址)
  • 场景5:将输入输出两端 eDMA 通道级联 (最多可实现4级)
  • 场景6:将外设触发信号连到 XBAR 中断(用于调试时观测)

  至此,恩智浦 i.MXRT1xxx 系列上的 XBAR 初步介绍痞子衡便介绍完毕了,掌声在哪里~~~

欢迎订阅

文章会同时发布到我的 博客园CSDN微信公众号知乎与非网电子技术应用AET电子星球51CTO 平台上。

微信搜索"痞子衡嵌入式"或者扫描下面二维码,就可以在手机上第一时间看了哦。

痞子衡嵌入式:恩智浦i.MX RT1xxx上特色外设XBAR那些事(1)- 初识的更多相关文章

  1. 痞子衡嵌入式:解锁i.MXRTxxx上FlexSPI模块自带的地址重映射(Remap)功能

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT三位数系列隐藏的FlexSPI Remap功能. 前段时间痞子衡写了一篇文章 <利用i.MXRT1060,1010上新 ...

  2. 痞子衡嵌入式:在i.MXRT1060-EVK上利用memtester程序给SDRAM做压力测试

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是在i.MXRT1060-EVK上利用memtester程序给SDRAM做压力测试. 我们知道恩智浦i.MXRT1xxx系列是高性能MCU ...

  3. 痞子衡嵌入式:实测i.MXRT1010上的普通GPIO与高速GPIO极限翻转频率

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1010上的普通GPIO与高速GPIO极限翻转频率. 上一篇文章 <聊聊i.MXRT1xxx上的普通GPIO与高速GP ...

  4. 痞子衡嵌入式:在i.MXRT1170上启动含DQS的Octal Flash可不严格设Dummy Cycle (以MT35XU512为例)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是Octal或Hyper Flash上DQS信号与Dummy Cycle联系. 关于在 i.MXRT 上启动 NOR Flash 时如何设 ...

  5. 痞子衡嵌入式:揭秘i.MXRT1170上串行NOR Flash双程序可交替启动设计

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1170上串行NOR Flash双程序可交替启动设计. 在上一篇文章 <i.MXRT1060/1010上串行NOR F ...

  6. 痞子衡嵌入式:聊聊i.MXRT1xxx上的普通GPIO与高速GPIO差异及其用法

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT上的普通GPIO与高速GPIO差异. GPIO 可以说是 MCU 上最简单最常用的外设模块了,当一些原生功能外设接口模块不能 ...

  7. 痞子衡嵌入式:揭秘i.MXRT1170上用J-Link连接复位后PC总是停在0x223104的原因

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1170上安全调试策略实现对JLink调试的影响. 痞子衡之前写过一篇旧文 <i.MXRT600的ISP模式下用J-L ...

  8. 痞子衡嵌入式:关于i.MXRT中FlexSPI外设lookupTable里配置Normal read的一个小误区

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT中FlexSPI外设lookupTable里配置Normal read的一个小误区. 关于串行四线NOR Flash,当其作 ...

  9. 痞子衡嵌入式:理解i.MXRT中FlexSPI外设lookupTable里配置访问行列混合寻址Memory的参数值

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT中FlexSPI外设lookupTable里配置访问行列混合寻址Memory的参数值. 关于 FlexSPI 外设的 loo ...

  10. 痞子衡嵌入式:高性能MCU之人工智能物联网应用开发那些事 - 索引

    大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家介绍的是高性能MCU之人工智能物联网应用开发相关知识. 恩智浦半导体2017年开始推出的i.MX RT系列跨界处理器,这种高性能MCU给嵌入式 ...

随机推荐

  1. Java接口-详解

    一.基本概念 接口(Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合.接口通常以interface来声明.一个类通过继承接口的方式,从而来继承接口的抽象方法. 如果一个类只由 ...

  2. 如何快速的开发一个完整的iOS直播app(搭建Socket即时通讯服务器)

    在直播中,聊天和发礼物,需要用到及时通讯技术,市面上的App大多数采用的都是第三方SDK,融云,环信等,但是本例子采用websocket搭建及时通讯服务器. 即时通讯 即时通讯(Instant mes ...

  3. Redis(3)---Redis事务|主从复制

    Redis事务 Redis 通过 MULTI .EXEC. DISCARD  和 WATCH 四个命令来实现事务功能. MULTI :标记一个事务块的开始. EXEC: 执行所有事务块内的命令. DI ...

  4. java代码之美(2)

    guava 复写Object常用方法 Guava 是一个 Google 的基于java1.6的类库集合的扩展项目,这个库提供用于集合,缓存,支持原语,并发性,常见注解,字符串处理,I/O和验证的实用方 ...

  5. 微信小程序音频播放

    微信小程序音频播放 // 开启播放音频 startAudio(){ const innerAudioContext = uni.createInnerAudioContext();//创建并返回内部 ...

  6. [python]png转webp的命令行工具

    前言 网页上使用webp格式的图片更加省网络流量和存储空间,但本地图片一般是png格式的,所以考虑用python的pillow库将png格式的图片转换为webp格式. 需求: 可以在系统任意地方调用. ...

  7. JMeter中使用嵌套变量方法

    JMeter中使用嵌套变量方法 在使用JMeter进行接口测试时,经常遇到需要动态生成变量名并引用其值的情况.在JMeter中,嵌套变量的使用可以帮助我们实现这一目标.本文将详细介绍如何在JMeter ...

  8. Spring单元测试(一)入门与实践

    问题:如何快速测试,而不是每次测试都要重启应用? 目标:尽量只测试局部代码 不同的测试 软件工程中分为:单元测试.集成测试.功能测试.系统测试.其中功能测试和系统测试一般是测试人员的责任,但单元测试和 ...

  9. docker - [15] springboot微服务打包docker镜像

    步骤: 1.构建Springboot项目 2.打包应用 3.编写dockerfile 4.构建docker镜像 5.发布运行 一.构建Springboot项目 (1)创建一个SpringBoot(以下 ...

  10. layui 点击链接复制内容到剪切板

    var tableObj = table.render({ id: 'list_table', elem: '#list_table', url: '', align: "center&qu ...