Troy Davis Caitlin Smart

Slides:



Advertisements
Similar presentations
AD-340 Universal Audio Delay Processor Compatible with Analog and a wide range of Digital Audio formats SPDIF (digital audio) input and output and Stereo.
Advertisements

SERENADE MP3 PLAYER The Hardware Perspective By: Jacob Messick, Marcel Deslauriers, Brendan Simpson, & Nick Miller.
LOGO Lab Supervisor – Dr. WH Lau EE3271 Design Laboratory.
By: Russ Butler ECE4220 Spring 2012 Dr. DeSouza May 2, 2012.
Proximity Sensor Theremin Khoa Nguyen Walter Hudson Dennis Gilbert G. Hewage Thushara.
Digital Audio Agenda Digital Audio Concepts  What’s it all about Creating Audio  Equipment Demos and practice time  Best way to learn = explore  Guides.
Smart EQ Digital Stereo Equalizer Dustin Demontigny David Bull.
TEAM SYNTH: Design Proposal EE 41430, Fall 2007 John Simmons William Andrews Angela McKenzie.
Railway Foundation Electronic, Electrical and Processor Engineering.
Getting the O in I/O to work on a typical microcontroller Activating a FLASH memory “output line” Part 1 Main part of Laboratory 1 Also needed for “voice.
Railway Foundation Electronic, Electrical and Processor Engineering.
Wireless Digital Audio Transmission Senior Design Project Summer 2002 E. Donnelly, K. Khan, S. Owen D. Choy Dr. H. Lam.
Practical Electronics & Programming
1-1 NET+OS Software Group Flash API Multiple flash memory bank support New Flash API introduction Detailed Flash API Function presentation Supporting.
GameBoy Advance Programming Sound. Sound Basics The Digital Process A / D Fs D / A Sound pressure fluctuations Analog voltage Digital voltage Sampling.
CDR- Digital Audio Recorder/Player Brian Cowdrey Mike Ingoldby Gaurav Raje Jeff Swetnam.
Presenter: Wan Qi Choo.  A music synthesizer that uses the 8x8 grid of 64 buttons as its user interface to produce sound and emit light.  3 music playing.
First ideas for the Argontube electronics Shaper, simulations Block Diagram for analog path Delta Code Data Reduction Bus system, Controller Max.
Features of the new Alibava firmware: 1. Universal for laboratory use (readout of stand-alone detector via USB interface) and for the telescope readout.
Senior Design Project “ MP3 Player ” Brian P. Allen Zeeshan A. Khan Jerry T. Koshy.
Alexei SemenovGeneric Digitizer Generic Digitizer 10MHZ 16 bit 6U VME Board.
Introduction to the C6713 Laurier Boulianne
Present Uses of the Fermilab Digital Signal Receiver VXI Module Brian Chase,Paul Joireman, Philip Varghese RF Embedded Systems (LLRF) Group.
09/02/20121 Delay Chip Prototype & SPI interface Joan Mauricio La Salle (URL) 15/02/2013.
Microcontrollers, Microcomputers, and Microprocessors
Sound. Sound Capture We capture, or record, sound by a process called sampling: “measuring” the sound some number of times per second. Sampling rate is.
Timing Board FPGA. Use existing IP version until firmware is ported to new FPGA FPGA Existing IP Carrier UCD Digital I/O TSG Timing Board.
The Rhythm Jogger Kevin Nichols Kai Hsu Peter Liang Rhythm Jogger Just four easy payments of $9.99!!!
Lecture 2 - Digital Audio Mike Wirthlin. Digital Audio 2 Digital Audio Architecture CODEC Controller CODEC Controller: Controls the operation of the CODEC.
J5 소개 및 Control Function - 보안 금융단말기 탑재가능 -TV out -Mute -TV mode (NTSC/PAL) -Language Support (Korean/English/Japanese) -Lyric Alignment -LCD Backlight.
80C51 Block Diagram 1. 80C51 Memory Memory The data width is 8 bits Registers are 8 bits Addresses are 8 bits – i.e. addresses for only 256.
Real time DSP Professors: Eng. Diego Barral Eng. Mariano Llamedo Soria Julian Bruno.
VS1003 MP3/WMA AUDIO CODEC. Specification  Decoder  MP3/WMA/MIDI  Encoder  IMA ADPCM(WAV)  MP3 and WAV Streaming  SPI Interface  VS_DSP  Low power.
1 4-Integrating Peripherals in Embedded Systems. 2 Introduction Single-purpose processors  Performs specific computation task  Custom single-purpose.
DaVinci Overview (features and programming) Kim dong hyouk.
Computer is a general-purpose device that can be programmed to carry out a set of arithmetic or logical operations automatically. Since a sequence of.
16Channels Mixing Console With Effect
Sound and music.
Chip Config & Drivers – Required Drivers:
DIN Rail Music Player HDL-MZDN.432A.
ECE 492 Capstone Design: Multi-Effect Guitar
NFC Sensor System ECE Winter 2015
Network Controllable MP3 Player
Brady Thornton & Jason Brown (Group 12)
DIN Rail Music Player HDL-MZDN.432A.
Sound Card A sound card (also referred to as an audio card) is a peripheral device that attaches to the ISA or PCI slot on a motherboard to enable the.
Sound Card A sound card (also referred to as an audio card) is a peripheral device that attaches to the ISA or PCI slot on a motherboard to enable the.
Chapter 3 General-Purpose Processors: Software
Troy Davis and Caitlin Smart
80C51 Block Diagram ECE Overview.
Getting Started When you enter the Bridgit meeting it is a good idea to run the Audio Setup Wizard . Go to Menu and pull-down to Options. Click on Audio.
ECE 477 Design Review Team 12  Spring 2007
Networked Embedded Systems Sachin Katti
Voice Manipulator Department of Electrical & Computer Engineering
ABC130: DAQ Hardware Status Matt Warren et al. Valencia 3 Feb 2014
Andrew mortallero, Irene ng January 23, 2014
Multimedia: Digitised Sound Data
Analogue & Digital.
AQA GCSE 7 Electronic systems processing Design and Technology 8552
ARM Cortex-M4 Combines DSP and microcontroller features
Ultra-High Performance Low-Power Audio Recorder
Laser Harp Picture retrieved from:
CSCI1600: Embedded and Real Time Software
Network Controllable MP3 Player
ECE Computer Engineering Design Project
Electrical traditional Chinese Instrument - Xun
Nicole Stodola, Chris Pederson and Gerry Finlay
DRUM ANYWHERE ECE 492 Group 4 Jake Davidson - Justin Ferris - Kelvin Liang - Shivansh Singla.
Serial Peripheral Interface Bus
Nicole Stodola, Chris Pederson and Gerry Finlay
Presentation transcript:

