Motorola DSP56301 user manual Interrupts

Models: DSP56301

1 372
Download 372 pages 304 b
Page 113
Image 113

Data Transfer Methods

DSP56300 core does not execute any other code. Polling is the easiest transfer method since it does not require register initializations, but it is also the least efficient use of the DSP core.

Each peripheral has its own set of flags that can be polled to determine when data is ready to be transferred. For example, the ESSI control registers provide bits that tell the core when data is ready to be transferred to or from the peripheral. The core polls these bits to determine when to interact with the peripheral. Similar flags exist for each peripheral.

5.3.2Interrupts

Interrupts are more efficient than polling but require additional register initializations. Polling requires the core to remain busy checking a flag in a specified control register and therefore does not allow the core to execute other code at the same time. With interrupts, the programmer can initialize the interrupt so it is triggered off one of the same flags that can be polled so the core does not have to continuously check a flag. Once the interrupt is initialized and the flag is set, the core is notified to execute a data transfer. Until the flag is set, the core can remain busy executing other sections of code.

When an interrupt occurs, the core execution flow jumps to the interrupt start address defined in Table B-3in Appendix B, Programming Reference. It executes code starting at the interrupt address. If it is a short interrupt (that is, the service routine is two opcodes long), the code automatically returns to the original program flow after executing two opcodes with no impact to the pipeline. Otherwise, if a longer service routine is required the programmer can place a jump-to-subroutine (JSR) instruction at the interrupt service address. In this case, the program executes that service routine and continues until a return-from-interrupt (RTI) instruction executes. The execution flow then resumes at the position of the program counter before the interrupt was triggered. Configuring interrupts requires two steps:

1.Setting up the interrupt routine:

The interrupt handler is located at the interrupt starting address.

The interrupt routines can be short (only two opcodes long) or long (more than two opcodes and requiring a JSR instruction).

2.Enabling the interrupts:

b. Set the corresponding bits in the applicable peripheral control register.

c.Enable peripheral interrupts in the Interrupt Priority Register (IPRP).

d.Enable global interrupts in the Mode Register (MR) portion of the Status Register (SR).

Events that change bits in the peripheral control registers can then trigger the interrupt. Depending on the peripheral, two to six peripheral interrupt sources are available to the programmer.

Programming the Peripherals

5-3

Page 113
Image 113
Motorola DSP56301 user manual Interrupts

DSP56301 specifications

The Motorola DSP56301 is a highly efficient digital signal processor, specifically engineered for real-time audio and speech processing applications. This DSP is part of Motorola's renowned DSP56300 family, which is recognized for its innovative features and outstanding performance in the realm of digital signal processing.

One of the main features of the DSP56301 is its ability to handle complex computations at high speeds. With a maximum clock frequency of 66 MHz, it delivers fast performance, enabling it to process audio signals in real time. The chip is built on a 24-bit architecture, which allows for high-resolution audio processing. This is particularly beneficial in applications such as telecommunications, consumer audio devices, and professional audio equipment, where precision is paramount.

The DSP56301 boasts a comprehensive instruction set that includes efficient mathematical operations, which are essential for digital filters and audio effects processing. One of the key innovations of this device is its dual data path architecture, which permits simultaneous processing of multiple data streams. This feature significantly enhances the device's throughput and responsiveness, making it suitable for demanding applications such as voice recognition and synthesis.

In terms of memory regions, the DSP56301 includes several on-chip memory categories, such as program memory, data memory, and a specialized memory for coefficients. The architecture's support for external memory expansion further increases its versatility, allowing designers to tailor systems to their specific requirements.

The DSP56301 implements advanced features such as a powerful on-chip hardware multiplier and accumulator, simplifying complex mathematical tasks and accelerating the execution of algorithms. Its flexible interrupt system enhances its capability to respond to time-sensitive operations, while the integrated serial ports facilitate efficient data communication with external devices.

Power consumption is also a vital characteristic of the DSP56301. It is designed with energy efficiency in mind, allowing for extended operation in battery-powered devices. The chip’s low power requirements are particularly advantageous in portable audio devices and other applications where energy conservation is crucial.

In conclusion, the Motorola DSP56301 is an exceptional digital signal processor that combines high processing power, flexibility, and efficiency. Its main features, advanced technologies, and robust architecture make it a top choice for developers seeking to create sophisticated audio and signal processing systems. With its enduring legacy in the industry, the DSP56301 continues to be relevant in a variety of modern applications, ensuring it remains a valuable tool for engineers and designers.