170 likes | 195 Views
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.
E N D
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, connection-based 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
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: 10BaseT 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 CS8900A 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