EECS150 Lab Lecture #61 AC97 PCM Audio EECS150 Fall 2007– Lab Lecture #6 Udam Saini 10/05/2007.

Slides:



Advertisements
Similar presentations
Sumitha Ajith Saicharan Bandarupalli Mahesh Borgaonkar.
Advertisements

EXTERNAL COMMUNICATIONS DESIGNING AN EXTERNAL 3 BYTE INTERFACE Mark Neil - Microprocessor Course 1 External Memory & I/O.
Programmable Interval Timer
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 24: November 4, 2011 Synchronous Circuits.
Serial I/O - Programmable Communication Interface
CS Fall Final Project Final Project Report and Grading Randy H. Katz Computer Science Division Electrical Engineering and Computer Science.
EECS 150 Spring 2007 Checkpoint 0 - SDRAM 2/23/2007 Jeff Kalvass (Adapted From Greg Gibeling )
2/24/2006EECS150 Lab Lecture #61 N64 Controller (Project Checkpoint#1) EECS150 Spring2006 – Lab Lecture #6 Philip Godoy Guang Yang Greg Gibeling.
10/13/2005Comp 120 Fall October Questions? Today Control.
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.
Checkpoint 3 To Do Hints General Debugging. To Do: Before Lab Plan layout of chips Wire sync separator, A/D, op amp and RC network Enter and simulate.
L14 – Control & Execution 1 Comp 411 – Fall /04/09 Control & Execution Finite State Machines for Control MIPS Execution.
3/24/2006EECS150 Lab Lecture #101 Game Engine EECS150 Spring2006 Lab Lecture #10 Guang Yang.
Students: Nir Engelberg Ezequiel Hadid Supervisor: Mony Orbach In association with: September 28, Winter 2005.
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.
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/16/2007EECS150 Lab Lecture #51 Logic Analyzers EECS150 Spring 2007 – Lab Lecture #5 Shah Bawany.
Lab 5 Shift Registers and Counters Presented By Neha Kumar but while we wait for that to happen…
2/17/2006EECS150 Lab Lecture #51 Logic Analyzers EECS150 Spring 2006 – Lab Lecture #5 David Lin Greg Gibeling.
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.
2/9/2007EECS150 Lab Lecture #41 Debugging EECS150 Spring2007 – Lab Lecture #4 Laura Pelton Greg Gibeling.
ENGIN112 L26: Shift Registers November 3, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 26 Shift Registers.
02/10/06EECS150 Lab Lecture #41 Debugging EECS150 Spring 2006 – Lab Lecture #4 Philip Godoy Greg Gibeling.
10/31/2008EECS150 Lab Lecture #10 The Waveform Generator EECS150 Fall Lab Lecture #10 Chris Fletcher Adopted from slides designed by Chris Fletcher.
Sept EE24C Digital Electronics Project Design of a Digital Alarm Clock.
Lecture 111 Lecture 11: Lab 3 Overview, the ADV7183B Video Decoder and the I 2 C Bus ECE 412: Microcomputer Laboratory.
DARPA Digital Audio Receiver, Processor and Amplifier Group Z James Cotton Bobak Nazer Ryan Verret.
ECE-L304 Lecture 5. 2 Step 3 Lab Complete 8-pin header Data Bus Test Port Resistor Array LED Array Timing & Filter Components Self-Clocked ADC DAC External.
Universal Synchronous/Asynchronous Receiver/Transmitter (USART)
Advanced Digital Circuits ECET 146 Week 5 Professor Iskandar Hack ET 221G, Me as I typed this slides.
SEQUENTIAL CIRCUITS Component Design and Use. Register with Parallel Load  Register: Group of Flip-Flops  Ex: D Flip-Flops  Holds a Word of Data 
CDR- Digital Audio Recorder/Player Brian Cowdrey Mike Ingoldby Gaurav Raje Jeff Swetnam.
8279 KEYBOARD AND DISPLAY INTERFACING
Abdullah Said Alkalbani University of Buraimi
Slide 1 Project 1 Task 2 T&N3311 PJ1 Information & Communications Technology HD in Telecommunications and Networking Task 2 Briefing The Design of a Computer.
FPGA firmware of DC5 FEE. Outline List of issue Data loss issue Command error issue (DCM to FEM) Command lost issue (PC with USB connection to GANDALF)
December 14, 2006Anuj K. Purwar1 Design proposal for Read Out Card (ROC) Anuj K. Purwar December 14, 2006 Nevis Meeting.
Project: security lock system Idea: –Create a 4bit password using switches –Send data serially (one bit at a time) using an LED –Receive the code serially.
8279 KEYBOARD AND DISPLAY INTERFACING
1 ENGG 1015 Tutorial Three Examples of Finite State Machines Supplementary notes Learning Objectives  Learn about Design of Finite State Machines Ack.:
Lecture 5B Block Diagrams HASH Example.
Rohini Ravichandran Kaushik Narayanan A MINI STEREO DIGITAL AUDIO PROCESSOR (BEHAVIORAL MODEL)
2/3/2006EECS150 Lab Lecture #31 Implementation of FSMs EECS150 Spring 2006 – Lab Lecture #3 Guang Yang Greg Gibeling.
2/2/07EECS150 Lab Lecture #31 Verilog Synthesis & FSMs EECS150 Spring 2007 – Lab Lecture #3 Brent Mochizuki Greg Gibeling.
11 th April 2003L1 DCT Upgrade FDR – TSF SessionMarc Kelly University Of Bristol On behalf of the TSF team Firmware and Testing on the TSF Upgrade Marc.
Lab Environment and Miniproject Assignment Spring 2009 ECE554 Digital Engineering Laboratory.
J. Ye SMU Joint ATLAS-CMS Opto-electronics working group, April 10-11, 2008 CERN 1 Test Results on LOC1 and Design considerations for LOC2 LOC1 test results:
Penn ESE370 Fall DeHon 1 ESE370: Circuit-Level Modeling, Design, and Optimization for Digital Systems Day 20: October 25, 2010 Pass Transistors.
Voice Manipulator Department of Electrical & Computer Engineering
The 8085 Microprocessor Architecture
SDRAM Arbiter EECS150 Fall Lab Lecture #9 Chen Sun
Local Video System: Overview
EECS150 Fall 2007 Lab Lecture #8 Shah Bawany
Serial Communication Interface: Using 8251
ECEN 248: INTRODUCTION TO DIGITAL SYSTEMS DESIGN
Logic Analyzers EECS150 Fall Lab Lecture #5 Arjun Singh
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
EECS150 Fall 2007 – Lab Lecture #4 Shah Bawany
The 8085 Microprocessor Architecture
Debugging EECS150 Fall Lab Lecture #4 Sarah Swisher
Debugging EECS150 Fall Lab Lecture #4 Sarah Swisher
Good Design & Network Audio
Local Video System: Overview
The SDRAM Controller EECS150 Fall Lab Lecture #8 Chen Sun
Logic Analyzers EECS150 Fall Lab Lecture #5 Arjun Singh
Voice Manipulator Department of Electrical & Computer Engineering
Lecture 17 Logistics Last lecture Today HW5 due on Wednesday
Verilog Synthesis & FSMs
(Adapted From Slides by Greg Gibeling)
Presentation transcript:

EECS150 Lab Lecture #61 AC97 PCM Audio EECS150 Fall 2007– Lab Lecture #6 Udam Saini 10/05/2007

EECS150 Lab Lecture #62 Today Checkpoint #1 Block Diagram Requirements AC97 Audio Administrative Info Reset & Timing Volume Controls Simulation Model 10/05/2007

EECS150 Lab Lecture #63 Checkpoint #1 (2) 10/05/2007

EECS150 Lab Lecture #64 Checkpoint #1 (3) Requirements Record and Play digital audio Use our audio fifo that we give you to store the audio bits. Holds only 8 seconds on audio. Implement Volume Controls Use the dipswitches to control the volume/mute levels. 10/05/2007

EECS150 Lab Lecture #65 Checkpoint #1 (4) Interfacing to external chips Exact Requirements Detailed timing and interface specifications If you get it wrong, who knows what happens? Datasheets Detailed specification document Includes EVERYTHING you need to know Simulation Often not possible We’re going to help you out here… 10/05/2007

6 Checkpoint #1 (5) To Do List (Not RTL or STD) Ensure AP_RESET_ is held long enough We’ll help you out on this one Continuously generate AP_SYNC Wait for CodecReady Initialize AC97 Control Registers Send Volume Commands Store PCM Data Play PCM Data EECS150 Lab Lecture #610/05/2007

7 AC97 Audio (1) EECS150 Lab Lecture #610/05/2007

3/11/20058 AC97 Audio (2) Serial Bit Stream You must generate a sync signal Two Parts to AC97 Command Data (Read/Write Registers) PCM (Wave) audio data The Chip LM4549A Audio Codec READ THE DATASHEET (Its short) EECS150 Lab Lecture #6

9 AC97 Audio (3) Bit serial transmission AP_SDATA_OUT is from FPGA to Codec AP_SDATA_IN is from Codec to FPGA Data transmitted in 256b frames 13 slots per frame Slot0 is 16b Slots1-12 are 20b Sync signal high (roughly) during Slot0 EECS150 Lab Lecture #610/05/2007

10 AC97 Audio (4) EECS150 Lab Lecture #610/05/2007

11 AC97 Audio (5) Slot0 - Tag Bit[15] - 1 is frame is valid Bits[14:11] - 1 if corresponding slot is valid Bits[10:2] - Not Used Bits[1:0] - ID, set to 2’b00 Slot1 - Register Address Slot2 - Register Data (for writes) Slots3&4 - PCM Audio Data EECS150 Lab Lecture #610/05/2007

12 AC97 Audio (6) EECS150 Lab Lecture #610/05/2007

13 AC97 Audio (7) Command Registers Control Volume/Mute Control PCM Audio Rate You’ll need to set this to FA0(4000) at reset EECS150 Lab Lecture #610/05/2007

14 AC97 Audio (8) EECS150 Lab Lecture #610/05/2007

15 Administrative Info (3) Deadlines Checkpoint 1 Design Review – Due next week in lab Checkoff – Due the following week in lab. Your design should be detailed enough that you could give your design to another group and have them implement it from scratch. GET YOUR CHECKPOINTS DONE EARLY Don’t wait for the deadline, you will fall behind EECS150 Lab Lecture #610/05/2007

16 Reset & Timing (2) LocalResetGen Generates resets for use with gated clocks Key components: Ability to hold reset high using a counter Shift register to cross clock domains Timeout in the event that the local clock dies Multiple reset outputs Outputs LocalClockReset – Resets the clock generator LocalRegReset – Resets all the registers EECS150 Lab Lecture #610/05/2007

17 Reset & Timing (3) AC97 Sync First high SAMPLE marks start of frame Not the first time you drive it high What’s the difference? Should be high for 16 cycles (Slot 0) This is CRITICAL Without proper sync the codec won’t work This signal is how the codec finds the start of the AC97 frame EECS150 Lab Lecture #610/05/2007

3/11/ Volume Controls (2) Features Inputs Speaker Volume/Mute Mic Volume/Mute Outputs Contents of the corresponding AC97 register We recommend modular design EECS150 Lab Lecture #6

19 Simulation Model (1) We built you a model LM4549ACodec.V This is for simulation ONLY It error checks the AC97 data Limitations This model is not perfect It may in fact have bugs Do not rely on only this model On board, SDATA_IN signal comes one cycle early. It’s a lot better than nothing EECS150 Lab Lecture #610/05/2007

20 Simulation Model (2) What does it do? Sends PCMInput.txt into your design Same directory as your ModelSim project Writes the output to PCMOutput.txt Displays control register writes Checks for timing errors Watches for common bugs GENERATES THE CLOCK EECS150 Lab Lecture #610/05/2007

21 Simulation Model (3) PCMInput.txt 10 hex digits per line PCMLeft is the first 5 digits PCMRight is the second 5 digits PCMOutput.txt Identical format If you do loopback the files SHOULD match Loopback is often a handy test EECS150 Lab Lecture #610/05/2007

22 And now… Read the datasheet Pages 2 and This will document EVERYTHING about the LM4549A It should be your first reference Don’t be afraid to test things We put a lot into that tester It’s not perfect. This is the best way to learn EECS150 Lab Lecture #610/05/2007

The Checkpoint (1) You have one week to complete this CP Design Reviews next week at the beginning of your lab section (remember Lab 5 checkoff) Bubble-and-arc diagram(s) for any FSM Block Diagram required EECS150 Lab Lecture #610/05/200723

The Checkpoint (2) Construction Demo circuit on board for check-off Remember you will be designing for CP2 concurrently as you finish CP1. Groups of two Start designing today! EECS150 Lab Lecture #610/05/200724