WESTERN WASHINGTON UNIVERSITY KENT SYKES 2009 Audio Field Recorder System Software Design
General System Design MCU-Freescale MCF51QE MHz Bus Frequency On-Chip Resources 128 kB Flash 8 kB RAM Memory Requirements 40 kb Flash 6 kB RAM Timeslice Kernel μ s Timeslice
Kernel Task Design Startup Task System Task Key Task LCD Task AudioData Task Codec Task
Startup Task Initialize system Period (max) Only run once Execution Time (max) ~100ms
System Task Provides user interface Calls LCD functions Determines system state Uses EFSL (embedded file systems library) to navigate files on the SD card Execution time (max) 30 μs Period (max) 100ms
Key Task Scans for key press Execution Time (max) 2.2 μs Period (max) 10ms
LCD Task Writes information to LCD display Execution Time (max) 2.5ms Period (max) 100ms
AudioData Task Loads or stores audio data from the SD card using the EFSL Library Maintains audio sample buffer Execution Time (max) 4ms Period (max) 5.8ms
Codec Task Control Codec function via IIC Get audio samples from the audio buffer in playback via modified SPI Send audio samples to the audio buffer in record mode via modified SPI Execution Time (max) 6 μs Period (max) μs
CPU Load Task NameExecution Time (max) Period (max)CPU Load (max) Startup Task100msRun once- System Task30 μs 100ms.0003 Key Task2.2 μs 10ms.0002 LCD Task2.5ms100ms.0250 AudioData Task4ms5.8ms.6900 Codec Task6μs6μs μs.2650 MAX CPU LOAD = 98%
Modules Module NameTasksPublic Functions and Data recorder.cStartup Task System Task AudioDataTask CodecTask PlayAudio(); RecordAudio(); StopAudio(); FfdAudio(); RwdAudio(); lcd.cLCDTaskAll LCD functions keypad.cKeyTaskNone iic.c-iicInit(); iicTransmit(); spi.c-InitSPI(); WriteSPI(); ReadSPI(); EFSL – Embedded File System Library © Lennart Ysboodt, Michael De Nil 2005