文章目录

  • 前言
  • 概述
  • INPUT X-BAR
  • ePWM X-BAR
  • CLB X-BAR
  • OUTPUT X-BAR
  • 参考文献

前言

X-BAR是TI新一代DSP中独特的功能,笔者认为如果想发挥DSP的全部性能,掌握其使用方法是必须的。在笔者看来,X-BAR像是一个信号路由器,将信号在GPIO与外设之间相互传递。比如将GPIO的输入信号路由到各个外设;再将外设的输出路由到GPIO进行输出。

在手册中,X-BAR的章节位于第九章,很靠前,可见其重要性。笔者猜测推出该功能的原因是因为新一代DSP的功能非常丰富,信号的传递变得非常复杂,需要有一个类似总线的东西,将所有外设挂在上面,实现信号的任意传递。

这部分内容在刚开始学280049C的时候完全不知所云,后来在学习其他外设之后才逐渐理解了其作用。X-BAR使用起来并不难,仅需几行代码就可以完成配置。
本文翻译了手册[1]有关章节的内容,希望对后来者有帮助。如有不妥之处还请大家指正。

概述

交叉开关(在本文档中称为X-BAR)为在各种外设中连接设备输入、输出和内部资源提供了灵活性。总共包含三个X-BAR:Input X-BAR、Output X-BAR和ePWM X-BAR。每个X-BAR都是根据它们接收信号的位置来命名的。例如,Input X-BAR将外部信号“输入”到设备。Output X-BAR将内部信号“输出”到GPIO。ePWM X-BAR接收信号并将其带到ePWM模块。

在该设备上,输入X-BAR用于将信号从GPIO路由到许多不同的IP块,如ADC、eCAP、ePWM和外部中断。输入X-BAR可以访问每个GPIO,并且可以将每个信号路由到前面提到的任何(或多个)IP块。AIOs的数字输入也可以在输入X-BAR上找到。这种灵活性可以减轻器件对外设muxing的一些限制,将功能拓展到任意GPIO引脚。需要注意的是,在GPIO mux上选择的功能不会影响输入X-BAR。输入X-BAR将输入缓冲区上的信号简单地连接到选定的目的地。因此,您可以执行诸如将一个外设的输出路由到另一个外设(比如使用eCAP测量ePWM的输出以进行频率测试)。

INPUT X-BAR

通过INPUTxSELECT寄存器配置输入X-BAR。每个输入的可用IP目的地如图9-1所示。

ePWM X-BAR

ePWM X-BAR向ePWM模块发送信号。具体地说,ePWM X-BAR连接到每个ePWM模块的数字比较Digital Compare (DC)子模块,用于诸如tripzones和syncing之类的动作。请参阅ePWM章节,以了解更多有关DC子模块使用的其他方式的信息。图9-5显示了ePWM X-BAR的体系结构。值得注意的是,ePWM X-BAR的体系结构与输出X-BAR的体系结构相同(除了输出锁存器)。

ePWM X-BAR有八个输出,它们被路由到每个ePWM模块。图9-2表示单个输出的架构,但它与所有其他输出的架构相同。

首先,参考表9-2确定应传递给ePWM的信号。您可以为每个TRIPx输出选择最多一个信号(总共32个mux)。通过TRIPxMUX0TO15CFG和TRIPxMUX16TO31CFG寄存器选择每个mux的输入。为了将任意信号传递给ePWM,还必须在TRIPxMUXENABLE寄存器中使能mux。所有已启用的mux在被传送到ePWM上的相应TRIPx信号之前,都将在逻辑上取或。也可以选择通过TRIPOUTINV寄存器反转信号。
表格参加手册。

CLB X-BAR

CLBX-BAR向CLB模块发送信号。图9-5显示了CLBX-BAR的体系结构。值得注意的是,CLB X-BAR的体系结构与输出XBAR的体系结构相同(除了输出锁存器)。
CLB X-BAR有八个输出,它们被路由到每个CLB模块。图9-3表示单个输出的体系结构,但它与所有其他输出的体系结构相同。

首先,参考表9-3确定应传递给CLB的信号。对于每个AUXSIGx输出,您最多可以为每个mux选择一个信号(总共31个mux)。通过AUXSIGxMUX0TO15CFG和AUXSIGxMUX16TO31CFG寄存器选择每个mux的输入。为了将任何信号传递给CLB,还必须在AUXSIGxMUXENABLE寄存器中使能mux。所有已启用的mux在被传递到CLB上的相应AUXSIGx信号之前都将被逻辑取或。您也可以选择通过AUXSIGOUTINV寄存器反转信号。
表格参见手册。

OUTPUT X-BAR

GPIO输出X-BAR从设备内部接收信号并将其输出到GPIO。图9-5显示了GPIO输出X-BAR的体系结构。表9-4中列出了可提供给GPIO的信号。X-BAR包含八个输出,每个输出将包含GPIO mux上的至少一个位置,表示为OUTPUTXBARx。X-BAR允许选择单个信号或最多32个信号的逻辑或。
输出X-BAR有八个输出,它们被路由到GPIO模块。图9-4表示单个输出的体系结构,但它与所有其他输出的体系结构相同。值得注意的是,输出X-BAR的架构(除了输出锁存)与ePWM X-BAR的架构相同。

首先,参考表9-4确定应传递给GPIO的信号。您可以为每个输出xBarx输出选择每个mux最多一个信号(总共32个mux)。通过OUTPUTxMUX0TO15CFG和UTPUTxMUX16TO31CFG寄存器选择输入。

为了将任意信号传递给GPIO,还必须在OUTPUTxMUXENABLE寄存器中启用mux。所有已启用的mux在被传递到GPIO模块上的相应OUTPUTx信号之前,都将在逻辑上取或。您也可以选择通过OUTPUTINV寄存器反转信号。只有通过GpioCtrlRegs.GPxMUX和GpioCtrlRegs.GPxGMUX寄存器选择正确的OUTPUTx muxing选项,才能在GPIO上看到该信号。

参考文献

  1. TMS320F28004x Microcontrollers Technical Reference Manual

TMS320F280049C 学习笔记21 交叉开关 Crossbar (X-BAR)相关推荐

  1. TMS320F280049C 学习笔记31 控制率加速器 CLA 学习随笔

    文章目录 前言 文献阅读记录 整数比较时的注意点 参考文献 前言 去年在入门DSP的时候曾对控制率加速器(Control Law Accelerator, CLA)做过初步的学习[1][2],但后来的 ...

  2. TMS320F280049C 学习笔记19 可配置逻辑块 (CLB) 软件配置

    文章目录 CLB tool 简介 CLB配置过程概述 软件安装 GNU Compiler Install the Simulation Viewer 使用CLB tool 导入空CLB工程 更新变量路 ...

  3. 区块链学习笔记21——ETH智能合约

    区块链学习笔记21--ETH智能合约 学习视频:北京大学肖臻老师<区块链技术与应用> 笔记参考:北京大学肖臻老师<区块链技术与应用>公开课系列笔记--目录导航页 智能合约简介 ...

  4. 影像组学视频学习笔记(21)-影像组学常用软件推荐、Li‘s have a solution and plan.

    本笔记来源于B站Up主: 有Li 的影像组学系列教学视频 本节(21)主要介绍: 压箱底的好用软件推荐 [注]:李博士主要从事脑神经领域的研究,所以部分软件具有专业性. dicom到nifti的格式转 ...

  5. Android学习笔记21:ImageView获取网络图片

    Android平台有3种网络接口可以使用,它们分别是:java.net.*(标准java接口).org.apache(Apache接口)和android.net.*(Android网络接口).本文将使 ...

  6. opencv学习笔记21:直方图和掩膜 原理及其应用

    直方图概念 如图:下面黑色图为上面图的直方图 横坐标:图像中各个像素点的灰度级 纵坐标:具有该灰度级的像素个数. 归一化直方图 横坐标:图像中各个像素点的灰度级 纵坐标:出现该灰度级的概率. DIMS ...

  7. PyTorch学习笔记(21) ——损失函数

    0. 前言 本博客内容翻译自纽约大学数据科学中心在2020发布的<Deep Learning>课程的Activation Functions and Loss Functions 部分. ...

  8. HFSS学习笔记 21 扫频分析

    HFSS学习笔记之扫频分析-----------锋锋的快乐小窝 通过求解设置,可以对模型结构进行自适应网格剖分,并计算指定的网络剖分频率点处的 S S S参数和场解 b如果需要分析或计算某个频段范围内 ...

  9. cs224w(图机器学习)2021冬季课程学习笔记21 Scaling Up GNNs to Large Graphs

    诸神缄默不语-个人CSDN博文目录 cs224w(图机器学习)2021冬季课程学习笔记集合 文章目录 1. 介绍scale up GNN问题 2. GraphSAGE Neighbor Samplin ...

  10. 学习笔记(21):Python网络编程并发编程-队列的使用

    立即学习:https://edu.csdn.net/course/play/24458/296433?utm_source=blogtoedu 队列和管道 1.存在的意义: 1)在前面的笔记中,使用j ...

最新文章

  1. Makefile 使用总结
  2. body区域怎么传一个数组_用户输入的虎狼之词,怎么校验之后不见了?
  3. Redis:19---常用功能之(HyperLogLog)
  4. selenium python实例录制运行_WEB自动化测试工具selenium录制器使用笔记
  5. UVA494 Kindergarten Counting Game
  6. Google 作恶!99.9% 的 Android 手机 App 都在窃取隐私
  7. Spring管理hibernate的事务的方法
  8. 非专业人士观点(3)不要假如
  9. 极速理解设计模式系列:24.解释器模式(Interpreter Pattern)
  10. 鸟哥的Linux私房菜知识点总结(持续更新中)
  11. 厦门大学计算机科学与技术学院官网,罗晔-厦门大学计算机科学系
  12. 好用的电台APP推荐|这些年,陪伴我上下班的声音
  13. 156 13.67用matlab答案,matlab数学实验习题全部答案(胡良剑)
  14. MySQL大表DDL工具gh-ost
  15. Android开发AndroidStudio与eclipse安装与使用
  16. 商品后台管理系统(项目一)
  17. 刘知远 | 语义表示学习
  18. , customer[,-c(10,13,20)] r语言,R语言
  19. Nginx 最大连接数配置
  20. Jenkins使用Multiple SCMs插件或者Pipline Scripts实现多仓库的发布

热门文章

  1. Excel如何删除空白行
  2. 一周9本上榜新书推荐:软件调试、机器学习成为本周最亮的星
  3. 【Tensorflow2.0】8、tensorflow2.0_hdf5_savedmodel_pb模型转换[2]
  4. 在ubuntu创建快捷方式
  5. Go初体验-实现平方根函数
  6. Select at least one project的解决方法
  7. 分布式系统的阿喀琉斯之踵:数据一致性!
  8. Apache POI Word中复制表格
  9. .ico 图标下载网站推荐
  10. 计算机的此电脑管理出错了,win10重置此电脑出现问题怎么处理_win10重置初始化失败解决方法...