Troy Davis Caitlin Smart Step Counter Music DJ Troy Davis Caitlin Smart

Responsibilities Most of the development will be shared Troy will responsible for interfacing the SD card as well as MP3 player system integration Caitlin will be in charge of the accelerometer and updating song selection based on the runner’s pace

Motivation and Functionality Have a song automatically selected for you that matches your jogging pace Accelerometer to measure steps MP3s from SD card Provide all regular MP3 player functionality

Design Decode MP3s from SD card and choose a song with similar BPM as joggers pace Will have two tasks: one that polls accelerometer and one that plays MP3s Audio codec & accelerometer interface via I²C

Reusable Design Elements FPGA cores I²C interface (via opencores.org) WM8731 controller (via Altera) C code Drivers from I²C and WM8731 via their respective sources Libraries LIBMAD MPEG audio decoder library

Design Challenges Getting the audio codec to send input from audio source to a speaker output Decoding MP3s in real time

Code // audio_ctrl.c #include "audio_ctrl.h" #include "io.h" #include <unistd.h> void i2c_write(unsigned char i2c_address, unsigned short data ); int audio_codec_write_ctrl( unsigned char reg_addr, unsigned short data ) { unsigned char first_byte, second_byte; unsigned short i2c_complete_data_word; // First byte contains the reg address and bit 8 of the data // This is a weird requirement of the audio codec chip first_byte = ( reg_addr << 1 ) | (( data >> 8 ) & 0x1 ); // Second byte contains bits 7:0 of the data second_byte = data & 0xFF; i2c_complete_data_// The address of the audio codec is always 0x1A // TODO: Make this a define. word = ( first_byte << 8 | second_byte ); i2c_write( AUDIO_CODEC_I2C_ADDRESS, i2c_complete_data_word ); return( 0 ); }

