200 likes | 432 Views
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.
E N D
Web Server Implementation On DE2Final Presentation Performed by: Ariel Morali NadavMalki 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 Nichestack
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:
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.
Webserver 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.
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 • 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 IP DE2 IP HTTP PORT Form Data
What 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.
Skills Acquired • Multiprogramming with µC OS-II • creating and maintaining several processes • Synchronization - sending messages • And more… • Nichestack on DE2 implemantation. • TCP/IP socket programming with Nichestack. • open, close, listen, connect, send, … • HTTP Protocol • WireShark Helped a lot. • Read Only ZIP File System (stores our html pages). • Html programming • And more…………