element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Avnet Boards Forums
  • Products
  • Dev Tools
  • Avnet & Tria Boards Community
  • Avnet Boards Forums
  • More
  • Cancel
Avnet Boards Forums
MaaXBoard Hardware Design MaaxBoard-RT: XBAR demo - for you
  • Forum
  • Documents
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Avnet Boards Forums to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 0 replies
  • Subscribers 333 subscribers
  • Views 344 views
  • Users 0 members are here
  • gpio
  • MaaXBoard-RT
  • trigger
  • Maaxboard RT
  • cross connect
  • event
  • XBAR
Related

MaaxBoard-RT: XBAR demo - for you

tjaekel
tjaekel over 2 years ago

Another SDK project converted and extended: a demo what XBAR is and how to use it
(I tried to get familiar with XBAR, features and looking for more features to support on my project).

What is XBAR?

XBAR is a programmable "cross-connect matrix", used to route signals from - to.
It is used, for instances, as:

  • route an internal trigger/event signal to another trigger/event
  • route an internal trigger/event signal to a pin as output:
    Example: the demo shows how to setup a PIT (as 1 sec. interval timer) and to see the pulses generated every second on an output pin:
    get out an internal signal on a pin
  • use an input pin (not really as a GPIO, but an external signal on a pad/pin) and route this to a trigger/event input:
    you could do as: a GPIO pin starts a DMA
    use input pin as internal trigger
  • Even possible:
    route a GPIO pin as input to another as GPIO output:
    The XBAR works like a "cross connect", a "wire" to connect two pins. Yes, it works, even it is a "stupid" idea (an external wire would do the same and does
    not generate so much heat inside the chip). Yes, the chip can act like a "wire connect between two pins" (but just for pins which have an ALT function for ...XBAR_INOUTxx)

What does the demo project demonstrate?

  • it sets up a PIT with 1 sec. period
  • this generates a SW INT (see on Debug UART)
  • this signal is also an output on J1, pin 5 (see the pulses with a scope there) - an option to set in source code
  • it takes J1, pin 3 as an input and forwards it to J1, pin 5 as an output - see the same signal is "mirrored" - default, optional in source code
  • it takes J1, pin 3 as an input and forwards it to generate an internal INT (instead of the PIT) - an option to set in source code

What you CANNOT do

It is NOT possible to reroute functional signals, let's say LPSPIx_SCLK, LPSPIx_SDI, to other pins, e.g. SCLK should come out somewhere else or
SDI should be taken from another pin - NOT possible.

This assignment is done by the IOMUX (with the ALT settings). It is not possible reroute such signals (done via ALT settings on IOMUX, not related to XBAR).
So, you cannot "monitor" internal signals from peripherals or bring out a peripheral signal on another pin (or in parallel, e.g. for debugging/monitoring).

What is it used for?

It is mainly related to route events/triggers, to generate such ones. A SPI DMA finished could be such an event/trigger, but not the SPI signals itself.

It is useful for:

  • debugging: "was there an internal event/trigger generated?" (e.g. a DMA finished):
    monitor internal events/triggers with a scope
  • synchronize internal logic with external one: e.g. a DMA completed could be an output pulse, to stay in sync with MCU,
    or GPIO input starts a DMA...
  • as I understand: when it comes to use PWM signals - this XBAR block seems to be very important to use (to route PWM events as signals)
  • use GPIO pins to kick off a DMA, trigger other internal signals
    (GPIO INTs are possible with regular means, even it would be a second approach how to generate INTs from GPIO inputs)

The XBAR is a little bit for experts and for special features and needs.
Usually, there is no need to deal with the XBAR.

Project on GitHub

tjaekel/MaaxBoard-RT_xbara_cm7: MaaxBoard-RT using XBAR to route signals from/to pins (github.com)

  • Sign in to reply
  • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube