Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier:...

61
Senior Design Partnership: AmpTraXX2

Transcript of Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier:...

Page 1: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Senior Design Partnership: AmpTraXX2

Page 2: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

About Group 13

Matt Webb: Electrical Engineering

Earl Maier:   Electrical Engineering                    Minor in Mathematics

Talitha Rubio: Electrical Engineering                        Computer Science Minor

Daren Ruben: Electrical Engineering

25 Years of Alcorn McBride Experience

Page 3: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

• Reliable• Network Configurable• Easily Scalable• Zero Maintenance• Very Flexible

Overview

Goal: Create a system that is capable of processing many channels of audio and distributing them over standard Ethernet networks to break-out boxes providing audio channel selection, signal level audio outputs, and a Class-D amplified output.

Page 4: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Application Example

• Annual events (Ex. Halloween Horror Nights)o Problem: New environments require changes in audio

distribution and filteringo Solution: Ethernet enables you to easily send signal to

anywhere within an existing network.  Just plug in an AmpTraXX2 unit to add a new speaker.  For environments that are being modified, select a different channel for sound playback on AmpTraXX2.

Page 5: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Current Practice

Page 6: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Improved Practice

Page 7: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

DSP Unit Specifications

• Input and output stage DSP for 8 channels at 96KHz/24-bit• Input/Output routing matrix• Digital signal processing capabilities per channel

o Four EQ bands (Choose: Parametric, LPF, HPF)o Three topologies (Bessel, Butterworth, Linkwitz-Riley)o Dynamic Range Compression

• Dante Audio-over-Ethernet I/O• Web-based monitoring and controls

o View break-out box status and channel selectionso Change equalization, routing, and compressiono Check channel clip status  o Optimized for iOS, Android, Windows Phone, BB

• Numerous physical inputs and outputs, 96KHz ADC/DAC• Integrated 4-port 1000Mbps Ethernet switch• Front Panel Controls• 1U Size

Page 8: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Break-out Box Specs

• Output any eight channels via Dante Audio-over-Ethernet• Stereo Class-D Amplifier (2x90W RMS @ 4Ohms)• Stereo signal output (Balanced, Unbalanced, S/PDIF)• Simple human interface to modify settings• Network monitored and controlled• Integrated 4-port 1000Mbps Ethernet switch• Compact Size (mount on rear of small speaker)

Page 9: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Connector Summary

• Centralized Audio DSP (All rear connections)o Stereo Unbalanced Inputs -- 2x RCAo Stereo Balanced Inputs -- 2x XLR Femaleo S/PDIF Input -- 1x RCAo Stereo Balanced Outputs -- 2x XLR Male  o S/PDIF Output -- 1x RCAo 1Gbps Ethernet -- 4x RJ-45o Power (IEC 60320-1 C13)

• Amplified Break-Out Box (All rear connections)o Stereo Amplified Outputs -- 4x Binding Posts o Stereo Balanced Outputs -- 2x XLR Maleo Stereo Unbalanced Outputs -- 2x RCAo S/PDIF Output -- 1x RCAo Eurocon GPIO Pin – 16xo 1Gbps Ethernet -- 4x RJ-45o Power (IEC 60320-1 C13)

Page 10: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

DSP Box

Page 11: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Breakout Box

Page 12: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

DSP Signal Flow

Page 13: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

BOB I/O Diagram

Page 14: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Software Diagram

UART

Page 15: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Dante Brooklyn II

• NDA required• Supports up to 16 audio channels per TDM• Supports Gigabit and 100 Mbps Ethernet• At 96kHz Sampling frequency we can have 32

bidirectional channels of audio.• Simplified configuration management. (Plug and play

network).• All audio devices on the network must be Dante

enabled.• Works with existing LAN networks• Up to 32 bit audio words• Redundancy in Ethernet input

Page 16: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

A/D and D/A

Cirrus Logic Codec P/N CS42448

Features:• Six (6) 24-bit A/Ds• Eight (8) 24 bit D/As• Compatible with TDM• ADC/DAC 192 KHz

Sampling Rate• Digital Volume Control• I2C & SPI capable

Purpose:• Analog to Digital• Digital to Analog• Volume Control

Advantage:Eliminates the need for separate A/D and D/A.

Page 17: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Digital Routing

DIX 9211 (Digital Audio Interface Transceiver)

• Function: o Route the digital audio signal between the

CODEC and Brooklyn IIo Provide S/PDIF input and output

• DIX 9211 became a necessity when the decision was made to use the same PCB layout for both boxes.

Page 18: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Digital Routing

Page 19: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Class D-Amp

Abletec ALC0180 specifications:• 2x90 Wrms/4ohm @ 1% THD• 1x180 Wrms/8ohm bridged @

1% THD• 2x50 Wrms/8ohm @ 1% THD• Over current protection• Over temperature protection• Over voltage protection

Page 20: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Bridge Mono vs Stereo 

User will control the amplifier stereo/bridge configuration via the user interface.  The speaker connection to the amp will have to be changed manually.

Page 21: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

•132KB of on chip full speed SRAM•CPU: up to 600 MHz•Core voltage: 0.8-1.3V, DPM•Useful ports: SPI, SPORT, TWI• Up to 48 peripheral control lines•Extra features atypical of signal processors•Real-time OS•Capable 16/32 bit operations•Sponsor-recommended part

Blackfin DSP Chip 

Page 22: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

μCLinux – Linux alternative adapted for MCUs.•Linux kernel: Built-in IP connectivity, reliability, portability, filesystems, free software•Under 300KB•Full Linux 2.6 features: API, multi-tasking, stability, drivers•Robust•Supports C/C++ applications•Using a real-time OS relieves developer of control coding

Real-Time OS

Page 23: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

ALSA (Advance Linux Sound Architecture)•ALSA drivers provide audio functionality to the Linux OS.•Supports all types of audio interfaces: consumer sound cards to professional multi-channel interfaces•Simplifies application development and provides higher level functionality•Open-source•Linux community provides useful tutorials for driver development

ALSA Driver

Page 24: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Stellaris Microcontroller

Functions:• Monitor temperature and

amplifier status• Control CODEC and DIX• Control user interface

o Web Servero Screen

Requirements:• Support Ethernet• I2C and SPI capable• Large memory • >32KB Flash• Over 10 GPIO

LM3S8962:• 5-42 GPIO• UART• I2C and SSI capable• CAN and Ethernet

capable• 256KB memory• Inexpensive

Page 25: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Front PanelThe front panel will consist of• Newhaven Screen• Rotary Encoder• Select Button• Red/Green LED array for status (DSP Box only)• Blue LED for power• I2C expanders 

Page 26: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Screen Selection

NHD-0216B3Z-FL-GBW  

Vs.

CU16025ECPB-W6J

• Originally: CU16025ECPB -W6J 

• Changed to:             NHD-0216B3Z-FL-GBW due to I2C capabilities

• Couldn't find enough GPIO for serial interface

• 2 lines x 16 characters VFD display

Page 27: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Gigabit Ethernet Switching

• 1000Base-T Ethernet is required for maximum Dante channel counts

• IEEE 802.1 Audio-Video Bridging (AVB) switches preferredo Reserve network bandwidth for streaming mediao Shape traffic around streaming media

• Duties:o Provide Brooklyn II module with Ethernet (audio)o Provide Stellaris with Etherneto Provide two additional ports for daisy-chaining

Page 28: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Marvell 88E6350 Switch

• Very new Marvell part -- NDA required• 5 PHY + 7 MAC w/ GMII for Brooklyn II• AVB Compatible (802.1AS, 802.1Qat, 802.1Qav)

Dante Primary

Stellaris

Daisy-Chain

Dante Secondary

Daisy-Chain

Brooklyn II

Page 29: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Audio Clock Distribution

• Three audio clocks control ADC's, DAC's, and filteringo Master Clock -- Driven by Brooklyn II Module

Derive LM26003 switching frequency (384KHz)  Derive 24.576MHz for DIX9211 Send to CODEC, DIX9211 auxiliary inputs

o Bit Clock -- Driven by Brooklyn II Module Send to Blackfin SPORT0, SPORT1 Primary+Secondary Send to CODEC, DIX9211 auxiliary inputs

o LR/Frame Clock -- Driven by Brooklyn II Module Send to Blackfin SPORT0, SPORT1 Primary+Secondary Send to CODEC, DIX9211 auxiliary inputs

Page 30: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Audio Clock Distribution

Page 31: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Audio Clock Distribution

Page 32: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

TDM Audio Routing

Page 33: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

TDM Audio Routing

Page 34: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Resistor Mux

The Resistor Mux allows for the DSP box and break-out box to be developed with the same PCB layout.

ConnectionsDSP BoxCODEC(A/D out)  => BlackFinBlackFin => CODEC(D/A in)

Breakout BoxCODEC(A/D out) => BrooklynBrooklyn(out) => CODEC(D/A in)

Page 35: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Power Consumption

Page 36: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Power Consumption

Page 37: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Power Supply

LM26003 LM2599 LMZ23608

Synchronizable to an External Clock X X

Adjustable Switching Freq. X X

Power Flags X X

Adjustable Output Voltage X X X

Price $3.52 $2.16 $16.50

Page 38: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Power Supply

AC -> DC Conversion 5V Switching Regulator

Page 39: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Power Supply

3.3V Switching Regulator LDO Regulators

Page 40: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

User Interface

• Required Taskso Modify DSP settings (EQ, Compression)o Modify matrix routingo Assign/modify channel nameso Check clip/overflow statuso Monitor break-out box status on network

