1 / 46

Senior Design Partnership:  AmpTraXX2

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

etenia
Download Presentation

Senior Design Partnership:  AmpTraXX2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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 @ 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. 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 Dante Brooklyn II

  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 @ 1% THD • 1x180 Wrms/8ohm bridged @ 1% THD • 2x50 Wrms/8ohm @ 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 • LM3S8962: • 5-42 GPIO • UART • I2C and SSI capable • CAN and Ethernet capable • 256KB memory • Inexpensive • 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  • >32KB Flash • Over 10 GPIO

  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. 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

  27. 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

  28. 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 Primary+Secondary • Send to CODEC, DIX9211 auxiliary inputs • LR/Frame Clock -- Driven by Brooklyn II Module • Send to Blackfin SPORT0, SPORT1 Primary+Secondary • Send to CODEC, DIX9211 auxiliary inputs

  29. Audio Clock Distribution

  30. Audio Clock Distribution

  31. TDM Audio Routing

  32. TDM Audio Routing

  33. 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)  => BlackFin BlackFin => CODEC(D/A in) Breakout Box CODEC(A/D out) => Brooklyn Brooklyn(out) => CODEC(D/A in)

  34. Power Supply AC -> DC Conversion 5V Switching Regulator

  35. Power Supply 3.3V Switching Regulator LDO Regulators

  36. 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

  37. 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)

  38. 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":"ch01","active":1,"io":0,"num":2},{"name":"Ch2!","active":1,"io":0,"num":2}]

  39. 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

  40. Stellaris/Blackfin API Read Value Write Value Acknowledgement Notification

  41. Audio Processing Flow

  42.  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 as biquad’s 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

  43.  Current Implementation Physical UI on Stellaris Change IP, Netmask, Gateway Change channel volumes Web UI on Stellaris Rename channels Change filter values and types in realtime DSP Filter Algorithms IIR 1st and 2nd Order Butterworth and Bessel LPF/HPF IIR Parametric equalizer Blackfin UART Communication with Stellaris Implements algorithms above

  44. Budget

  45. Questions?

  46. Thank you!

More Related