Senior Design Partnership: - PowerPoint PPT Presentation

About This Presentation
Title:

Senior Design Partnership:

Description:

Senior Design Partnership: AmpTraXX2 – PowerPoint PPT presentation

Number of Views:119
Avg rating:3.0/5.0
Slides: 62
Provided by: Goog6443
Learn more at: https://www.ece.ucf.edu
Category:

less

Transcript and Presenter's Notes

Title: Senior Design Partnership:


1
Senior Design Partnership  AmpTraXX2
2
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
3
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.
  • Reliable
  • Network Configurable
  • Easily Scalable
  • Zero Maintenance
  • Very Flexible

4
Application Example
  • Annual events (Ex. Halloween Horror Nights)
  • Problem New environments require changes in
    audio distribution and filtering
  • 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.

5
Current Practice
6
Improved Practice
7
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
  • Four EQ bands (Choose Parametric, LPF, HPF)
  • Three topologies (Bessel, Butterworth,
    Linkwitz-Riley)
  • Dynamic Range Compression
  • Dante Audio-over-Ethernet I/O
  • Web-based monitoring and controls
  • View break-out box status and channel selections
  • Change equalization, routing, and compression
  • Check channel clip status  
  • 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

8
Break-out Box Specs
  • Output any eight channels via Dante
    Audio-over-Ethernet
  • Stereo Class-D Amplifier (2x90W RMS _at_ 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)

9
Connector Summary
  • Centralized Audio DSP (All rear connections)
  • Stereo Unbalanced Inputs -- 2x RCA
  • Stereo Balanced Inputs -- 2x XLR Female
  • S/PDIF Input -- 1x RCA
  • Stereo Balanced Outputs -- 2x XLR Male  
  • S/PDIF Output -- 1x RCA
  • 1Gbps Ethernet -- 4x RJ-45
  • Power (IEC 60320-1 C13)
  • Amplified Break-Out Box (All rear connections)
  • Stereo Amplified Outputs -- 4x Binding Posts 
  • Stereo Balanced Outputs -- 2x XLR Male
  • Stereo Unbalanced Outputs -- 2x RCA
  • S/PDIF Output -- 1x RCA
  • Eurocon GPIO Pin 16x
  • 1Gbps Ethernet -- 4x RJ-45
  • Power (IEC 60320-1 C13)

10
DSP Box
11
Breakout Box
12
DSP Signal Flow
13
BOB I/O Diagram
14
Software Diagram
UART
15
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

16
A/D and D/A
Cirrus Logic Codec  P/N CS42448
  • Purpose
  • Analog to Digital
  • Digital to Analog
  • Volume Control
  • Advantage
  • Eliminates the need for separate A/D and D/A.
  • 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

17
Digital Routing
  • DIX 9211 (Digital Audio Interface Transceiver)
  • Function 
  • Route the digital audio signal between the CODEC
    and Brooklyn II
  • 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.

18
Digital Routing
19
Class D-Amp
  • Abletec ALC0180 specifications
  • 2x90 Wrms/4ohm _at_ 1 THD
  • 1x180 Wrms/8ohm bridged _at_ 1 THD
  • 2x50 Wrms/8ohm _at_ 1 THD
  • Over current protection
  • Over temperature protection
  • Over voltage protection

20
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.
21
Blackfin DSP Chip 
  • 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

22
Real-Time OS
  • µ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

23
ALSA Driver
  • 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

24
Stellaris Microcontroller
  • Functions
  • Monitor temperature and amplifier status
  • Control CODEC and DIX
  • Control user interface
  • Web Server
  • Screen
  • Requirements
  • Support Ethernet
  • I2C and SPI capable
  • Large memory 
  • gt32KB Flash
  • Over 10 GPIO
  • LM3S8962
  • 5-42 GPIO
  • UART
  • I2C and SSI capable
  • CAN and Ethernet capable
  • 256KB memory
  • Inexpensive

25
Front Panel
  • The 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 

26
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

27
Gigabit Ethernet Switching
  • 1000Base-T Ethernet is required for maximum Dante
    channel counts
  • IEEE 802.1 Audio-Video Bridging (AVB) switches
    preferred
  • Reserve network bandwidth for streaming media
  • Shape traffic around streaming media
  • Duties
  • Provide Brooklyn II module with Ethernet (audio)
  • Provide Stellaris with Ethernet
  • Provide two additional ports for daisy-chaining

