EVWSS Software Architecture for the ADSP-BF706 Blackfin+ Processors
The EVWSS software architecture is based on the ADSP-BF706 hardware architecture. The processor dependence on the hardware architecture is due to the memory mapped SPI. The CAN interface reads directly from the flash memory using memory mapped SPI. This feature reduces the complexity of the EVWSS library and makes the memory access efficient for warning sound generation.
The EVWSS software architecture consists of the components shown in Figure 4.
This section details the software components. The SPORT callback feature maps to the audio data sample rate and runs in the SPORT transceiver interrupt service routine (ISR) context, reading flash files (SPI memory mapped), performing audio manipulation using the EVWSS library, and sending out modified audio on the SPORT transceiver interface. The EVWSS library holds the different functions to synthesize the warning sound. The EVWSS library also receives vehicle speed input from the CAN stack (or the universal asynchronous receiver and transmitter (UART) interface for debugging). The TDA7803 driver controls the external power amplifier to generate the warning sound. The EVWSS application framework configures the system peripherals, CAN stack, and the TDA7803 driver.
EVWSS Library Functions
The following sections describe the functions of the EVWSS library. For full details, see the Electronic Vehicle Warning Sound System Release Notes, which can be found in the software download package.
Pitch shifting is the concept of shifting the spectrum of the audio signal based on a control input. In the EVWSS application, the base pitch of the WAV file is shifted depending on the vehicle speed input.
Frequency Modulation and Amplitude Modulation
The engine sound is dependent on the engine strokes, which include intake, compression, power (expansion), and exhaust. These strokes create frequency modulated tones instead of just pure tones. Vary the pitch shift parameter across the samples to achieve frequency modulation.
Two kinds of modulation (sawtooth and triangular) are included in this application. In sawtooth modulation, the frequency ramps from lowest to highest and then back to lowest with a jump. In triangular modulation, the frequency ramps from lowest to highest and then ramps back down to lowest.