Web Server Implementation On DE2 Final Presentation Performed by: Ariel Morali Nadav Malki Supervised by: Ina Rivkin

Embed Size (px)

Citation preview

  • Slide 1

Web Server Implementation On DE2 Final Presentation Performed by: Ariel Morali Nadav Malki Supervised by: Ina Rivkin Slide 2 Project Goals Assemble a SOPC system, using Nios II processor and an Ethernet Peripheral on Alteras DE2 board. Implement Micriums C OS-II. Implement Nichestack TCP/IP Stack. Build a webserver and a website that demonstrates the systems abilities. Slide 3 Project Scheme Ethernet Cable Slide 4 The SOPC The SOPC includes: Nios II Processor Ethernet Controller External SDRAM Memory UART PLL PIOs (Seven-Segments & LEDs) Slide 5 Micriums C OS-II Mainly for embedded systems Main features: Scalable (5-24KB) Real time Pre-emptive multitasking Priority based Limited (but big enough) number of tasks Supply OS services: Semaphores and mutexes Message mailboxes and queues Timer and memory management Slide 6 Nichestack 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. Slide 7 The Software The software includes: Micriums C OS-II System Libraries Nichestack TCP/IP Stack Read Only zip File-System Webserver implementation HTML website The website demonstrates the system capabilities: Remote controlling the DE2 board Monitoring the boards status Running several processes in parallel Remote Using the SOPC processor to perform simple computations Slide 8 System Overview Slide 9 Block Diagram The following diagram describes the System: Slide 10 Quartos Screen Shot Slide 11 SOPC Builder Screen Shot Slide 12 Ethernet 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. Slide 13 Website & Server Slide 14 Webserver Main Processes 1)Webserver main task Manage the TCP/IP and HTTP protocols. 2)Nichestack tasks. 3)Two board Control tasks Handling the data from the web site. 4)Board status task Monitors the Board status and creates an appropriate html page. 5)Two sweep leds tasks. Slide 15 Site Main Screen Two Board Control Tasks Running in parallel Slide 16 Site Board Over-View Screen Switches Status Seven Segment Status Slide 17 What Happens When you press the Button 1)The Browser ends the form to the webserver. Wireshark screenshot: 2)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 IP DE2 IP HTTP PORT Form Data Slide 18 What Happens When you press the Button Continue 2)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. 3)The board control process handles the message and performs the requested operation. Then the board control process waits for new message. Slide 19 Skills Acquired Multiprogramming with C OS-II Multiprogramming with C OS-II creating and maintaining several processes Synchronization - sending messages And more Nichestack on DE2 implemantation. Nichestack on DE2 implemantation. TCP/IP socket programming with Nichestack. TCP/IP socket programming with Nichestack. open, close, listen, connect, send, HTTP Protocol HTTP Protocol WireShark Helped a lot. Read Only ZIP File System (stores our html pages). Read Only ZIP File System (stores our html pages). Html programming Html programming And more And more Slide 20 Thank You