28
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
29
Audio Clock Distribution
  • Three audio clocks control ADC's, DAC's, and
    filtering
  • Master Clock -- Driven by Brooklyn II Module
  • Derive LM26003 switching frequency (384KHz) 
  • Derive 24.576MHz for DIX9211
  • Send to CODEC, DIX9211 auxiliary inputs
  • Bit Clock -- Driven by Brooklyn II Module
  • Send to Blackfin SPORT0, SPORT1 PrimarySecondary
  • Send to CODEC, DIX9211 auxiliary inputs
  • LR/Frame Clock -- Driven by Brooklyn II Module
  • Send to Blackfin SPORT0, SPORT1 PrimarySecondary
  • Send to CODEC, DIX9211 auxiliary inputs

30
Audio Clock Distribution
31
Audio Clock Distribution
32
TDM Audio Routing
33
TDM Audio Routing
34
Resistor Mux
The Resistor Mux allows for the DSP box and
break-out box to be developed with the same PCB
layout.
Connections DSP Box CODEC(A/D out)  gt
BlackFin BlackFin gt CODEC(D/A in) Breakout
Box CODEC(A/D out) gt Brooklyn Brooklyn(out)
gt CODEC(D/A in)
35
Power Consumption
36
Power Consumption
37
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
38
Power Supply
AC -gt DC Conversion
5V Switching Regulator
39
Power Supply
3.3V Switching Regulator
LDO Regulators
40
User Interface
  • Required Tasks
  • Modify DSP settings (EQ, Compression)
  • Modify matrix routing
  • Assign/modify channel names
  • Check clip/overflow status
  • Monitor break-out box status on network
  • Create great mobile device experience
  • Write web apps using jQuery Mobile
  • "Native" app feel
  • Considerably less programming time

41
User Interface Cont.
42
User Interface Cont.
43
User Interface Cont.
44
User Interface Web API
  • Create communication interface between web
    interface and C code
  • Required actions
  • Get channel listing (name, status, numerical
    identifier)
  • Get equalization parameters (band, type, q,
    center freq, gain)
  • Get compressor parameters (threshold, ratio,
    attack, release, gain)
  • Get matrix routing (indexed by output number)
  • Get breakout box status
  • Get overflow/clip status
  • Rename channel (pass numerical identifier and new
    name)
  • Change matrix routing (pass output identifier,
    input identifier)
  • Change EQ params (pass channel identifier, all
    band params)
  • Change compressor params (pass channel
    identifier, all params)

45
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
  • 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
  • Channel List ipaddress/a/i/chanlist "name""ch0
    1","active"1,"io"0,"num"2,"name""Ch2!","acti
    ve"1,"io"0,"num"2

46
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

47
Stellaris/Blackfin API
Read Value Write Value Acknowledgement
Notification
48
Stellaris/Blackfin API
49
ST-BF API Difficulties
  • Need to verify that a filter or routing change
    actually occurred
  • Created Acknowledge command type
  • Need ability to carry out wide array of actions
    based on a command type
  • Implement function callbacks using void pointers
    (function pointers)
  •  Create code that works on both compilers
  • Use C99 standard integer types conventions
  • Create transmit and receive specific functions
    for each microcontroller

50
Audio Processing Flow
51
 Filtering Types
  • Bessel
  • Create coefficient generator up to fourth order
  • Butterworth
  • Implement algorithm to figure out even and odd
    Butterworth coefficients
  • Allow for 1st, 2nd, 3rd, 4th order filters
  • generate each section (multiple BIQUAD objects
  • Linkwitz-Riley (defined by -6dB at cutoff
    frequency)
  • 2nd order -- 2 first order filters in cascade
  • 4th order -- 2 second order butterworth filters
    in cascade

52
DSP Data Structures
53
Current Progress
54
Completion Plans
  • Matt
  • Integrate BF-ST API onto Stellaris EVM
  • Verify cross-compilation onto Blackfin EVM
  • Inject JSON into web page
  • Integrate JSON code onto Stellaris EVM
  • Redo equalization screens on GUI
  • Write "glue" code to make all libraries work as a
    system on Stellaris EVM

55
Completion Plans Cont.
  • Earl
  • Write Newhaven 2x16 VFD screen library
  • Write code for Break-out Box menu system
  • Codec Library
  • DIX9211 Library
  • Temperature sensor interaction

56
Completion Plans Cont.
  • Talitha
  • Write primary Blackfin code
  • Implement matrix routing
  • Implement compression and equalization
    activation 
  • Implement hooks for BF-ST SPI API

57
Completion Plans Cont.
  • Daren
  • Write Dante Library
  • 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)
  • Implement algorithms in C for Blackfin
  • Troubleshoot possible power supply issues

58
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)

59
Budget
60
Project Budget
  • Initial Production Run 5 populated PCBs
  • 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

61
Questions?
Write a Comment
User Comments (0)
About PowerShow.com