EENG 383

Lab 10 - Audio recording and playback

Lab: 10
Status Live

InLab 10

Some self guided activities.

Lab 10 assignment

Create an embedded system that plays an audio recording stored on an SD Card. You program should store either a pure sine wave or an audio recording from a microphone sampled at a user adjustable rate (default to 100µs).

Software

At start-up your program should present a splash screen - this would be a great place for some ascii art. The splash screen should also contain connection instruction for the development board; for this assignment tell the user there are no jumpers to install! When you press "?" at the terminal you should be greeted with the following menu.
-------------------------------------------------
    Play length in blocks: 0
    sdCardAddress: 0000:0000
    sample rate: 100us
-------------------------------------------------
?: help menu
o: k
Z: Reset processor
z: Clear the terminal
-------------------------------------------------
i: Initialize SD card
-------------------------------------------------
a/A: decrease/increase read address
r: read a block of 512 bytes from SD card
1: write perfect 26 value sine wave to 128 blocks
-------------------------------------------------
s: spool memory to a csv file
-------------------------------------------------
+/-: Increase/Decrease the sample rate by 10 us
P: Play from SD card to PWM -> LPF -> Audio
W: Write microphone => SD card 
-------------------------------------------------
The header of the help menu should display the following status information about the record/playback system. The menu system has the following functions: