{[ promptMessage ]}

Bookmark it

{[ promptMessage ]}

Radio-final prjct - SOBA Server RTP Streaming Audio over...

Info icon This preview shows pages 1–4. Sign up to view the full content.

View Full Document Right Arrow Icon
SOBA Server: RTP Streaming Audio over Ethernet Final Project Report ver. 1.0 Warriors: Avraham Shinnar [email protected] Benjamin Dweck [email protected] Oliver Irwin [email protected] Sean White [email protected] “...no pain no tears” – ASIX AX88796L Ethernet controller documentation May 10, 2005
Image of page 1

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
CONTENTS CONTENTS Contents 1 Overview 3 2 System Design 3 2.1 General design and layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Audio Codec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2.1 Audio Control Peripheral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2.2 Audio Sample Peripheral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.3 Ethernet Codec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.4 Microblaze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.5 RTP Packet Structure and Construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.6 RTP Client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3 Process 11 4 Lessons Learned and Advice for Future Projects 11 5 Acknowledgements 12 A Code listing 13 A.1 C Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 A.1.1 ether.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 A.1.2 ether.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 A.1.3 main.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 A.2 clkgen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 A.2.1 data/clkgen v2 1 0.pao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 A.2.2 data/clkgen v2 1 0.mpd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 A.2.3 hdl/verilog/clkgen.v . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 A.3 Audio Controller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 A.3.1 data/opb audio cntlr v2 1 0.pao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 A.3.2 data/opb audio cntlr v2 1 0.mpd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 A.3.3 data/opb audio cntlr.vhd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 A.4 Audio Sampler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 A.4.1 data/opb audio sampler v2 1 0.pao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 A.4.2 data/opb audio sampler v2 1 0.mpd . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 A.4.3 hdl/vhdl/opb audio sampler v2 1 0.vhd . . . . . . . . . . . . . . . . . . . . . . . . . . 37 A.5 opb ethernet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 A.5.1 data/opb ethernet v2 1 0.pao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 A.5.2 data/opb ethernet v2 1 0.mpd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 A.5.3 hdl/vhdl/memoryctrl.vhd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 A.5.4 hdl/vhdl/opb ethernet.vhd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 A.5.5 hdl/vhdl/pad io.vhd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 A.5.6 hdl/vhdl/opb ethernet.vhd.old . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 A.6 misc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 A.6.1 Makefile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 A.6.2 system.mhs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 A.6.3 system.mss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 A.6.4 data/system.ucf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 2
Image of page 2
2 SYSTEM DESIGN LIST OF FIGURES List of Figures 1 System Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2 Audio Controller Timing Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3 Audio Controller Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4 Audio Sampler Timing Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5 Audio Sampler Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 6 Ethernet Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 7 Ethernet Timing Diagram (for Read Only) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1 Overview This document describes the design of our system, development process, and advice for future project groups that want to develop similar systems. A full listing of our source code is included as Appendix A The SOBA server is a streaming audio server based on the XESS XSB-300E FPGA board. We imple- mented it using IP’s included in the Xilinx EDK 6.1 in addition to our own IP’s, and some C code. The system encodes analog audio input into 16-bit samples and streams the digitized audio out the ethernet port in RTP packets, ready to be played in real time by an RTP client. The system is comprised of three primary subsystems: the audio codec, the microblaze, and the ethernet controller. Each is described in further detail in the following sections. 2 System Design 2.1 General design and layout Figure 1 shows a general block diagram for our system. The system accepts line level audio via the AKM AK4565 audio codec where the signal is converted from analog to 16-bit signed digital samples. The samples are fetched from the audio codec by our audio sampler peripheral which generates an interrupt each time a complete sample arrives. The 32-bit Microblaze soft processor then transmits the sample from the audio sampler to the ethernet peripheral via the on- board peripheral bus (OPB). The ethernet peripheral places the samples in the ASIX AX88796L Ethernet controller’s onboard RAM as the payload of a preloaded real-time transport protocol (RTP) packet. As each
Image of page 3

Info icon This preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Image of page 4
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern