痞子衡嵌入式:恩智浦i.MX RT1xxx上特色外设XBAR那些事(1)- 初识
大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家介绍的是恩智浦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)- 初识的更多相关文章
- 痞子衡嵌入式:解锁i.MXRTxxx上FlexSPI模块自带的地址重映射(Remap)功能
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT三位数系列隐藏的FlexSPI Remap功能. 前段时间痞子衡写了一篇文章 <利用i.MXRT1060,1010上新 ...
- 痞子衡嵌入式:在i.MXRT1060-EVK上利用memtester程序给SDRAM做压力测试
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是在i.MXRT1060-EVK上利用memtester程序给SDRAM做压力测试. 我们知道恩智浦i.MXRT1xxx系列是高性能MCU ...
- 痞子衡嵌入式:实测i.MXRT1010上的普通GPIO与高速GPIO极限翻转频率
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1010上的普通GPIO与高速GPIO极限翻转频率. 上一篇文章 <聊聊i.MXRT1xxx上的普通GPIO与高速GP ...
- 痞子衡嵌入式:在i.MXRT1170上启动含DQS的Octal Flash可不严格设Dummy Cycle (以MT35XU512为例)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是Octal或Hyper Flash上DQS信号与Dummy Cycle联系. 关于在 i.MXRT 上启动 NOR Flash 时如何设 ...
- 痞子衡嵌入式:揭秘i.MXRT1170上串行NOR Flash双程序可交替启动设计
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1170上串行NOR Flash双程序可交替启动设计. 在上一篇文章 <i.MXRT1060/1010上串行NOR F ...
- 痞子衡嵌入式:聊聊i.MXRT1xxx上的普通GPIO与高速GPIO差异及其用法
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT上的普通GPIO与高速GPIO差异. GPIO 可以说是 MCU 上最简单最常用的外设模块了,当一些原生功能外设接口模块不能 ...
- 痞子衡嵌入式:揭秘i.MXRT1170上用J-Link连接复位后PC总是停在0x223104的原因
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT1170上安全调试策略实现对JLink调试的影响. 痞子衡之前写过一篇旧文 <i.MXRT600的ISP模式下用J-L ...
- 痞子衡嵌入式:关于i.MXRT中FlexSPI外设lookupTable里配置Normal read的一个小误区
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT中FlexSPI外设lookupTable里配置Normal read的一个小误区. 关于串行四线NOR Flash,当其作 ...
- 痞子衡嵌入式:理解i.MXRT中FlexSPI外设lookupTable里配置访问行列混合寻址Memory的参数值
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是i.MXRT中FlexSPI外设lookupTable里配置访问行列混合寻址Memory的参数值. 关于 FlexSPI 外设的 loo ...
- 痞子衡嵌入式:高性能MCU之人工智能物联网应用开发那些事 - 索引
大家好,我是痞子衡,是正经搞技术的痞子.本系列痞子衡给大家介绍的是高性能MCU之人工智能物联网应用开发相关知识. 恩智浦半导体2017年开始推出的i.MX RT系列跨界处理器,这种高性能MCU给嵌入式 ...
随机推荐
- 一篇解决编译原理大作业,基于Flex、Bison设计编译器(含语法分析树和符号表)
1.工具简单介绍 Flex 和 Bison 是编译器开发中常用的两个工具,分别用于生成词法分析器和语法分析器.它们通常一起使用,共同完成源代码的词法分析和语法分析工作. Flex: Flex通过读取一 ...
- C# 文件分割和文件合并
C# 文件分割和文件合并 void SplitFile() { string sourceFile = "Old.mp4"; // 源文件路径 string outputFile1 ...
- 分布式事务-XA-DTP-TCC-BASE介绍
前言 数据库事务(简称:事务,Transaction)是指数据库执行过程中的一个逻辑单位,由一个有限的数据库操作序列构成. 事务拥有以下四个特性,习惯上被称为 ACID 特性: 原子性(Atomici ...
- HTTP方法-GET对比POST
什么是 HTTP ? 超文本传输协议(HTTP)的设计目的是保证客户端与服务器之间的通信. HTTP 的工作方式是客户端与服务器之间的请求-应答协议. web 浏览器可能是客户端,而计算机上的网络应用 ...
- runoob-scipy(python)
https://www.runoob.com/scipy/scipy-tutorial.html SciPy 教程 SciPy 是一个开源的 Python 算法库和数学工具包. Scipy 是基于 N ...
- 使用badboy配合jmeter测试(详细)
工具 badboy2.2.5 jmeter 5.4.1 两个工具都必须是最新版,否则jmeter打开脚本的时候会报错 1.首先打开badboy,首页如下图 2.进入后就开始自动录制脚本,可以输入要测 ...
- 分圆多项式(cyclotomic polynomial)
最近论文中经常遇到分圆多项式,现在系统的学习一下! 本原单位根 之前介绍n次单位根,现在详细学习一下n次本原单位根(n-th primitive unit root) 一个复数是n次单位根,当且仅当具 ...
- fopen在VS中不安全的问题
问题 fopen函数哎VS中使用,报错: error C4996: 'fopen': This function or variable may be unsafe. Consider using f ...
- 一组开源、免费、Metro风格的 WPF UI 控件库 - MahApps.Metro
前言 今天大姚给大家分享一个开源.免费.Metro风格的 WPF UI 控件库:MahApps.Metro. 项目介绍 MahApps.Metro 是一个开源.免费.Metro风格的 WPF UI 控 ...
- VM1038:1 (in promise) MiniProgramError {"errMsg":"navigateTo:fail webview count limit exceed"} Object解决办法
在跳转的时候,出现这,有的时候回出现,有的时候不会出现: VM1038:1 (in promise) MiniProgramError {"errMsg":"naviga ...