Presentation on theme: "Web Server Implementation On DE2 Final Presentation Performed by: Ariel Morali Nadav Malki Supervised by: Ina Rivkin."— Presentation transcript:
Web Server Implementation On DE2 Final Presentation Performed by: Ariel Morali Nadav Malki Supervised by: Ina Rivkin
Project Goals Assemble 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.
Project Scheme Ethernet Cable
The SOPC The SOPC includes: Nios II Processor Ethernet Controller External SDRAM Memory UART PLL PIOs (Seven-Segments & LEDs)
Micrium’s µ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
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.
The Software The software includes: Micrium’s µ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 board’s status Running several processes in parallel Remote Using the SOPC processor to perform simple computations
Block Diagram The following diagram describes the System:
Quartos Screen Shot
SOPC Builder Screen Shot
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.
Website & Server
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.
Site Main Screen Two Board Control Tasks Running in parallel
Site Board Over-View Screen Switches Status Seven Segment Status
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
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.
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…………