DOC PREVIEW
Columbia CSEE 4840 - POPi Final Project Report

This preview shows page 1-2-3-18-19-37-38-39 out of 39 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 39 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 39 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 39 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 39 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 39 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 39 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 39 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 39 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 39 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

POPiFinal Project ReportAdam Lehenbauer Alexander Robertson Javier Coca Yashket Gupta Embedded Systems DesignMay 09, 20061Table of Contents 1. Overview.................................................................................................................32. Hardware................................................................................................................43. Software..................................................................................................................84. Lessons Learned.....................................................................................................95. Appendix................................................................................................................11 EtherSend.c .................... 11main.c .................... 14JayCam.h .................... 15POP.c .................... 16POP.h .................... 18Terminal.c .................... 19Terminal.h .................... 21SRAM_Ehernet.vhdl .................... 22TestBench.vhdl .................... 33TCPstack.c .................... 3821. OVERVIEWPOPi project displays a message (SMS) in the video screen of the XESS board, sent from a cellulartelephone to an e-mail address. The project was designed to take advantage of both hardware andsoftware resources. In consequence the design was divided in two equally important parts.The Hardware components of the project includes a peripheral which acts as a bridge between theSRAM and Ethernet Chip, as shown in figure Num. 1. The POP project implements the TCP IP, Ethernet and the POP3 technology to read an emailmessage send from a Mobile through a cellular network. The board connects to a remote serverusing the Ethernet chip, the POP program executes the POP3 commands to check and downloadmessages present on the server.The Bridge takes care of accesses to the Ethernet chip and the SRAM as the TCP/IP and the POPprograms are executed from the SRAM the bridge needs to provide sufficient functionality to handle8,16 and 32 bit access from the microblaze. The Video hardware is taken directly from lab2 withthe difference that the data is read from the data block on the SRAM. The TCP/IP stack extracts thedata from the email and the microblaze puts it to the video. All the communication between theFPGA and the peripherals will be hosted by the OPB.Figure 1. Hardware block diagram.3Ethernet SRAMbridgeMicroBlazeFPGAVideoSRAMEthernetSERVERThe Software that the project will require is a very significant part of its functionality. The twomajor "subsystems," the video controller and the Ethernet controller, and the software is thecommunication between them. The SRAM will be transparent to the software and appear only as abase address.Figure 2. Software block diagram.2. HARDWARE.There are two major parts for the Hardware Part of our Design.1. BRIDGE – A single peripherals connected to the SRAM and Ethernet forming a BRIDGEthat allows the Microblaze to talk to both the Ethernet chip and the SRAM2. Video – We used the Design of Lab 2 for our video with certain modifications.The BridgeTeam JAYCam, from last year's class, was able to successfully use the ethernet controller. Ourimplementation of the Ethernet was based on theirs. The SRAm fuctionality was implmented in thelab 6 but since our code was large and could not be accomodated on the BRAM we had to provide8,16 and 32 bit access to the SRAM, as C program could call functions which might require suchaccesses.4Data Paths : Figure No 3. DataPaths5RamCSOPB_BEOPB_ABus311201113ub,lbEthCSPB_APB_APB_A18Select32LowSIn_dBus3113HighPB_DFigure 4. Ethernet SubsystemThe two chips SRAM and Ethernet were memory mapped in the peripheral with the upper 11 bits ofaddress bits hard wired and the 12th bit giving the access to Ethernet or SRAM. The Address wasincremented whenever there was a 32 bit access using an OR Gate with a Select signal comin infrom the FSM6(a) (b)Figure 5. SRAM read (a) and Write (b)The SRAM and the Ethernet timings behave totally different. The SRAM is a much faster chipwhereas Ethernet is pretty slow to read or write data from the bus considering the correct timingsare provided for the Chip Select and Output and Write Enables. The Jaycam project managed to hack the timings by providing a clock running at twice thefrequency of the Microblaze.Figure 6. Ethernet Controller diagram.7Figure 7. SRAM diagram.3. SOFTWAREThe software for POPi is the glue that holds the different pieces of hardware together anddrives them to act in a useful way. The software can be considered as two subsystems that eachoperate a different piece of hardware, and a top level program that coordinates between thesesubsystems.Video SubsystemThe video subsystem consists of the SRAM chip and the video driver hardware from Lab 2.These two peripherals were initially compiled together into one project that could address both ofthem. Later, when the Ethernet and SRAM bridge was prepared, the video subsystem was joinedwith the bridge hardware instead of only the SRAM hardware.The video subsystem is a modified terminal program (like that written for lab 2) that displayscharacters sent through a function call. The terminal receives one character and writes it to theappropriate place in the video memory. All cursor placement and scrolling is handled by the terminalsoftware. The software also supports carriage returns and line feeds, so that messages will appearexactly as they were intended by the sender (withing the restrictions of the screen). Since the eventof a newline type character requires more than echoing a character, the terminal software adusts thecursor appropriately.The video is a 80x25 character display using an IBM console font. Each character occupies the samenumber of pixels.Ethernet SubsystemThe Ethernet subsystem consists of all the software required to check for a message on theremote mail server and deliver it to the top level subsystem bridge. The entry point from the bridgeis simply to ask for a new message until the Ethernet subsystem delivers one.From the bridge the pop program connects to the remote POP3 server to ask for newmessages. If there are no messages present on the server, the pop program returns and the bridge8runs it again. When there is a message,


View Full Document

Columbia CSEE 4840 - POPi Final Project Report

Documents in this Course
SPYCAM

SPYCAM

91 pages

PAC-XON

PAC-XON

105 pages

lab 1

lab 1

6 pages

memory

memory

3 pages

Structure

Structure

12 pages

Video

Video

3 pages

pacman

pacman

4 pages

Lab 1

Lab 1

6 pages

Scorched

Scorched

64 pages

lab 1

lab 1

3 pages

Video

Video

22 pages

Memory

Memory

23 pages

DVoiceR

DVoiceR

29 pages

MAZE

MAZE

56 pages

PAC XON

PAC XON

13 pages

PACXON

PACXON

13 pages

MP3 Player

MP3 Player

133 pages

Load more
Download POPi Final Project Report
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view POPi Final Project Report and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view POPi Final Project Report 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?