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.

Slides:



Advertisements
Similar presentations
EXTERNAL COMMUNICATIONS DESIGNING AN EXTERNAL 3 BYTE INTERFACE Mark Neil - Microprocessor Course 1 External Memory & I/O.
Advertisements

Programmable Interval Timer
Datorteknik DigitalCircuits bild 1 Combinational circuits Changes at inputs propagate at logic speed to outputs Not clocked No internal state (memoryless)
1 Introduction Sequential circuit –Output depends not just on present inputs (as in combinational circuit), but on past sequence of inputs Stores bits,
Computer Science 210 Computer Organization Clocks and Memory Elements.
The 8085 Microprocessor Architecture
Microprocessor and Microcontroller
Shift Register Application Chapter 22 Subject: Digital System Year: 2009.
Henry Hexmoor1 Chapter 7 Henry Hexmoor Registers and RTL.
Project Check-off 2 UART Design Jeffrey Tsai. Project Thus Far FIFO SRAM UART IN UART OUT Main Control FSM Collision Audio In interface Audio Out interface.
Instruction Counter Address [3..0] CLK Instruction ROM 0000: : : : : Inst [6..0] Control Unit.
CS150 Project Checkpoint 1. Controller Interface Dreamkatz Controller Interface 1. The N64 Controller 2. Physical interface 3. Communication protocol.
Team Monte Cristo Joseph Carrafa Sharon Clark Scott Hassett Alex Mason The Deep Fried Game Station.
Video Interface Jeffery Tsai Sammy Sy And pretty much everything else too…. CS 150 CHECKPOINT 3.
PDACS Final Presentation Michelle Berger John Curtin Trey Griffin Aaron King Michael Nordfelt Jeffrey Whitted.
Project Check Point 3 Audio Interface Jeff Du. Overview Project specs and overview next Tue. Mid-term next Thurs. This audio interface lab is REALLY easy.
ENGIN112 L26: Shift Registers November 3, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 26 Shift Registers.
1 COMP541 State Machines – 2 Registers and Counters Montek Singh Feb 8, 2007.
Counters and Registers
INTERRUPTS PROGRAMMING
1 Sequential Circuits Registers and Counters. 2 Master Slave Flip Flops.
EE345: Introduction to Microcontrollers Register and Counters Prof. Ahmad Abu-El-Haija.
ENGSCI 232 Computer Systems Lecture 5: Synchronous Circuits.
CS231: Computer Architecture I Laxmikant Kale Fall 2004.
Flip Flop
ARM Timers.
Rabie A. Ramadan Lecture 3
SEQUENTIAL CIRCUITS Component Design and Use. Register with Parallel Load  Register: Group of Flip-Flops  Ex: D Flip-Flops  Holds a Word of Data 
Registers and Counters by Dr. Amin Danial Asham. References  Digital Design 5 th Edition, Morris Mano.
ENG241 Digital Design Week #8 Registers and Counters.
Mic-1: Microarchitecture University of Fribourg, Switzerland System I: Introduction to Computer Architecture WS December 2006 Béat Hirsbrunner,
CS 111 – Sept. 15 Chapter 2 – Manipulating data by performing instructions “What is going on in the CPU?” Commitment: –Please read through section 2.3.
1 COMP541 Sequential Circuits Montek Singh Feb 1, 2012.
Abdullah Said Alkalbani University of Buraimi
IT253: Computer Organization Lecture 9: Making a Processor: Single-Cycle Processor Design Tonga Institute of Higher Education.
1 Interrupts, Resets Today: First Hour: Interrupts –Section 5.2 of Huang’s Textbook –In-class Activity #1 Second Hour: More Interrupts Section 5.2 of Huang’s.
Introduction to Microprocessors - chapter3 1 Chapter 3 The 8085 Microprocessor Architecture.
Water Flow GROUP A. Analogue input voltage results: Motor Input voltage( V) pin 12 Analogue input voltage (V) Display number
Concepts of Engineering and Technology Copyright © Texas Education Agency, All rights reserved.
CEC 220 Digital Circuit Design Dice Game Wed, April 06 CEC 220 Digital Circuit Design Slide 1 of 15.
The 8085 Microprocessor Architecture. What 8085 meant for? 80 - year of invention bit processor 5 - uses +5V for power.
Synchronous Sequential Circuits by Dr. Amin Danial Asham.
REGISTER TRANSFER LANGUAGE (RTL) INTRODUCTION TO REGISTER Registers1.
EECS 373 – lecture 4 Buses, serial communication and digital design.
Microprocessors 3 Buses, Addresses and Machine Cycles 1 Modified April 2011 ©Paul R. Godin prgodin gmail.com.
Memory Mapped IO (and the CerfBoard). The problem How many IO pins are available on the 8051? What if you are using interrupts, serial, etc…? We want.
Computer Science 210 Computer Organization
Dr. Clincy Professor of CS
The 8085 Microprocessor Architecture
REGISTER TRANSFER LANGUAGE (RTL)
Registers and Counters
Combinational circuits
Clocks A clock is a free-running signal with a cycle time.
The 8085 Microprocessor Architecture
DR S. & S.S. GHANDHY ENGINEENRING COLLEGE
Computer Science 210 Computer Organization
An Introduction to Microprocessor Architecture using intel 8085 as a classic processor
COMP541 Sequential Circuits
Computer Science 210 Computer Organization
Programmable Interval timer 8253 / 8254
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN
Dr. Clincy Professor of CS
Dr. Clincy Professor of CS
SYEN 3330 Digital Systems Chapter 7 – Part 1 SYEN 3330 Digital Systems.
Programmable Interval timer 8253 / 8254
Registers.
The 8085 Microprocessor Architecture
Sequential Logic.
Registers Today we’ll see some common sequential devices: counters and registers. They’re good examples of sequential analysis and design. They are also.
Presentation transcript:

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 Super Mario Kart sound!

So what is lab about? The end result: You press a button on the controller and 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.

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 play sound address Controller Interpreter address data Controller Interpreter:

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?

EPROM Audio Module controller block play sound address Controller Interpreter address data Overview:

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:

EPROM has 19 bits of address. 2^19 = 512K bytes of data. 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.

sound 1 sound 2 sound 3 sound 4 sound 5 sound 6 EPROM …0 …1 16-bit sample lower byte higher byte Little Indian

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:

Easy! Follow instruction

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 DAC 2.Once 16 bits are ready, let DAC play these values by lowering LL.

Lowering LL and drive data onto DL is in tricky synchronization is very important. You want to lower the LL line immediately after the last bit has been shifted in, but BEFORE the next clock edge. Otherwise you will shift in ONE junk bit for every 16 bits shifted. Shifting in bunch of 0s!! This means 4096 junk bits are inserted for every 2 second sound. BAD!

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 use a negative edge triggered clock.

ANY QUESTIONS?

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.

sub-FSM AudioModule 2.You output ONE sample every 16Khz. This 2 nd 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.

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.

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.

REVIEW: EPROM Audio Module controller block play sound address Controller Interpreter address data

COOL! We are finished GOOD LUCK GUYS!! Mark, Jeff, and Randy H.