Embedded microprocessor projects built on Altera(Intel) FPGA Max10
This lab project will involve writing software that will be run by the NIOS II processor to service external event activity generated by the EGM module. To service these events the NIOS II processor will use two different methods: i) tight polling and ii) interrupts. While servicing these events the NIOS II processor will also be required to run background tasks.
The audio player must support .wav format audio files containing stereo audio with 16 bit audio samples.
- The audio must be read from a MicroSD card
- The audio output uses a standard head phone jack
- The hardware must include an LCD display that indicates the track number (as enumerated on the SD card) and the track title (filename) on the first line of the LCD display.
- The player must only display track titles (the filename) that are actual wav files indicated by the .wav extension.
- The audio played must be free of distortion
- User interface must function as described
- The Play/Pause button plays the currently selected track, as currently displayed on the LCD, if the player is stopped. The Play/Pause button pauses the track if the track is already playing. The Play/Pause button will continue to select the current track position if the player is paused and the audio must stop. This button must be de-bounced.
- The Stop button stops a currently playing track and resets the track position to the beginning of the track. If a track is paused, the Stop button resets the track position to the beginning of the track. This button must be de-bounced.
- The Previous button searches backwards through the tracks on the SD card, one track each time the button is pressed, and displays the current track name on the LCD if the button is pressed. Searching farther backward past the first track in the list should cause the last track to be displayed. If the button is pressed while a track is not playing (stopped or paused) then the player just moves to the start of the new track. If the button is pressed while a track is playing then the playing continues but it begins at the start of the new track. This button must be de-bounced.
- The Next button searches forwards through the tracks on the SD card (one track each time the button is pressed), and displays the newly searched track name on the LCD. Searching farther forward past the last track in the list should cause the first track to be displayed. If the button is pressed while a track is not playing (stopped or paused) then the player just moves to the start of the new track. If the button is pressed while a track is playing then the playing continues but it begins at the start of the new track. This button must be de-bounced.