• Create great mobile device experienceo Write web apps using jQuery Mobileo "Native" app feelo Considerably less programming time

Page 41: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

User Interface Cont.

Page 42: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

User Interface Cont.

Page 43: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

User Interface Cont.

Page 44: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

User Interface Web API

• Create communication interface between web interface and C code• Required actions:

o Get channel listing (name, status, numerical identifier)o Get equalization parameters (band, type, q, center freq, gain)o Get compressor parameters (threshold, ratio, attack, release, gain)o Get matrix routing (indexed by output number)o Get breakout box statuso Get overflow/clip statuso Rename channel (pass numerical identifier and new name)o Change matrix routing (pass output identifier, input identifier)o Change EQ params (pass channel identifier, all band params)o Change compressor params (pass channel identifier, all params)

Page 45: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

User Interface Web API

• Utilize JavaScript Object Notation (JSON) for population of GUI data

• Requires JSON encoder in C -- had to write my own• LOTS of code and a rather large sudden amount of

memory usage• Examples:

o Compressor Parameters: ipaddress/a/o/3/compparams {"gain":2.0000,"threshold":10.0000,"ratio":1.5000,             "attack":10.0000,"release":500.0000,"enable":1.0000}

o Channel List: ipaddress/a/i/chanlist [{"name":"ch01","active":1,"io":0,"num":2},{"name":"Ch2!","active":1,"io":0,"num":2}]

Page 46: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Stellaris/Blackfin API

• Create communication standard between Blackfin and Stellaris• Designed similar to instruction types for embedded processors• Multiple command types: Read, Write, Acknowledge, Notification• Read from BF: Investigate a DSP parameter or setting• Write to BF: Change a DSP parameter or setting• Acknowledge: Send a command back to Stellaris after write• Notification: Inform Stellaris of signal and clipping

Page 47: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Stellaris/Blackfin API

Read Value

Write Value

Acknowledgement

Notification

Page 48: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Stellaris/Blackfin API

Page 49: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

ST-BF API Difficulties

• Need to verify that a filter or routing change actually occurredo Created Acknowledge command type

• Need ability to carry out wide array of actions based on a command typeo Implement function callbacks using void pointers

(function pointers)•  Create code that works on both compilers

o Use C99 standard integer types & conventionso Create transmit and receive specific functions

for each microcontroller

Page 50: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Audio Processing Flow

Page 51: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

 Filtering Types

• Besselo Create coefficient generator up to fourth order

• Butterwortho Implement algorithm to figure out even and odd

Butterworth coefficientso Allow for 1st, 2nd, 3rd, 4th order filterso generate each section (multiple BIQUAD objects

• Linkwitz-Riley (defined by -6dB at cutoff frequency)o 2nd order -- 2 first order filters in cascadeo 4th order -- 2 second order butterworth filters in

cascade

Page 52: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

DSP Data Structures

Page 53: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Current Progress

Page 54: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Completion Plans

• Matto Integrate BF-ST API onto Stellaris EVMo Verify cross-compilation onto Blackfin EVMo Inject JSON into web pageo Integrate JSON code onto Stellaris EVMo Redo equalization screens on GUIo Write "glue" code to make all libraries work as

a system on Stellaris EVM

Page 55: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Completion Plans Cont.

• Earlo Write Newhaven 2x16 VFD screen libraryo Write code for Break-out Box menu systemo Codec Libraryo DIX9211 Libraryo Temperature sensor interaction

Page 56: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Completion Plans Cont.

• Talithao Write primary Blackfin codeo Implement matrix routingo Implement compression and equalization

activation o Implement hooks for BF-ST SPI API

Page 57: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Completion Plans Cont.

• Dareno Write Dante Libraryo Create filter algorithms (Butterworth, Bessel,

Linkwitz-Riley) LPF (1st-4th order) HPF (1st-4th order) Parametric (2nd order, variable width) High/Low Shelving (if time permits)

o Implement algorithms in C for Blackfino Troubleshoot possible power supply issues

Page 58: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Issues

• Dante Library - NDA hurtles, Audinate issues• No Brooklyn II EVM -- $6000...• PCB production timeline -- Mid-March if lucky• GigE switch needs to be reprogrammed to provide

daisy-chain ability• Combining everyone's code• Cross-platform compilation unknowns (BF-ST API)

Page 59: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Budget

Page 60: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Project Budget

• Initial Production Run – 5 populated PCB’s• Alcorn paying – $10k• 8 layers

• Blackfin EVMs (2) provided by Alcorn• Over 800 parts per PCB purchased by Alcorn• Less than $1000 of WFCF money spent

Page 61: Senior Design Partnership: AmpTraXX2. About Group 13 Matt Webb: Electrical Engineering Earl Maier: Electrical Engineering Minor in Mathematics Talitha.

Questions?