An 8051 Based Web Server Project by Mason

An 8051 Based Web Server Project by Mason Kidd Advised by Dr. Schertz

Outline • Abstract • Overview of TCP/IP and HTTP • Functional Description • Block Diagram and Software Flow Chart • Datasheet • Hardware Description • Completed Lab Work • Problems Encountered • Future Work/Applications

Abstract A web server was designed using an 8051 based micro controller. The micro controller was interfaced to an Ethernet network using an Ethernet transceiver chip. This allows the user to connect to the micro controller using a standard web browser and receive data in the form of a web page.

Overview of TCP/IP and HTTP • TCP/IP is the protocol used over the Internet to allow communication between computers • It is a layered protocol based on Open Systems Interconnection

Overview of TCP/IP and HTTP • Each layer adds a header to the data • Process is called encapsulation • My software must create and decode these headers

Overview of TCP/IP and HTTP • Ethernet - network type, determines cable type, connector type, hardware (MAC) address • IP - Internet Protocol, defines network addressing

Overview of TCP/IP and HTTP • ICMP - Internet Control Message Protocol, allows for testing of connectivity • ARP - Address Resolution Protocol, used to retrieve Ethernet address for a certain IP address • UDP - User Datagram Protocol, connectionless data transfer protocol • TCP - Transmission Control Protocol, connectionbased reliable data transfer protocol

Overview of TCP/IP and HTTP • Hypertext Transport Protocol is the protocol used by web browsers to communicate with web servers • Web browser asks the web server for a document, and the web server sends the document back • Hypertext Markup Language is the type of document used, uses tags to format data

Functional Description • I/O are packets to the Ethernet network and information/control signals to microcontroller interfaces • Operates in two modes: Listening and Responding • Packet types supported: Internet Control Message Protocol, Address Resolution Protocol, Transmission Control Protocol, and User Datagram Protocol

Block Diagram

Block Diagram Subsystem Inputs Outputs Microcontroller Interfaces Control signals Acquired data EMAC Microcontroller Acquired data, Packets Control signals, Packets Ethernet Interface Packets

Software Flow Chart

Datasheet Description A micro webserver based on an 8051 development board. Serves small web pages with information collected from on-board peripherals. Quantitative Specifications Maximum Packet Size: 1500 bytes Number of Simultaneous Connections: 1 Protocols Supported: IP, ARP, ICMP, TCP, UDP, HTTP/1. 0, HTML/2. 0 Network Interface Type: 10 Base. T Ethernet User Interface Users connect to the system using a standard web browser. System Testing System can be tested for network connectivity by 'pinging' the system. Also, Link and Activity LEDs are available on the system to provide network link and activity status.

Hardware Description • Uses a Crystal CS 8900 A Ethernet Transceiver • Designed for use with ISA bus systems • Has internal memory for storage of packets • Application note describes using in 8 -bit mode • Connected to an EMAC board using the bus expansion header • Very little glue logic needed • Constructed using wire-wrap

Completed Lab Work • Wrote low level interface software • Wrote software to receive packet and determine what type it is • Wrote software to process ICMP, ARP, UDP, and TCP packets • Wrote UNIX sockets client program for testing of UDP functionality • Wrote web server software to process HTTP packets and construct HTML pages • Constructed and tested hardware

Problems Encountered • Cannot read received packet from Ethernet Transceiver chip • Used packet sniffer program to place packet into buffer • Software processed packets correctly

Future Work/Applications • Need to resolve packet reception problem • Expand code to be usable with other micro controllers • Make TCP/IP stack more robust, support more of the options defined in standards • Expand HTTP server to allow POST methods and CGI processing • Industrial applications - monitor machinery, remote control • Robotics applications - replace laptops used for remote control
- Slides: 17