Interrupts are an important part of any embedded application. They free the CPU from having to continuously poll the occurrence of a specific event and, instead, notify the CPU only when that event occurs. In system-on-chip (SoC) architectures, such as PSoC 3 and PSoC 5, interrupts are frequently used to communicate the status of the different on-chip peripherals to the CPU.
Unique Features of PSoC 3 and PSoC 5 Interrupts
PSoC 3 and PSoC 5 provide the following enhanced interrupt features that are not supported by the other traditional microcontrollers:
- Configurable Interrupt Vector Address: In PSoC 3 and PSoC 5, you can dynamically configure the interrupt vector address. The CPU execution can be directly branched to any ISR code when the interrupt occurs. In traditional microcontrollers, the interrupt vector address is fixed for each interrupt line. Typically, a JUMP instruction is placed in that fixed address to branch the CPU execution to the actual ISR code. This unique feature reduces the interrupt execution latency in PSoC 3 and PSoC 5 compared to the traditional microcontrollers.
- Flexible Interrupt Sources:In traditional microcontrollers, the interrupt source is fixed for each interrupt line. PSoC 3 and PSoC 5, give you the flexibility to choose the interrupt source for each interrupt line. This flexible architecture enables any digital signal to be configured as an interrupt source.
Interrupt Support in PSoC Creator
PSoC Creator supports interrupts by providing them as a component. The Interrupt component is available under the System tab in the Component Catalog window as shown infigure below. Each instance of the interrupt component is an interrupt line. The interrupt source should be connected to the interrupt component in the schematic.
For more information on interrupts in PSoC3 and PSoC5, please refer Application note AN54460 PSoC3 and PSoC5 Interrupts, which introduces you to the interrupt architecture, and explains the support for interrupts in the PSoC Creator Software, the development tool for PSoC 3 and PSoC 5. Advanced interrupt concepts such as handling re-entrant functions and fixed function interrupts are also explained in detail. Code examples are provided to explain the different use cases of interrupts. Please access the application note webpage for document and zip file containing the example projects.