Event System Overview
The Event System (EVSYS) is part of the SAM L10/L11 architecture, it allows autonomous, low-latency, and configurable communication between peripherals.
Several peripherals can be configured to generate and respond to signals known as events. The exact condition to generate an event or the action taken upon receiving an event is specific to each peripheral:
- Peripherals that respond to events are called event users
- Peripherals that generate events are called event generators
A peripheral can receive events from multiple generators, and generate events for multiple users.
Communication is made without CPU intervention and without consuming bus or RAM bandwidth. This reduces the load of the CPU and other system resources, compared to a traditional interrupt-based system.
Event System Features
- Eight configurable event channels:
- All channels can be connected to any event generator
- All channels provide a pure asynchronous path
- Four channels (CHANNEL0 to CHANNEL3) provide a resynchronized or synchronous path using their dedicated generic clock (GCLK_EVSYS_CHANNEL_n)
- 49 event generators
- 23 event users
- Configurable edge detector
- Peripherals can be event generators, event users, or both
- SleepWalking and interrupt for operation in Sleep modes
- Software event generation
- Each event user can choose which channel to respond to
- Optional Static or Round-Robin interrupt priority arbitration
- Each channel and each event user can be configured as secured or non-secured (SAM L11)
The following figures compare a system WITHOUT an Event System to a system WITH an Event System. The first figure shows that for a typical application, the CPU is quickly busy and overloaded, while in the second figure, the Event System, allows all the peripherals to interact without requiring CPU intervention until a relevant event occurs.
Refer to the related links to these peripherals at the page bottom to get more details and examples.
Animated GIF of a System WITHOUT Event System
Animated GIF of a System WITH Event System
Event Generator/ User (a few examples):
You will find several code examples for each peripheral listed in "Peripherals" section of the SAM L10/L11 Family Training.