Presentation on theme: "Web Server Implementation On DE2 Final Presentation"— Presentation transcript:
1Web Server Implementation On DE2 Final Presentation Performed by:Ariel MoraliNadav MalkiSupervised by:Ina Rivkin
2Project GoalsAssemble a SOPC system, using Nios II processor and an Ethernet Peripheral on Altera’s DE2 board.Implement Micrium’s µC OS-II.Implement Nichestack TCP/IP Stack.Build a webserver and a website that demonstrates the system’s abilities.
4The SOPC The SOPC includes: Nios II Processor Ethernet Controller External SDRAM MemoryUARTPLLPIOs (Seven-Segments & LEDs)
5Micrium’s µC OS-II Mainly for embedded systems Main features: Scalable (5-24KB)Real timePre-emptive multitaskingPriority basedLimited (but big enough) number of tasksSupply OS services:Semaphores and mutexesMessage mailboxes and queuesTimer and memory management
6Nichestack TCP/IP stack NicheStack is an Embedded TCP/IP protocol stack.NicheStack IPv4 combines small size, extreme portability and high performance.NicheStack uses the µC OS Multiprogramming feature.The DE2 board has a Davicom DM9000A Ethernet controller, that is not supported by the Nichestack.
7The Software The software includes: Micrium’s µC OS-II System LibrariesNichestack TCP/IP StackRead Only zip File-SystemWebserver implementationHTML websiteThe website demonstrates the system capabilities:Remote controlling the DE2 boardMonitoring the board’s statusRunning several processes in parallelRemote Using the SOPC processor to perform simple computations
12Ethernet Controller & Nichestack The DE2 board has a Davicom DM9000A Ethernet controller.In order to use the TCP/IP protocol we planed to use the Nichestack TCP/IP stack.DM9000A is not supported by the Nichestack.A group from Columbia University modified the original DM9000A Driver to work with the Nichestack.We successfully managed to take the driver and use it in our project.
14Webserver Main Processes Webserver main task – Manage the TCP/IP and HTTP protocols.Nichestack tasks.Two board Control tasks – Handling the data from the web site.Board status task – Monitors the Board status and creates an appropriate html page.Two “sweep leds” tasks.
15Site Main ScreenTwo Board Control Tasks Running in parallel
16Site Board Over-View Screen Switches StatusSeven Segment Status
17What Happens When you press the Button The Browser ends the form to the webserver.Wireshark screenshot:The webserver detects a POST request. The POST request is being sent when a client needs to send data to the server (according to the HTTP protocol).Computer IPHTTPPORTDE2IPFormData
18What Happens When you press the Button Continue… The webserver process wakes up one of the board control processes, by sending it a message. The message contains information about the operation needed to be performed.The board control process handles the message and performs the requested operation. Then the board control process waits for new message.
19Skills Acquired Multiprogramming with µC OS-II creating and maintaining several processesSynchronization - sending messagesAnd more…Nichestack on DE2 implemantation.TCP/IP socket programming with Nichestack.open, close, listen, connect, send, …HTTP ProtocolWireShark Helped a lot.Read Only ZIP File System (stores our html pages).Html programmingAnd more…………