CSE466 Autumn ‘00- 1 System Functional Requirements  Children’s toy…comes with PC software. Child plays notes on the screen and the device makes corresponding.

Slides:



Advertisements
Similar presentations
Analog-to-Digital Converter (ADC) And
Advertisements

Lecture 17: Analog to Digital Converters Lecturers: Professor John Devlin Mr Robert Ross.
Proximity Sensor Theremin Khoa Nguyen Walter Hudson Dennis Gilbert G. Hewage Thushara.
Unit Generators and V.I.s Patches are configurations of V.I.s Both Patches & Virtual Instruments can be broken down into separate components called Unit.
Speech Compression. Introduction Use of multimedia in personal computers Requirement of more disk space Also telephone system requires compression Topics.
Seismic Octave Programming for Analog/Digital Converters Michael W. Siekman Electrical and Computer Engineering Senior Capstone Design Project 2007 Advisor:
CE 478: Microcontroller Systems University of Wisconsin-Eau Claire Dan Ernst Analog to Digital (and back again) Interfacing a microprocessor-based system.
4-Integrating Peripherals in Embedded Systems (cont.)
Data Acquisition Risanuri Hidayat.
Analog to Digital Conversion. 12 bit vs 16 bit A/D Card Input Volts = A/D 12 bit 2 12 = Volts = Volts = 2048 −10 Volts = 0 Input Volts.
5/4/2006BAE Analog to Digital (A/D) Conversion An overview of A/D techniques.
Shuvra Das University of Detroit Mercy
Khaled A. Al-Utaibi  Digital Vs Analog Signals  Converting an Analog Signal to a Digital One  Reading Analog Sensors with the.
Mark Neil - Microprocessor Course 1 Digital to Analog Converters.
Lecture 9: D/A and A/D Converters
Copyright © 2011 by Denny Lin1 Simple Synthesizer Part 4 Based on Floss Manuals (Pure Data) “Building a Simple Synthesizer” By Derek Holzer Slides by Denny.
Interfacing Analog and Digital Circuits
Analogue to Digital Conversion
EET260: A/D and D/A converters
CSE Fall Introduction - 1 Electronics and Physical Interfaces  Speaker Interface  Electronics Review  8051 I/O.
Sound: Audio & Music B.Sc. (Hons) Multimedia ComputingMedia Technologies.
CS150 Project Checkpoint 1. Controller Interface Dreamkatz Controller Interface 1. The N64 Controller 2. Physical interface 3. Communication protocol.
Spring 2002EECS150 - Lec13-proj Page 1 EECS150 - Digital Design Lecture 13 - Final Project Description March 7, 2002 John Wawrzynek.
Guitar Effects Processor Critical Design Review October, 07, 2003 Groups Members: Adam Bernstein Hosam Ghaith Jasenko Alagic Matthew Iyer Yousef Alyousef.
Digital Voice Communication Link EE 413 – TEAM 2 April 21 st, 2005.
Customizable Audio Kaleidoscope Agustya Mehta, Dennis Ramdass, Tony Hwang Final Project Spring 2007.
Design and Implementation of a Virtual Reality Glove Device Final presentation – winter 2001/2 By:Amos Mosseri, Shy Shalom, Instructors:Michael.
Design of a Control Workstation for Controller Algorithm Testing Aaron Mahaffey Dave Tastsides Dr. Dempsey.
Digital Audio Multimedia Systems (Module 1 Lesson 1)
School of Informatics CG087 Time-based Multimedia Assets Sampling & SequencingDr Paul Vickers1 Sampling & Sequencing Combining MIDI and audio.
Ni.com Data Analysis: Time and Frequency Domain. ni.com Typical Data Acquisition System.
Multimedia Technology Digital Sound Krich Sintanakul Multimedia and Hypermedia Department of Computer Education KMITNB.
EE 319K Introduction to Microcontrollers
MIDI and YOU Orchestra in a Box. What is MIDI?  Musical Instrument Digital Interface  MIDI is a protocol - a standard by which two electronic instruments.
Matthew Campbell Brian Granaghan Benjamin Adcock Eleazar Kenyon 3/16/2010 MIDI Hero Design Project Preliminary Design Review1 Project Advisor: Dr. William.
Song Pro Retro Alex Harper. Contents of Presentation Inspiration Basic Concept Speaker Module.sng file structure Song Pro Retro: Light Song Pro Retro:
1 4-Integrating Peripherals in Embedded Systems (cont.)
Segmentation & O/S Input/Output Chapter 4 & 5 Tuesday, April 3, 2007.
DLS Digital Controller Tony Dobbing Head of Power Supplies Group.
Data Acquisition Systems
CSE466 Autumn ‘00- 1 Music Format if amp = 0, note is a command switch(note) 0: turn off specified channel 1: continue for specified tne w/ no change else.
CSE466 Autumn ‘00- 1 Review and Lab Prep  hotmail account on mailing list doesn’t work.
CMSCDHN1114/CMSCD1011 Introduction to Computer Audio
Audio / Sound INTRODUCTION TO MULTIMEDIA SYSTEMS Lect. No 3: AUDIO TECHNOLOGY.
EE 113D Fall 2008 Patrick Lundquist Ryan Wong
Audio Technology introduction Iwan Sonjaya,MT What is sound? Sound is a physical phenomenon caused by vibration of material (ex.: violin). As the matter.
CSE466 Autumn ‘00- 1 What’s Coming  Hardware  Basic Filters and Noise Management  Serial Communications  Design Meeting  Move the quiz up to Monday.
CSE Fall Introduction - 1 What’s Inside the Buffer? IhIh IlIl Write Reg This device always “drives” either high or low. Current is a function.
Digital Control CSE 421.
Analog/Digital Conversion
Mark Neil - Microprocessor Course 1 Digital to Analog Converters.
Final Year Project Eoin Culhane. MIDI Guitar Guitar with 6 outputs 1 output for each string Each individual string output will be converted to MIDI.
MIDI Controller By: Ronal Inga Jeyner Cespedes. Musical Instrument Digital Interface is a computer language that allows communication with other devices.
By: Logan Sealover  Analog-to-Digital Conversion (ADC)  Digital-to-Analog Conversion (DAC)  History of Class D Amplifiers  Audio Amplifier Classes.
Electronic instrumentation Digitization of Analog Signal in TD
Garage Band For MAC. What is it? A digital audio workstation that can record and play back multiple tracks of audio. Is a software application for OS.
CSE466 Autumn ‘00- 1 Lab Issues and Questions?  Daily quiz: How is an interrupt different than a subroutine call?  Limitations of the assembler  Seems.
What is a DAC? A digital to analog converter (DAC) converts a digital signal to an analog voltage or current output DAC.
SCADA for Remote Industrial Plant
EI205 Lecture 13 Dianguang Ma Fall 2008.
What’s Inside the Buffer?
Laser Harp Team: Peter Crinklaw Qiushi Jiang Edwin Rodriguez.
Simple ADC structures.
Chapter 3: Pulse Code Modulation
Simple ADC structures.
Digital Music Scott Bennett 1/3/2019.
Ms Jennifer - Senior 4 - Data Representation Introduction
Analog Transmission Example 1
Embedded Sound Processing : Implementing the Echo Effect
Presentation transcript:

CSE466 Autumn ‘00- 1 System Functional Requirements  Children’s toy…comes with PC software. Child plays notes on the screen and the device makes corresponding tones. It can generate 3 tones simultaneously (A chord)  Child can save a song to be played at any time. The song is stored on the PC and “streamed” out to the device to be played.  The beginning of a command always has the MSB = 1  If bit 6 of the first byte = 1 then there are two more bytes for a total of 24 bits.  TNE: 7 bits indicating the number of time units until the next event  F1: 5 bits, indicating frequency of channel 1 (0 means off)  F2: 5 bits, indicating frequency of channel 2 (0 means off)  F3: 5 bits, indicating frequency of channel 3 (0 means off)  If bit 6 is a 0 then it is a 1 byte command indicating tempo:  TEMPO : 6 bits, indicates the number of samples/time unit. It is a linear scale with the fastest tempo equal to 1/16 of a second  Note: the frequency number selects from a set of notes. 5 bits gives 32 notes. With sharps and flats (12 notes?) that is a bit less than a 3 octave range.

CSE466 Autumn ‘00- 2 MIDI (Musak) Synthesizer  Digital to Analog Converter 8051 DAC 8 AMP (V to I) Voltage signal Speaker cares about current, not voltage What is algorithm to superimpose 1KHz tone with 500Hz tone With a sampling rate of 10KHz SW?

CSE466 Autumn ‘00- 3 Digital-to-Analog Converter 8051DAC port0 data \write gnd out1 AMP input Vref Memory Mapped device

CSE466 Autumn ‘00- 4 Summation of tones gives a composite tone  Add waveforms to get multiple tones Note that lower frequency is smoother for a given sample rate

CSE466 Autumn ‘00- 5 Synthesizer Algorithm – Constant Sample Rate  Let sin[] be a look up table with 256 entries (1 complete cycle)  Every.1ms (10KHz)  Output = (sin[t1] + sin[t2] + sin[t3])/3  three superimposed tones (a chord!)  t1 += stride1, t2 += stride2, t3 += stride3  f1 = (10Ksamples/sec * stride1/256 cycles/sample) = f cycles/sec  If stride = 1 then frequency = 10KHz/256 =  If stride = 25.6 then frequency = 1KHz is this hard? how do we implement this?  If stride = 256/20 then frequency = 500Hz  At 8-bit resolution we can vary output from 0 to 255. Hi frequencies are smoother  Can generate arbitrary waveforms (not just tone summations) but that is harder. This is what those ‘bad’ synthesizers do. The good ones take a sample of the real instrument and modify it for pitch, etc

CSE466 Autumn ‘00- 6 Frequency range w/ fixed sample rate  What is the max Stride for our lookup table?  Does 128 give us a 5KHz signal?  Let Stride = 1 and Sample Rate = 10KHz  output frequency = 10KHz/256 = Hz  Solve for stride given desired frequency  stride = (freq*256)/sample rate  Middle C = 262Hz, so stride = can we just round this off?  D = 294, so stride =  What happens for low frequencies  Low F: 87.31Hz  stride =  Low E: 82.42Hz  stride =  what do we do with non-integral strides?

CSE466 Autumn ‘00- 7 Decomposition  I suggest the following logical decomposition of work::  Serial Thread  Accepts encoded music commands from the serial port  Implements the byte-for-byte protocol  Music Thread  Generates up to three tones using a fixed sample rate  Keeps track of passage of time  Controls tempo of the music and controls tone generation according to incoming commands.

CSE466 Autumn ‘00- 8 Things to consider  Would the streaming system work in manual play mode? What commands would you send, and when? Are any modifications (e.g. new commands), needed to support manual play mode?  What are the top and bottom half decompositions?  Where is inter-task communication necessary? How would you do it?  Where are the critical sections in you system?  What are the deadlines in the system?  Are there any schedulability concerns? (assume a 32MHz 8051) What is the worst case scenario? Do you have enough information? What else would you need to know?  What would a Linux device driver look like for this device, assuming that you can get interrupts for completed serial transmissions like in the 8051? What would the user program have to do? What would the device driver take care of?  The exam questions will be much more specific, quantified questions pertaining to these general questions