14
11-1 EE 319K Introduction to Microcontrollers Lecture 11: DAC, Sound on 9S12, Lab7(Music/Pacemaker)

EE 319K Introduction to Microcontrollers

Embed Size (px)

DESCRIPTION

EE 319K Introduction to Microcontrollers. Lecture 11: DAC, Sound on 9S12, Lab7(Music/Pacemaker). Digital to Analog Conversion. Examples Signal generation (sound, image, touch…) Output to affect external devices (power, flow, heat…) - PowerPoint PPT Presentation

Citation preview

Page 1: EE 319K Introduction to Microcontrollers

11-1

EE 319KIntroduction to Microcontrollers

Lecture 11: DAC, Sound on 9S12, Lab7(Music/Pacemaker)

Page 2: EE 319K Introduction to Microcontrollers

11-2Ramesh Yerraballi

Digital to Analog Conversion

Examples Signal generation (sound, image, touch…) Output to affect external devices (power, flow, heat…)

The DAC precision is the number of distinguishable DAC outputs (e.g., 16 alternatives, 4 bits).

The DAC range is the maximum and minimum DAC output (0 to 5V).

The DAC resolution is the smallest distinguishable change in output. (5V/16 =0.31V)

Range(volts) = Precision(alternatives) * Resolution(volts) The DAC accuracy is (Actual - Ideal) / Ideal

Page 3: EE 319K Introduction to Microcontrollers

11-3Ramesh Yerraballi

2-bit DAC - Two Designs

N Q1 Q0 V1(V) V2(V)0 0 0 0.00 0.001 0 5 1.25 1.672 5 0 2.50 3.333 5 5 3.75 5.00

Q1Q0

10kΩ20kΩ V1

20kΩ

Q1Q0

10kΩ20kΩ V2

*Assume VOH of the 9S12 is 5V and VOL is 0V

Page 4: EE 319K Introduction to Microcontrollers

11-4Ramesh Yerraballi

4-bit DAC

N Q3 Q2 Q1 Q0 theory Vout(V)0 0 0 0 0 5*0/15 0.001 0 0 0 5 5*1/15 0.332 0 0 5 0 5*2/15 0.678 5 0 0 0 5*8/15 2.6715 5 5 5 5 5*15/155.00

Vout = (8*Q3 + 4*Q2 + 2*Q1 + Q0)/15

where Qn is 5V or 0V

6812 bit3bit2bit1bit0

statictesting

Vout voltmeterIout

speaker

6812bit3bit2bit1bit0

dynamictesting

Page 5: EE 319K Introduction to Microcontrollers

11-5Ramesh Yerraballi

Sound Basics

Humans can hear from about 25 to 20,000 Hz.

Middle A is 440 Hz Other notes on a keyboard are

determined440 * 2N/12 "N" is number of notes up or down from

middle A.

Middle C is 261.6 Hz. Music contains multiple harmonics

Page 6: EE 319K Introduction to Microcontrollers

11-6Ramesh Yerraballi

Sound

period

loudness

pitch = 1/period

A 440Hz sine wave generated with a 4-bit DAC. The plot on the right is the Fourier Transform(frequency spectrum dB versus kHz) of the data plotted on the left.

The loudness and pitch are controlled by the amplitude and frequency.

Page 7: EE 319K Introduction to Microcontrollers

11-7Ramesh Yerraballi

Music

A waveform shape that generates a trumpet sound.

period

Page 8: EE 319K Introduction to Microcontrollers

11-8Ramesh Yerraballi

…Music

The amplitude of a plucked string drops exponentially in time

330 Hz330 Hz 523 Hz

0.5s 0.5s 1.0s

330 Hz 523 Hz

0.5s 0.5s 1.0s

330 Hz

You can control the amplitude, frequency and duration of each note (not drawn to scale).

Page 9: EE 319K Introduction to Microcontrollers

11-9Ramesh Yerraballi

…Music

A simple chord mixing the notes C and G

-2

-1

0

1

2

0 0.005 0.01 0.015 0.02

Time (sec)

Sound Amplitude

Page 10: EE 319K Introduction to Microcontrollers

11-10Ramesh Yerraballi

Song

How much memory does it take to store a song? 3 minutes Stereo Channels 44 kHz 12-bit per channel

How many bus cycles does it take to output one value? Fetch data from memory Decompress Filter/amplify/mix/envelope DAC speed

Page 11: EE 319K Introduction to Microcontrollers

11-11Ramesh Yerraballi

Lab7: Sound

Debugging: Use a DC motor to test the voltages being output to the analog outConnect the PH3-0 lines to power a DC motorConnect a scope to view this voltage as a

function of time

Once you are sure your DAC_Out is doing what it is supposed to, then go ahead and implement the piano keys

Page 12: EE 319K Introduction to Microcontrollers

11-12Ramesh Yerraballi

Sine Wave with period T

Periodic Interrupt every T/32 Output next entry in below table on interruptSinTab fcb 8,9,11,12,13,14,14,15,15,15,14

fcb 14,13,12,11,9,8,7,5,4,3,2

fcb 2,1,1,1,2,2,3,4,5,7

4-bit sin table

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

0 1 2 3 4 5 6 7

theta (radians)

4-bit DAC output

Page 13: EE 319K Introduction to Microcontrollers

11-13Ramesh Yerraballi

Lab7: Pacemaker

Debugging: Use a DC motor to test the voltages being output to the analog outConnect the PH3-0 lines to power a DC motorConnect a scope to view this voltage as a

function of time

Once you are sure your DAC_Out is doing what it is supposed to, then go ahead and implement a DAC circuit

Page 14: EE 319K Introduction to Microcontrollers

11-14Ramesh Yerraballi

Ventricular Output pulse Ae-t/τ (Amplitude A=5; τ=2) Periodic Interrupt every t2/101 Output next entry in below table on interruptVentOut fcb 15,15,15,15,14,14,14,14,14,14

fcb 14,13,13,13,13,13,13,13,13,12

fcb 12,12,12,12,12,12,12,11,11,11

fcb 11,11,11,11,11,11,10,10,10,10

fcb 10,10,10,10,10,10,9,9,9,9

fcb 9,9,9,9,9,9,9,8,8,8

fcb 8,8,8,8,8,8,8,8,8,8

fcb 7,7,7,7,7,7,7,7,7,7

fcb 7,7,7,7,6,6,6,6,6,6

fcb 6,6,6,6,6,6,6,6,6,6,6