Top Banner
CS150 Project Checkpoint 2
23

CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.

Dec 20, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.

CS150 ProjectCheckpoint 2

Page 2: CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.
Page 3: CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.
Page 4: CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.

CheckPt2 is easy!!!

BUT……………….

This lab can be very tricky.

BUT………………

Mark is here to help!

You get to listen to cool Super Mario Kart sound!

Page 5: CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.

So what is lab about?The end result:You press a button on the controllerand will hear one of Mario Kart music!

Only one sound will be played at a time.

Introduction:

We will have 6 MARIO KART sounds.

16 seconds of sound total.

4 2sec sound and 2 4sec sound.

Page 6: CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.

2 objectives..

1. Figure out which button has been pressed.

2. Figure out which sound to play and enable PLAY signal.

PLAY = enable signal. (enables the Audio Module)

PLAY IS A PULSE SIGNAL!!! DEBOUNCE IT!!!!

EPROM

Audio Module

controller block

3

81932

play

sound address

Controller Interpreter

addressdata

Controller Interpreter:

Page 7: CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.

What if you hold down your buttons?

That is why you debounce your signals.

Your play signal is LOW after 1 cycle.

Audio Controller ignores it.

Don’t worry about…..

You update your controller block 1000 times per

second. (checkpt1. Each request/receive cycle = 1ms)

This means no two bits will be high at the same time.

What if you press 2 buttons at the same time?

Page 8: CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.

EPROM

Audio Module

controller block

3

8

1932

play

sound address

Controller Interpreter

addressdata

Overview:

Page 9: CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.

What is EPROM?

In checkPt2 we use EPROM to store sound data for sound effect of our video game!

Think of EPROM as a DATABASE you can retrieve information from.

We READ from EPROM in checkpt2.

There is no synchronization problems. Pretend EPROM works infinitely fast. You give it an address and the data

will be available during the same clock cycle.

EPROM:

Page 10: CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.

EPROM has 19 bits of address. 2^19 = 512K bytes of data.<3 bits to divide EPROM><15 bits of address><1 bit toggle>2^3 bits = 8.

We are using the top 3 bits to divide the EPROM into 8 sections. This is because they are the 3 MS bits.

Page 11: CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.

000

001

010

011

100

101

110

111

sound 1

sound 2

sound 3

sound 4

sound 5

sound 6

EPROM

…0

…1

16-bit sample

lower byte

higher byte

Little Indian

Page 12: CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.

We are using AD1866 convert digial signals to analog signal.

Very important: You have 2 signals you have to worry about. You control these two signals to control the DAC. LL (Latch Left) Dl (Data Left)

The falling edge of LL cause the LAST 16 bits of data which Clocked into the serial register to be shifted into the DACs, thereby updating DAC outputs.

DAC Digital to Analog Converter:

Page 13: CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.

VCC

1 15 9

AD1866

P70

P69

P72

2 (LL)

3 (DL)

4 (clk)

11 13

7 1210f 10f

14

GNDGND GND GND

VCC VCC

LM4862

GND

1f.

GND GND

VCC

1nf

22K

4

3

2

1

7

6

. .

5

8

.headphone jack

20K0.47f

10f

0.1f

10f

10f

0.1f

0.1f

0.1f

0.47f

20K

1nf

22K

0.1f

1f

discrete parts

.

Easy! Follow instruction

Page 14: CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.

DL is the data line. It contains the data inputs

LL controls data input into the DAC.

Why is LL important?Your data could be constantly changing, LL allows a user to latch only values that are important.

So the big idea is….1. Shift 16 bits IN into SR inside the DAC2. Once 16 bits are ready, let DAC play these values by lowering LL.

Page 15: CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.

Lowering LL and drive data onto DL is in trickysynchronization is very important.

You want to lower the LL line immediately after the lastbit has been shifted in, but BEFORE the next clock edge.

Otherwise you will shift in ONE junk bit for every 16 bitsshifted. Shifting in bunch of 0s!!This means 4096 junk bits are inserted for every 2 second sound.BAD! BAD!

Page 16: CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.

2 Solutions!1. Invert the clock for the DAC. Phase shift DAC.Or 2. Use a negative edge triggered FF on the signal sent to

LL. This phase shift LL. Make sure either the DAC or the rest of your project usea negative edge triggered clock.

Page 17: CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.

ANY QUESTIONS?

Page 18: CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.

Audio Module

Communicates with the EPROM and Controller Interpreter.

* Use a state machine

You have 2 time cycles going on. 1. Every 1ms, you receive ONE button signal, then you play one of 6 sound available.

Page 19: CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.

sub-FSM

AudioAudioModuleModule

2. You output ONE sample every 16Khz. This 2nd time cycle is what your Audio Module works on. Each sample is 16 bits long. You need to read through 2 addresses for each sample.

3. This mini-time cycle runs until you have outputted to the DAC all of the bytes stored in the EPROM.

Page 20: CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.

Important!: You need some kind of RUNNING signal inside of Audio Module.

You can only play one sound at a time, you don’t want another play signal to interrupt while playing. if (running) ignore another play signal. Also only play if not running.

3. Use some kind of counter to count through the bytes. Be careful about the 4 sec sounds.

Page 21: CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.

WIRE WRAPPING

* Lots of work!

* Check your discrete packs if nothing works.

* Don’t worry about interference among wires

* Keep your chips together. Save room for later chips.

Page 22: CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.

REVIEW:

EPROM

Audio Module

controller block

3

8

1932

play

sound address

Controller Interpreter

addressdata

Page 23: CS150 Project Checkpoint 2 CheckPt2 is easy!!! BUT………………. This lab can be very tricky. BUT……………… Mark is here to help! You get to listen to cool.

COOL! We are finished

GOOD LUCK GUYS!!

Mark, Jeff, and Randy H.