int audio_codec_init_i2c( alt_audio_codec* audio_codec ) {   disable_audio_codec_controller( audio_codec ); reset_audio_codec_controller( audio_codec ); //  audio_codec_set_headphone_volume( audio_codec, 0 ); // Initialize the audio codec chip. audio_codec_write_ctrl(AUDIO_CTRL_REG_RESET,0x000);  //RESET audio_codec_write_ctrl( AUDIO_CTRL_REG_DIG_PATH_CTRL, 0x008 );  // Digital audio path: DAC soft mute on, De-emphasis off audio_codec_write_ctrl( AUDIO_CTRL_REG_POWER_DOWN, 0x0E7 );  // power down control: CLKOUT-down, OSC-down, Mic-down, adc-down, line-in down audio_codec_write_ctrl( AUDIO_CTRL_REG_IF_FORMAT, 0x003 );//slave mode and DSP mode audio_codec_write_ctrl( AUDIO_CTRL_REG_ANG_PATH_CTRL, 0x0cb );  // sound select: sidetone ATT -15dB, sidetone off, DAC off, LineIn to ADC, by-pass on 11010000 audio_codec_write_ctrl( AUDIO_CTRL_REG_SAMPLING_CTRL, 0x023 );  // mclk: 44  kHz sampling   audio_codec_write_ctrl( AUDIO_CTRL_REG_LINE_IN_L, 0x117 );  // L/R input     audio_codec_write_ctrl( AUDIO_CTRL_REG_ACTIVE_CTRL,   0x001 );  // activate digital interface        audio_codec_write_ctrl( AUDIO_CTRL_REG_POWER_DOWN, 0x067 );  // turn on power audio_codec_write_ctrl( AUDIO_CTRL_REG_DIG_PATH_CTRL, 0x000 );  // unmute     audio_codec_set_headphone_volume( audio_codec, audio_codec->headphone_volume ); enable_audio_codec_controller( audio_codec ); return( 0 ); }

int audio_codec_set_headphone_volume( alt_audio_codec int audio_codec_set_headphone_volume( alt_audio_codec* audio_codec, int volume ) { //char min = 0x2F;  // 00101111  47 unused //char max = 0x7F;  // 01111111  127 unused // default = 0x79 // 01111001 unsigned char r_volume_code, l_volume_code, l_pct, r_pct; audio_codec->headphone_volume = volume; // Calculate balance if( audio_codec->headphone_balance <= 50 ){ l_pct = 100;  } else { l_pct = ( 50 - ( audio_codec->headphone_balance - 50 ) * 2); }  if( audio_codec->headphone_balance >= 50 ){ r_pct = 100; } else { r_pct = ( audio_codec->headphone_balance * 2 ); } l_volume_code = (((((( audio_codec->headphone_volume * l_pct ) / 100 ) * 80 ) / 100 ) + 48 ) - 1 ); r_volume_code = (((((( audio_codec->headphone_volume * r_pct ) / 100 ) * 80 ) / 100 ) + 48 ) - 1 ); audio_codec_write_ctrl( AUDIO_CTRL_REG_HEADPHONE_L, l_volume_code ); audio_codec_write_ctrl( AUDIO_CTRL_REG_HEADPHONE_R, r_volume_code ); return( 0 );

Test Plan Test units independently: Get sample BPM from jogging Audio Codec through speaker output(Done!) Accelerometer and measuring BPM SD card Get sample BPM from jogging Shake accelerometer to see if music syncs

Optional Features Display track information on LCD Volume control Move onto the small portable Altera board

Questions?